From d9e6a5dc755004f41cd33b8bd534b746a148ed2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 17:54:41 +0100 Subject: [PATCH 01/15] chore(deps): update dependency @splunk/react-page to v7 (#1075) --- ui/package.json | 2 +- ui/yarn.lock | 32 +++++++++++--------------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/ui/package.json b/ui/package.json index 4334689ab..209dee93f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@splunk/react-icons": "^4.2.0", - "@splunk/react-page": "^6.3.3", + "@splunk/react-page": "^7.0.0", "@splunk/react-toast-notifications": "^0.11.3", "@splunk/react-ui": "^4.25.0", "@splunk/splunk-utils": "^3.0.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 075853798..f26f42eb9 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2341,14 +2341,14 @@ lodash "^4.17.14" prop-types "^15.6.2" -"@splunk/react-page@^6.3.3": - version "6.3.3" - resolved "https://registry.npmjs.org/@splunk/react-page/-/react-page-6.3.3.tgz#915b9f56f5cefd2951d42d41e0cca83fbee2c562" - integrity sha512-sQUVkgg6wTSxtLTFxjdS2xrm/zBQdS8srsWKbyKBqbqohooGxycYn/zp0UZssZ42stZyVQ8dlkxa3BEmoZefdg== - dependencies: - "@splunk/react-ui" "^4.22.0" - "@splunk/splunk-utils" "^2.3.4" - "@splunk/themes" "^0.16.3" +"@splunk/react-page@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/@splunk/react-page/-/react-page-7.0.0.tgz#4993d4148bf142810b256a5a8a1d815712d40c81" + integrity sha512-yqaNxUby7TbEEF3QyPbEONZ1BdwoL/jixR6OJJJ1O/kPKfzfDDogfq+d0tNgigYPAFA3Cz5xR5SLsLZVXK8sMQ== + dependencies: + "@splunk/react-ui" "^4.25.0" + "@splunk/splunk-utils" "^3.0.0" + "@splunk/themes" "^0.16.4" "@splunk/ui-utils" "^1.6.0" prop-types "^15.6.2" scriptjs "^2.5.8" @@ -2366,7 +2366,7 @@ prop-types "^15.6.2" react-flip-move "^3.0.1" -"@splunk/react-ui@^4.22.0", "@splunk/react-ui@^4.23.0": +"@splunk/react-ui@^4.23.0": version "4.24.0" resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.24.0.tgz#1250eda179f30c51d22c289d41a07ff0e2fd7c3e" integrity sha512-qrPKWe8H4w6hl3dIPPeIDgvWqwAk9DjhkVbKw3ffInrLk32bbA816y5WfQZdi0rBhZLOKNl1j4Om875qO33mpQ== @@ -2417,16 +2417,6 @@ tinycolor2 "^1.4.1" use-typed-event-listener "^3.0.0" -"@splunk/splunk-utils@^2.3.4": - version "2.3.4" - resolved "https://registry.npmjs.org/@splunk/splunk-utils/-/splunk-utils-2.3.4.tgz#0c86aba8c0c18ce341f04d2d7b38584cfa52befc" - integrity sha512-Bdty5Xd5HmIWKm87Ym6HiD1pzMJ5dd86+ISseoP9tyRXgXr1hXYStZO5+kEqDNbeqQG3LPynDzsvf0tb/0gsTw== - dependencies: - "@splunk/ui-utils" "^1.6.0" - lodash "^4.17.14" - scriptjs "^2.5.8" - semver "^7.3.8" - "@splunk/splunk-utils@^3.0.0": version "3.0.0" resolved "https://registry.npmjs.org/@splunk/splunk-utils/-/splunk-utils-3.0.0.tgz#8e0a13b689c6161f19fc4a5e0cb2392b6485c7d2" @@ -2436,7 +2426,7 @@ lodash "^4.17.14" scriptjs "^2.5.8" -"@splunk/themes@^0.16.3", "@splunk/themes@^0.16.4": +"@splunk/themes@^0.16.4": version "0.16.4" resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.16.4.tgz#883ad2ebb2527e8a62d5ed97036906553b44144b" integrity sha512-S2QFI09ss2t8Q3tE0JBwszD1N+SmY55C72koymrI4l1sr9QYNtvGT6Nauka0AjYsLUx1QESwyIproor/muwjxA== @@ -10879,7 +10869,7 @@ scriptjs@^2.5.8: resolved "https://registry.npmjs.org/scriptjs/-/scriptjs-2.5.9.tgz#343915cd2ec2ed9bfdde2b9875cd28f59394b35f" integrity sha512-qGVDoreyYiP1pkQnbnFAUIS5AjenNwwQBdl7zeos9etl+hYKWahjRTfzAZZYBv5xNHx7vNKCmaLDQZ6Fr2AEXg== -"semver@2 || 3 || 4 || 5", semver@^5.6.0, semver@^6.0.0, semver@^6.3.0, semver@^6.3.1, semver@^7.1.1, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.6.0, semver@^6.0.0, semver@^6.3.0, semver@^6.3.1, semver@^7.1.1, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.0" resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== From f387101c7bba080e8b3f84c65e425b97182d615d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:09:59 +0100 Subject: [PATCH 02/15] chore(deps): update npm (#1074) --- ui/package.json | 26 +- ui/src/public/mockServiceWorker.js | 2 +- ui/yarn.lock | 668 ++++++++++++++--------------- 3 files changed, 348 insertions(+), 348 deletions(-) diff --git a/ui/package.json b/ui/package.json index 209dee93f..78945c1d7 100644 --- a/ui/package.json +++ b/ui/package.json @@ -35,7 +35,7 @@ "react": "^16.14.0", "react-dom": "^16.14.0", "react-is": "^16.13.1", - "react-router-dom": "^6.22.0", + "react-router-dom": "^6.22.1", "styled-components": "^5.3.11", "uuid": "^9.0.1", "zod": "^3.22.4" @@ -49,14 +49,14 @@ "@splunk/babel-preset": "^4.0.0", "@splunk/eslint-config": "^4.0.0", "@splunk/webpack-configs": "^7.0.2", - "@storybook/addon-a11y": "^7.6.16", - "@storybook/addon-essentials": "^7.6.16", - "@storybook/addon-interactions": "^7.6.16", - "@storybook/addon-links": "^7.6.16", - "@storybook/blocks": "^7.6.16", + "@storybook/addon-a11y": "^7.6.17", + "@storybook/addon-essentials": "^7.6.17", + "@storybook/addon-interactions": "^7.6.17", + "@storybook/addon-links": "^7.6.17", + "@storybook/blocks": "^7.6.17", "@storybook/jest": "^0.2.3", - "@storybook/react": "^7.6.16", - "@storybook/react-webpack5": "^7.6.16", + "@storybook/react": "^7.6.17", + "@storybook/react-webpack5": "^7.6.17", "@storybook/test-runner": "^0.16.0", "@storybook/testing-library": "^0.2.2", "@testing-library/jest-dom": "^6.4.2", @@ -78,29 +78,29 @@ "eslint-config-prettier": "^7.2.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.8.0", + "eslint-plugin-jest": "^27.9.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-storybook": "^0.7.0", + "eslint-plugin-storybook": "^0.8.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.2.0", + "msw": "^2.2.1", "msw-storybook-addon": "2.0.0--canary.122.06f0c92.0", "prettier": "^2.8.8", "querystring-es3": "^0.2.1", - "storybook": "^7.6.16", + "storybook": "^7.6.17", "style-loader": "^3.3.4", "stylelint": "^14.16.1", "ts-node": "^10.9.2", "typescript": "^5.3.3", "undici": "^5.28.3", "url": "^0.11.3", - "webpack": "^5.90.2", + "webpack": "^5.90.3", "webpack-cli": "^5.1.4", "webpack-merge": "^5.10.0" }, diff --git a/ui/src/public/mockServiceWorker.js b/ui/src/public/mockServiceWorker.js index a2745d127..919d3e1fc 100644 --- a/ui/src/public/mockServiceWorker.js +++ b/ui/src/public/mockServiceWorker.js @@ -2,7 +2,7 @@ /* tslint:disable */ /** - * Mock Service Worker (2.1.5). + * Mock Service Worker (2.2.1). * @see https://github.com/mswjs/msw * - Please do NOT modify this file. * - Please do NOT serve this file on production. diff --git a/ui/yarn.lock b/ui/yarn.lock index f26f42eb9..f4411e21a 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2266,10 +2266,10 @@ "@react-spring/shared" "~9.2.6-beta.0" "@react-spring/types" "~9.2.6-beta.0" -"@remix-run/router@1.15.0": - version "1.15.0" - resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.15.0.tgz#461a952c2872dd82c8b2e9b74c4dfaff569123e2" - integrity sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ== +"@remix-run/router@1.15.1": + version "1.15.1" + resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.15.1.tgz#221fd31a65186b9bc027b74573485fb3226dff7f" + integrity sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w== "@sideway/address@^4.1.5": version "4.1.5" @@ -2456,160 +2456,160 @@ webpack-livereload-plugin "^3.0.2" webpack-merge "^5.9.0" -"@storybook/addon-a11y@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.6.16.tgz#1eb2776979ddabb6dc9eedb373a5a3f3e3a07c16" - integrity sha512-ebxgx6uSWm5gCK8R6T/VHScXy+XR5d7vltkn2wen08rzJhuA4nzMYpz9KwTsV+cu9vvrKfMKn4mpTP3kqnBI5Q== +"@storybook/addon-a11y@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.6.17.tgz#77209c23b6908d52dc470a3318d76a0ffe9d47cb" + integrity sha512-UYHJAKQpJMCu4X4O/325UqozYrkhPn2VyQdwPgC+uiOKZvrtni4uRbpOspeyjC0wXH1tDbY8WZvxwvwQryYkpA== dependencies: - "@storybook/addon-highlight" "7.6.16" + "@storybook/addon-highlight" "7.6.17" axe-core "^4.2.0" -"@storybook/addon-actions@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.16.tgz#aed33b43743832f037aede8ce2bfda26b3b91fe6" - integrity sha512-wCpZljLXnu08TZzp+qL5AXousfUBzY6TgHVwn4yoZkMhPg3WLxZTceKYnc+XAxoMmdTrDjwanEF7v/uQ9eu64Q== +"@storybook/addon-actions@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz#b1be5ab28b22b4a50c6aa0cd0a3671ca5b6f5f71" + integrity sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ== dependencies: - "@storybook/core-events" "7.6.16" + "@storybook/core-events" "7.6.17" "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" dequal "^2.0.2" polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.16.tgz#3a1dd8a4592d129bbedb238c7df4890aec3f5945" - integrity sha512-q9985hjtoX3ytvReV2YC4UY0FVASXFq2fW6RNOrrivw81UbW2SWxVG01vh7ZXjMrWbQ6r3yC05X9vVAmCa7TdQ== +"@storybook/addon-backgrounds@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz#a3c96cb73e6053dc2cf9968cb02b437c4d752812" + integrity sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.16.tgz#1b948080cbdc8b3337c523a3dcc5ee512f8619a9" - integrity sha512-WeIuwyGxaMMClWSHhSH0ibwPSarEFtxE6SPQxCTmGIeD11bn5vQ6UUrmm9A2xbFqHOJBoB60TJhw69alnI0AHA== +"@storybook/addon-controls@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz#354f3f85481e0a3318519b8c8aa5a3b1152e8de0" + integrity sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ== dependencies: - "@storybook/blocks" "7.6.16" + "@storybook/blocks" "7.6.17" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.16.tgz#4c205d1ebce7b07c0ebc58ccb3e9bd17921d5939" - integrity sha512-X4WLAwwxGq9ki49FtERT5VHstGeZYca+l+8lxVXW6NQYuQ1xCeSy5puwknDv5p5u4thIVW2Fa4Uvma7wCfddtg== +"@storybook/addon-docs@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz#ea62be2da8b31df2c80a47cac4c30f66af4d2fbf" + integrity sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA== dependencies: "@jest/transform" "^29.3.1" "@mdx-js/react" "^2.1.5" - "@storybook/blocks" "7.6.16" - "@storybook/client-logger" "7.6.16" - "@storybook/components" "7.6.16" - "@storybook/csf-plugin" "7.6.16" - "@storybook/csf-tools" "7.6.16" + "@storybook/blocks" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/components" "7.6.17" + "@storybook/csf-plugin" "7.6.17" + "@storybook/csf-tools" "7.6.17" "@storybook/global" "^5.0.0" "@storybook/mdx2-csf" "^1.0.0" - "@storybook/node-logger" "7.6.16" - "@storybook/postinstall" "7.6.16" - "@storybook/preview-api" "7.6.16" - "@storybook/react-dom-shim" "7.6.16" - "@storybook/theming" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/node-logger" "7.6.17" + "@storybook/postinstall" "7.6.17" + "@storybook/preview-api" "7.6.17" + "@storybook/react-dom-shim" "7.6.17" + "@storybook/theming" "7.6.17" + "@storybook/types" "7.6.17" fs-extra "^11.1.0" remark-external-links "^8.0.0" remark-slug "^6.0.0" ts-dedent "^2.0.0" -"@storybook/addon-essentials@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.16.tgz#395ab6f53d91fa0667ac2870a09843a9f0a41ce0" - integrity sha512-LTrsud7yphxA7dpbk8TvIsHXqk5Wkq3JAwby3yQDEOFakpgNeXj8b6rlr9CHJja2p13pB4LuXokLk8t+qJGnQQ== - dependencies: - "@storybook/addon-actions" "7.6.16" - "@storybook/addon-backgrounds" "7.6.16" - "@storybook/addon-controls" "7.6.16" - "@storybook/addon-docs" "7.6.16" - "@storybook/addon-highlight" "7.6.16" - "@storybook/addon-measure" "7.6.16" - "@storybook/addon-outline" "7.6.16" - "@storybook/addon-toolbars" "7.6.16" - "@storybook/addon-viewport" "7.6.16" - "@storybook/core-common" "7.6.16" - "@storybook/manager-api" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/preview-api" "7.6.16" +"@storybook/addon-essentials@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz#d49d9a77edc999518c6871b66032a647787c39f4" + integrity sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw== + dependencies: + "@storybook/addon-actions" "7.6.17" + "@storybook/addon-backgrounds" "7.6.17" + "@storybook/addon-controls" "7.6.17" + "@storybook/addon-docs" "7.6.17" + "@storybook/addon-highlight" "7.6.17" + "@storybook/addon-measure" "7.6.17" + "@storybook/addon-outline" "7.6.17" + "@storybook/addon-toolbars" "7.6.17" + "@storybook/addon-viewport" "7.6.17" + "@storybook/core-common" "7.6.17" + "@storybook/manager-api" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/preview-api" "7.6.17" ts-dedent "^2.0.0" -"@storybook/addon-highlight@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.16.tgz#2c91179ca59e05fd7430b7d96c2d2d1e9c7658e2" - integrity sha512-DJtUBiButx6cz55eaRe5JFVBORVtp3Htr9PnxWVGEy4Ki5aoYCYWxMcPOuXVFvtWgBmh6d3HO0pEd888qPr60g== +"@storybook/addon-highlight@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz#6d8549aa95eb007888f4d272e9ab7316cbcc001c" + integrity sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A== dependencies: "@storybook/global" "^5.0.0" -"@storybook/addon-interactions@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.16.tgz#ca43e87e15c336f70a5568f2d06a15af2b0b3777" - integrity sha512-nOjbQCqX+u3yAwlaGHQZCoSkdsvctfiWxcUjMwDBdky2vPKUGLpfJs65w31ay/UgeR+ZWYROGwVMkOHzB4GOIA== +"@storybook/addon-interactions@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz#5860cf6f2fb9999e0b83ac07a0b7f3a9988ff22a" + integrity sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ== dependencies: "@storybook/global" "^5.0.0" - "@storybook/types" "7.6.16" + "@storybook/types" "7.6.17" jest-mock "^27.0.6" polished "^4.2.2" ts-dedent "^2.2.0" -"@storybook/addon-links@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.16.tgz#783764da92e920b9cf5e43378a88053cd8f7d6eb" - integrity sha512-+582ePJxvweYZB5s133Uou6YRzZtnXGMRtKMJVovy/P5cWtq8FS5wzyMJPeK4z6ioR6BQJQVF2NV5lfrjoxpKQ== +"@storybook/addon-links@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz#5a678ff09c1b5056b67cb345c115cfcd343ffe86" + integrity sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ== dependencies: "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-measure@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.16.tgz#68e8b9fd4debf944021a89fd983795ae25d3258d" - integrity sha512-lQw7WXEeLuvDe3bfi7699WnHMryLIRnoT/w7oHqvS19UHp2HR0TKqYiPPppI6Yy4RoWHx+qFhKZJlajFyKDGfg== +"@storybook/addon-measure@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz#a348b40dfa592c66b348457bd4f535f4ba481279" + integrity sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-outline@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.16.tgz#5019328486ccba0db3b6a714a70024a72f016a24" - integrity sha512-bG9KN10ANLUDIsm4e6RXRsCZ++b8pyfYTyu0MlSNXf6KdYcuDvdTY59gj6RIeVGKqWeX5yYCYUm2oPLtkms1NQ== +"@storybook/addon-outline@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz#f87c7bea4ecba783c79a3026f8fc7e0acc26c460" + integrity sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.16.tgz#a3c81400e0b54ad77a4b2980aaef3f977a170793" - integrity sha512-6wSNXe50auEVwHCcupYPrJkpzQFugumEBfgYuQ6ICW9k2xJtGtahy7TyM9sZbYgnDkoTm2ba7UhML6Noy3JuUg== +"@storybook/addon-toolbars@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz#98c1cee88a8f5f61464d28a09648994884d7bd0a" + integrity sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg== -"@storybook/addon-viewport@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.16.tgz#81ddb7004c2811092eddadcadbed8d69f9dc87a9" - integrity sha512-WkvixYHncLXpAeEnktjfYIffJ3b6poymB+wDbHKK/tg7m3N8llLlys64nvyeb7DbZ/+1yJls3K1DVbk1AIEHrQ== +"@storybook/addon-viewport@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz#db3c1f14bb4185f20d745c4e8cf2bd10f70ea336" + integrity sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw== dependencies: memoizerific "^1.11.3" -"@storybook/blocks@7.6.16", "@storybook/blocks@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.16.tgz#0bcea894051645c1f7b1d4b341f0b3bf4313519d" - integrity sha512-rWG9a7BbK0qYvge1oJTIpAbcQ4eOSxetKqgeZc7jxQGeJw0Xvq7C/CmkBY4ZrdP8nj7M7R1Yw49u6OV4aXlyOg== +"@storybook/blocks@7.6.17", "@storybook/blocks@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz#1329885be158f08104f806e5f23b7eb7f99c8b1c" + integrity sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg== dependencies: - "@storybook/channels" "7.6.16" - "@storybook/client-logger" "7.6.16" - "@storybook/components" "7.6.16" - "@storybook/core-events" "7.6.16" + "@storybook/channels" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/components" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/csf" "^0.1.2" - "@storybook/docs-tools" "7.6.16" + "@storybook/docs-tools" "7.6.17" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.6.16" - "@storybook/preview-api" "7.6.16" - "@storybook/theming" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/manager-api" "7.6.17" + "@storybook/preview-api" "7.6.17" + "@storybook/theming" "7.6.17" + "@storybook/types" "7.6.17" "@types/lodash" "^4.14.167" color-convert "^2.0.1" dequal "^2.0.2" @@ -2623,15 +2623,15 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-manager@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.16.tgz#f27eb05b2a40cae13bfc7ca899ef1d4599c750b0" - integrity sha512-QTmvjmk49tpPe5IFM3SwHvRb1P6G0PTip4mCO7ab/zKiWaXlg9QZF5su+2e3KSil4ATssr3ybUlKlkqSubaCyQ== +"@storybook/builder-manager@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz#0d329bea94b5c4a7f88eaee02c42d49c4370c8b4" + integrity sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg== dependencies: "@fal-works/esbuild-plugin-global-externals" "^2.1.2" - "@storybook/core-common" "7.6.16" - "@storybook/manager" "7.6.16" - "@storybook/node-logger" "7.6.16" + "@storybook/core-common" "7.6.17" + "@storybook/manager" "7.6.17" + "@storybook/node-logger" "7.6.17" "@types/ejs" "^3.1.1" "@types/find-cache-dir" "^3.2.1" "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10" @@ -2645,20 +2645,20 @@ process "^0.11.10" util "^0.12.4" -"@storybook/builder-webpack5@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.16.tgz#7f732f87081f0ed05ccf4a011e0ce4e86a7dc10b" - integrity sha512-KBUwFXlG+BBp3W7eyZMdTpWqiGsI6bsKcbyEtzbX4pSPWDRVWaJB2wito+Y1VhOAo/pPukzV/3GLVUlyq4wdsw== +"@storybook/builder-webpack5@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz#1bf52b4cf62c66cbfe95e189fa4303a542bb645a" + integrity sha512-GMaBd8/RzivuAmWrYSt9Rga3j8WLcu5LCMYiPVs+XKXsKAC8lTkV0WRWh8Nk6wTmfzsRQ2acwFjSG5oE4ClZKA== dependencies: "@babel/core" "^7.23.2" - "@storybook/channels" "7.6.16" - "@storybook/client-logger" "7.6.16" - "@storybook/core-common" "7.6.16" - "@storybook/core-events" "7.6.16" - "@storybook/core-webpack" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/preview" "7.6.16" - "@storybook/preview-api" "7.6.16" + "@storybook/channels" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/core-common" "7.6.17" + "@storybook/core-events" "7.6.17" + "@storybook/core-webpack" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/preview" "7.6.17" + "@storybook/preview-api" "7.6.17" "@swc/core" "^1.3.82" "@types/node" "^18.0.0" "@types/semver" "^7.3.4" @@ -2701,35 +2701,35 @@ telejson "^7.2.0" tiny-invariant "^1.3.1" -"@storybook/channels@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.16.tgz#0aa15f77356211270d2dad8a7e257ed7374ade50" - integrity sha512-LKB0t4OGISez1O4TRJ/CDPxlb2wAW7gg8YRL91VVUHeffVyr4bnpklvMbLbuEcYrysM82Q2UMB9ipQdyK6Issg== +"@storybook/channels@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz#5be1d1222a3ffdc90e1868230c2b2ee5dfc7a97f" + integrity sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA== dependencies: - "@storybook/client-logger" "7.6.16" - "@storybook/core-events" "7.6.16" + "@storybook/client-logger" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/global" "^5.0.0" qs "^6.10.0" telejson "^7.2.0" tiny-invariant "^1.3.1" -"@storybook/cli@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.16.tgz#a54705fe652278b1144288b5faf497f69ece7f34" - integrity sha512-bFEiAXv69ZLqFnxAMCEBTxZqLnPG0GAEpGqwpPbt2lk6lLtro8g+//OR9RiztZt0YFHpp0YK5WCy6Xq0gwXcPw== +"@storybook/cli@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz#04462c97a926e3dfcc18f3df02519effe29740e2" + integrity sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA== dependencies: "@babel/core" "^7.23.2" "@babel/preset-env" "^7.23.2" "@babel/types" "^7.23.0" "@ndelangen/get-tarball" "^3.0.7" - "@storybook/codemod" "7.6.16" - "@storybook/core-common" "7.6.16" - "@storybook/core-events" "7.6.16" - "@storybook/core-server" "7.6.16" - "@storybook/csf-tools" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/telemetry" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/codemod" "7.6.17" + "@storybook/core-common" "7.6.17" + "@storybook/core-events" "7.6.17" + "@storybook/core-server" "7.6.17" + "@storybook/csf-tools" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/telemetry" "7.6.17" + "@storybook/types" "7.6.17" "@types/semver" "^7.3.4" "@yarnpkg/fslib" "2.10.3" "@yarnpkg/libzip" "2.3.0" @@ -2766,25 +2766,25 @@ dependencies: "@storybook/global" "^5.0.0" -"@storybook/client-logger@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.16.tgz#73782e461bfd29f94c3006e6ebe6f90294ca339b" - integrity sha512-Vquhmgk/SO0VeAkojcA1juuicBHoTST+f4XwBvyUNiebOSOdGIkxHVxpDFXu2kS0aKflFBEutX2IgoysDup+fQ== +"@storybook/client-logger@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz#5031c47b7df8d8792fe9dfed5828222f515e5803" + integrity sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ== dependencies: "@storybook/global" "^5.0.0" -"@storybook/codemod@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.16.tgz#c10a648f0d100628dc6aa2e2eb4e3ab597ec56f1" - integrity sha512-RlL2I7UV+ef3j+6NaFa1Y6j/hU9KDKssync1GfKypUKlFAP76ozfpRWdDVEkc/29JruEEkbvMiUxQdP7CE3PMQ== +"@storybook/codemod@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz#c93d87d74f43fd475d48edb178233e89329b72c2" + integrity sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg== dependencies: "@babel/core" "^7.23.2" "@babel/preset-env" "^7.23.2" "@babel/types" "^7.23.0" "@storybook/csf" "^0.1.2" - "@storybook/csf-tools" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/csf-tools" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/types" "7.6.17" "@types/cross-spawn" "^6.0.2" cross-spawn "^7.0.3" globby "^11.0.2" @@ -2793,38 +2793,38 @@ prettier "^2.8.0" recast "^0.23.1" -"@storybook/components@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/components/-/components-7.6.16.tgz#08c6f53d41d81d1bef7952e30195928c8127151e" - integrity sha512-5KZQqxFiVEGM485ceF/7PmiNEkHgouEa8ZUJvDGrW9Ap5MfN0xqAuyTTveHvZzGrKp0YlOcOnpqwu/cSk0HQKA== +"@storybook/components@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz#f02a47ad42432f8ea518321a145a074e4c11649f" + integrity sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA== dependencies: "@radix-ui/react-select" "^1.2.2" "@radix-ui/react-toolbar" "^1.0.4" - "@storybook/client-logger" "7.6.16" + "@storybook/client-logger" "7.6.17" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/theming" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/theming" "7.6.17" + "@storybook/types" "7.6.17" memoizerific "^1.11.3" use-resize-observer "^9.1.0" util-deprecate "^1.0.2" -"@storybook/core-client@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.16.tgz#0769b7b2abad90e71e09c2d7d7e652ca5a6b3696" - integrity sha512-ogVwvjpNPrcv8Lk9oSa38b7X4NNgYIgVnCjvvr9FCmhh4xAuA4XNUyB+vyAdK4JOT0/CoMKRpTp+VL5e2+BZbg== +"@storybook/core-client@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz#eace9819b64febf0d5ab2743f65ec5dfe4e3a410" + integrity sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw== dependencies: - "@storybook/client-logger" "7.6.16" - "@storybook/preview-api" "7.6.16" + "@storybook/client-logger" "7.6.17" + "@storybook/preview-api" "7.6.17" -"@storybook/core-common@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.16.tgz#be5de3cd56df03653feb8576dc19dad6a62721f8" - integrity sha512-Xn3Fbo4k9RRKgYzOBx9CeJFpWgS9gkcdo3J9XMMzmUqdZ+MUGT74kl2sMmzSypcH5aI1AUl5vZIKvLwloliejw== +"@storybook/core-common@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz#12760703f08d8f741de0f1fe7026346438251951" + integrity sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g== dependencies: - "@storybook/core-events" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/core-events" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/types" "7.6.17" "@types/find-cache-dir" "^3.2.1" "@types/node" "^18.0.0" "@types/node-fetch" "^2.6.4" @@ -2882,33 +2882,33 @@ dependencies: ts-dedent "^2.0.0" -"@storybook/core-events@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.16.tgz#320f88f463201a1a1c857c7b596dd61bde34e4c8" - integrity sha512-mkBqzrbp6vmdjo0fBZGrFQQ4YdvMFxF6AesdKTf8EzPa69FoxnhQLrmQ4aXF+9vXkxfXVJF2HfpoTEdfqqAo+w== +"@storybook/core-events@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz#9e1a795558193089fb227cfe2cf768c99418a640" + integrity sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA== dependencies: ts-dedent "^2.0.0" -"@storybook/core-server@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.16.tgz#9d5daeea44b957b5259a1f2ec51eff2c5322d0ca" - integrity sha512-Sj8j45XMg1bI7ktMqj9gxXHsZ4d1KgR+2A2eaxR7Heho7253WkUltLYxhu3hdH01rRJXYFxn/zZBxYfEib94Vg== +"@storybook/core-server@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz#bf5b7a9db7abe157a14dba6279936e43efa79250" + integrity sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA== dependencies: "@aw-web-design/x-default-browser" "1.4.126" "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-manager" "7.6.16" - "@storybook/channels" "7.6.16" - "@storybook/core-common" "7.6.16" - "@storybook/core-events" "7.6.16" + "@storybook/builder-manager" "7.6.17" + "@storybook/channels" "7.6.17" + "@storybook/core-common" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/csf" "^0.1.2" - "@storybook/csf-tools" "7.6.16" + "@storybook/csf-tools" "7.6.17" "@storybook/docs-mdx" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/manager" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/preview-api" "7.6.16" - "@storybook/telemetry" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/manager" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/preview-api" "7.6.17" + "@storybook/telemetry" "7.6.17" + "@storybook/types" "7.6.17" "@types/detect-port" "^1.3.0" "@types/node" "^18.0.0" "@types/pretty-hrtime" "^1.0.0" @@ -2921,7 +2921,7 @@ express "^4.17.3" fs-extra "^11.1.0" globby "^11.0.2" - ip "^2.0.0" + ip "^2.0.1" lodash "^4.17.21" open "^8.4.0" pretty-hrtime "^1.0.3" @@ -2936,36 +2936,36 @@ watchpack "^2.2.0" ws "^8.2.3" -"@storybook/core-webpack@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.16.tgz#4cde5b4f74f89b238ed8a3e58c2fa5d82e2f4998" - integrity sha512-Ol/FD6jHcCspw0GK5o9uT6Pjk5HuDD9bxU+03bEyCpGPodk0BE9qaoahs1+WO4wG8A1m5QYdfy5zRq6VeI1WHg== +"@storybook/core-webpack@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.17.tgz#0cca6bd165d4cea0e53856520c6409127869f6b7" + integrity sha512-PyGrFhRM8sTONGwwLWLqBQ1HO+LBnVZ+5TOQO7ejQfdV2FWyNOzjBXm2e5jL/C6XlqiEhmL5pyHEyDBaQJQ3KA== dependencies: - "@storybook/core-common" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/core-common" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/types" "7.6.17" "@types/node" "^18.0.0" ts-dedent "^2.0.0" -"@storybook/csf-plugin@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.16.tgz#cb93eb3dea9449bc30f14ccaed59f4a3ca323475" - integrity sha512-hslhGtnijMpL7HAcYYgIuo6acVLP7BDptflMwIyGFWKK3MHjMxqWTZ3Sj+BV1yg/pYZdqC2NYyUypeuuSpivSA== +"@storybook/csf-plugin@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz#6acf738b62e14a74a90ef68d7567e2fc1d1bd68f" + integrity sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q== dependencies: - "@storybook/csf-tools" "7.6.16" + "@storybook/csf-tools" "7.6.17" unplugin "^1.3.1" -"@storybook/csf-tools@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.16.tgz#6226e18221823e3e91378b10b2368ca0a5b4903a" - integrity sha512-8kVBq3UKDrEQq7rTHlNMoe1TDOTdO8iL8Jtv/FMDu/Qzj6AoT8/bjrtPsGjGMfVjP7QwBDeiLn6rStT4TlVGog== +"@storybook/csf-tools@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz#366bb2348fc1a62f90cdbd6cce4aa5e7293984eb" + integrity sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ== dependencies: "@babel/generator" "^7.23.0" "@babel/parser" "^7.23.0" "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" "@storybook/csf" "^0.1.2" - "@storybook/types" "7.6.16" + "@storybook/types" "7.6.17" fs-extra "^11.1.0" recast "^0.23.1" ts-dedent "^2.0.0" @@ -3004,14 +3004,14 @@ resolved "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316" integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg== -"@storybook/docs-tools@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.16.tgz#61a2c3178ca6a0537855f0aa7a562b46276fe337" - integrity sha512-meuq5uLGBLOSJXKeCt9iEH0uVKgGqwfEBi2T4E2w3BcubC/6oQ3VeZl25/KO+l1XcLmOg9LkN2ZOtLV9TEiVLQ== +"@storybook/docs-tools@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz#4c38025be46c991bfe994bd82996708210e51d2f" + integrity sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA== dependencies: - "@storybook/core-common" "7.6.16" - "@storybook/preview-api" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/core-common" "7.6.17" + "@storybook/preview-api" "7.6.17" + "@storybook/types" "7.6.17" "@types/doctrine" "^0.0.3" assert "^2.1.0" doctrine "^3.0.0" @@ -3039,19 +3039,19 @@ "@types/jest" "28.1.3" jest-mock "^27.3.0" -"@storybook/manager-api@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.16.tgz#ad74839cc51a6e3318ce651eb9bf03752eb43851" - integrity sha512-pX3xw4DsPhYTWEDspsnJiZSoakn0z3Rdt9YmHU0/NaFBLn64EClzd9XMDnGXnZzW1DtdG6T6l2CwDNDCNIVkWg== +"@storybook/manager-api@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz#cdf0bb8e5bdc3da2559150125b3d6a3ff72f0def" + integrity sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg== dependencies: - "@storybook/channels" "7.6.16" - "@storybook/client-logger" "7.6.16" - "@storybook/core-events" "7.6.16" + "@storybook/channels" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/router" "7.6.16" - "@storybook/theming" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/router" "7.6.17" + "@storybook/theming" "7.6.17" + "@storybook/types" "7.6.17" dequal "^2.0.2" lodash "^4.17.21" memoizerific "^1.11.3" @@ -3059,10 +3059,10 @@ telejson "^7.2.0" ts-dedent "^2.0.0" -"@storybook/manager@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.16.tgz#98335dbd865c74351ba6cc1ed2d617362fb0df49" - integrity sha512-CPDhgT4jjF0CDgLDxT/R+amMJXpXxSsVp+XzahPbEB9Yu4v0W0HW3f2vSuNJXwpfofrPSkbJweO/oC4ioOtavw== +"@storybook/manager@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz#56e820ede16f6b824ec6b016082d1d10dbb02759" + integrity sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw== "@storybook/mdx2-csf@^1.0.0": version "1.1.0" @@ -3074,28 +3074,28 @@ resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.13.tgz#bab8256bafa7f54be7d2465db8a72d5f73cec679" integrity sha512-Ci/2Gd0+Qd3fX6GWGS1UAa/bTl0uALsEuMuzOO0meKEPEEYZvBFCoeK6lP1ysMnxWxKaDjxNr01JlTpmjfT6ag== -"@storybook/node-logger@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.16.tgz#6ae9380b52dba770d669f293c79a161c7d450237" - integrity sha512-s18wgtLynLWnunz47lkVIpjk8J6LxT/OmfzkggieU8cG2XYRbf//t7/EOUpOqK77+Xqm3epSwgDAxOXGfjOjAA== +"@storybook/node-logger@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz#2747cee5395c3644408df2423d98502663c4bcf6" + integrity sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA== -"@storybook/postinstall@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.16.tgz#0a7a3307edf68a305fb98d0e6970c1833d344eee" - integrity sha512-axWxj8e90+iLUZPGU9Zvn2Jc/GQrWspu8DpwRCS7N23epTVW6n6OWp31GAShdSx8Oh5lmCMXGegTd1v2Mwc61A== +"@storybook/postinstall@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz#7218b416dfa6d36b5bdbd3e61afc9a2381f82c28" + integrity sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ== -"@storybook/preset-react-webpack@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.16.tgz#1d9f632a009273b961f9f8b5a929a742a33e5ee5" - integrity sha512-fJIbS7rlKiIokKBuZnZScLM8A8YaR0LrmMEEbHHzl6HgcjTp2/stRxOxsBXViLvyCi6QFNFCJDiPI8H1JuI3Ug== +"@storybook/preset-react-webpack@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.17.tgz#af112cef0fb93ebfb22363b8a7eec6be7128fde6" + integrity sha512-gn/LvIbll9loOkzwbFlxzOZGmJ6t1vF2/gfi+p/N/AifDYe8+LVM1QV4KRVKt6UEJwsQd79lKf7vPH92AQaKKQ== dependencies: "@babel/preset-flow" "^7.22.15" "@babel/preset-react" "^7.22.15" "@pmmmwh/react-refresh-webpack-plugin" "^0.5.11" - "@storybook/core-webpack" "7.6.16" - "@storybook/docs-tools" "7.6.16" - "@storybook/node-logger" "7.6.16" - "@storybook/react" "7.6.16" + "@storybook/core-webpack" "7.6.17" + "@storybook/docs-tools" "7.6.17" + "@storybook/node-logger" "7.6.17" + "@storybook/react" "7.6.17" "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" "@types/node" "^18.0.0" "@types/semver" "^7.3.4" @@ -3107,17 +3107,17 @@ semver "^7.3.7" webpack "5" -"@storybook/preview-api@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.16.tgz#a696ef2bdd79b53da2902f11b36fae46345d323a" - integrity sha512-V9x9HOhi4CJuiX+0a7GU0JlfRAp6txStGMkV0DrCATbxSWpK+6d5x2Te521z16V3RIMMmYn33aEyarOp5WjTqw== +"@storybook/preview-api@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz#03dd399bf3bb8ac6f4aad3c738365b86b8790157" + integrity sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw== dependencies: - "@storybook/channels" "7.6.16" - "@storybook/client-logger" "7.6.16" - "@storybook/core-events" "7.6.16" + "@storybook/channels" "7.6.17" + "@storybook/client-logger" "7.6.17" + "@storybook/core-events" "7.6.17" "@storybook/csf" "^0.1.2" "@storybook/global" "^5.0.0" - "@storybook/types" "7.6.16" + "@storybook/types" "7.6.17" "@types/qs" "^6.9.5" dequal "^2.0.2" lodash "^4.17.21" @@ -3147,10 +3147,10 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/preview@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.16.tgz#f1a8b2b421be81e88183565eb586b2478ca75f3a" - integrity sha512-q4DbLn9kEK8JM9s+2oIjXBPHQhY0tQzsZ5hFeq833vNFcmuHnXS+WYk20b+UkmzL6j+E8pLm8WpI7rdbi0ZUVA== +"@storybook/preview@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz#e0c9727c7cfbd8f1d504848a57acaab8e54abe90" + integrity sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" @@ -3165,33 +3165,33 @@ react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react-dom-shim@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.16.tgz#b5eb4bde02ec9c69b4c4d4b485160b2f828d4892" - integrity sha512-F6pGgL2pWy5utn6m2YAVz1PYZO3pdlNHfT85g5Om3q7CR4msWpMQ1O/oEVYgqfJ9UfOqCV/mHeDWICzUa7pv6g== +"@storybook/react-dom-shim@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz#5875915316f687bf658cc6686ea49f2928eae4b2" + integrity sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw== -"@storybook/react-webpack5@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.16.tgz#f4025fda1169e2d7671a0ba79d1590474f380e41" - integrity sha512-K1+C3Uw0PkRnF5LrXX34AouRzHoyZmufllgrSpkuNsilAxJHbk5uXiHlZQBUPcht7aPVRLu5jwbcynTHuRxd2A== +"@storybook/react-webpack5@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.17.tgz#c1ab808bac41dde4a9bd96c3afc800b914eda9e6" + integrity sha512-qGc2JxaSmvPXV7ndxA/8qPtPLK7lAwejL/QdrzLXhxEmVdZLMew640FBYgOV/zWnehV3BnivThln/8PsQyst/g== dependencies: - "@storybook/builder-webpack5" "7.6.16" - "@storybook/preset-react-webpack" "7.6.16" - "@storybook/react" "7.6.16" + "@storybook/builder-webpack5" "7.6.17" + "@storybook/preset-react-webpack" "7.6.17" + "@storybook/react" "7.6.17" "@types/node" "^18.0.0" -"@storybook/react@7.6.16", "@storybook/react@^7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/react/-/react-7.6.16.tgz#bd7546b53c75677b7f6343580c43f5b5d6c8a112" - integrity sha512-3vzjtEHu9xXLz827JiwC448ZVattzAR5qkfVg3dVOD1MtLH8LTJ/gOqv/8Kq0fOtEgOdlcAF4jQV/XAL6pEAkQ== +"@storybook/react@7.6.17", "@storybook/react@^7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz#3e585b37f4a45d01b60543e1952a46ae3da70e81" + integrity sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA== dependencies: - "@storybook/client-logger" "7.6.16" - "@storybook/core-client" "7.6.16" - "@storybook/docs-tools" "7.6.16" + "@storybook/client-logger" "7.6.17" + "@storybook/core-client" "7.6.17" + "@storybook/docs-tools" "7.6.17" "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.6.16" - "@storybook/react-dom-shim" "7.6.16" - "@storybook/types" "7.6.16" + "@storybook/preview-api" "7.6.17" + "@storybook/react-dom-shim" "7.6.17" + "@storybook/types" "7.6.17" "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" "@types/node" "^18.0.0" @@ -3207,23 +3207,23 @@ type-fest "~2.19" util-deprecate "^1.0.2" -"@storybook/router@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.16.tgz#a971f9b0350a8b7ab9969900645c3271505a449a" - integrity sha512-PgVuzs83g4dq2r1qdcc0wvS1Pe1UpKdq54uy4TkBrrei7hBzB/+POztPXs0rVXXBXdCQT/jomLmRo/yC45bsGg== +"@storybook/router@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz#de5016086191846ed12af7495aeddcc373cbd0d4" + integrity sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A== dependencies: - "@storybook/client-logger" "7.6.16" + "@storybook/client-logger" "7.6.17" memoizerific "^1.11.3" qs "^6.10.0" -"@storybook/telemetry@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.16.tgz#7a630e044f2ba6e85bc03e5f461309aa2b4b9b6a" - integrity sha512-5Uaz6zSRBEio89ScrAN7KKz+mBTJ5Jc/8Uf0uUHIhAxiHprs16PhIBo6MtBeWPQoiNwytN884sAtiUFAP4zFQQ== +"@storybook/telemetry@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz#472dd6a8d87240c1fcc01bb9d6247e134e539b5b" + integrity sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA== dependencies: - "@storybook/client-logger" "7.6.16" - "@storybook/core-common" "7.6.16" - "@storybook/csf-tools" "7.6.16" + "@storybook/client-logger" "7.6.17" + "@storybook/core-common" "7.6.17" + "@storybook/csf-tools" "7.6.17" chalk "^4.1.0" detect-package-manager "^2.0.1" fetch-retry "^5.0.2" @@ -3273,13 +3273,13 @@ "@testing-library/user-event" "^14.4.0" ts-dedent "^2.2.0" -"@storybook/theming@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.16.tgz#27347e6b59d3778aed20aa14aef4b2dc0817d3e2" - integrity sha512-ZiUyakApTzAiAR28JwqbqY426U1OlJPG/Y7ddQgYgTsdoRFR1iMewAxWW1LId1q3B1dtiIHAccqhocEMNcYkLA== +"@storybook/theming@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz#8170e3e72b921380c51a3970890d4cb479a65c2f" + integrity sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA== dependencies: "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@storybook/client-logger" "7.6.16" + "@storybook/client-logger" "7.6.17" "@storybook/global" "^5.0.0" memoizerific "^1.11.3" @@ -3293,12 +3293,12 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" -"@storybook/types@7.6.16": - version "7.6.16" - resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.16.tgz#58d1ab44ecde1def28a4ed35f5cdc3c01c1f717a" - integrity sha512-Ld4dKbgSbvqThdBNwNlOxQu5AiS6U9DXI5evf/j83eWs6skO3OBdQp+GWa6sUCI9eRqH8tFsw/YmMcIZ4uZrBQ== +"@storybook/types@7.6.17": + version "7.6.17" + resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz#0b3c27cb1708c0545a9ea1a23b73aa8852dd47c4" + integrity sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q== dependencies: - "@storybook/channels" "7.6.16" + "@storybook/channels" "7.6.17" "@types/babel__core" "^7.0.0" "@types/express" "^4.7.0" file-system-cache "2.3.0" @@ -4113,7 +4113,7 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" -"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.45.0": +"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== @@ -6406,10 +6406,10 @@ eslint-plugin-import@^2.29.1: semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jest@^27.8.0: - version "27.8.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.8.0.tgz#c8900c3e74e4c6b8cee67ea77dbc8de9cbd9e093" - integrity sha512-347hVFiu4ZKMYl5xFp0X81gLNwBdno0dl0CMpUMjwuAux9X/M2a7z+ab2VHmPL6XCT87q8nv1vaVzhIO4TE/hw== +eslint-plugin-jest@^27.9.0: + version "27.9.0" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz#7c98a33605e1d8b8442ace092b60e9919730000b" + integrity sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -6469,14 +6469,14 @@ eslint-plugin-react@^7.33.2: semver "^6.3.1" string.prototype.matchall "^4.0.8" -eslint-plugin-storybook@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.7.0.tgz#4d5fbabc26a5216c4b657463547c0461be5b4883" - integrity sha512-lmvnszv3Xyd0TcxFLoDfLOaVN5v0vKwZh7ZDDY9xCeT/+knHn1ZnktHVO4tun/xVj8aBMYynXpBk0DIiWWRnww== +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== dependencies: "@storybook/csf" "^0.0.1" - "@typescript-eslint/utils" "^5.45.0" - requireindex "^1.1.0" + "@typescript-eslint/utils" "^5.62.0" + requireindex "^1.2.0" ts-dedent "^2.2.0" eslint-scope@5.1.1, eslint-scope@^5.1.1: @@ -7704,10 +7704,10 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== +ip@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" + integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== ipaddr.js@1.9.1: version "1.9.1" @@ -9284,10 +9284,10 @@ msw-storybook-addon@2.0.0--canary.122.06f0c92.0: dependencies: is-node-process "^1.0.1" -msw@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/msw/-/msw-2.2.0.tgz#a57cf5503e85e7ca39d1f188bb0fef93660ff2c9" - integrity sha512-98cUGcIphhdf3KDbmSxji7XFqLxeSFAmPUNV00N/U76GOkuUKEwp6MHqM6KW70rlpgeJP8qIWueppdnVThzG1g== +msw@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/msw/-/msw-2.2.1.tgz#5ece7ee81331aabe632fe331f07e71e8a3949499" + integrity sha512-DCsZAQwan+2onEcpD86fiEnCKW4IvYzqcwDq/2TIoeNrmBqNp/mJW4wHQyxcoYrRPwgujin7wDFflqiSO1iT/w== dependencies: "@bundled-es-modules/cookie" "^2.0.0" "@bundled-es-modules/statuses" "^1.0.1" @@ -10410,20 +10410,20 @@ react-resize-detector@^3.2.1: prop-types "^15.6.2" resize-observer-polyfill "^1.5.1" -react-router-dom@^6.22.0: - version "6.22.0" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.0.tgz#177c8bd27146decbb991eafb5df159f7a9f70035" - integrity sha512-z2w+M4tH5wlcLmH3BMMOMdrtrJ9T3oJJNsAlBJbwk+8Syxd5WFJ7J5dxMEW0/GEXD1BBis4uXRrNIz3mORr0ag== +react-router-dom@^6.22.1: + version "6.22.1" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.1.tgz#cfa109d4b6b0a4d00bac179bc0ad2a6469455282" + integrity sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw== dependencies: - "@remix-run/router" "1.15.0" - react-router "6.22.0" + "@remix-run/router" "1.15.1" + react-router "6.22.1" -react-router@6.22.0: - version "6.22.0" - resolved "https://registry.npmjs.org/react-router/-/react-router-6.22.0.tgz#a22b44851a79dafc6b944cb418db3e80622b9be1" - integrity sha512-q2yemJeg6gw/YixRlRnVx6IRJWZD6fonnfZhN1JIOhV2iJCPeRNSH3V1ISwHf+JWcESzLC3BOLD1T07tmO5dmg== +react-router@6.22.1: + version "6.22.1" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.22.1.tgz#a5ff849bfe709438f7e139421bb28138209662c7" + integrity sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ== dependencies: - "@remix-run/router" "1.15.0" + "@remix-run/router" "1.15.1" react-spring@9.2.4: version "9.2.4" @@ -10656,7 +10656,7 @@ require-main-filename@^2.0.0: resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -requireindex@^1.1.0: +requireindex@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== @@ -11132,12 +11132,12 @@ store2@^2.14.2: resolved "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== -storybook@^7.6.16: - version "7.6.16" - resolved "https://registry.npmjs.org/storybook/-/storybook-7.6.16.tgz#313faaadb9c9fb5ee78cdbb9510b57d80d785444" - integrity sha512-VSfaYoV/iurMtLE/OcVtKvYe/Skkc+JGQYN0uni2djTlrDbZ1IbG2ig+E2MGOE6KlPmC3wCZhW6CevZyjdFhTQ== +storybook@^7.6.17: + version "7.6.17" + resolved "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz#d7fdbbf57d61d386b3ccc6721285bc914f54269b" + integrity sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA== dependencies: - "@storybook/cli" "7.6.16" + "@storybook/cli" "7.6.17" stream-shift@^1.0.0: version "1.0.3" @@ -12219,10 +12219,10 @@ webpack@5: watchpack "^2.4.0" webpack-sources "^3.2.3" -webpack@^5.90.2: - version "5.90.2" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.2.tgz#189686a8a292427076db9907d495625345805fab" - integrity sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw== +webpack@^5.90.3: + version "5.90.3" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac" + integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" From 8461397ec1dce2d9289629bfc68f0647eb23a550 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 10:31:22 +0100 Subject: [PATCH 03/15] chore(deps): update pre-commit/action action to v3.0.1 (#1073) --- .github/workflows/build-test-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 31debca20..6392e9667 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -52,7 +52,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.7" - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 semgrep: runs-on: ubuntu-latest From c7edec5d06cb87b7ad26999949ff96211498b1a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 13:16:20 +0100 Subject: [PATCH 04/15] chore(deps): lock file maintenance (#1043) --- poetry.lock | 590 +++++++++++++------------ ui/yarn.lock | 1175 ++++++++++++++++++++------------------------------ 2 files changed, 769 insertions(+), 996 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9ce7b799f..0ef6958ab 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,13 +13,13 @@ files = [ [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.dependencies] @@ -27,133 +27,137 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +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-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "babel" -version = "2.12.1" +version = "2.14.0" description = "Internationalization utilities" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] [[package]] name = "charset-normalizer" -version = "3.3.0" +version = "3.3.2" 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.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, - {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, + {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"}, ] [[package]] @@ -295,13 +299,13 @@ files = [ [[package]] name = "dunamai" -version = "1.19.0" +version = "1.19.2" description = "Dynamic version generation" optional = false -python-versions = ">=3.5,<4.0" +python-versions = ">=3.5" files = [ - {file = "dunamai-1.19.0-py3-none-any.whl", hash = "sha256:1ed948676bbf0812bfaafe315a134634f8d6eb67138513c75aa66e747404b9c6"}, - {file = "dunamai-1.19.0.tar.gz", hash = "sha256:6ad99ae34f7cd290550a2ef1305d2e0292e6e6b5b1b830dfc07ceb7fd35fec09"}, + {file = "dunamai-1.19.2-py3-none-any.whl", hash = "sha256:bc126b17571a44d68ed826cec596e0f61dc01edca8b21486f70014936a5d44f2"}, + {file = "dunamai-1.19.2.tar.gz", hash = "sha256:3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e"}, ] [package.dependencies] @@ -324,13 +328,13 @@ dev = ["Sphinx", "coverage", "flake8", "lxml", "memory-profiler", "mypy (==0.950 [[package]] name = "exceptiongroup" -version = "1.1.3" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -423,13 +427,13 @@ 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.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] @@ -537,110 +541,111 @@ future = "*" [[package]] name = "lxml" -version = "4.9.3" +version = "4.9.4" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ - {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, - {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, - {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, - {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, - {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, - {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, - {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, - {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, - {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, - {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, - {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, - {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, - {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, - {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, - {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, - {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, - {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, - {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, - {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, - {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, - {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, - {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, - {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e214025e23db238805a600f1f37bf9f9a15413c7bf5f9d6ae194f84980c78722"}, + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec53a09aee61d45e7dbe7e91252ff0491b6b5fee3d85b2d45b173d8ab453efc1"}, + {file = "lxml-4.9.4-cp27-cp27m-win32.whl", hash = "sha256:7d1d6c9e74c70ddf524e3c09d9dc0522aba9370708c2cb58680ea40174800013"}, + {file = "lxml-4.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:cb53669442895763e61df5c995f0e8361b61662f26c1b04ee82899c2789c8f69"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:647bfe88b1997d7ae8d45dabc7c868d8cb0c8412a6e730a7651050b8c7289cf2"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4d973729ce04784906a19108054e1fd476bc85279a403ea1a72fdb051c76fa48"}, + {file = "lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7"}, + {file = "lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be"}, + {file = "lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5"}, + {file = "lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622"}, + {file = "lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3"}, + {file = "lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8"}, + {file = "lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10"}, + {file = "lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b"}, + {file = "lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:23d891e5bdc12e2e506e7d225d6aa929e0a0368c9916c1fddefab88166e98b20"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e96a1788f24d03e8d61679f9881a883ecdf9c445a38f9ae3f3f193ab6c591c66"}, + {file = "lxml-4.9.4-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:5557461f83bb7cc718bc9ee1f7156d50e31747e5b38d79cf40f79ab1447afd2d"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:fdb325b7fba1e2c40b9b1db407f85642e32404131c08480dd652110fc908561b"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d74d4a3c4b8f7a1f676cedf8e84bcc57705a6d7925e6daef7a1e54ae543a197"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ac7674d1638df129d9cb4503d20ffc3922bd463c865ef3cb412f2c926108e9a4"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ddd92e18b783aeb86ad2132d84a4b795fc5ec612e3545c1b687e7747e66e2b53"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bd9ac6e44f2db368ef8986f3989a4cad3de4cd55dbdda536e253000c801bcc7"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bc354b1393dce46026ab13075f77b30e40b61b1a53e852e99d3cc5dd1af4bc85"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f836f39678cb47c9541f04d8ed4545719dc31ad850bf1832d6b4171e30d65d23"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9c131447768ed7bc05a02553d939e7f0e807e533441901dd504e217b76307745"}, + {file = "lxml-4.9.4-cp36-cp36m-win32.whl", hash = "sha256:bafa65e3acae612a7799ada439bd202403414ebe23f52e5b17f6ffc2eb98c2be"}, + {file = "lxml-4.9.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6197c3f3c0b960ad033b9b7d611db11285bb461fc6b802c1dd50d04ad715c225"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:7b378847a09d6bd46047f5f3599cdc64fcb4cc5a5a2dd0a2af610361fbe77b16"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1343df4e2e6e51182aad12162b23b0a4b3fd77f17527a78c53f0f23573663545"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6dbdacf5752fbd78ccdb434698230c4f0f95df7dd956d5f205b5ed6911a1367c"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:506becdf2ecaebaf7f7995f776394fcc8bd8a78022772de66677c84fb02dd33d"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca8e44b5ba3edb682ea4e6185b49661fc22b230cf811b9c13963c9f982d1d964"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9d9d5726474cbbef279fd709008f91a49c4f758bec9c062dfbba88eab00e3ff9"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bbdd69e20fe2943b51e2841fc1e6a3c1de460d630f65bde12452d8c97209464d"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8671622256a0859f5089cbe0ce4693c2af407bc053dcc99aadff7f5310b4aa02"}, + {file = "lxml-4.9.4-cp37-cp37m-win32.whl", hash = "sha256:dd4fda67f5faaef4f9ee5383435048ee3e11ad996901225ad7615bc92245bc8e"}, + {file = "lxml-4.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6bee9c2e501d835f91460b2c904bc359f8433e96799f5c2ff20feebd9bb1e590"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:1f10f250430a4caf84115b1e0f23f3615566ca2369d1962f82bef40dd99cd81a"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b505f2bbff50d261176e67be24e8909e54b5d9d08b12d4946344066d66b3e43"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1449f9451cd53e0fd0a7ec2ff5ede4686add13ac7a7bfa6988ff6d75cff3ebe2"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4ece9cca4cd1c8ba889bfa67eae7f21d0d1a2e715b4d5045395113361e8c533d"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59bb5979f9941c61e907ee571732219fa4774d5a18f3fa5ff2df963f5dfaa6bc"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b1980dbcaad634fe78e710c8587383e6e3f61dbe146bcbfd13a9c8ab2d7b1192"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9ae6c3363261021144121427b1552b29e7b59de9d6a75bf51e03bc072efb3c37"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bcee502c649fa6351b44bb014b98c09cb00982a475a1912a9881ca28ab4f9cd9"}, + {file = "lxml-4.9.4-cp38-cp38-win32.whl", hash = "sha256:a8edae5253efa75c2fc79a90068fe540b197d1c7ab5803b800fccfe240eed33c"}, + {file = "lxml-4.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:701847a7aaefef121c5c0d855b2affa5f9bd45196ef00266724a80e439220e46"}, + {file = "lxml-4.9.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f610d980e3fccf4394ab3806de6065682982f3d27c12d4ce3ee46a8183d64a6a"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aa9b5abd07f71b081a33115d9758ef6077924082055005808f68feccb27616bd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:365005e8b0718ea6d64b374423e870648ab47c3a905356ab6e5a5ff03962b9a9"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:16b9ec51cc2feab009e800f2c6327338d6ee4e752c76e95a35c4465e80390ccd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a905affe76f1802edcac554e3ccf68188bea16546071d7583fb1b693f9cf756b"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fd814847901df6e8de13ce69b84c31fc9b3fb591224d6762d0b256d510cbf382"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91bbf398ac8bb7d65a5a52127407c05f75a18d7015a270fdd94bbcb04e65d573"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f99768232f036b4776ce419d3244a04fe83784bce871b16d2c2e984c7fcea847"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bb5bd6212eb0edfd1e8f254585290ea1dadc3687dd8fd5e2fd9a87c31915cdab"}, + {file = "lxml-4.9.4-cp39-cp39-win32.whl", hash = "sha256:88f7c383071981c74ec1998ba9b437659e4fd02a3c4a4d3efc16774eb108d0ec"}, + {file = "lxml-4.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:936e8880cc00f839aa4173f94466a8406a96ddce814651075f95837316369899"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0a08c89b23117049ba171bf51d2f9c5f3abf507d65d016d6e0fa2f37e18c0fc5"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:232fd30903d3123be4c435fb5159938c6225ee8607b635a4d3fca847003134ba"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:231142459d32779b209aa4b4d460b175cadd604fed856f25c1571a9d78114771"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:520486f27f1d4ce9654154b4494cf9307b495527f3a2908ad4cb48e4f7ed7ef7"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:562778586949be7e0d7435fcb24aca4810913771f845d99145a6cee64d5b67ca"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a9e7c6d89c77bb2770c9491d988f26a4b161d05c8ca58f63fb1f1b6b9a74be45"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:786d6b57026e7e04d184313c1359ac3d68002c33e4b1042ca58c362f1d09ff58"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95ae6c5a196e2f239150aa4a479967351df7f44800c93e5a975ec726fef005e2"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b556596c49fa1232b0fff4b0e69b9d4083a502e60e404b44341e2f8fb7187f5"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:cc02c06e9e320869d7d1bd323df6dd4281e78ac2e7f8526835d3d48c69060683"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:857d6565f9aa3464764c2cb6a2e3c2e75e1970e877c188f4aeae45954a314e0c"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c42ae7e010d7d6bc51875d768110c10e8a59494855c3d4c348b068f5fb81fdcd"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f10250bb190fb0742e3e1958dd5c100524c2cc5096c67c8da51233f7448dc137"}, + {file = "lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e"}, ] [package.extras] cssselect = ["cssselect (>=0.7)"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.35)"] +source = ["Cython (==0.29.37)"] [[package]] name = "markdown" @@ -662,71 +667,71 @@ testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -884,13 +889,13 @@ files = [ [[package]] name = "platformdirs" -version = "3.10.0" +version = "4.0.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-4.0.0-py3-none-any.whl", hash = "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b"}, + {file = "platformdirs-4.0.0.tar.gz", hash = "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"}, ] [package.dependencies] @@ -931,17 +936,18 @@ files = [ [[package]] name = "pygments" -version = "2.16.1" +version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" @@ -1052,21 +1058,6 @@ pytest = ">=4.6" [package.extras] testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] -[[package]] -name = "pytest-forked" -version = "1.6.0" -description = "run tests in isolated forked subprocesses" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytest-forked-1.6.0.tar.gz", hash = "sha256:4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f"}, - {file = "pytest_forked-1.6.0-py3-none-any.whl", hash = "sha256:810958f66a91afb1a1e2ae83089d8dc1cd2437ac96b12963042fbb9fb4d16af0"}, -] - -[package.dependencies] -py = "*" -pytest = ">=3.10" - [[package]] name = "pytest-html" version = "3.2.0" @@ -1185,19 +1176,18 @@ webdriver-manager = "*" [[package]] name = "pytest-xdist" -version = "2.5.0" -description = "pytest xdist plugin for distributed testing and loop-on-failing modes" +version = "3.5.0" +description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pytest-xdist-2.5.0.tar.gz", hash = "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf"}, - {file = "pytest_xdist-2.5.0-py3-none-any.whl", hash = "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65"}, + {file = "pytest-xdist-3.5.0.tar.gz", hash = "sha256:cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a"}, + {file = "pytest_xdist-3.5.0-py3-none-any.whl", hash = "sha256:d075629c7e00b611df89f490a5063944bee7a4362a5ff11c7cc7824a03dfce24"}, ] [package.dependencies] execnet = ">=1.1" pytest = ">=6.2.0" -pytest-forked = "*" [package.extras] psutil = ["psutil (>=3.0)"] @@ -1234,13 +1224,13 @@ cli = ["click (>=5.0)"] [[package]] name = "pytz" -version = "2023.3.post1" +version = "2024.1" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] [[package]] @@ -1472,13 +1462,13 @@ files = [ [[package]] name = "splunksplwrapper" -version = "1.1.3" +version = "1.1.4" description = "Package to interact with Splunk" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "splunksplwrapper-1.1.3-py3-none-any.whl", hash = "sha256:1480db9ee26fbc3eeba9d8dd4358589b9c5a0230b796142fe1745676855c9683"}, - {file = "splunksplwrapper-1.1.3.tar.gz", hash = "sha256:bc99c66df7744d08c43080f816b6a6e65ae64e664c226c5544c79d52442dbcb3"}, + {file = "splunksplwrapper-1.1.4-py3-none-any.whl", hash = "sha256:65d62fe00a89b0f0ef849f37b15db068d293ed2fc430a1b74ca8c9bc34436f67"}, + {file = "splunksplwrapper-1.1.4.tar.gz", hash = "sha256:d8b319080b0260cc47723fe95afeddbdda35f6cb43fdb6249bbcb3c20c03aa77"}, ] [package.dependencies] diff --git a/ui/yarn.lock b/ui/yarn.lock index f4411e21a..9ef3b8bd4 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -113,9 +113,9 @@ semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.9.tgz#fddfdf51fca28f23d16b9e3935a4732690acfad6" - integrity sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw== + version "7.23.10" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" + integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.20" @@ -1386,29 +1386,29 @@ resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz#0709e9f4cb252351c609c6e6d8d6779a8d25edff" integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA== -"@floating-ui/core@^1.6.0": +"@floating-ui/core@^1.0.0": version "1.6.0" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== dependencies: "@floating-ui/utils" "^0.2.1" -"@floating-ui/dom@^1.6.0": - version "1.6.0" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.0.tgz#282f31c5c7d2aaef3999e09f2c06280a020364d1" - integrity sha512-SZ0BEXzsaaS6THZfZJUcAobbZTD+MvfGM42bxgeg0Tnkp4/an/avqwAXiVLsFtIBZtfsx3Ymvwx0+KnnhdA/9g== +"@floating-ui/dom@^1.6.1": + version "1.6.3" + resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" + integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== dependencies: - "@floating-ui/core" "^1.6.0" - "@floating-ui/utils" "^0.2.1" + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" "@floating-ui/react-dom@^2.0.0": - version "2.0.7" - resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.7.tgz#873e0a55a25d8ddbbccd159d6ab4a4b98eb05494" - integrity sha512-B5GJxKUyPcGsvE1vua+Abvw0t6zVMyTbtG+Jk7BoI4hfc5Ahv50dstRIAn0nS0274kR9gnKwxIXyGA8EzBZJrA== + version "2.0.8" + resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" + integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== dependencies: - "@floating-ui/dom" "^1.6.0" + "@floating-ui/dom" "^1.6.1" -"@floating-ui/utils@^0.2.1": +"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": version "0.2.1" resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== @@ -1495,7 +1495,7 @@ js-yaml "^3.13.1" resolve-from "^5.0.0" -"@istanbuljs/schema@^0.1.2": +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== @@ -1727,9 +1727,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.0.1": version "1.1.2" @@ -2366,36 +2366,7 @@ prop-types "^15.6.2" react-flip-move "^3.0.1" -"@splunk/react-ui@^4.23.0": - version "4.24.0" - resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.24.0.tgz#1250eda179f30c51d22c289d41a07ff0e2fd7c3e" - integrity sha512-qrPKWe8H4w6hl3dIPPeIDgvWqwAk9DjhkVbKw3ffInrLk32bbA816y5WfQZdi0rBhZLOKNl1j4Om875qO33mpQ== - dependencies: - "@dnd-kit/core" "6.0.8" - "@dnd-kit/sortable" "7.0.2" - "@dnd-kit/utilities" "3.2.1" - "@splunk/react-icons" "^4.2.0" - "@splunk/themes" "^0.16.4" - "@splunk/ui-utils" "^1.6.0" - "@types/commonmark" "^0.27.6" - "@types/lodash" "^4.14.156" - "@types/react" "^16.9.38" - "@types/react-dom" "^16.9.8" - "@types/react-resize-detector" "^3.1.1" - "@types/styled-components" "^5.1.0" - "@types/tinycolor2" "^1.4.2" - 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.25.0": +"@splunk/react-ui@^4.23.0", "@splunk/react-ui@^4.25.0": version "4.25.0" resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.25.0.tgz#7aa6f4144cd5c8729458e4d729b7a08b304213a2" integrity sha512-3gYmThJ2ssB46RmbWEUgBiEzqSFyQNINbLN76cQ63KPrdij8DfatoA7cD9u5S+apn8FCAc4RZhkH3QE+6ODeLw== @@ -2689,18 +2660,6 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.5.0" -"@storybook/channels@7.6.13": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.13.tgz#4d60407ecab0cfb99184fc230fec237d1df019c2" - integrity sha512-AiplFJXPjgHA62xqZFq7SwCS+o8bFrYLPM9I8yNY+8jhAi9N3Yig+h2P0jOXxLKicwrCXa5ZJ7PZK05M1r6YqA== - dependencies: - "@storybook/client-logger" "7.6.13" - "@storybook/core-events" "7.6.13" - "@storybook/global" "^5.0.0" - qs "^6.10.0" - telejson "^7.2.0" - tiny-invariant "^1.3.1" - "@storybook/channels@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz#5be1d1222a3ffdc90e1868230c2b2ee5dfc7a97f" @@ -2759,13 +2718,6 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-logger@7.6.13": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.13.tgz#bcba58e9a7ad706ca7309d50854a09ec04687f34" - integrity sha512-uo51MsUG1Fbi1IA+me9tewF1mFiaYuyR0IMeBmaU3Z3CtjEUdOekmvRQ9ckoFn+BbKtxSipTodiR4HmIZDta3g== - dependencies: - "@storybook/global" "^5.0.0" - "@storybook/client-logger@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz#5031c47b7df8d8792fe9dfed5828222f515e5803" @@ -2817,7 +2769,7 @@ "@storybook/client-logger" "7.6.17" "@storybook/preview-api" "7.6.17" -"@storybook/core-common@7.6.17": +"@storybook/core-common@7.6.17", "@storybook/core-common@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz#12760703f08d8f741de0f1fe7026346438251951" integrity sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g== @@ -2846,42 +2798,6 @@ resolve-from "^5.0.0" ts-dedent "^2.0.0" -"@storybook/core-common@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.13.tgz#46b47cce8f563a4542e9d5a9128733bc2229469d" - integrity sha512-kCCVDga/66wIWFSluT3acD3/JT3vwV7A9rxG8FZF5K38quU/b37sRXvCw8Yk5HJ4rQhrB76cxVhIOy/ZucaZVw== - dependencies: - "@storybook/core-events" "7.6.13" - "@storybook/node-logger" "7.6.13" - "@storybook/types" "7.6.13" - "@types/find-cache-dir" "^3.2.1" - "@types/node" "^18.0.0" - "@types/node-fetch" "^2.6.4" - "@types/pretty-hrtime" "^1.0.0" - chalk "^4.1.0" - esbuild "^0.18.0" - esbuild-register "^3.5.0" - file-system-cache "2.3.0" - find-cache-dir "^3.0.0" - find-up "^5.0.0" - fs-extra "^11.1.0" - glob "^10.0.0" - handlebars "^4.7.7" - lazy-universal-dotenv "^4.0.0" - node-fetch "^2.0.0" - picomatch "^2.3.0" - pkg-dir "^5.0.0" - pretty-hrtime "^1.0.3" - resolve-from "^5.0.0" - ts-dedent "^2.0.0" - -"@storybook/core-events@7.6.13": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.13.tgz#772834ebf72f1fda339d7152566f051ac38394b9" - integrity sha512-hsL6JT273b1RcJBGHpNNLJ1ilzFMT4UCJwwtOpNNQVPBJt0Hn22vxC69/hpqSINrhHRLj3ak8CTtA0ynVjngaQ== - dependencies: - ts-dedent "^2.0.0" - "@storybook/core-events@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz#9e1a795558193089fb227cfe2cf768c99418a640" @@ -2955,7 +2871,7 @@ "@storybook/csf-tools" "7.6.17" unplugin "^1.3.1" -"@storybook/csf-tools@7.6.17": +"@storybook/csf-tools@7.6.17", "@storybook/csf-tools@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz#366bb2348fc1a62f90cdbd6cce4aa5e7293984eb" integrity sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ== @@ -2970,21 +2886,6 @@ recast "^0.23.1" ts-dedent "^2.0.0" -"@storybook/csf-tools@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.13.tgz#c7a59063d6151b44760183d283e2996cf9d24e95" - integrity sha512-N0erD3fhbZIDkQpcHlNTLvkpWVVtpiOjY3JO8B5SdBT2uQ8T7aXx7IEM3Q8g1f/BpfjkM15rZl9r4HFtm5E43Q== - dependencies: - "@babel/generator" "^7.23.0" - "@babel/parser" "^7.23.0" - "@babel/traverse" "^7.23.2" - "@babel/types" "^7.23.0" - "@storybook/csf" "^0.1.2" - "@storybook/types" "7.6.13" - fs-extra "^11.1.0" - recast "^0.23.1" - ts-dedent "^2.0.0" - "@storybook/csf@^0.0.1": version "0.0.1" resolved "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6" @@ -3069,11 +2970,6 @@ resolved "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5" integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw== -"@storybook/node-logger@7.6.13": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.13.tgz#bab8256bafa7f54be7d2465db8a72d5f73cec679" - integrity sha512-Ci/2Gd0+Qd3fX6GWGS1UAa/bTl0uALsEuMuzOO0meKEPEEYZvBFCoeK6lP1ysMnxWxKaDjxNr01JlTpmjfT6ag== - "@storybook/node-logger@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz#2747cee5395c3644408df2423d98502663c4bcf6" @@ -3107,7 +3003,7 @@ semver "^7.3.7" webpack "5" -"@storybook/preview-api@7.6.17": +"@storybook/preview-api@7.6.17", "@storybook/preview-api@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz#03dd399bf3bb8ac6f4aad3c738365b86b8790157" integrity sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw== @@ -3127,26 +3023,6 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/preview-api@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.13.tgz#ace76ab343ef01328d8244264749913345979d6f" - integrity sha512-BbRlVpxgOXSe4/hpf9cRtbvvCJoRrFbjMCnmaDh+krd8O4wLbVknKhqgSR46qLyW/VGud9Rb3upakz7tNP+mtg== - dependencies: - "@storybook/channels" "7.6.13" - "@storybook/client-logger" "7.6.13" - "@storybook/core-events" "7.6.13" - "@storybook/csf" "^0.1.2" - "@storybook/global" "^5.0.0" - "@storybook/types" "7.6.13" - "@types/qs" "^6.9.5" - dequal "^2.0.2" - lodash "^4.17.21" - memoizerific "^1.11.3" - qs "^6.10.0" - synchronous-promise "^2.0.15" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - "@storybook/preview@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz#e0c9727c7cfbd8f1d504848a57acaab8e54abe90" @@ -3283,16 +3159,6 @@ "@storybook/global" "^5.0.0" memoizerific "^1.11.3" -"@storybook/types@7.6.13": - version "7.6.13" - resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.13.tgz#4d957ac6ddb2213b90525b28b8548749899c2f18" - integrity sha512-N8HfqhL5uaI69BZx+xLkKi1YIgDp34XeL3uhxii4NfThcY1KJA643Gqk3oLKefiBqBpIRGKN0nA41Fhdvhr7Hw== - dependencies: - "@storybook/channels" "7.6.13" - "@types/babel__core" "^7.0.0" - "@types/express" "^4.7.0" - file-system-cache "2.3.0" - "@storybook/types@7.6.17": version "7.6.17" resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz#0b3c27cb1708c0545a9ea1a23b73aa8852dd47c4" @@ -3303,150 +3169,76 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" -"@swc/core-darwin-arm64@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.106.tgz#05adb015d4f8abe7b8b435af10b6e24863cf3b6c" - integrity sha512-XYcbViNyHnnm7RWOAO1YipMmthM7m2aXF32b0y+JMLYFBEyFpjVX9btLkzeL7wRx/5B3I35yJNhE+xyx0Q1Gkw== - -"@swc/core-darwin-arm64@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.0.tgz#11abf23b884929a467ba270cf6789b9c50c4248b" - integrity sha512-UTJ/Vz+s7Pagef6HmufWt6Rs0aUu+EJF4Pzuwvr7JQQ5b1DZeAAUeUtkUTFx/PvCbM8Xfw4XdKBUZfrIKCfW8A== - -"@swc/core-darwin-x64@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.106.tgz#da3aa19bcea1caf77b9267b48c40506b3fbc9e3e" - integrity sha512-YKDPhUdfuwhmOUS9+CaIwl/0Tp+f1b73BH2EIESuxSNsogZf18a8HQ8O0fQEwdiwmA5LEqw47cj+kfOWV/0+kw== - -"@swc/core-darwin-x64@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.0.tgz#f044ddaca60c5081e907b148721ad7461f6f6dfe" - integrity sha512-f8v58u2GsGak8EtZFN9guXqE0Ep10Suny6xriaW2d8FGqESPyNrnBzli3aqkSeQk5gGqu2zJ7WiiKp3XoUOidA== - -"@swc/core-linux-arm-gnueabihf@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.106.tgz#08c4f0b56c4607e124868f9793d5d6e198abdb3e" - integrity sha512-bHxxJXogvFfocLL5inZxxtx/x/WgKozigp80Vbx0viac1fPDJrqKBw2X4MzpMiuTRAGVQ03jJI6pDwbSBf+yDw== - -"@swc/core-linux-arm-gnueabihf@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.0.tgz#52ceea673fc76692c0bd6d58e1863125c3e6173b" - integrity sha512-q2KAkBzmPcTnRij/Y1fgHCKAGevUX/H4uUESrw1J5gmUg9Qip6onKV80lTumA1/aooGJ18LOsB31qdbwmZk9OA== - -"@swc/core-linux-arm64-gnu@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.106.tgz#cfa2ac91ca279bf09db8ef001a139a3840a2b05a" - integrity sha512-c7jue++CHLgtpeaakEukoCLT9eNrImizbleE9Y7Is8CHqLq/7DG4s+7ma9DFKXIzW2MpTg9byIEQfpqSphVW6A== - -"@swc/core-linux-arm64-gnu@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.0.tgz#7f3ff1ab824ec48acdb39d231cbcb4096a4f9dd0" - integrity sha512-SknGu96W0mzHtLHWm+62fk5+Omp9fMPFO7AWyGFmz2tr8EgRRXtTSrBUnWhAbgcalnhen48GsvtMdxf1KNputg== - -"@swc/core-linux-arm64-musl@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.106.tgz#1eff9b3e51a84ea13e0be4de2784bbb28a0e097b" - integrity sha512-51EaC3Q8qAhLtWVnAVqoYX/gk3tK31cCBzUpwCcmhianhEBM2/WtKRAS4MqPhE8VVZuN3WjO2c2JaF2mX0yuoA== - -"@swc/core-linux-arm64-musl@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.0.tgz#26c3b1f7947c19ef725997af716f230957d586f8" - integrity sha512-/k3TDvpBRMDNskHooNN1KqwUhcwkfBlIYxRTnJvsfT2C7My4pffR+4KXmt0IKynlTTbCdlU/4jgX4801FSuliw== - -"@swc/core-linux-x64-gnu@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.106.tgz#c3c7681efaeb36c528eb0cd133e0e52a85554a5b" - integrity sha512-tOUi8BB6jAeCXgx7ESLNnX7nrbMVKQ/XajK77v7Ad4SXf9HYArnimBJpXUUyVFJTXLSv4e6c7s6XHHqXb5Lwcg== +"@swc/core-darwin-arm64@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz#3b5677c5b9c5a7a91d953b96cd603c94064e2835" + integrity sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw== -"@swc/core-linux-x64-gnu@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.0.tgz#2c7d03a04a7d045394cfed7d46419ff8816ec22e" - integrity sha512-GYsTMvNt5+WTVlwwQzOOWsPMw6P/F41u5PGHWmfev8Nd4QJ1h3rWPySKk4mV42IJwH9MgQCVSl3ygwNqwl6kFg== +"@swc/core-darwin-x64@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz#bbc8bbf420389b12541151255a50f319cc17ef96" + integrity sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ== -"@swc/core-linux-x64-musl@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.106.tgz#1e7287e379c503f8e565eab7fc5065739611690f" - integrity sha512-binLw4Lbd83NPy4/m/teH2nbaifxveSD+sKDvpxywRbvYW2I0w/iCBpUBcbnl16TQF4TPOGpq5YwG9lVxPVw5g== +"@swc/core-linux-arm-gnueabihf@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz#aa9a18f130820717df08c9dd882043fc47e8d35a" + integrity sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ== -"@swc/core-linux-x64-musl@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.0.tgz#0e76442dfb6d5026d8d6e7db6b2f4922b7692d0f" - integrity sha512-jGVPdM/VwF7kK/uYRW5N6FwzKf/FnDjGIR3RPvQokjYJy7Auk+3Oj21C0Jev7sIT9RYnO/TrFEoEozKeD/z2Qw== +"@swc/core-linux-arm64-gnu@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz#5ef1de0ca7cc3a034aa3a1c3c1794b78e6ca207e" + integrity sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA== -"@swc/core-win32-arm64-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.106.tgz#02d7418c202a33906949a5e6924baaaa0a3fce5f" - integrity sha512-n4ttBWr8tM7DPzwcEOIBTyTMHZTzCmbic/HTtxEsPyMAf/Daen+yrTKzjPP6k2usfSrjkxA780RSJJxI1N8r2w== +"@swc/core-linux-arm64-musl@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz#5dfd2a8c0483770a307de0ccb6019a082ff0d902" + integrity sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw== -"@swc/core-win32-arm64-msvc@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.0.tgz#0177bebf312eb251d6749ab76259c0e08088e837" - integrity sha512-biHYm1AronEKlt47O/H8sSOBM2BKXMmWT+ApvlxUw50m1RGNnVnE0bgY7tylFuuSiWyXsQPJbmUV708JqORXVg== +"@swc/core-linux-x64-gnu@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz#314aa76b7c1208e315e3156ab57b7188fb605bc2" + integrity sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg== -"@swc/core-win32-ia32-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.106.tgz#22f07b4710e79e22c7828ad89e87636671680e2d" - integrity sha512-GhDNIwxE5FhkujESI6h/4ysT3wxwmrzTUlZYaR8rRui6a6SdX9feIPUHPEE5o5hpyp+xqlmvRxKkRxOnwsq8iA== +"@swc/core-linux-x64-musl@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz#b2b226657f6a8d48f561cb3dbe2d414cfbafe467" + integrity sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ== -"@swc/core-win32-ia32-msvc@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.0.tgz#27fa650280e5651aa42129eaf03e02787b866417" - integrity sha512-TL5L2tFQb19kJwv6+elToGBj74QXCn9j+hZfwQatvZEJRA5rDK16eH6oAE751dGUArhnWlW3Vj65hViPvTuycw== +"@swc/core-win32-arm64-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz#582f79fa328ce0f426ab8313b3d881e7315fab2f" + integrity sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ== -"@swc/core-win32-x64-msvc@1.3.106": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.106.tgz#cc28822b1476345ef4ee2a1895ff7c51a42dd45f" - integrity sha512-2M6yWChuMS1+/MPo3Dor0SOMkvmiugonWlzsZBAu/oZboH2xKrHSRv7brsBujb2Oe47r+NsbV+vq9tnnP9Vl1Q== +"@swc/core-win32-ia32-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz#15c8289e1c18857f79b9b888100ab1f871bf58f6" + integrity sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA== -"@swc/core-win32-x64-msvc@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.0.tgz#bd575c599bd6847bddc4863a3babd85e3db5e11e" - integrity sha512-e2xVezU7XZ2Stzn4i7TOQe2Kn84oYdG0M3A7XI7oTdcpsKCcKwgiMoroiAhqCv+iN20KNqhnWwJiUiTj/qN5AA== +"@swc/core-win32-x64-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz#c999ca7b68124d058b40a1431cdd6f56779670d5" + integrity sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw== -"@swc/core@^1.3.18": - version "1.4.0" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.0.tgz#3a0ceeea5b889173f4592955fe1da4d071d86a76" - integrity sha512-wc5DMI5BJftnK0Fyx9SNJKkA0+BZSJQx8430yutWmsILkHMBD3Yd9GhlMaxasab9RhgKqZp7Ht30hUYO5ZDvQg== +"@swc/core@^1.3.18", "@swc/core@^1.3.82": + version "1.4.2" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.2.tgz#310b0d5e93e47ca72f54150c8f9efcb434c39b17" + integrity sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg== dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.4.0" - "@swc/core-darwin-x64" "1.4.0" - "@swc/core-linux-arm-gnueabihf" "1.4.0" - "@swc/core-linux-arm64-gnu" "1.4.0" - "@swc/core-linux-arm64-musl" "1.4.0" - "@swc/core-linux-x64-gnu" "1.4.0" - "@swc/core-linux-x64-musl" "1.4.0" - "@swc/core-win32-arm64-msvc" "1.4.0" - "@swc/core-win32-ia32-msvc" "1.4.0" - "@swc/core-win32-x64-msvc" "1.4.0" - -"@swc/core@^1.3.82": - version "1.3.106" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.3.106.tgz#7e054f8a7db56de3f519c48db03f58e3f09fe8ee" - integrity sha512-++QPSPkFq2qELYVScxNHJC42hKQChjiTWS2P0QQ5JWT4NHb9lmNSfrc1ylFIyImwRnxsW2MTBALLYLf95EFAsg== - dependencies: - "@swc/counter" "^0.1.1" + "@swc/counter" "^0.1.2" "@swc/types" "^0.1.5" optionalDependencies: - "@swc/core-darwin-arm64" "1.3.106" - "@swc/core-darwin-x64" "1.3.106" - "@swc/core-linux-arm-gnueabihf" "1.3.106" - "@swc/core-linux-arm64-gnu" "1.3.106" - "@swc/core-linux-arm64-musl" "1.3.106" - "@swc/core-linux-x64-gnu" "1.3.106" - "@swc/core-linux-x64-musl" "1.3.106" - "@swc/core-win32-arm64-msvc" "1.3.106" - "@swc/core-win32-ia32-msvc" "1.3.106" - "@swc/core-win32-x64-msvc" "1.3.106" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/counter@^0.1.3": + "@swc/core-darwin-arm64" "1.4.2" + "@swc/core-darwin-x64" "1.4.2" + "@swc/core-linux-arm-gnueabihf" "1.4.2" + "@swc/core-linux-arm64-gnu" "1.4.2" + "@swc/core-linux-arm64-musl" "1.4.2" + "@swc/core-linux-x64-gnu" "1.4.2" + "@swc/core-linux-x64-musl" "1.4.2" + "@swc/core-win32-arm64-msvc" "1.4.2" + "@swc/core-win32-ia32-msvc" "1.4.2" + "@swc/core-win32-x64-msvc" "1.4.2" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": version "0.1.3" resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== @@ -3592,11 +3384,6 @@ "@types/connect" "*" "@types/node" "*" -"@types/commonmark@^0.27.6": - version "0.27.9" - resolved "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.9.tgz#2d2d42e72127c84525fbbc87aaefb5a43e1129d7" - integrity sha512-d3+57WgyPCcIc6oshmcPkmP4+JqRRot9eeZLsBsutWtIxwWivpoyc2wEcolOp8MyO3ZWN846mMdoR02kdHSMCw== - "@types/connect@*": version "3.4.38" resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" @@ -3673,9 +3460,9 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@^4.17.33": - version "4.17.42" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz#2a276952acc73d1b8dc63fd4210647abbc553a71" - integrity sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ== + version "4.17.43" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -3787,9 +3574,9 @@ integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/mdx@^2.0.0": - version "2.0.10" - resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz#0d7b57fb1d83e27656156e4ee0dfba96532930e4" - integrity sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg== + version "2.0.11" + resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz#21f4c166ed0e0a3a733869ba04cd8daea9834b8e" + integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== "@types/mime-types@^2.1.0": version "2.1.4" @@ -3826,24 +3613,17 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*": - version "20.11.7" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.7.tgz#cb49aedd758c978c30806d0c38b520ed2a3df6e0" - integrity sha512-GPmeN1C3XAyV5uybAf4cMLWT9fDWcmQhZVtMFu7OR32WjrqGG+Wnk2V1d0bmtUyE/Zy1QJ9BxyiTih9z8Oks8A== +"@types/node@*", "@types/node@^20.11.16", "@types/node@^20.11.19": + version "20.11.19" + resolved "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" + integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== dependencies: undici-types "~5.26.4" "@types/node@^18.0.0": - version "18.19.10" - resolved "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz#4de314ab66faf6bc8ba691021a091ddcdf13a158" - integrity sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA== - dependencies: - undici-types "~5.26.4" - -"@types/node@^20.11.16", "@types/node@^20.11.19": - version "20.11.19" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" - integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== + version "18.19.17" + resolved "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz#a581a9fb4b2cfdbc61f008804f4436b2d5c40354" + integrity sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng== dependencies: undici-types "~5.26.4" @@ -3891,13 +3671,6 @@ dependencies: "@types/react" "^16" -"@types/react-resize-detector@^3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@types/react-resize-detector/-/react-resize-detector-3.1.1.tgz#06e6ff328703607462cbc435193a59a01db23a24" - integrity sha512-3FVExywb3kC0p+dKRd2IC6wmUlfurx/9J0b1mtHd0rigwZWNJC79fnbTJaMmLNM8PhhgqDwaNOhFdv0u9YGAzA== - dependencies: - "@types/react" "*" - "@types/react@*", "@types/react@>=16", "@types/react@^16", "@types/react@^16.14.56", "@types/react@^16.9.38", "@types/react@^17": version "16.14.56" resolved "https://registry.npmjs.org/@types/react/-/react-16.14.56.tgz#4cf37850a87edcb9f3526648338eff35d283c9ab" @@ -3918,9 +3691,9 @@ integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== "@types/semver@^7.3.12", "@types/semver@^7.3.4", "@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + version "7.5.7" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz#326f5fdda70d13580777bcaa1bc6fa772a5aef0e" + integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== "@types/send@*": version "0.17.4" @@ -4358,7 +4131,7 @@ acorn@^7.4.0, acorn@^7.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.1.0, acorn@^8.11.2, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: +acorn@^8.1.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -4543,13 +4316,13 @@ aria-query@^5.0.0, aria-query@^5.3.0: dependencies: dequal "^2.0.3" -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-flatten@1.1.1: version "1.1.1" @@ -4572,16 +4345,27 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== +array.prototype.filter@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" + integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +array.prototype.findlastindex@^1.2.3: + version "1.2.4" + resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" + integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: version "1.3.2" @@ -4604,27 +4388,28 @@ array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: es-shim-unscopables "^1.0.0" array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + version "1.1.3" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" arrify@^1.0.1: @@ -4689,10 +4474,12 @@ asynckit@^0.4.0: resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" axe-core@=4.7.0: version "4.7.0" @@ -4700,9 +4487,9 @@ axe-core@=4.7.0: integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== axe-core@^4.2.0: - version "4.8.3" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.8.3.tgz#205df863dd9917d5979e9435dab4d47692759051" - integrity sha512-d5ZQHPSPkF9Tw+yfyDcRoUOc4g/8UloJJe5J8m4L5+c7AtDdjDLRxew/knnI4CxvtdxEUVgWz4x3OIQUIFiMfw== + version "4.8.4" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.8.4.tgz#90db39a2b316f963f00196434d964e6e23648643" + integrity sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg== axios@^1.6.1, axios@^1.6.7: version "1.6.7" @@ -4975,13 +4762,13 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserslist@^4.21.10, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== +browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.22.3: + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" node-releases "^2.0.14" update-browserslist-db "^1.0.13" @@ -5040,14 +4827,16 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" callsites@^3.0.0: version "3.1.0" @@ -5091,10 +4880,10 @@ can-bind-to-host@^1.1.1: resolved "https://registry.npmjs.org/can-bind-to-host/-/can-bind-to-host-1.1.2.tgz#45919a1fb426eb1b709ddd4853cd5eda0549e606" integrity sha512-CqsgmaqiyFRNtP17Ihqa/uHbZxRirntNVNl/kJz31DLKuNRfzvzionkLoUSkElQ6Cz+cpXKA3mhHq4tjbieujA== -caniuse-lite@^1.0.30001565: - version "1.0.30001580" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz#e3c76bc6fe020d9007647044278954ff8cd17d1e" - integrity sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA== +caniuse-lite@^1.0.30001587: + version "1.0.30001588" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" + integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" @@ -5142,9 +4931,9 @@ char-regex@^2.0.0: integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -5177,9 +4966,9 @@ ci-info@^3.2.0: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== citty@^0.1.5: - version "0.1.5" - resolved "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz#fe37ceae5dc764af75eb2fece99d2bf527ea4e50" - integrity sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ== + version "0.1.6" + resolved "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" + integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== dependencies: consola "^3.2.3" @@ -5467,16 +5256,16 @@ cookie@0.5.0, cookie@^0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.35.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" - integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== + version "3.36.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== dependencies: - browserslist "^4.22.2" + browserslist "^4.22.3" core-js-pure@^3.23.3: - version "3.35.1" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz#f33ad7fdf9dddae260339a30e5f8363f5c49a3bc" - integrity sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ== + version "3.36.0" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz#ffb34330b14e594d6a9835cf5843b4123f1d95db" + integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== core-util-is@~1.0.0: version "1.0.3" @@ -5553,7 +5342,7 @@ css-functions-list@^3.1.0: resolved "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz#2eb205d8ce9f9ce74c5c1d7490b66b77c45ce3ea" integrity sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ== -css-loader@^6.10.0: +css-loader@^6.10.0, css-loader@^6.7.1: version "6.10.0" resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== @@ -5567,20 +5356,6 @@ css-loader@^6.10.0: postcss-value-parser "^4.2.0" semver "^7.5.4" -css-loader@^6.7.1: - version "6.9.1" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz#9ec9a434368f2bdfeffbf8f6901a1ce773586c6b" - integrity sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - css-select@^4.1.3: version "4.3.0" resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -5770,14 +5545,14 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.2, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: - get-intrinsic "^1.2.1" + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" define-lazy-prop@^2.0.0: version "2.0.0" @@ -6001,9 +5776,9 @@ dotenv-expand@^10.0.0: integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== dotenv@^16.0.0: - version "16.4.1" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.1.tgz#1d9931f1d3e5d2959350d1250efab299561f7f11" - integrity sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ== + version "16.4.5" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" @@ -6027,10 +5802,10 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.601: - version "1.4.647" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.647.tgz#3c8d4815e5ed2fbdd37f4ab7333cd9f8fc56d53a" - integrity sha512-Z/fTNGwc45WrYQhPaEcz5tAJuZZ8G7S/DBnhS6Kgp4BxnS40Z/HqlJ0hHg3Z79IGVzuVartIlTcjw/cQbPLgOw== +electron-to-chromium@^1.4.668: + version "1.4.677" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.677.tgz#49ee77713516740bdde32ac2d1443c444f0dafe7" + integrity sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q== emittery@^0.13.1: version "0.13.1" @@ -6110,9 +5885,9 @@ entities@~2.0: integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== envinfo@^7.7.3: - version "7.11.0" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" - integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + version "7.11.1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" + integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== err-code@^2.0.2: version "2.0.3" @@ -6140,50 +5915,69 @@ error@^7.0.0: dependencies: string-template "~0.2.1" -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: + version "1.22.4" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" + integrity sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.6" + call-bind "^1.0.7" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" has-proto "^1.0.1" has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.1" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-typed-array "^1.1.12" + is-typed-array "^1.1.13" is-weakref "^1.0.2" object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.0" + safe-regex-test "^1.0.3" string.prototype.trim "^1.2.8" string.prototype.trimend "^1.0.7" string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" + typed-array-buffer "^1.0.1" typed-array-byte-length "^1.0.0" typed-array-byte-offset "^1.0.0" typed-array-length "^1.0.4" unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" + which-typed-array "^1.1.14" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-get-iterator@^1.1.3: version "1.1.3" @@ -6201,40 +5995,41 @@ es-get-iterator@^1.1.3: stop-iteration-iterator "^1.0.0" es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: - version "1.0.15" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== + version "1.0.17" + resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8" + integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ== dependencies: asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" + es-abstract "^1.22.4" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" globalthis "^1.0.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.5" + internal-slot "^1.0.7" iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" + safe-array-concat "^1.1.0" es-module-lexer@^1.2.1, es-module-lexer@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== +es-set-tostringtag@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" -es-shim-unscopables@^1.0.0: +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== @@ -6296,9 +6091,9 @@ esbuild@^0.18.0: "@esbuild/win32-x64" "0.18.20" escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-html@~1.0.3: version "1.0.3" @@ -6760,9 +6555,9 @@ fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" @@ -6937,14 +6732,14 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + version "3.3.0" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.0.tgz#5fdca2b5e671cd38d1537427a10e02a2caa8257e" + integrity sha512-noqGuLw158+DuD9UPRKHpJ2hGxpFyDlYYrfM0mWt4XhT4n0lwzTLh70Tkdyy4kyTmyTT9Bv7bWAJqw7cgkEXDg== flow-parser@0.*: - version "0.227.0" - resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.227.0.tgz#e50b65be9dc6810438c975e816a68005fbcd5107" - integrity sha512-nOygtGKcX/siZK/lFzpfdHEfOkfGcTW7rNroR1Zsz6T/JxSahPALXVt5qVHq/fgvMJuv096BTKbgxN3PzVBaDA== + version "0.229.0" + resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.229.0.tgz#054b60d6f6a9fab76cd89dc6ca662fd32d910163" + integrity sha512-mOYmMuvJwAo/CvnMFEq4SHftq7E5188hYMTTxJyQOXk2nh+sgslRdYMw3wTthH+FMcFaZLtmBPuMu6IwztdoUQ== follow-redirects@^1.15.4: version "1.15.5" @@ -7098,7 +6893,7 @@ fsevents@^2.3.2, fsevents@~2.3.2: resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.1, function-bind@^1.1.2: +function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== @@ -7133,11 +6928,12 @@ 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-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.1.1, 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" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" @@ -7178,13 +6974,14 @@ get-stream@^8.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" get-tsconfig@^4.5.0: version "4.7.2" @@ -7388,29 +7185,29 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" + es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" hasha@^5.0.0: version "5.2.2" @@ -7420,10 +7217,10 @@ hasha@^5.0.0: is-stream "^2.0.0" type-fest "^0.8.0" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.0, hasown@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== dependencies: function-bind "^1.1.2" @@ -7612,9 +7409,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.2.0, ignore@^5.2.1, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== immutability-helper@^3.1.1: version "3.1.1" @@ -7683,12 +7480,12 @@ ini@^1.3.4, ini@^1.3.5: resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== +internal-slot@^1.0.4, internal-slot@^1.0.5, internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.2" + es-errors "^1.3.0" hasown "^2.0.0" side-channel "^1.0.4" @@ -7727,14 +7524,13 @@ is-arguments@^1.0.4, is-arguments@^1.1.1: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" @@ -7859,9 +7655,9 @@ is-nan@^1.3.2: define-properties "^1.1.3" is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + version "2.0.3" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-node-process@^1.0.1, is-node-process@^1.2.0: version "1.2.0" @@ -7926,11 +7722,11 @@ is-set@^2.0.1, is-set@^2.0.2: integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + version "1.0.3" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-stream@^2.0.0: version "2.0.1" @@ -7956,12 +7752,12 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" is-typedarray@^1.0.0: version "1.0.0" @@ -8064,13 +7860,13 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + version "6.0.2" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" istanbul-lib-coverage "^3.2.0" semver "^7.5.4" @@ -8105,9 +7901,9 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + version "3.1.7" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -8996,9 +8792,9 @@ lz-string@^1.5.0: integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.30.5: - version "0.30.5" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" - integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + version "0.30.7" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" + integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" @@ -9052,9 +8848,9 @@ map-or-similar@^1.5.0: integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== markdown-to-jsx@^7.1.8: - version "7.4.0" - resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.0.tgz#4606c5c549a6f6cb87604c35f5ee4f42959ffb6b" - integrity sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg== + version "7.4.1" + resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz#1ed6a60f8f9cd944bec39d9923fbbc8d3d60dcb9" + integrity sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A== mathml-tag-names@^2.1.3: version "2.1.3" @@ -9353,9 +9149,9 @@ node-dir@^0.1.17: minimatch "^3.0.2" node-fetch-native@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz#f95c74917d3cebc794cdae0cd2a9c7594aad0cb4" - integrity sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw== + version "1.6.2" + resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz#f439000d972eb0c8a741b65dcda412322955e1c6" + integrity sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w== node-fetch@^2, node-fetch@^2.0.0: version "2.7.0" @@ -9511,7 +9307,7 @@ object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1, object-inspect@^1.9.0: +object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== @@ -9529,7 +9325,7 @@ object-keys@^1.1.1: resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2, object.assign@^4.1.4: +object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -9558,14 +9354,15 @@ object.fromentries@^2.0.6, object.fromentries@^2.0.7: es-abstract "^1.22.1" object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + version "1.0.2" + resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" + integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + array.prototype.filter "^1.0.3" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" object.hasown@^1.1.2: version "1.1.3" @@ -9973,9 +9770,9 @@ pngjs@^6.0.0: integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== polished@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1" - integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ== + version "4.3.1" + resolved "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz#5a00ae32715609f83d89f6f31d0f0261c6170548" + integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA== dependencies: "@babel/runtime" "^7.17.8" @@ -9988,6 +9785,11 @@ portfinder@^1.0.17: debug "^3.2.7" mkdirp "^0.5.6" +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-media-query-parser@^0.2.3: version "0.2.3" resolved "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" @@ -10382,9 +10184,9 @@ react-refresh@^0.14.0: integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== react-remove-scroll-bar@^2.3.3: - version "2.3.4" - resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" - integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== + version "2.3.5" + resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz#cd2543b3ed7716c7c5b446342d21b0e0b303f47c" + integrity sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw== dependencies: react-style-singleton "^2.2.1" tslib "^2.0.0" @@ -10530,14 +10332,15 @@ redent@^3.0.0: strip-indent "^3.0.0" reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + version "1.0.5" + resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz#e0bd28b597518f16edaf9c0e292c631eb13e0674" + integrity sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" + get-intrinsic "^1.2.3" globalthis "^1.0.3" which-builtin-type "^1.1.3" @@ -10565,14 +10368,15 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +regexp.prototype.flags@^1.5.0, 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== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" regexpp@^3.1.0: version "3.2.0" @@ -10782,7 +10586,7 @@ rxjs@^7.8.1: dependencies: tslib "^2.1.0" -safe-array-concat@^1.0.1: +safe-array-concat@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== @@ -10807,13 +10611,13 @@ safe-json-parse@~1.0.1: resolved "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" integrity sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A== -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": @@ -10917,25 +10721,27 @@ set-blocking@^2.0.0: resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +set-function-length@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== dependencies: - define-data-property "^1.1.1" + define-data-property "^1.1.2" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.3" gopd "^1.0.1" has-property-descriptors "^1.0.1" set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + version "2.0.2" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" setprototypeof@1.2.0: version "1.2.0" @@ -10967,13 +10773,14 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.5" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -11076,9 +10883,9 @@ spdx-correct@^3.0.0: spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.4.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b" - integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw== + version "2.5.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" @@ -11089,9 +10896,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.16" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" - integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + version "3.0.17" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== sprintf-js@~1.0.2: version "1.0.3" @@ -11128,9 +10935,9 @@ stop-iteration-iterator@^1.0.0: internal-slot "^1.0.4" store2@^2.14.2: - version "2.14.2" - resolved "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" - integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== + version "2.14.3" + resolved "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz#24077d7ba110711864e4f691d2af941ec533deb5" + integrity sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg== storybook@^7.6.17: version "7.6.17" @@ -11406,9 +11213,11 @@ svg-tags@^1.0.0: integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== swc-loader@^0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" - integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + version "0.2.6" + resolved "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" + integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== + dependencies: + "@swc/counter" "^0.1.3" symbol-tree@^3.2.4: version "3.2.4" @@ -11511,9 +11320,9 @@ terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.10.0, terser@^5.26.0: - version "5.27.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + version "5.27.2" + resolved "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz#577a362515ff5635f98ba149643793a3973ba77e" + integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -11624,9 +11433,9 @@ trim-newlines@^3.0.0: integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + version "1.2.1" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b" + integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" @@ -11732,9 +11541,9 @@ type-fest@^3.0.0: integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== type-fest@^4.9.0: - version "4.10.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.10.1.tgz#35e6cd34d1fe331cf261d8ebb83e64788b89db4b" - integrity sha512-7ZnJYTp6uc04uYRISWtiX3DSKB/fxNQT0B5o1OUeCqiQiwF+JC9+rJiZIDrPrNCLLuTqyQmh4VdQqh/ZOkv9MQ== + version "4.10.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz#3abdb144d93c5750432aac0d73d3e85fcab45738" + integrity sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw== type-is@~1.6.18: version "1.6.18" @@ -11744,44 +11553,49 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + version "1.0.1" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + version "1.0.5" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5" + integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -11801,9 +11615,9 @@ typescript@^5.3.3: integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== ufo@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496" - integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== + version "1.4.0" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz#39845b31be81b4f319ab1d99fd20c56cac528d32" + integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== uglify-js@^3.1.4: version "3.17.4" @@ -11900,11 +11714,11 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unplugin@^1.3.1: - version "1.6.0" - resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.6.0.tgz#0bd7c344182c73e685c864f4f7161531f024b942" - integrity sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ== + version "1.7.1" + resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz#009571e3128640f4e327f33680d2db27afaf1e11" + integrity sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw== dependencies: - acorn "^8.11.2" + acorn "^8.11.3" chokidar "^3.5.3" webpack-sources "^3.2.3" webpack-virtual-modules "^0.6.1" @@ -12147,9 +11961,9 @@ webpack-dev-middleware@^6.1.1: schema-utils "^4.0.0" webpack-hot-middleware@^2.25.1: - version "2.26.0" - resolved "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.0.tgz#0a103c9b2836c1f27d7f74bbe0e96c99c82d0265" - integrity sha512-okzjec5sAEy4t+7rzdT8eRyxsk0FDSmBPN2KwX4Qd+6+oQCfe5Ve07+u7cJvofgB+B4w5/4dO4Pz0jhhHyyPLQ== + version "2.26.1" + resolved "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz#87214f1e3f9f3acab9271fef9e6ed7b637d719c0" + integrity sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A== dependencies: ansi-html-community "0.0.8" html-entities "^2.1.0" @@ -12189,37 +12003,7 @@ webpack-virtual-modules@^0.6.1: resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f" integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== -webpack@5: - version "5.90.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz#313bfe16080d8b2fee6e29b6c986c0714ad4290e" - integrity sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - 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.9" - 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.0" - webpack-sources "^3.2.3" - -webpack@^5.90.3: +webpack@5, webpack@^5.90.3: version "5.90.3" resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac" integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== @@ -12335,16 +12119,16 @@ 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.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.14" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" + integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" + available-typed-arrays "^1.0.6" + call-bind "^1.0.5" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.1" which@^1.2.12, which@^1.3.1: version "1.3.1" @@ -12371,7 +12155,6 @@ wordwrap@^1.0.0: integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - name wrap-ansi-cjs version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 1ef91c60ef2ef9dd692c92139ace63e0dc675e45 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Wed, 21 Feb 2024 14:13:26 +0100 Subject: [PATCH 05/15] ci: add all-checks job to summarize test-ui (#1070) --- .github/workflows/build-test-release.yml | 32 ++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 6392e9667..10eebfe2c 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -9,7 +9,7 @@ on: tags: - "v[0-9]+.[0-9]+.[0-9]+" pull_request: - branches: [ main, develop, "release/**" ] + branches: [main, develop] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} @@ -216,7 +216,6 @@ jobs: id-token: write contents: read checks: write - continue-on-error: true needs: - meta - build-test-addon @@ -224,6 +223,7 @@ jobs: - test-unit - test-smoke strategy: + fail-fast: false matrix: splunk: ${{ fromJson(needs.meta.outputs.matrix_supportedSplunk) }} test-mark: @@ -300,6 +300,33 @@ jobs: appinspect_manual_checks: tests/testdata/expected_addons/expected_output_global_config_everything/.appinspect.manualcheck.yaml appinspect_expected_failures: tests/testdata/expected_addons/expected_output_global_config_everything/.appinspect.expect.yaml + all-checks: + if: ${{ !cancelled() }} + needs: + - test-ui + - build-test-addon-openapi-client + - storybook-screenshots + runs-on: ubuntu-latest + env: + NEEDS: ${{ toJson(needs) }} + steps: + - name: check if tests have passed or skipped + id: check + shell: bash + run: | + ALL_JOBS_PASSED=$(echo "$NEEDS" | jq "all(.[]; .result == \"success\" or .result == \"skipped\")") + if [[ "$ALL_JOBS_PASSED" == "true" ]] + then + echo "all-checks=true" >> "$GITHUB_OUTPUT" + else + echo "all-checks=false" >> "$GITHUB_OUTPUT" + fi + - name: Fail job if something failed + if: ${{ steps.check.outputs.all-checks == 'false' }} + run: | + echo "Some check failed" + exit 1 + release: needs: - build @@ -311,6 +338,7 @@ jobs: - appinspect-for-expected-outputs - semgrep - pre-commit + - all-checks runs-on: ubuntu-latest if: "! github.event.pull_request.head.repo.fork " steps: From 4343a1aae1c91ce84c6b80e82c33218c14f0cb8f Mon Sep 17 00:00:00 2001 From: sgoral-splunk <138458044+sgoral-splunk@users.noreply.github.com> Date: Thu, 22 Feb 2024 11:00:29 +0100 Subject: [PATCH 06/15] test: update smartx, reduce input in textarea ui test (#1085) Update of the smartx library version 3.0.0, which includes, among others, changes regarding checkbox tests. Reduce input to 100 lines in `test_inputs_textarea_big_input`. --- poetry.lock | 9 ++++----- pyproject.toml | 2 +- tests/ui/test_input_page.py | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0ef6958ab..ce46477cc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1155,13 +1155,13 @@ docker = ["lovely-pytest-docker (>=0,<1)"] [[package]] name = "pytest-splunk-addon-ui-smartx" -version = "2.5.4" +version = "3.0.0" description = "Library to support testing Splunk Add-on UX" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "pytest_splunk_addon_ui_smartx-2.5.4-py3-none-any.whl", hash = "sha256:d87ff10bbb3e15fbf2eb0b7745763e31c96fe1fe39286f1393190f12aa4fed71"}, - {file = "pytest_splunk_addon_ui_smartx-2.5.4.tar.gz", hash = "sha256:b3f51758b0865e3f6716d05eeed0b7bb99870a00b9bf0de3bb8188eecafde141"}, + {file = "pytest_splunk_addon_ui_smartx-3.0.0-py3-none-any.whl", hash = "sha256:f641b8b7d239ca2943092b87af12fb54923d178f347e018e4656899a7c044f14"}, + {file = "pytest_splunk_addon_ui_smartx-3.0.0.tar.gz", hash = "sha256:93d0d7e14f616d8208a4eff344c42b37bc10c373469874a165b4626c96e0f625"}, ] [package.dependencies] @@ -1258,7 +1258,6 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -1617,4 +1616,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.7" -content-hash = "22db268d292a3c61ca1b44cc22dcc7e406710fdeaa0dd4348efa6e2c4f07af7a" +content-hash = "3e0ce569112088cf9227577849c16694fdc6eb36de39f0f786c6d02bef5fa93f" diff --git a/pyproject.toml b/pyproject.toml index a7c5d0518..9502ea5cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ 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 = "2.5.4" +pytest-splunk-addon-ui-smartx = "3.0.0" pytest-rerunfailures = "^11.1.1" mkdocs-material = "^9.1.3" pytest-cov = "^4.0.0" diff --git a/tests/ui/test_input_page.py b/tests/ui/test_input_page.py index 0c6ef0e42..4d4a61649 100644 --- a/tests/ui/test_input_page.py +++ b/tests/ui/test_input_page.py @@ -2442,7 +2442,7 @@ def test_inputs_textarea_big_input( input_page = InputPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) input_page.table.edit_row("dummy_input_one") big_input = "" - for i in range(1, 1000): + for i in range(1, 100): big_input += f"{str(i)}\n" input_page.entity1.text_area.set_value(big_input) self.assert_util(big_input, input_page.entity1.text_area.get_value()) From ae794bbb6b56a91477cbe0a9a14f226ef33c1b6c Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:15:03 +0100 Subject: [PATCH 07/15] refactor(FormModifications): add explicit expect for test case (#1086) --- .../FormModifications.test.tsx | 49 ++++++++----------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/ui/src/components/FormModifications/FormModifications.test.tsx b/ui/src/components/FormModifications/FormModifications.test.tsx index 408c69c75..75ee321ae 100644 --- a/ui/src/components/FormModifications/FormModifications.test.tsx +++ b/ui/src/components/FormModifications/FormModifications.test.tsx @@ -4,11 +4,11 @@ import userEvent from '@testing-library/user-event'; import { setUnifiedConfig } from '../../util/util'; import { firstModificationField, + firstStandardTextField, getConfigWithModifications, secondModificationField, - firstStandardTextField, - thirdModificationField, secondStandardTextField, + thirdModificationField, } from './TestConfig'; import EntityModal, { EntityModalProps } from '../EntityModal/EntityModal'; import { EntitiesAllowingModifications } from '../BaseFormTypes'; @@ -47,7 +47,7 @@ const findMods = ( return modification; }; -const getAndVerifyHTMLTextComponentsForField = (field: string) => { +const getTextElementForField = (field: string) => { const componentParentElement = document.querySelector(`[data-name="${field}"]`)!; expect(componentParentElement).toBeInTheDocument(); const componentInput = within(componentParentElement).getByRole('textbox'); @@ -55,7 +55,7 @@ const getAndVerifyHTMLTextComponentsForField = (field: string) => { return [componentParentElement, componentInput]; }; -const getAndVerifyHTMLCheckboxComponentsForField = (field: string) => { +const getCheckBoxElementForField = (field: string) => { const componentParentElement = document.querySelector(`[data-name="${field}"]`)!; expect(componentParentElement).toBeInTheDocument(); const componentInput = within(componentParentElement).getByRole('checkbox'); @@ -63,33 +63,33 @@ const getAndVerifyHTMLCheckboxComponentsForField = (field: string) => { return [componentParentElement, componentInput]; }; -it('render fields with modifications correctly', async () => { +beforeEach(() => { setUpConfigWithDefaultValue(); renderModalWithProps(props); +}); - getAndVerifyHTMLTextComponentsForField(firstStandardTextField.field); - getAndVerifyHTMLTextComponentsForField(secondStandardTextField.field); - getAndVerifyHTMLTextComponentsForField(firstModificationField.field); - getAndVerifyHTMLTextComponentsForField(secondModificationField.field); - getAndVerifyHTMLCheckboxComponentsForField(thirdModificationField.field); +it('render fields with modifications correctly', async () => { + expect(() => { + getTextElementForField(firstStandardTextField.field); + getTextElementForField(secondStandardTextField.field); + getTextElementForField(firstModificationField.field); + getTextElementForField(secondModificationField.field); + getCheckBoxElementForField(thirdModificationField.field); + }).not.toThrow(); }); it('verify modification after text components change', async () => { - setUpConfigWithDefaultValue(); - renderModalWithProps(props); const firstValueToInput = 'a'; const secondValueToInput = 'aa'; - const [componentParentElement, componentInput] = getAndVerifyHTMLTextComponentsForField( + const [componentParentElement, componentInput] = getTextElementForField( firstStandardTextField.field ); - const [component2ParentElement, component2Input] = getAndVerifyHTMLTextComponentsForField( + const [component2ParentElement, component2Input] = getTextElementForField( secondStandardTextField.field ); - const componentMakingModsTextBox1 = getAndVerifyHTMLTextComponentsForField( - firstModificationField.field - )[1]; + const componentMakingModsTextBox1 = getTextElementForField(firstModificationField.field)[1]; const mods1Field1 = findMods( firstModificationField, @@ -143,22 +143,13 @@ it('verify modification after text components change', async () => { }); it('verify markdown modifications', async () => { - setUpConfigWithDefaultValue(); - renderModalWithProps(props); - const firstValueToInput = 'a'; const secondValueToInput = 'aa'; - const [componentParentElement] = getAndVerifyHTMLTextComponentsForField( - firstStandardTextField.field - ); - const [component2ParentElement] = getAndVerifyHTMLTextComponentsForField( - secondStandardTextField.field - ); + const [componentParentElement] = getTextElementForField(firstStandardTextField.field); + const [component2ParentElement] = getTextElementForField(secondStandardTextField.field); - const componentMakingModsTextBox1 = getAndVerifyHTMLTextComponentsForField( - secondModificationField.field - )[1]; + const componentMakingModsTextBox1 = getTextElementForField(secondModificationField.field)[1]; const firstElementOuterHTMLBeforeMods = componentParentElement.outerHTML; From c75f29466cb34da9c3efe854c3e6726c83e02530 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:17:50 +0100 Subject: [PATCH 08/15] ci: deploy beta version from release branch (#1084) --- .github/workflows/build-test-release.yml | 7 ++++++- .releaserc | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 10eebfe2c..51a2227ff 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -9,7 +9,10 @@ on: tags: - "v[0-9]+.[0-9]+.[0-9]+" pull_request: - branches: [main, develop] + branches: + - "main" + - "develop" + - "release/**" concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} @@ -210,6 +213,8 @@ jobs: github.ref_name == 'main' || github.base_ref == 'develop' || github.ref_name == 'develop' || + startsWith(github.ref_name, 'release') || + startsWith(github.base_ref, 'release') || contains(github.event.pull_request.labels.*.name, 'run-ui-tests') runs-on: ubuntu-latest permissions: diff --git a/.releaserc b/.releaserc index 9bd016a4a..32ad86aef 100644 --- a/.releaserc +++ b/.releaserc @@ -18,6 +18,7 @@ [ "+([0-9])?(.{+([0-9]),x}).x", "main", + { name: "release/beta", prerelease: "beta", channel: "beta" }, ], plugins: [ From c873242d59979fd329adc41552f04e5a774cb7e5 Mon Sep 17 00:00:00 2001 From: mmsplunker <94657797+mmsplunker@users.noreply.github.com> Date: Fri, 23 Feb 2024 10:30:59 -0500 Subject: [PATCH 09/15] docs: general documentation update (#1048) This PR updates all documentation that we have. --------- Co-authored-by: Artem Rys Co-authored-by: sgoral-splunk <138458044+sgoral-splunk@users.noreply.github.com> Co-authored-by: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> --- docs/additional_packaging.md | 8 +- docs/advanced/custom_mapping.md | 4 +- docs/advanced/custom_rest_handler.md | 22 +++-- docs/advanced/dependent_dropdown.md | 4 +- docs/advanced/groups_feature.md | 10 +-- docs/advanced/oauth_support.md | 68 +++++++-------- docs/advanced/os-dependent_libraries.md | 30 +++---- docs/advanced/save_validator.md | 6 +- docs/advanced/sub_description.md | 12 +-- docs/configurations/index.md | 2 +- docs/contributing.md | 36 ++++---- docs/custom_ui_extensions/custom_cell.md | 14 +-- docs/custom_ui_extensions/custom_control.md | 8 +- docs/custom_ui_extensions/custom_hook.md | 30 +++---- docs/custom_ui_extensions/custom_menu.md | 10 +-- docs/custom_ui_extensions/custom_row.md | 12 +-- docs/custom_ui_extensions/custom_tab.md | 10 +-- docs/dashboard.md | 28 +++--- docs/dot_conf_files.md | 33 ++++--- docs/entity/components.md | 97 ++++++++++----------- docs/entity/index.md | 12 +-- docs/entity/validators.md | 26 +++--- docs/index.md | 32 +++---- docs/inputs/index.md | 24 ++--- docs/inputs/multilevel_menu.md | 2 +- docs/inputs/tabs.md | 8 +- docs/openapi.md | 29 +++--- docs/table.md | 30 +++---- docs/troubleshooting.md | 38 ++++---- docs/ucc_related_libraries.md | 12 +-- docs/uccignore.md | 4 +- 31 files changed, 329 insertions(+), 332 deletions(-) diff --git a/docs/additional_packaging.md b/docs/additional_packaging.md index f0b0c61c6..0cb771e80 100644 --- a/docs/additional_packaging.md +++ b/docs/additional_packaging.md @@ -1,10 +1,10 @@ # `additional_packaging.py` file -To extend the build process, you can create `additional_packaging.py` file in the same file level where you have your globalConfig file. +To extend the build process, you can create a `additional_packaging.py` file in the same file level where you have your globalConfig file. -This file should have `additional_packaging` function which accepts 1 argument: add-on name. +This file should have the `additional_packaging` function, which accepts add-on name as its only argument. -Example of how to utilize it: +See the following example for proper usage: * Build custom UI after `ucc-gen` finishes all its necessary steps. -* Workaround a `ucc-gen` feature which was not implemented. +* Use a workaround for a `ucc-gen` feature that has not been implemented. diff --git a/docs/advanced/custom_mapping.md b/docs/advanced/custom_mapping.md index f22e3bb7e..55413c340 100644 --- a/docs/advanced/custom_mapping.md +++ b/docs/advanced/custom_mapping.md @@ -1,4 +1,4 @@ -We can use this feature to map each field with meaningful value to display in the table. For example, The category field contains 1, 2, and 4 values, but when those values are displayed as it is then the user might get confused as those values do not signify the meaning of their mapping. To avoid this confusion user can map each field with meaningful value as shown in the example below. +We can use this feature to map each field with meaningful value to display in the table. For example, the category field contains 1, 2, and 4 values, but when those values are displayed, the user might get confused as those values do not signify the meaning of their mapping. To avoid this confusion, the user can map each field with meaningful value as shown in the following example: ### Usage @@ -73,6 +73,6 @@ We can use this feature to map each field with meaningful value to display in th ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/advanced/custom_mapping_output.png) diff --git a/docs/advanced/custom_rest_handler.md b/docs/advanced/custom_rest_handler.md index e510e94c8..583ebb439 100644 --- a/docs/advanced/custom_rest_handler.md +++ b/docs/advanced/custom_rest_handler.md @@ -2,13 +2,11 @@ It is possible to extend the default behaviour of the UCC-generated REST handlers. -For example, if your add-on requires an API key to operate and you want to validate this API key during its creation, you may want to use the custom REST handlers to achieve that. +For example, if your add-on requires an API key to operate and you want to validate this API key during its creation, you might want to use the custom REST handlers to achieve that. -> Note that `ucc-gen` will not override the REST handler code if you use correct file name under `bin` folder. +> Note: `ucc-gen` will not override the REST handler code if you use the correct file name under the `bin` folder. -Below there an example of how it can be done. It contains a REST handler for creating an organization with `organization_id` and `organization_api_key` fields, not custom one, just generated by `ucc-gen`. - -But below that there is a custom handler `CustomRestHandler` class which has additional steps for configuration creation and edit operations, specifically `handleEdit` and `handleCreate` methods. +See the following example of how it can be done. It contains a REST handler for creating an organization, with the `organization_id` and `organization_api_key` fields, which are not custom ones, generated by `ucc-gen`. But, also in the example, there is a custom handler, `CustomRestHandler` class which has additional steps for configuration creation and edit operations, specifically `handleEdit` and `handleCreate` methods: ```python import import_declare_test @@ -111,17 +109,17 @@ if __name__ == "__main__": > UCC 5.18.0 natively supports custom REST handlers for the modular inputs. -One of the common scenarios is to delete a checkpoint after you are deleting an -input in the Inputs page. Otherwise, users may face the wierd consequences if -they create an input with the same name as the input that was deleted and this -newly created input will be reusing the old checkpoint because the names of +One common scenario is to delete a checkpoint after you delete an +input in the Inputs page. Otherwise, users may face strange consequences if +they create an input with the same name as the input that was deleted, and this +newly created input will reuse the old checkpoint, because the names of the inputs are the same. We would like to avoid this situation in the add-on. -This can be done without a need to modify the REST handler code generated +This can be done without a need to modify the REST handler code automatically by running `ucc-gen`. -Below is the automatically generated REST handler code for a modular input REST -handler. +See the following automatically generated REST handler code for a modular input REST +handler: ```python diff --git a/docs/advanced/dependent_dropdown.md b/docs/advanced/dependent_dropdown.md index 2df98409a..e1e67cad8 100644 --- a/docs/advanced/dependent_dropdown.md +++ b/docs/advanced/dependent_dropdown.md @@ -1,4 +1,4 @@ -This feature allows dynamic loading options for `singleSelect` and `multipleSelect` fields when options for that field depend on other fields' values. It loads options via API call to the endpoint mentioned in `endpointUrl` under options when any dependencies field is updated and all required dependencies fields are non-null. +This feature allows dynamic loading options for the `singleSelect` and the `multipleSelect` fields when the options for that field depend on other fields' values. It loads options via an API call to the endpoint mentioned in `endpointUrl` under options when any dependencies field is updated and all required dependencies fields are non-null. All non-required dependencies fields can be of any type, but all required dependencies fields should only be of single-select type. @@ -26,4 +26,4 @@ All dependencies fields' values are added to the endpoint URL as query parameter } ``` -> Note: When using the text type field, add debounce using the custom hook to reduce the number of API calls. \ No newline at end of file +> Note: When using the text type field, add debounce using the custom hook to reduce the number of API calls. diff --git a/docs/advanced/groups_feature.md b/docs/advanced/groups_feature.md index bbb0f15b2..f293d7ddd 100644 --- a/docs/advanced/groups_feature.md +++ b/docs/advanced/groups_feature.md @@ -1,13 +1,13 @@ -Using this functionality, the Inputs page form can be divided into distinct sections, each comprising relevant fields. If the `isExpandable` property is set to true in the global config file, the group will be of the [collapsible panel](https://splunkui.splunk.com/Packages/react-ui/CollapsiblePanel) type. +Using this functionality, the Inputs page form can be divided into distinct sections, each comprising relevant fields. If the `isExpandable` property is set to true in the global configuration file, the group will be in the [collapsible panel](https://splunkui.splunk.com/Packages/react-ui/CollapsiblePanel) type. The groups will be displayed at the bottom of the form. ### Properties -- `label` to display the title of a specific group. -- `fields` to specify the list of fields in a group. All fields must be present in the **entity**. +- `label` displays the title of a specific group. +- `fields` specifies the list of fields in a group. All fields must be present in the **entity**. - `options`: - `isExpandable` can be used to hide/show fields of the group. The default value is **false**. - - `expand` to show all fields of the group while opening the form. The default value is **false**. + - `expand` can be used to show all fields of the group while opening the form. The default value is **false**. ### Usage ``` @@ -50,5 +50,5 @@ The groups will be displayed at the bottom of the form. }, ``` ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/advanced/groups_feature.png) diff --git a/docs/advanced/oauth_support.md b/docs/advanced/oauth_support.md index ca3e92bbb..dba92e75e 100644 --- a/docs/advanced/oauth_support.md +++ b/docs/advanced/oauth_support.md @@ -1,49 +1,49 @@ -UCC allows you to add Auth support in the configuration page. In UCC, OAuth2.0 of the Authorization Code Flow `grant` type is being used. It only supports the standard parameters specified in [RFCP749](https://www.rfc-editor.org/rfc/rfc6749) for obtaining an authorization code. +UCC allows you to add Auth support in the configuration page. In UCC, OAuth2.0 of the Authorization Code Flow `grant` type is used. It only supports the standard parameters specified in [RFCP749](https://www.rfc-editor.org/rfc/rfc6749) for obtaining an authorization code. -Auth can be used inside the entity tag. Use `type: "oauth"` in the entity list and also need to specify the `options` next to the `type: "oauth"`. +Auth can be used inside the entity tag. Use `type: "oauth"` in the entity list and specify the `options` next to the `type: "oauth"`. ### Properties - `type` field value must be oauth. - `options`: - `auth_type` must be present. It can have either ["basic", "oauth"] (If we want basic and oauth both support) or ["oauth"] (If we want oauth support only). - - `basic` This must be present only if auth_type: ["basic"] - - This will have list of fields you want to add in basic authentication flow. In the given example, it is username, password and security_token. - - **Please note that as of now, If you are selecting basic as auth_type then username and password fields are mandatory.** - - `oauth` This will have list of fields you want to add in oauth authentication flow. In the given example, it is `client_id`, `client_secret`, `redirect_url`, `scope` and `endpoint`. + - `basic` must be present only if the auth_type is ["basic"]. + - This will have a list of fields for you to add in the basic authentication flow. In the given example, it is username, password, and security_token. + - **Note: As of now, if you are selecting basic as auth_type, then the username and password fields are mandatory.** + - `oauth` will have a list of fields for you to add in the oauth authentication flow. In the given example, it is `client_id`, `client_secret`, `redirect_url`, `scope`, and `endpoint`. - These fields are mandatory: - - `client_id` this is client id for the your app for which you want auth - - `client_secret` this is client secret for the your app for which you want auth - - `redirect_url` this will show redirect url which needs to be put in app's redirect url. - - `endpoint` this will be endpoint for which we want to build oauth support. For example for salesforce that will be either "login.salesforce.com" or "test.salesforce.com" or any other custom endpoint. - - there is also a possibility to specify separate endpoints for authorize and token, to do that instead single 'endpoint' field use two separate ones: - - `endpoint_authorize` - to specify the endpoint used for authorization ie. login.salesforce.com - - `endpoint_token` - to specify the endpoint used for token acqusition ie. api.login.salesforce.com - - `auth_code_endpoint` this must be present and its value should be endpoint value for getting the auth_code using the app. If the url to get auth_code is https://login.salesforce.com/services/oauth2/authorize then this will have value /services/oauth2/authorize - - `access_token_endpoint` this must be present and its value should be endpoint value for getting access_token using the auth_code received. If the url to get access token is https://login.salesforce.com/services/oauth2/token then this will have value /services/oauth2/token - - `auth_label` this allow user to have custom label for Auth Type dropdown - - `oauth_popup_width` width in pixels of the popup window that will open for oauth authentication (Optional, defaults to 600) - - `oauth_popup_height` height in pixels of the popup window that will open for oauth authentication (Optional, defaults to 600) - - `oauth_timeout` timeout in seconds for oauth authentication (Optional, defaults to 180 seconds) - - `oauth_state_enabled` to include state for oauth authentication (default value is false) - - `auth_endpoint_token_access_type` optional parameter that is mapped into value of token_access_type query param in authorisation url + - `client_id` is the client id for applying auth to your app or apps. + - `client_secret` is the client secret for applying auth to your app or apps. + - `redirect_url` will show the redirect url, which needs to be put in the app's redirect url. + - `endpoint` will be the endpoint for you to build oauth support. For example, for salesforce, it will either be "login.salesforce.com", "test.salesforce.com", or any other custom endpoint. + - There is also the ability to specify separate endpoints for authorize and token. To do this, instead of the single 'endpoint' field, use two separate ones: + - `endpoint_authorize` specifies the endpoint used for authorization, for example, login.salesforce.com. + - `endpoint_token` specifies the endpoint used for the token acqusition, for example, api.login.salesforce.com. + - `auth_code_endpoint` must be present and its value should be the endpoint value for getting the auth_code using the app. If the url to get the auth_code is https://login.salesforce.com/services/oauth2/authorize, then this will have the value /services/oauth2/authorize. + - `access_token_endpoint` must be present and its value should be the endpoint value for getting the ccess_token using the auth_code received. If the url to get the access token is https://login.salesforce.com/services/oauth2/token, then it will have the value /services/oauth2/token. + - `auth_label` allows the user to have the custom label for the Auth Type dropdown. + - `oauth_popup_width` is the width in pixels of the pop-up window that will open for oauth authentication (Optional, defaults to 600). + - `oauth_popup_height` is the height in pixels of the pop-up window that will open for oauth authentication (Optional, defaults to 600). + - `oauth_timeout` is the timeout in seconds for oauth authentication (Optional, defaults to 180 seconds). + - `oauth_state_enabled` is used to include the state for oauth authentication (default value is false). + - `auth_endpoint_token_access_type` is an optional parameter that is mapped into the value of the token_access_type query param in the authorisation url. - - Fields allowed in basic and oauth fields as of now: - - `oauth_field`: This should be kept as it is and without any change. - - `label`: This can be changed if the user wants to change the label of the field in UI. - - `field`: For now this user must keep it as it is for mandatory fields as mentioned above. - - `help` : This can be changed if user wants to change the help text displayed below field. - - `encrypted` : This should be true if user wants that particular field encrypted else no need to have this parameter. - - `required`: To specify whether the field is required or not. The default value is true. - - `defaultValue`: The initial input value. (string, number or boolean) + - The fields allowed in the basic and oauth fields are the following: + - `oauth_field` should be kept as it is and without any change. + - `label` can be changed if the user wants to change the label of the field in UI. + - `field` must keep it as it is for mandatory fields as mentioned before. + - `help` can be changed the if user wants to change the help text displayed below the field. + - `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). - `options`: - `placeholder`: The placeholder for the field. - - `disableonEdit`: When the form is in edit mode, the field becomes uneditable. Default value: false - - `enable`: The enable property sets whether a field is enabled or not. Default value: true + - `disableonEdit`: When the form is in edit mode, the field becomes unable to be edited. The default value is false. + - `enable`: The enable property sets whether a field is enabled or not. The default value is true. > [!WARNING] -> [Placeholder](https://splunkui.splunkeng.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in one of the following versions. Instead, we recommend using "help" attribute. +> The [Placeholder](https://splunkui.splunkeng.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in one of the following versions. Instead, using the "help" attribute is recommended. ### Usage @@ -147,8 +147,8 @@ Auth can be used inside the entity tag. Use `type: "oauth"` in the entity list a This is how the Add Account modal looks after adding the above code to the globalConfig.json file: -This is how Add Account looks when auth_type is `basic`: +This is how Add Account looks when the auth_type is `basic`: ![image](../images/advanced/basic_auth_output.png) -This is how Add Account looks when auth_type is `oauth`: +This is how Add Account looks when the auth_type is `oauth`: ![image](../images/advanced/oauth_output.png) diff --git a/docs/advanced/os-dependent_libraries.md b/docs/advanced/os-dependent_libraries.md index 14781af70..b6fb82909 100644 --- a/docs/advanced/os-dependent_libraries.md +++ b/docs/advanced/os-dependent_libraries.md @@ -1,21 +1,21 @@ -This feature allows us to download and unpack libraries with appropriate binaries for the indicated operating system during the build process. -To do this, you need to expand the **meta** section in global config with the **os-dependentLibraries** field. This field takes the following attributes: +This feature allows you to download and unpack libraries with appropriate binaries for the indicated operating system during the build process. +To do this, you need to expand the **meta** section in the global configuration with the **os-dependentLibraries** field. This field takes the following attributes: | Property | Type | Description | default value | |--------------------------------------------------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| -| name* | string | Name of the library we want to download. | - | -| version* | string | Specific version of given library. | - | -| dependencies | boolean | (Optional) Parameter which determines whether the `--no-deps` flag will be used when installing package from `pip`. When the value is set to `true` the library will be installed along with all its dependencies. When the value is set to `false` *(default)* `{name}={version}` must be present in packages `requirements.txt`. | false | -| platform* | string | The platform for which we want to download the specified library. The value depends on the available wheels for a given library e.g. for this wheel **cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl** platform is **manylinux_2_28_x86_64**. | - | -| python_version* | string | Python version compatible with the library. | - | -| target* | string | Path where the selected library will be unpacked. | - | -| os* | string | The name of the operating system for which the library is intended. Using this parameter, an appropriate insert into sys.path will be created. It takes 3 values **windows**, **linux** and **darwin**. | - | +| name* | string | is the name of the library we want to download. | - | +| version* | string | is the specific version of the given library. | - | +| dependencies | boolean | (Optional) is the parameter which determines whether the `--no-deps` flag will be used when installing the package from `pip`. When the value is set to `true`, the library will be installed along with all its dependencies. When the value is set to `false` *(default)* `{name}={version}`, it must be present in packages `requirements.txt`. | false | +| platform* | string | is the platform for downloading the specified library. The value depends on the available wheels for a given library, for example, for this wheel, **cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl**, the platform is **manylinux_2_28_x86_64**. | - | +| python_version* | string | is the python version compatible with the library. | - | +| target* | string | is the Path where the selected library will be unpacked. | - | +| os* | string | is the name of the operating system which the library is intended for. Using this parameter, an appropriate insert into sys.path will be created. It takes 3 values **windows**, **linux**, and **darwin**. | - | ### About wheels files Generally, the wheel name convention is
**{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl**.
-For example for this particular library:
**grpcio-1.54.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl**
+For example, for this particular library,
**grpcio-1.54.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl**
, your pip parameters are: * name = **grpcio** @@ -29,10 +29,10 @@ and your pip command should look like this:
`pip install --no-deps --platform manylinux_2_17_x86_64 --python-version 37 --target your/path/to/target --only-binary=:all: grpcio==1.54.2` A dot in the platform part indicates that a given distribution supports several platforms. -In this case "**.**" in **manylinux_2_17_x86_64.manylinux2014_x86_64** means this distribution supports both **manylinux_2_17_x86_64** and **manylinux2014_x86_64**. +In this case, "**.**" in **manylinux_2_17_x86_64.manylinux2014_x86_64** means this distribution supports both **manylinux_2_17_x86_64** and **manylinux2014_x86_64**. -for more informations, we recommend watching [.whl](https://www.youtube.com/watch?v=4L0Jb3Ku81s) and [manylinux platform](https://www.youtube.com/watch?v=80j-MRtHMek) +For more informations, see [.whl](https://www.youtube.com/watch?v=4L0Jb3Ku81s) and [manylinux platform](https://www.youtube.com/watch?v=80j-MRtHMek). ### Usage @@ -117,11 +117,11 @@ output During the build process, a python script "import_declare_test.py" will be created in **output/ta_name/bin** to manipulate system paths. In each input using the specified libraries, this script must be imported. -Currently, three operating systems are supported: **Windows**, **Linux** and **Darwin**. +Currently, three operating systems are supported: **Windows**, **Linux**, and **Darwin**. If, for development purposes, there is a need to create other custom manipulations on sys.path, create your own script called "import_declare_test.py" and place it in the **package/bin** folder. This way, when building the TA, the default script will be replaced with the one created by the developer. -The default script for the above configuration will look like this: +The default script for this configuration will look like this: ```python import os @@ -145,4 +145,4 @@ if platform.startswith("linux"): if platform.startswith("win"): sys.path.insert(0, os.path.join(libdir, "3rdparty/windows")) -``` \ No newline at end of file +``` diff --git a/docs/advanced/save_validator.md b/docs/advanced/save_validator.md index 0701dc615..7a9e60c51 100644 --- a/docs/advanced/save_validator.md +++ b/docs/advanced/save_validator.md @@ -1,8 +1,8 @@ -This feature allows us to pass a Javascript function as a string to apply customized validation to form data. +This feature allows you to pass a Javascript function as a string to apply customized validation to form data. -By using this approach, developers can write custom JavaScript code where they can write their business logic and by validating they may return error messages which will be displayed at the top of the form. +By using this approach, you can write custom JavaScript code where you can write your business logic, and validating can return error messages which will be displayed at the top of the form. -This custom javascript function have a parameter (for ex. dataDict) which contains the form data object. +This custom javascript function has a parameter, (for example, dataDict), which contains the form data object. This function will be called after all validators have validated the data form. diff --git a/docs/advanced/sub_description.md b/docs/advanced/sub_description.md index 1584f6e32..f429d669b 100644 --- a/docs/advanced/sub_description.md +++ b/docs/advanced/sub_description.md @@ -1,19 +1,19 @@ -This feature allows us to pass broarder description on Input and Configuration page displayed under main description. +This feature allows us to pass a broader description on the Input and Configuration pages displayed under main description. ### Sub Descritpion Properties | Property | Type | Description | | --------------------------------------------- | ------ | -------------------------------------------------------------------- | -| text\* | string | Text used for that description, you can put \n to add a breakline | -| links | object | To enable including links inside description | +| text\* | string | is text used for the description, you can put \n to add a breakline. | +| links | object | enables including links inside description | ### Links | Property | Type | Description | | ------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------- | -| slug\* | string | Used to identify place for link to appear, put inside text, surrounded by 2 squared brackets | -| link\* | string | Link to be used | -| linkText\* | string | Text to be inserted instead of slug | +| slug\* | string | is used to identify the place for the link to appear. Put it inside the text, surrounded by 2 squared brackets. | +| link\* | string | is the link to be used. | +| linkText\* | string | is the text to be inserted, instead of slug. | ### Usage diff --git a/docs/configurations/index.md b/docs/configurations/index.md index 6a96ed430..a1b6a0d4a 100644 --- a/docs/configurations/index.md +++ b/docs/configurations/index.md @@ -1,6 +1,6 @@ The `Configuration` tab can have multiple subtabs, for example, a tab for account configuration (to configure the account by adding account credentials), -proxy configuration and logging level configuration. +proxy configuration, and logging level configuration. ### Configuration Properties diff --git a/docs/contributing.md b/docs/contributing.md index 3ffaf54c7..6df631132 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -36,18 +36,18 @@ gh pr merge main --auto --merge ## Build and Test Prerequisites: -- Node.js LTS version ([NodeJS](https://nodejs.org/en/download) or use [nvm](https://github.com/nvm-sh/nvm)) +- Node.js LTS version ([NodeJS](https://nodejs.org/en/download), or use [nvm](https://github.com/nvm-sh/nvm)) - Yarn Classic (`npm install --global yarn`) - Poetry 1.5.1. [Installation guide](https://python-poetry.org/docs/#installing-with-the-official-installer) -If you are interested in contributing to UI, `ui` folder has separate README.md. +If you are interested in contributing to the UI, the `ui` folder has a separate README.md. -Building UI in `ui/dist` folder and copying files to static folder of UCC. +Build the UI in the `ui/dist` folder and copy the files to the static folder of the UCC. ``` ./build-ui.sh ``` -Building a new local version of `ucc-gen`: +Build a new local version of `ucc-gen`: ``` poetry build @@ -61,29 +61,29 @@ poetry run pytest tests/unit ### UI tests -If you need to run UI tests for the PR, please add a label "run-ui-tests" (do this before PR is created). -UI tests will run automatically for any PR towards `main` / `develop` branches and on the `main` / `develop` branch as well. +If you need to run UI tests for the PR, add a "run-ui-tests" label before the PR is created. +UI tests will run automatically for any PR towards the `main` / `develop` branches, and on the `main` / `develop` branch as well. -1. With local version of ucc-gen create UCCExample TA to output directory: +1. With local version of ucc-gen, create a UCCExample add-on for the output directory: ``` poetry run ucc-gen build --source tests/testdata/test_addons/package_global_config_everything/package ``` -2. Install docker and run containerized Splunk Enterprise using script: +2. Install docker, and run containerized Splunk Enterprise using script: ``` ./run_splunk.sh ``` - There are mapped default Splunk ports to host. To use different configuration see [docker-splunk](https://splunk.github.io/docker-splunk/). Remember to mount output package to Splunk apps directory. -3. Install any browser and specific to this browser driver such as [chromedriver](https://chromedriver.chromium.org/getting-started/) for Chrome. -4. Run tests using command: + There are mapped default Splunk ports to host. To use a different configuration, see [docker-splunk](https://splunk.github.io/docker-splunk/). Remember to mount the output package to the Splunk apps directory. +3. Install any browser specific to this browser driver, such as [chromedriver](https://chromedriver.chromium.org/getting-started/) for Chrome. +4. Run tests using the following command: ``` poetry run pytest tests/ui ``` - Default test parameters are using Splunk connection details and credentials from earlier step and `chromedriver` is used as a default webdriver. - To use different browser or Splunk configuration set proper parameters according to the [smartx-ui-test-library](https://addon-factory-smartx-ui-test-library.readthedocs.io/en/latest/how_to_use.html) documentation. + Default test parameters use Splunk connection details and credentials from the earlier step, and `chromedriver` is used as a default webdriver. + To use a different browser or Splunk configuration, set the proper parameters according to the [smartx-ui-test-library](https://addon-factory-smartx-ui-test-library.readthedocs.io/en/latest/how_to_use.html) documentation. ## Linting and Type-checking -`ucc-gen` uses [`pre-commit`](https://pre-commit.com) framework for linting and type-checking. +`ucc-gen` uses the [`pre-commit`](https://pre-commit.com) framework for linting and type-checking. Consult with `pre-commit` documentation about what is the best way to install the software. To run it locally: @@ -104,16 +104,16 @@ poetry run mkdocs serve ## Issues and bug reports -If you're seeing some unexpected behavior with `ucc-gen`, please create an [issue](https://github.com/splunk/addonfactory-ucc-generator/issues) on GitHub. You can click on "New Issue" and use the template provided. +If you're seeing some unexpected behavior with `ucc-gen`, create an [issue](https://github.com/splunk/addonfactory-ucc-generator/issues) on GitHub. You can click on "New Issue" and use the template provided. ## Pull requests We love to see pull requests! We are using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/). -Two most important "types": "fix" and "feat" would result in the new version of the `ucc-gen` once merged. +The two most important types: "fix" and "feat", would result in the new version of the `ucc-gen` once merged. -Do the changes you think are needed, run the steps above (build / test / linting / documentation). +To do the changes you think are needed, run the previous steps (build / test / linting / documentation). After you create a PR, all the needed reviewers will be added automatically by GitHub. -Gotcha: `semgrep` and `fossa` steps may fail if you are an external contributor, this is expected for now. +Gotcha: The `semgrep` and `fossa` steps might fail if you are an external contributor. This is expected for now. diff --git a/docs/custom_ui_extensions/custom_cell.md b/docs/custom_ui_extensions/custom_cell.md index ea43c99a6..ada43e8a5 100644 --- a/docs/custom_ui_extensions/custom_cell.md +++ b/docs/custom_ui_extensions/custom_cell.md @@ -6,17 +6,17 @@ A Custom Cell is used to update the content of a table cell. | Property | Description | | ----------------- | ----------- | -| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| el | The `el` is used to render a custom cell element in a table. | -| serviceName | The name of the service/tab specified in the globalConfig file. | -| row | The object of the record for which the CustomRowInput constructor is called. | -| field | The name of the field as specified in the globalConfig file. | +| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | +| el | is used to render a custom cell element in a table. | +| serviceName | is the name of the service/tab specified in the globalConfig file. | +| row | is the object of the record for which the CustomRowInput constructor is called. | +| field | is the name of the field as specified in the globalConfig file. | ### Methods | Property | Description | | ----------------- | ----------- | -| render | `render` is a method which should have logic for the custom cell component, and it will be executed automatically when the create, edit, or clone actions performed. | +| render | is a method which should have logic for the custom cell component, and it will be executed automatically when the create, edit, or clone actions performed. | ### Usage @@ -86,6 +86,6 @@ export default CustomInputCell; ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/custom_ui_extensions/Custom_Cell_Output.png) diff --git a/docs/custom_ui_extensions/custom_control.md b/docs/custom_ui_extensions/custom_control.md index 16e6ab7ff..483b6370c 100644 --- a/docs/custom_ui_extensions/custom_control.md +++ b/docs/custom_ui_extensions/custom_control.md @@ -1,4 +1,4 @@ -The Custom Control feature allows you to display any customised input component in the form. The developer can easily design and render any complex input component with this feature. Modern TAs frequently require the use of complex input components, and this feature will allow them to use the custom component in the form that is best suited to their needs without relying on newer releases of UCC that support their component. +The Custom Control feature allows you to display any customised input component in a form. The developer can easily design and render any complex input component with this feature. Modern add-ons frequently require the use of complex input components, and this feature will allow you to use the custom component in the form that is best suited to your needs, without relying on newer releases of UCC for support. ### Properties @@ -8,13 +8,13 @@ The Custom Control feature allows you to display any customised input component | el | The `el` is used to render a custom input element in a form. | | data | The `data` object holds details regarding the execution mode (create, edit, clone), the value of a field, and the service name where this custom component is being rendered. | | setValue | This method is used to set the value of the custom component.

setValue: ƒ (newValue)

| -| util | This is a utility object with various functions that can be used to manipulate the UI.
There are 4 methods associated :
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| +| util | This is a utility object with various functions that can be used to manipulate the UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| ### Methods | Property | Description | | ----------------- | ----------- | -| render | `render` is a method which should have logic for the custom component, and it will be executed automatically when the create, edit, or clone actions performed. | +| render | is a method which should have logic for the custom component, and it will be executed automatically when the create, edit, or clone actions are performed. | | validation | This method should contain the validation logic for the value of the custom component. | ### Usage @@ -101,6 +101,6 @@ export default CustomControl; ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/custom_ui_extensions/Custom_Control_Output.png) diff --git a/docs/custom_ui_extensions/custom_hook.md b/docs/custom_ui_extensions/custom_hook.md index 5c8bbec7c..2d284b193 100644 --- a/docs/custom_ui_extensions/custom_hook.md +++ b/docs/custom_ui_extensions/custom_hook.md @@ -1,36 +1,36 @@ Custom Hook is a JavaScript function that allows us to reuse some code throughout the app. It is used to validate form/dialog inputs. -Hook is nothing more than Javascript event handling on the events `onCreate`, `onChange`, `onRender`, `onSave`, `onSaveSuccess`, `onSaveFail` and `onEditLoad`. +Hook is nothing more than a Javascript event handling on the events `onCreate`, `onChange`, `onRender`, `onSave`, `onSaveSuccess`, `onSaveFail`, and `onEditLoad`. -Hooks can be used inside the services and tabs placed next to the entity tag. +Hooks can be used inside the services and tabs that are placed next to the entity tag. -The `type` key needs to be set as external to webpack the custom extensions. UCC expects scripts marked as external to follow the ESM syntax for exporting and importing modules. Any other value or not specifying type will default to old requireJS (AMD) import syntax. Aditionally, the custom javascript file and the imported modules will not get webpack-ed. +The `type` key needs to be set as external to webpack the custom extensions. UCC expects scripts marked as external to follow the ESM syntax for exporting and importing modules. Any other value, or not specifying type, will default to the old requireJS (AMD) import syntax. Aditionally, the custom javascript file and the imported modules will not get webpack-ed. ### Properties | Property | Description | | ----------------- | ----------- | | globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| serviceName | The name of the service/tab specified in the globalConfig. | +| serviceName | It is the name of the service/tab specified in the globalConfig. | | state | `state` is an object that represents the actual state value of the components in the service/tab when the hook's constructor is called. Updating this object will not update the state of the page. Use the `util.setState` method to update the page's state. The `state` object contains the actual state data along with the `errorMsg` and `warningMsg` properties. | -| mode | There are three possible modes: Edit, Clone and Delete. Which are used in service/tab components. | -| util | This is a utility object with various functions that can be used to manipulate the page UI.
There are 4 methods associated :
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| +| mode | There are three possible modes: Edit, Clone, and Delete. These are used in service/tab components. | +| util | This is a utility object with various functions that can be used to manipulate the page UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| | groupName | The name of the menu group from which the inputs service is called. This parameter should only be used with the multi-level menu feature. | ### Methods -We can use these methods to overirde existing methods according to the functionality desired: +We can use these methods to overirde existing methods according to the desired functionality: | Property | Description | | ----------------- | ----------- | -| onCreate | This method is called when we click on the "Add/Create" button for creating a new record on the page. | -| debounce | This method is used to create another special method which does not get executed on every call. This functionality can be useful when listening for an event.

For Example, we only want to show help text/error when the user has stopped typing for 500ms in a text-box and not on every key press. In this scenario, the debounce method will induce a time wait every time a key is pressed and the method will only execute when there is no other call to it within that time wait.

| -| onChange | This method is called when the value of any field is changed. | -| onRender | This method is called once whenever the user clicks on a "Add", "Edit" or "Clone" button. | -| onSave | This method is called when the user clicks the "Save" button after creating, editing or cloning a record. | -| onSaveSuccess | This method is called when a record has been successfully saved. | -| onSaveFail | This method is called when a record fails to save due to any error. | -| onEditLoad | This method is called when the user clicks on a "Edit" button for an existing record. | +| onCreate | is called when we click on the "Add/Create" button to create a new record on the page. | +| debounce | is used to create another special method which does not get executed on every call. This functionality can be useful when listening for an event.

For Example, if you might want to show the help text/error when the user has stopped typing for 500ms in a text-box, instead of every key press. In this scenario, the debounce method will induce a time wait every time a key is pressed and the method will only execute when there is no other call to it within that wait time.

| +| onChange | is called when the value of any field is changed. | +| onRender | is called once whenever the user clicks on an "Add", "Edit", or "Clone" button. | +| onSave | is called when the user clicks the "Save" button after creating, editing, or cloning a record. | +| onSaveSuccess | is called when a record has been successfully saved. | +| onSaveFail | is called when a record fails to save due to any error. | +| onEditLoad | is called when the user clicks on an "Edit" button for an existing record. | ### Usage diff --git a/docs/custom_ui_extensions/custom_menu.md b/docs/custom_ui_extensions/custom_menu.md index 7472a0360..f8c3f61bb 100644 --- a/docs/custom_ui_extensions/custom_menu.md +++ b/docs/custom_ui_extensions/custom_menu.md @@ -8,15 +8,15 @@ In addition to the multiple inputs, we can use this menu to create a custom comp | Property | Description | | ----------------- | ----------- | -| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| el | The `el` is used to render a custom element (on the top right corner) on the Inputs page. | -| setValue | This method is used to set the value of the custom component.

setValue: ƒ (newValue)

| +| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | +| el | is used to render a custom element (on the top right corner) on the Inputs page. | +| setValue | is used to set the value of the custom component.

setValue: ƒ (newValue)

| ### Methods | Property | Description | | ----------------- | ----------- | -| render | `render` is a method which should have logic for the custom menu, and it will be executed automatically when inputs page is rendered. | +| render | is a method which should have logic for the custom menu, and it will be executed automatically when the inputs page is rendered. | ### Usage ``` @@ -71,6 +71,6 @@ export default CustomMenu; ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/custom_ui_extensions/Custom_Menu_Output.png) diff --git a/docs/custom_ui_extensions/custom_row.md b/docs/custom_ui_extensions/custom_row.md index edd0535ec..044824a4a 100644 --- a/docs/custom_ui_extensions/custom_row.md +++ b/docs/custom_ui_extensions/custom_row.md @@ -4,16 +4,16 @@ When a row is expanded on the Inputs table, Custom Row is utilized to incorporat | Property | Description | | ----------------- | ----------- | -| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| el | The `el` is used to render a customized element on the Inputs table when a row is expanded. | -| serviceName | The name of the service/tab specified in the globalConfig file. | -| row | The object of the record for which the CustomRowInput constructor is called. | +| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | +| el | is used to render a customized element on the Inputs table when a row is expanded. | +| serviceName | is the name of the service/tab specified in the globalConfig file. | +| row | it the object of the record for which the CustomRowInput constructor is called. | ### Methods | Property | Description | | ----------------- | ----------- | -| render | `render` is a method which should have logic for the custom row component, and it will be executed automatically when the create, edit, or clone actions performed. | +| render | is a method which should have logic for the custom row component, and it will be executed automatically when the create, edit, or clone actions are performed. | ### Usage @@ -67,6 +67,6 @@ export default CustomInputRow; ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/custom_ui_extensions/Custom_Row_Output.png) diff --git a/docs/custom_ui_extensions/custom_tab.md b/docs/custom_ui_extensions/custom_tab.md index 589c2a1dd..668d4afb7 100644 --- a/docs/custom_ui_extensions/custom_tab.md +++ b/docs/custom_ui_extensions/custom_tab.md @@ -1,17 +1,17 @@ -Custom Tab feature can be used to render any customized UI component in the Configuration tabs. With this feature, the developer can design and render any complex input with ease. This is an advanced feature and can be leveraged with limitless functionalities. Modern TAs are receiving complex use cases and this feature will allow them to design the UI perfectly for their case without having to depend on the newer releases of UCC supporting their component. +Custom Tab feature can be used to render any customized UI component in the Configuration tabs. With this feature, you can design and render any complex input with ease. This is an advanced feature and can be leveraged with limitless functionalities. Modern add-ons are receiving complex use cases and this feature will allow you to design the UI perfectly for your case without having to depend on newer releases of UCC for support. ### Properties | Property | Description | | -------- | -------------------------------------------------------------------------------------------------- | -| tab | It is an object with the properties and values of a custom tab object from the global config file. | -| el | The `el` is used to render a customized component on the Configuration tabs. | +| tab | is an object with the properties and values of a custom tab object from the global config file. | +| el | is used to render a customized component on the Configuration tabs. | ### Methods | Property | Description | | -------- | ------------------------------------------------------------------------ | -| render | `render` is a method which should have logic for the custom component, and it will be executed automatically when configuration page is rendered. | +| render | is a method which should have logic for the custom component, and it will be executed automatically when the configuration page is rendered. | ### Usage @@ -75,6 +75,6 @@ export default CustomTab; ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/custom_ui_extensions/Custom_Tab_Output.png) diff --git a/docs/dashboard.md b/docs/dashboard.md index d3e06ef34..9e828fde8 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -1,26 +1,26 @@ # Dashboard -UCC introduces a support for a dashboard page (available from v5.27.0). -The dashboard page configuration is generated if `ucc-gen init` command is used. +UCC introduces a support for a dashboard page, which is available from v5.27.0. +The dashboard page configuration is generated if the `ucc-gen init` command is used. The dashboard page is optional, you can delete it from configuration if you don't need it in your add-on. The dashboard page provides some additional information about the add-on -operations to increase the visibility into what is add-on is actually doing +operations to increase the visibility into what the add-on is actually doing under the hood. As of now, 3 pre-built panels are supported: * Add-on version * Events ingested by sourcetype -* Errors in the add-on +* Errors in the add-on. -> Note: if you change the dashboard page (Edit button) after the add-on is -> installed, the changes go to `local` folder, and you will see your version +> Note: if you change the dashboard page using the Edit button after the add-on is +> installed, the changes go to the `local` folder. You will see your version > of the dashboard even if you update an add-on. To be able to add a dashboard page to an existing add-on, you need to adjust your -globalConfig file and include a new page "dashboard" there. Here is an example: +globalConfig file and include a new "dashboard" page there. See the following example: ```json { @@ -74,14 +74,14 @@ Executes the following search: ### Events ingested by sourcetype -Executes the following search: +Execute the following search: ``` index=_internal source=** action=events_ingested | timechart sum(n_events) by sourcetype_ingested ``` -> Note: is being replaced by the actual value during the build time. +> Note: is replaced by the actual value during the build time. This search assumes specific data format in the internal logs to fill the panel with data. @@ -90,7 +90,7 @@ It's recommended to utilize `solnlib.log`'s [`events_ingested` function](https:/ ### Errors in the add-on -Executes the following search: +Execute the following search: ``` index=_internal source=** ERROR @@ -103,13 +103,13 @@ index=_internal source=** ERROR UCC also supports adding your own components to the dashboard. To do this, create a **dashboard_components.xml** file in the add-on's root directory (at the same level as globalConfig.json). -The correct structure of this file is a root tag called **custom-dashboard** and child elements called **row**, any other child tags will break the build process. +The correct structure of this file is a root tag called **custom-dashboard**, with child elements called **row**. Any other child tags will break the build process. Inside the **row** tags you can specify your **panels**. -For more information about xml structure and element hierarchy [see](https://docs.splunk.com/Documentation/Splunk/latest/Viz/PanelreferenceforSimplifiedXML#panel). +For more information about xml structure and element hierarchy, [see](https://docs.splunk.com/Documentation/Splunk/latest/Viz/PanelreferenceforSimplifiedXML#panel). -Please note that this autogenerated dashboard also supports dynamic setting of data range ``. If you want to use a dynamic data range in your panels, you must reference the `log_time` token.
+NOTE: This autogenerated dashboard also supports the dynamic setting of the data range ``. If you want to use a dynamic data range in your panels, you must reference the `log_time` token.
```xml $log_time.earliest$ @@ -170,7 +170,7 @@ sample **dashboard_components.xml** structure: ``` -Next you have to add **custom** panel to your dashboard page in globalConfig.json. +Next, you have to add the **custom** panel to your dashboard page in globalConfig.json. The order of panels in the globalConfig corresponds to the order of rows on the dashboard. ```json diff --git a/docs/dot_conf_files.md b/docs/dot_conf_files.md index 0cf3397a5..1c55c28e9 100644 --- a/docs/dot_conf_files.md +++ b/docs/dot_conf_files.md @@ -1,27 +1,26 @@ # .conf files `ucc-gen` generates the following `.conf` files in the `default` directory. -If any of the `.conf` file is present in the source directory, `ucc-gen` will -just copy the file to the output folder. The only exception is `app.conf` file. +If any of the `.conf` files are present in the source directory, `ucc-gen` will +just copy that file to the output folder. The only exception is the `app.conf` file. -> Note: for most of the use cases, generated configuration is sufficient, if you -> need to adjust the file which being generated, please ping us for a feature -> request or create a file in the `default` location, so it will be taken -> instead of being generated. +> Note: for most of the use cases, the generated configuration is sufficient. If you +> need to adjust the file being generated, please ping us for a feature +> request. Alternatively, create a file in the `default` location, so it will accepted +> without being generated. ## `app.conf` `ucc-gen` will merge the file present in the `default` folder with some additional information generated during the build time. But if you don't need -anything specific, you don't need to have `app.conf` in the source folder. +anything specific generated, you don't need to have `app.conf` in the source folder. -It uses `app.manifest` file to determine add-on description, add-on name, add-on -title and add-on author (taking first one if multiple defined). Make sure that -your `app.manifest` is up-to-date, so `app.conf` will have relevant information -as well. +app.conf uses the `app.manifest` file to determine the add-on description, the add-on name, +the add-on title, and the add-on author (taking the first one if multiple are defined). +Make sure that your `app.manifest` is up-to-date, so `app.conf` will have all relevant information. -Also, `triggers` stanza will be created by `ucc-gen`, it will determine what -are the `.conf` files used in the add-on and generates the relevant key-value +Also, the `triggers` stanza will be created by `ucc-gen`. It will determine what +the `.conf` files are used in the add-on and generates the relevant key-value pairs. ## `inputs.conf` @@ -31,15 +30,15 @@ file and set `python.version` to `python3`. ## `server.conf` -`ucc-gen` will generate `shclustering` stanza, it will determine what are the -`.conf` files used in the add-on and generates the relevant key-value pairs. +`ucc-gen` will generate the `shclustering` stanza, which will determine what +`.conf` files are used in the add-on and generates the relevant key-value pairs. ## `web.conf` -`ucc-gen` will generate all needed information about the endpoints being exposed +`ucc-gen` will generate all needed information about the exposed endpoints from the add-on. ## `restmap.conf` -`ucc-gen` will generate all needed information about the configuration of every +`ucc-gen` will generate all necessary information about the configuration of every endpoint. diff --git a/docs/entity/components.md b/docs/entity/components.md index a62e61db4..893e80534 100644 --- a/docs/entity/components.md +++ b/docs/entity/components.md @@ -1,12 +1,12 @@ # Components supported by UCC -Components are used by UCC to render the Inputs and Configuration pages. Here is the list of the supported components. +Components are used by UCC to render the Inputs and Configuration pages. See the following list of the supported components. ## `Text` -Underlying `@splunk/react-ui` component: [`Text`](https://splunkui.splunk.com/Packages/react-ui/Text). +See the underlying `@splunk/react-ui` component: [`Text`](https://splunkui.splunk.com/Packages/react-ui/Text). -Example usage below: +See the following example usage: ```json { @@ -34,16 +34,16 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/text_component_example.png) ## `Text Area` -Underlying `@splunk/react-ui` component: [`TextArea`](https://splunkui.splunk.com/Packages/react-ui/TextArea). +See the underlying `@splunk/react-ui` component: [`TextArea`](https://splunkui.splunk.com/Packages/react-ui/TextArea). -`textarea` component is very similar to `text` component, but allows to have a multi-line input for text. +The `textarea` component is very similar to the `text` component, but allows you to have a multi-line input for text.

Options

@@ -52,7 +52,7 @@ Underlying `@splunk/react-ui` component: [`TextArea`](https://splunkui.splunk.co | rowsMax | number | Maximum number of rows to display. | 12 | | rowsMin | number | Minimum number of rows to display. | 8 | -Example usage below: +See the following example: ```json { @@ -68,7 +68,7 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/textarea_component_example.png) @@ -77,9 +77,9 @@ This is how it looks like in the UI: A `singleSelect` is a feature that combines a drop-down box, and/or editable text field, giving the user multiple ways to input or select the desired information. -Underlying `@splunk/react-ui` components: [`Select`](https://splunkui.splunk.com/Packages/react-ui/Select) or [`Combo Box`](https://splunkui.splunk.com/Packages/react-ui/ComboBox) depending on the `createSearchChoice` option. +See the underlying `@splunk/react-ui` components: [`Select`](https://splunkui.splunk.com/Packages/react-ui/Select) or [`Combo Box`](https://splunkui.splunk.com/Packages/react-ui/ComboBox) depending on the `createSearchChoice` option. -When the `createSearchChoice` option is set to true, the Singleselect component becomes a text input with autocomplete. +When the `createSearchChoice` option is set to true, the Singleselect component becomes a text input with auto-complete. A clear button is visible to the right of the dropdown when this field is marked as required. @@ -87,17 +87,17 @@ A clear button is visible to the right of the dropdown when this field is marked | Property | Type | Description | Default Value | | ------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -| disableSearch | boolean | Determines whether to show the filter box. When false, the children are automatically filtered based on the label. | false | -| createSearchChoice | boolean | Allow the user to add arbitrary values. | false | +| disableSearch | boolean | It determines whether to show the filter box. When false, the children are automatically filtered based on the label. | false | +| createSearchChoice | boolean | It allows the user to add arbitrary values. | false | | referenceName | string | Dropdown options will be generated via an API call to the service's restHandler. | - | | endpointUrl | string | Dropdown options will be generated via an API call to that endpoint. | - | -| allowList | string | It only accepts options that match the regex based on the name attribute when received via API call using `endpointUrl` and `referenceName`. It is applied before denyList. | - | -| denyList | string | It filters options that don't match the regex based on the name attribute when received via API call using `endpointUrl` and `referenceName`. | - | +| allowList | string | It only accepts options that match the regex based on the name attribute when received via an API call using `endpointUrl` and `referenceName`. It is applied before denyList. | - | +| denyList | string | It filters options that don't match the regex based on the name attribute when received via an API call using `endpointUrl` and `referenceName`. | - | | labelField | string | TBD | - | -| [dependencies](../advanced/dependent_dropdown.md) | array | It is used to update options via an API call when the value of any field in the dependencies list is updated. | - | +| [dependencies](../advanced/dependent_dropdown.md) | array | It is used to update the options via an API call when the value of any field in the dependencies list is updated. | - | -

Example usage below:

+

See the following example usage:

Using referenceName option

@@ -114,7 +114,7 @@ A clear button is visible to the right of the dropdown when this field is marked } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/selectselect_component_example_reference.png) @@ -142,7 +142,7 @@ This is how it looks like in the UI: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/selectselect_component_example_autocomplete.png) @@ -171,7 +171,7 @@ This is how it looks like in the UI: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/selectselect_component_example_createSearchChoice.png) @@ -216,16 +216,16 @@ This is how it looks like in the UI: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/selectselect_component_example_autocomplete_group.png) ## `Checkbox` -Underlying `@splunk/react-ui` component: [`Switch`](https://splunkui.splunk.com/Packages/react-ui/Switch). +See the underlying `@splunk/react-ui` component: [`Switch`](https://splunkui.splunk.com/Packages/react-ui/Switch). -Example usage below: +See the following example usage: ```json { @@ -235,14 +235,14 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/checkbox_component_example.png) ## `CheckboxGroup` -Example usage below: +See the following example usage: ```json { @@ -316,7 +316,7 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/checkbox_group_mixed_example.png) @@ -325,7 +325,7 @@ The component maps and unmaps values into a single field in the format `fieldNam ## `Multiple Select` -Underlying `@splunk/react-ui` component: [`Multiselect`](https://splunkui.splunk.com/Packages/react-ui/Multiselect). +See the underlying `@splunk/react-ui` component: [`Multiselect`](https://splunkui.splunk.com/Packages/react-ui/Multiselect). Multiselect allows the user to select multiple options at once. @@ -333,9 +333,9 @@ Multiselect allows the user to select multiple options at once. | Property | Type | Description | Default Value | | ------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -| items | array | The arrayof options with label and value. | - | +| items | array | An array of options with a label and a value. | - | | delimiter | string | It delimits each value of the field with a predefined character.
For example, In the data option_a\|option_b, a vertical bar (the pipe character) delimits the two data items option_a and option_b. | comma(`,`) | -| createSearchChoice | boolean | Allow the user to add arbitrary values. | false | +| createSearchChoice | boolean | It allows the user to add arbitrary values. | false | | referenceName | string | Dropdown options will be generated via an API call to the service's restHandler. | - | | endpointUrl | string | Dropdown options will be generated via an API call to that endpoint. | - | | allowList | string | It only accepts options that match the regex based on the name attribute when received via API call using `endpointUrl` and `referenceName`. It is applied before denyList. | - | @@ -344,7 +344,7 @@ Multiselect allows the user to select multiple options at once. | [dependencies](../advanced/dependent_dropdown.md) | array | It is used to update options via an API call when the value of any field in the dependencies list is updated. | - | | [autoCompleteFields](#autoCompleteFields) | array | It is used to add options in the Single select or Multiple select component. | - | -Example usage below: +See the following example usage: ```json { @@ -367,14 +367,14 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/multiselect_component_example.png) ## `Radio Bar` -Underlying `@splunk/react-ui` component: [`RadioBar`](https://splunkui.splunk.com/Packages/react-ui/RadioBar). +See the underlying `@splunk/react-ui` component: [`RadioBar`](https://splunkui.splunk.com/Packages/react-ui/RadioBar). RadioBar is a component that provides the ability to select one option out of a group. It can be used when we need to select a field value from a few options. @@ -382,9 +382,9 @@ RadioBar is a component that provides the ability to select one option out of a | Property | Type | Description | Default Value | | --------------------------------------------- | ----- | ------------------------------------------ | ------------- | -| items* | array | The array of options with label and value. | - | +| items* | array | This property is an array of options with a label and a value. | - | -Example usage below: +See the following example usage: ```json { @@ -409,13 +409,13 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/radio_component_example.png) ## `Help Link` -Underlying `@splunk/react-ui` component: [`Link`](https://splunkui.splunk.com/Packages/react-ui/Link). +See the underlying `@splunk/react-ui` component: [`Link`](https://splunkui.splunk.com/Packages/react-ui/Link). It will open the link in a new tab. @@ -423,10 +423,10 @@ It will open the link in a new tab. | Property | Type | Description | Default Value | | -------------------------------------------- | ------ | --------------------------------------- | ------------- | -| text* | string | A message to be display in form. | - | -| link* | string | Link where the user will be redirected. | - | +| text* | string | It is a message to be displayed. | - | +| link* | string | It is a link where the user will be redirected. | - | -Example usage below: +See the following example usage: ```json { @@ -440,19 +440,19 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/help_link_component_example.png) ## `File` -Underlying `@splunk/react-ui` component: [`File`](https://splunkui.splunk.com/Packages/react-ui/File). +See the underlying `@splunk/react-ui` component: [`File`](https://splunkui.splunk.com/Packages/react-ui/File). -It supports files that can be opened in text mode or with a text editor. Files with extensions such as txt, json, xml, yaml, pem, key, crt, etc. +It supports files that can be opened in text mode or with a text editor, which are files with extensions such as txt, json, xml, yaml, pem, key, crt, etc. -It only sends file content to the server by reading it using the [readAsArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer) method of the FileReader class and then decoding it into **UTF-8** format using the [decode](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode) method of the TextDecoder class. +It only sends file content to the server by reading it using the [readAsArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer) method of the FileReader class, and then decoding it into **UTF-8** format, using the [decode](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode) method of the TextDecoder class. -File content can be validated using in-built validators like [string](../validators/#string) and [regex](../validators/#regex), and a custom validator can also be implemented using a [custom hook](../../custom_ui_extensions/custom_hook) and [saveValidator](../advanced/save_validator). +The file content can be validated using in-built validators such as [string](../validators/#string) and [regex](../validators/#regex), and a custom validator can also be implemented using a [custom hook](../../custom_ui_extensions/custom_hook) and [saveValidator](../advanced/save_validator). This feature allows you to upload a single file. @@ -460,12 +460,11 @@ This feature allows you to upload a single file. | Property | Type | Description | Default Value | | ---------------------------------------------------------- | ------ | ---------------------------------------------------------- | ------------- | -| fileSupportMessage | string | To display message inside file component. | - | -| supportedFileTypes* | array | A list of the file types that the user can upload. | - | -| maxFileSize | number | To set the maximum file size in KB that a user can upload. | 500KB | - -Example usage below: +| fileSupportMessage | string | It displays a message inside a file component. | - | +| supportedFileTypes* | array | It is a list of the file types that the user can upload. | - | +| maxFileSize | number | It sets the maximum file size in KB that a user can upload. | 500KB | +See the following example usage: ```json { "type": "file", @@ -488,7 +487,7 @@ Example usage below: } ``` -This is how it looks like in the UI: +This is how it looks in the UI: ![image](../images/components/file_component_example.png) diff --git a/docs/entity/index.md b/docs/entity/index.md index 63b9e55a1..4fc71ce4b 100644 --- a/docs/entity/index.md +++ b/docs/entity/index.md @@ -19,14 +19,14 @@ title: Entity | [modifyFieldsOnValue](./modifyFieldsOnValue) | array | It is used to speficy values and parameters that will influence visually other entities. | - | > [!WARNING] -> [Placeholder](https://splunkui.splunkeng.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in the next major version. Instead, we recommend to use "help" attribute. +> The [Placeholder](https://splunkui.splunkeng.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in the next major version. Instead, use the "help" attribute. ## Common Options | Property | Type | Description | Default Value | | ------------------- | ------- | --------------------------------------------------------------------------------- | ------------- | -| placeholder | string | `Deprecated` The grey text is shown when the input is empty. | - | -| display | boolean | Whether show or hide the field. | true | -| disableonEdit | boolean | When the form is in edit mode, the field becomes uneditable. | false | -| enable | boolean | The enable property sets whether a field is enabled, or not. | true | -| requiredWhenVisible | boolean | Make field required from UI perspecive when it appears \*used only for visibility | false | +| placeholder | string | (`Deprecated`) The grey text is shown when the input is empty. | - | +| 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 | diff --git a/docs/entity/validators.md b/docs/entity/validators.md index 3f8921183..29eff1891 100644 --- a/docs/entity/validators.md +++ b/docs/entity/validators.md @@ -1,15 +1,15 @@ ### Common Properties -- `type`* - To specify which validator type to use. -- `errorMsg`* - UCC provides [default error messages](https://github.com/splunk/addonfactory-ucc-generator/blob/main/ui/src/main/webapp/constants/messageDict.ts). Using this attribute, A custom error message can be displayed. +- `type`* specifies which validator type to use. +- `errorMsg`* displays a custom error message. UCC provides [default error messages](https://github.com/splunk/addonfactory-ucc-generator/blob/main/ui/src/main/webapp/constants/messageDict.ts). ### String

Properties

-- `minLength`* - This specifies the minimum number of characters allowed. -- `maxLength`* - This specifies the maximum number of characters allowed. +- `minLength`* specifies the minimum number of characters allowed. +- `maxLength`* specifies the maximum number of characters allowed. -Example usage below: +See the following example usage: ```json { @@ -24,9 +24,9 @@ Example usage below: ### Regex

Properties

-- `pattern`* - Regex pattern +- `pattern`* is a Regex pattern. -Example usage below: +See the following example usage: ```json { @@ -39,9 +39,9 @@ Example usage below: ### Number

Properties

-- `range`* - The range within which the target value should fall. +- `range`* is the range within which the target value should fall. -Example usage below: +See the following example usage: ```json { @@ -57,13 +57,13 @@ Example usage below: No parameters are needed. -It's using a regexp internally this [regex](https://github.com/splunk/addonfactory-ucc-generator/blob/main/ui/src/main/webapp/constants/preDefinedRegex.ts) for checking whether a field value is a URL or not. +If you're using a regexp internally, this [regex](https://github.com/splunk/addonfactory-ucc-generator/blob/main/ui/src/main/webapp/constants/preDefinedRegex.ts) checks whether a field value is a URL or not. ### Email No parameters are needed. -It's using a regexp internally suggested by [WHATWG](https://html.spec.whatwg.org/multipage/input.html#email-state-(type=email)) +Using a regexp internally is recommended by [WHATWG](https://html.spec.whatwg.org/multipage/input.html#email-state-(type=email)). ### IPV4 @@ -75,5 +75,5 @@ Internally, it checks the IPV4 address using this [regex](https://github.com/spl No parameters are needed. -It is validated whether the field's value is a date in [ISO 8601](https://www.w3.org/TR/1998/NOTE-datetime-19980827) format. -It is using the regex from [moment.js](https://github.com/moment/moment/blob/2.17.1/moment.js#L1980). +It is validated if the field's value is a date in the [ISO 8601](https://www.w3.org/TR/1998/NOTE-datetime-19980827) format. +It uses the regex from [moment.js](https://github.com/moment/moment/blob/2.17.1/moment.js#L1980). diff --git a/docs/index.md b/docs/index.md index db3da132b..68a405f35 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,12 +1,12 @@ # Overview `splunk-add-on-ucc-framework` is a framework to generate UI-based Splunk -Add-ons. It includes UI, REST handlers, Modular inputs, OAuth and Alert +add-ons. It includes UI, REST handlers, Modular inputs, OAuth and Alert action templates. Only add-ons that use Python 3 are supported. -Available as a GitHub action here: +It is available as a GitHub action here: You can use [Splunk Extension for VSCode](https://marketplace.visualstudio.com/items?itemName=Splunk.splunk) @@ -16,25 +16,27 @@ as well. UCC stands for Universal Configuration Console. The purpose of having a framework for add-on generation is to simplify the process of add-on -creation for the developers. UCC 5 uses [SplunkUI](https://splunkui.splunk.com/) -which is a new UI framework based on React. UCC UI repository can be found in the `ui` folder. +creation for developers. UCC 5 uses [SplunkUI](https://splunkui.splunk.com/), +which is a new UI framework based on React. The UCC UI repository can be found in the `ui` folder. -UCC-based add-ons are being powered by another Splunk libraries: +UCC-based add-ons are being powered by Splunk libraries: [`solnlib`](https://github.com/splunk/addonfactory-solutions-library-python) and [`splunktaucclib`](https://github.com/splunk/addonfactory-ucc-library). More information [here](ucc_related_libraries.md). ## Features -* Generate UI (`appserver` folder) -* Generate Python REST handlers to support UI CRUD operations (`bin` folder) -* Generate OpenAPI description document (`appserver/static/openapi.json` file) (more info [here](openapi.md)) -* Generate `.conf` files (more info [here](dot_conf_files.md)) -* Install Python requirements (`lib` folder) -* Generate metadata files (`metadata` folder) -* Generate the monitoring dashboard (more info [here](dashboard.md)) -* Possibility to extend UI with custom code (more info [here](custom_ui_extensions/custom_hook.md)) -* Possibility to extend the build process via `additional_packaging.py` file (more info [here](additional_packaging.md)) +The `splunk-add-on-ucc-framework`: + +* generates UI (`appserver` folder). +* generates Python REST handlers to support UI CRUD operations (`bin` folder). +* generates OpenAPI description documents (`appserver/static/openapi.json` file) (for more information, see [here](openapi.md)). +* generates `.conf` files (more information, see [here](dot_conf_files.md)). +* installs Python requirements (`lib` folder). +* generate metadata files (`metadata` folder). +* generates the monitoring dashboard (for more information, see [here](dashboard.md)). +* it possibly extends the UI with custom codes (for more information, see [here](custom_ui_extensions/custom_hook.md)). +* it possibly extends the build process via a `additional_packaging.py` file (more information, [here](additional_packaging.md)). ## Installation @@ -42,4 +44,4 @@ information [here](ucc_related_libraries.md). ## Caveats -* Some specific Python libraries (like, `google-cloud-bigquery`) use `.so` files to operate and `pip` will install OS-specific versions of those `.so` files, which makes it impossible to use such add-on on Windows machine when it was built on macOS. +* Some specific Python libraries (such as `google-cloud-bigquery`) use `.so` files to operate. `pip` will install OS-specific versions of those `.so` files, which makes it impossible to use such add-ons on a Windows machine since it was built for macOS. diff --git a/docs/inputs/index.md b/docs/inputs/index.md index a563a5cdb..2db387122 100644 --- a/docs/inputs/index.md +++ b/docs/inputs/index.md @@ -11,26 +11,26 @@ Developers are required to add services in the global config file to create a ne | Property | Type | Description | | ------------------------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------- | | title\* | string | - | -| description | string | To provide a brief summary of an inputs page. | -| menu | object | This property allows you to enable the [custom menu](../custom_ui_extensions/custom_menu.md) feature. | -| [table](../table) | object | To display input stanzas in a tabular format. | +| description | string | It provides a brief summary of an inputs page. | +| menu | object | This property allows you to enable the [custom menu].(../custom_ui_extensions/custom_menu.md) feature. | +| [table](../table) | object | It displays input stanzas in a tabular format. | | groupsMenu | array | This property allows you to enable the [multi-level menu](./multilevel_menu.md) feature. | -| [services](#services-properties)\* | array | To specify a list of modular inputs. | +| [services](#services-properties)\* | array | It specifies a list of modular inputs. | ### Services Properties | Property | Type | Description | | ------------------------------------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| name\* | string | To define the particular service name. | -| title\* | string | To show the title of the service. | -| subTitle | string | To show the subtitle (or additional information) of the service. | -| [entity](../entity)\* | array | A list of fields and their properties. | +| 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. | +| [entity](../entity)\* | array | It is a list of fields and their properties. | | [groups](../advanced/groups_feature) | array | It is used to divide forms into distinct sections, each comprising relevant fields. | -| style | string | By specifying this property in the global config file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
Default value is **dialog**. | +| style | string | By specifying this property in the global configuration file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
The default value is **dialog**. | | options | object | This property allows you to enable the [saveValidator](../advanced/save_validator) feature. | | hook | object | It is used to add custom behaviour to forms. Visit the [Custom Hook](../custom_ui_extensions/custom_hook) page to learn more. | -| [warning](../advanced/custom_warning.md) | object | It is used to add custom warning message for each of modes ('create', 'edit', 'config', 'clone'), message is displayed on form | -| [subDescription](../advanced/sub_description) | object | To provide broader description of an inputs page | +| [warning](../advanced/custom_warning.md) | object | It is used to add the custom warning message for each of the modes of 'create', 'edit', 'config', and 'clone'. The message is displayed on the form. | +| [subDescription](../advanced/sub_description) | object | It provides broader description of an inputs page. | | conf | string | TBD | | restHandlerName | string | TBD | | restHandlerModule | string | TBD | @@ -38,7 +38,7 @@ Developers are required to add services in the global config file to create a ne ### Usage -This is how global config looks like without tabs: +This is how the global configuration looks like without tabs: ```json "pages": { diff --git a/docs/inputs/multilevel_menu.md b/docs/inputs/multilevel_menu.md index ff370ed14..4da0e7890 100644 --- a/docs/inputs/multilevel_menu.md +++ b/docs/inputs/multilevel_menu.md @@ -51,7 +51,7 @@ Using the [Custom Hook](../../custom_ui_extensions/custom_hook), `groupName` can } ``` -> If `groupServices` is provided under a group, then all services listed in the array will be displayed in the subMenu. If it is not provided, then that group will be considered as a service. +> If `groupServices` is provided under a group, then all services listed in the array will be displayed in the sub-menu. If it is not provided, then that group will be considered as a service. ### Output diff --git a/docs/inputs/tabs.md b/docs/inputs/tabs.md index c02cb3dfd..14dee8dfd 100644 --- a/docs/inputs/tabs.md +++ b/docs/inputs/tabs.md @@ -1,8 +1,8 @@ -This feature allows us to separate inputs based on their service name. So, when multiple inputs services are provided in the global config file and if developers wish to display each input service in a separate tab (and table) they can make use of the tabs feature. +This feature allows you to separate inputs based on their service name. Use the tabs feature when multiple inputs services are provided in the global configuration file, and you want to display each input service in a separate tab (and table). The `table` property must be present in the services to use the tabs feature. -If `title` and `description` are provided in the global config file then it would change when changing the tab. +If `title` and `description` are provided in the global configuration file, then it would change when changing the tab. ### Usage @@ -62,10 +62,10 @@ If `title` and `description` are provided in the global config file then it woul > > When using the Tabs feature, if the `table` or `description` property is provided in the `inputs`, the error ```instance.pages.inputs is not one of [subschema 0], [subschema 1]``` will be displayed. > -> [Custom Menu](../../custom_ui_extensions/custom_menu/) is not supported with tabs feature. +> [Custom Menu](../../custom_ui_extensions/custom_menu/) is not supported with the tabs feature. ### Output This is how it looks like in the UI: -![image](../images/inputs/Tabs_Output.png) \ No newline at end of file +![image](../images/inputs/Tabs_Output.png) diff --git a/docs/openapi.md b/docs/openapi.md index 6f16c9f75..d681dfefa 100644 --- a/docs/openapi.md +++ b/docs/openapi.md @@ -1,13 +1,13 @@ # OpenAPI description document -OpenAPI's description document is generated with `ucc-gen` command. -There has to be defined valid `globalConfig.json` and `app.manifest` to have the document (`appserver/static/openapi.json` file) generated. +OpenAPI's description document is generated using the `ucc-gen` command. +There has to be defined, valid `globalConfig.json` and `app.manifest` to have the document (`appserver/static/openapi.json` file) generated. ## How to find the document? -Once `ucc-gen` command is executed, OpenAPI description document is located in output `appserver/static` subdirectory. +Once t`ucc-gen` command is executed, OpenAPI description document is located in the `appserver/static` output subdirectory. -One of ways is to download it via button displayed in top right corner of configuration page. +One way to download it is through the button displayed on the top right corner of the configuration page. ![image](./images/openapi/download_openapi_button.png) @@ -17,20 +17,20 @@ When add-on is installed to Splunk instance, it is exposed via web and managemen (eg. http://localhost:8000/en-GB/static/app/Splunk_TA_cisco_meraki/openapi.json) -See the following resources for more information on working with the Splunk REST API (eg. how to authenticate): +See the following resources for more information on working with the Splunk REST API (for example, how to authenticate): * [REST API User Manual](http://docs.splunk.com/Documentation/Splunk/9.0.3/RESTUM/RESTusing) * [REST API Tutorials](http://docs.splunk.com/Documentation/Splunk/9.0.3/RESTTUT/RESTconfigurations) -## Where it can be used? +## Where can it be used? -OpenAPI Description document can be used to create: +The OpenAPI Description document can be used to create: -* interactive documentation that generates simple curl requests to all documented endpoints (check [this section](#how-to-get-curl-commands-and-use-them) for relevant instruction) +* interactive documentation that generates simple curl requests to all documented endpoints (check [this section](#how-to-get-curl-commands-and-use-them) for the relevant instructions). * automation that uses the simple requests to create more complex solutions such as: * orchestration * mass load or migration - * automated tests + * automated tests. Check [swagger](https://swagger.io/) or [other tools](https://github.com/OAI/OpenAPI-Specification/blob/main/IMPLEMENTATIONS.md) for more possibilities. @@ -41,7 +41,7 @@ Check [swagger](https://swagger.io/) or [other tools](https://github.com/OAI/Ope * docker running * Splunk with your add-on installed -### Instruction +### Instructions 1. Open https://editor.swagger.io/ * Alternatively, you can run your own instance of Swagger Editor @@ -56,19 +56,19 @@ Check [swagger](https://swagger.io/) or [other tools](https://github.com/OAI/Ope 5. Define parameters and "Execute" 6. Copy curl value, paste to your terminal, ADD `-k` PARAMETER, and run -> Note: Check [Swagger Editor documentation](https://swagger.io/tools/swagger-editor/) in case of any question related to the tool +> See [Swagger Editor documentation](https://swagger.io/tools/swagger-editor/) for questions related to the tool. ### Troubleshooting * SSL certificate problem -Are you sure you added `-k` parameter to curl command? +Make sure you added `-k` parameter to the curl command. * Unauthorized -Make sure you clicked Authorize button, gave username and password and clicked Authorize +Make sure you clicked the Authorize button, gave the username and password, and then clicked Authorize. -## How to generate Python client and use it? +## How do you generate Python client and then use it? ### Prerequisites @@ -105,4 +105,3 @@ configuration.verify_ssl = False ``` This option should only be used when connecting to a non-prod Splunk instance. - diff --git a/docs/table.md b/docs/table.md index b1488f865..b563304e1 100644 --- a/docs/table.md +++ b/docs/table.md @@ -4,26 +4,26 @@ Tables include many built-in features such as sorting, filtering, and pagination ### Properties -- `header`* - (Array Objects) To specify the list of columns in the table. - - `field`* - The name of the field from which the data in this column will be displayed. - - `label`* - Title of the column. - - [mapping](advanced/custom_mapping.md) - It is used to map field values to more meaningful values. - - [customCell](custom_ui_extensions/custom_cell.md) - It is used to modify default cell values. -- `actions`* - (Array) To specify what type of action can be performed on that stanza. Supported types are `edit`, `clone` and `delete`. -- `moreInfo` - (Array Objects) To specify the list of fields that will be displayed in row form when the user clicks the Row Expand button. - - `field` - Used to dispaly the data in a column. - - `label` - Title of the column. - - [mapping](advanced/custom_mapping.md) - It is used to map field values to more meaningful values. -- [customRow](custom_ui_extensions/custom_row.md) - This can be used to customise the moreInfo Component. +- `header`* (Array Objects) specifies the list of columns in the table. + - `field`* is he name of the field where the column data will be displayed. + - `label`* is the title of the column. + - [mapping](advanced/custom_mapping.md) is used to map field values to more meaningful values. + - [customCell](custom_ui_extensions/custom_cell.md) is used to modify the default cell values. +- `actions`* (Array) specifies what type of action can be performed on the stanza. The supported types are `edit`, `clone`, and `delete`. +- `moreInfo` (Array Objects) specifies the list of fields that will be displayed in row form when the user clicks the Row Expand button. + - `field` is used to dispaly the data in a column. + - `label` is the title of the column. + - [mapping](advanced/custom_mapping.md) is used to map field values to more meaningful values. +- [customRow](custom_ui_extensions/custom_row.md) can be used to customise the moreInfo Component. ### List of built-in table fields for Modular Input -If your add-on has multiple modular inputs and you want to show the input type of each one, use the in-built field below. +If your add-on has multiple modular inputs and you want to show the input type of each one, use the following in-built field: | Field Name | description | | ------------ | ----------------------------------------------------------------------------------------------- | -| serviceName | It indicates the name of the Input service to be displayed in the table.
Eg: example_input_one | -| serviceTitle | It indicates the title of the Input service to be displayed in the table.
Eg: Example Input One | +| serviceName | It indicates the name of the Input service to be displayed in the table, for example, "example_input_one". | +| serviceTitle | It indicates the title of the Input service to be displayed in the table, for example, "Example Input One". | ### Usage @@ -79,6 +79,6 @@ If your add-on has multiple modular inputs and you want to show the input type o ### Output -This is how it looks like in the UI: +This is how it looks in the UI: ![image](images/table_output.png) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 230f5033a..858ccb8fb 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -2,34 +2,34 @@ ## General troubleshooting -To be able to troubleshoot the Python part of the add-on, you can use `remote_pdb`. This can be used for the local development when you have locally installed Splunk instance and add-on there.s +To be able to troubleshoot the Python part of the add-on, you can use `remote_pdb`. This can be used for the local development when you have locally installed the Splunk instance and add-on there. Steps to set up: -* Put this [file](https://github.com/ionelmc/python-remote-pdb/blob/master/src/remote_pdb.py) to the `bin` folder -* Put this line (`import remote_pdb; remote_pdb.RemotePdb(host="0.0.0.0", port=4444).set_trace()`) before the line that needs troubleshooting -* Go to the console and run `telnet 127.0.0.1 4444` and it will open a `pdb` console when you can start the troubleshooting. Refer to `pdb` documentation on the commands available +* Put this [file](https://github.com/ionelmc/python-remote-pdb/blob/master/src/remote_pdb.py) in the `bin` folder +* Put this line, (`import remote_pdb; remote_pdb.RemotePdb(host="0.0.0.0", port=4444).set_trace()`), before the line that needs troubleshooting. +* Go to the console and run `telnet 127.0.0.1 4444`. It will open a `pdb` console, where you can start troubleshooting. Refer to the `pdb` documentation for the available commands. ## Splunk calls your modular input only once -In case Splunk calls your modular input only once however you are -specifying an interval within it should call your script - check -`use_single_instance` variable in `get_scheme` method of your modular -input class. It should be set False so that Splunk can schedule the +If Splunk calls your modular input only once, however, you are +specifying an interval within, it should call your script. Check the +`use_single_instance` variable in the `get_scheme` method of your modular +input class. It should be set to False so that Splunk can schedule the input accordingly. -To be able to understand that Splunk does not schedule your modular -input script, search for "index=_internal ExecProcessor" and look for -"interval: run once" near your script name. +Search for "index=_internal ExecProcessor" and look for +"interval: run once" near your script name in order to understand that Splunk does not schedule your modular +input script. ## ModuleNotFoundError: No module named '' -If you see this message in Splunk when your modular input is being run, it means that Splunk could not find a library you are trying to import. +If you see this message in Splunk when your modular input is being run, it means that Splunk could not find a library that you are trying to import. -It can be because of: +It can be because: -* there is no such library in the `package/lib` folder -> you need to check your `package/lib/requirements.txt` file to make sure that you have it as part of the requirements -* there is no `import import_declare_test` at the top of your modular input file -> add the import mentioned to the top of your modular input file +* there is no such library in the `package/lib` folder. Check your `package/lib/requirements.txt` file to make sure that you have it as part of the requirements. +* there is no `import import_declare_test` at the top of your modular input file. Add the mentioned import to the top of your modular input file. ## urllib3 >= 2 @@ -42,11 +42,11 @@ when your modular input is running, you need to use `urllib3 < 2` in your `requi ## Compare add-ons generated by 2 different versions of the `ucc-gen build` -`scripts` folder has a script `compare_different_ucc_versions_output.sh` which -can be used to compare the output of the add-on built by 2 different versions of +`scripts` folder has a script, `compare_different_ucc_versions_output.sh`, which +can be used to compare the output of the add-on built by two different versions of the `ucc-gen build` command. -To be able to run it, copy the script to the add-on folder, read the +To run it, copy the script to the add-on folder, and then read the instructions in the script itself. If it does not work for your particular case, -feel free to adjust it yourself or file a feature request for us to improve +feel free to adjust it yourself, or file a feature request for us to improve something. diff --git a/docs/ucc_related_libraries.md b/docs/ucc_related_libraries.md index cfa6c1391..d2398bcaa 100644 --- a/docs/ucc_related_libraries.md +++ b/docs/ucc_related_libraries.md @@ -8,16 +8,16 @@ There are two UCC-related libraries: ## `solnlib` `solnlib` contains a number of functions and classes that can be used during -the add-on development. The documentation can be found +add-on development. The documentation can be found [here](https://splunk.github.io/addonfactory-solutions-library-python). Commonly used modules are: -* `log` - file-based logging to `$SPLUNK_HOME/var/log/splunk` folder -* `modular_input.checkpointers` - contains classes to manage checkpoints +* `log` is for file-based logging to the `$SPLUNK_HOME/var/log/splunk` folder. +* `modular_input.checkpointers` contains classes to manage checkpoints. -Below is the example of the code that can be used to get a logger for a -specific add-on. +See the following example of code that can be used to get a logger for a +specific add-on: ```python import logging @@ -31,4 +31,4 @@ def logger_for_input(input_name: str) -> logging.Logger: ## `splunktaucclib` -`splunktaucclib` powers backend of the add-on. +`splunktaucclib` powers the backend of the add-on. diff --git a/docs/uccignore.md b/docs/uccignore.md index 07b51d781..945834ab6 100644 --- a/docs/uccignore.md +++ b/docs/uccignore.md @@ -1,9 +1,9 @@ # `.uccignore` file -This feature can be used to remove files from the output **after** UCC template files were copied and **before** the source of the +This feature can be used to remove files from the output **after** the UCC template files were copied and **before** the source of the add-on recursively overrides the output folder. -It is expected to be placed in the same folder as `globalConfig` file to have effect. +Place it in the same folder as the `globalConfig` file to have the effect. Uccignore supports wildcard expressions, thanks to which we can find all files matching a specific pattern. From 4629aa1dc5ef4bfae78390809ed2b1a1ca4d8b60 Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Mon, 26 Feb 2024 10:41:44 +0100 Subject: [PATCH 10/15] fix: modifyFieldsOnValue schema and tests (#1087) fix modifyFieldsOnValue schema add python test to check circular modifications --- .../global_config_validator.py | 155 +++++++++++++ .../schema/schema.json | 36 +-- tests/unit/test_global_config_validator.py | 42 ++++ ...h_modification_circular_modifications.json | 214 ++++++++++++++++++ ...ig_with_modification_for_field_itself.json | 78 +++++++ ...h_modification_for_unexisiting_fields.json | 78 +++++++ ...fig_with_modification_on_value_change.json | 203 +++++++++++++++++ 7 files changed, 788 insertions(+), 18 deletions(-) create mode 100644 tests/unit/testdata/invalid_config_with_modification_circular_modifications.json create mode 100644 tests/unit/testdata/invalid_config_with_modification_for_field_itself.json create mode 100644 tests/unit/testdata/invalid_config_with_modification_for_unexisiting_fields.json create mode 100644 tests/unit/testdata/valid_config_with_modification_on_value_change.json diff --git a/splunk_add_on_ucc_framework/global_config_validator.py b/splunk_add_on_ucc_framework/global_config_validator.py index bd41c8a35..e789ed82b 100644 --- a/splunk_add_on_ucc_framework/global_config_validator.py +++ b/splunk_add_on_ucc_framework/global_config_validator.py @@ -19,6 +19,8 @@ import re from typing import Any, Dict, List import logging +import itertools + import jsonschema @@ -560,6 +562,158 @@ def _validate_groups(self) -> None: f"Service {service['name']} uses group field {group_field} which is not defined in entity" ) + def _is_circular( + self, + mods: List[Any], + visited: Dict[str, str], + all_entity_fields: List[Any], + current_field: str, + ) -> Dict[str, str]: + """ + Checks if there is circular modification based on visited list and DFS algorithm + """ + DEAD_END = "dead_end" + VISITING = "visited" + visited[current_field] = VISITING + + current_field_mods = next( + (mod for mod in mods if mod["fieldId"] == current_field), None + ) + if current_field_mods is None: + # no more dependent modification fields + visited[current_field] = DEAD_END + return visited + else: + for influenced_field in current_field_mods["influenced_fields"]: + if influenced_field not in all_entity_fields: + raise GlobalConfigValidatorException( + f"""Modification in field '{current_field}' for not existing field '{influenced_field}'""" + ) + if influenced_field == current_field: + raise GlobalConfigValidatorException( + f"""Field '{current_field}' tries to modify itself""" + ) + if visited[influenced_field] == VISITING: + raise GlobalConfigValidatorException( + f"""Circular modifications for field '{influenced_field}' in field '{current_field}'""" + ) + else: + visited = self._is_circular( + mods, visited, all_entity_fields, influenced_field + ) + # all of dependent modifications fields are dead_end + visited[current_field] = DEAD_END + return visited + + def _check_if_cilcular( + self, + all_entity_fields: List[Any], + fields_with_mods: List[Any], + modifications: List[Any], + ) -> None: + visited = {field: "not_visited" for field in all_entity_fields} + + for start_field in fields_with_mods: + # DFS algorithm for all fields with modifications + visited = self._is_circular( + modifications, visited, all_entity_fields, start_field + ) + + @staticmethod + def _get_mods_data_for_single_entity( + fields_with_mods: List[Any], + all_modifications: List[Any], + entity: Dict[str, Any], + ) -> List[Any]: + """ + Add modification entity data to lists and returns them + """ + if "modifyFieldsOnValue" in entity: + influenced_fields = set() + fields_with_mods.append(entity["field"]) + for mods in entity["modifyFieldsOnValue"]: + for mod in mods["fieldsToModify"]: + influenced_fields.add(mod["fieldId"]) + all_modifications.append( + {"fieldId": entity["field"], "influenced_fields": influenced_fields} + ) + return [fields_with_mods, all_modifications] + + @staticmethod + def _get_all_entities( + collections: List[Dict[str, Any]], + ) -> List[Any]: + all_fields = [] + + tab_entities: List[Any] = [ + el.get("entity") for el in collections if el.get("entity") + ] + all_entities = list(itertools.chain.from_iterable(tab_entities)) + + for entity in all_entities: + if entity["type"] == "oauth": + for oauthType in entity["options"]["auth_type"]: + for oauthEntity in entity["options"][oauthType]: + all_fields.append(oauthEntity) + else: + all_fields.append(entity) + + return all_fields + + def _get_all_modifiction_data( + self, + collections: List[Dict[str, Any]], + ) -> List[Any]: + fields_with_mods: List[Any] = [] + all_modifications: List[Any] = [] + all_fields: List[str] = [] + + entities = self._get_all_entities(collections) + for entity in entities: + self._get_mods_data_for_single_entity( + fields_with_mods, all_modifications, entity + ) + all_fields.append(entity["field"]) + + return [fields_with_mods, all_modifications, all_fields] + + def _validate_field_modifications(self) -> None: + """ + Validates: + Circular dependencies + If fields try modify itself + If fields try modify unexisting field + """ + pages = self._config["pages"] + + if "configuration" in pages: + configuration = pages["configuration"] + tabs = configuration["tabs"] + + ( + fields_with_mods_config, + all_modifications_config, + all_fields_config, + ) = self._get_all_modifiction_data(tabs) + + self._check_if_cilcular( + all_fields_config, fields_with_mods_config, all_modifications_config + ) + + if "inputs" in pages: + inputs = pages["inputs"] + services = inputs["services"] + + ( + fields_with_mods_inputs, + all_modifications_inputs, + all_fields_inputs, + ) = self._get_all_modifiction_data(services) + + self._check_if_cilcular( + all_fields_inputs, fields_with_mods_inputs, all_modifications_inputs + ) + def validate(self) -> None: self._validate_config_against_schema() self._validate_configuration_tab_table_has_name_field() @@ -573,3 +727,4 @@ def validate(self) -> None: self._warn_on_placeholder_usage() self._validate_checkbox_group() self._validate_groups() + self._validate_field_modifications() diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json index 34d28f05f..67a986965 100644 --- a/splunk_add_on_ucc_framework/schema/schema.json +++ b/splunk_add_on_ucc_framework/schema/schema.json @@ -446,12 +446,12 @@ }, "requiredWhenVisible": { "type": "boolean" - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type"], @@ -533,12 +533,12 @@ }, "rowsMax": { "type": "number" - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type"], @@ -658,12 +658,12 @@ "items": { "$ref": "#/definitions/ValueLabelPair" } - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type", "options"], @@ -780,12 +780,12 @@ "delimiter": { "type": "string", "maxLength": 1 - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type", "options"], @@ -1020,13 +1020,13 @@ "items": { "$ref": "#/definitions/ValueLabelPair" } - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["items"], "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type", "options"], @@ -1099,12 +1099,12 @@ "type": "string" }, "uniqueItems": true - }, - "modifyFieldsOnValue": { - "$ref": "#/definitions/modifyFieldsOnValue" } }, "additionalProperties": false + }, + "modifyFieldsOnValue": { + "$ref": "#/definitions/modifyFieldsOnValue" } }, "required": ["field", "label", "type"], diff --git a/tests/unit/test_global_config_validator.py b/tests/unit/test_global_config_validator.py index fd45f2aa0..ca522260d 100644 --- a/tests/unit/test_global_config_validator.py +++ b/tests/unit/test_global_config_validator.py @@ -341,3 +341,45 @@ def test_config_validation_when_error(filename, is_yaml, exception_message): (msg,) = exc_info.value.args assert msg == exception_message + + +def test_config_validation_modifications_on_change(): + global_config_path = helpers.get_testdata_file_path( + "valid_config_with_modification_on_value_change.json" + ) + global_config = global_config_lib.GlobalConfig(global_config_path, False) + + validator = GlobalConfigValidator(helpers.get_path_to_source_dir(), global_config) + + with does_not_raise(): + validator.validate() + + +@pytest.mark.parametrize( + "filename,raise_message", + [ + ( + "invalid_config_with_modification_for_field_itself.json", + "Field 'text1' tries to modify itself", + ), + ( + "invalid_config_with_modification_for_unexisiting_fields.json", + "Modification in field 'text1' for not existing field 'text2'", + ), + ( + "invalid_config_with_modification_circular_modifications.json", + "Circular modifications for field 'text1' in field 'text7'", + ), + ], +) +def test_invalid_config_modifications_correct_raises(filename, raise_message): + global_config_path = helpers.get_testdata_file_path(filename) + global_config = global_config_lib.GlobalConfig(global_config_path, False) + + validator = GlobalConfigValidator(helpers.get_path_to_source_dir(), global_config) + + with pytest.raises(GlobalConfigValidatorException) as exc_info: + validator.validate() + + (msg,) = exc_info.value.args + assert msg == raise_message diff --git a/tests/unit/testdata/invalid_config_with_modification_circular_modifications.json b/tests/unit/testdata/invalid_config_with_modification_circular_modifications.json new file mode 100644 index 000000000..3c8e0406f --- /dev/null +++ b/tests/unit/testdata/invalid_config_with_modification_circular_modifications.json @@ -0,0 +1,214 @@ +{ + "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": "text1 MODIFICATION TEST", + "help": "text1", + "field": "text1", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text2", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text3", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text2 MODIFICATION TEST", + "help": "text1", + "field": "text2", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text3", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text4", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text3 MODIFICATION TEST", + "help": "text1", + "field": "text3" + }, + { + "type": "text", + "label": "text4 MODIFICATION TEST", + "help": "text1", + "field": "text4", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text5", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text5", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text5 MODIFICATION TEST", + "help": "text1", + "field": "text5", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text6", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text6", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text6 MODIFICATION TEST", + "help": "text1", + "field": "text6", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text7", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text7", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text7 MODIFICATION TEST", + "help": "text1", + "field": "text7", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text1", + "disabled": false + } + ] + } + ] + } + ], + "title": "Account" + } + ], + "title": "Configuration", + "description": "Set up your add-on" + } + }, + "meta": { + "name": "Splunk_TA_UCCExample", + "restRoot": "splunk_ta_uccexample", + "version": "5.39.0Ra9e840a6", + "displayName": "Splunk UCC test Add-on", + "schemaVersion": "0.0.3", + "_uccVersion": "5.39.0" + } +} diff --git a/tests/unit/testdata/invalid_config_with_modification_for_field_itself.json b/tests/unit/testdata/invalid_config_with_modification_for_field_itself.json new file mode 100644 index 000000000..eb7145f94 --- /dev/null +++ b/tests/unit/testdata/invalid_config_with_modification_for_field_itself.json @@ -0,0 +1,78 @@ +{ + "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": "text1 MODIFICATION TEST", + "help": "text1", + "field": "text1", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text1", + "disabled": false + } + ] + } + ] + } + ], + "title": "Account" + } + ], + "title": "Configuration", + "description": "Set up your add-on" + } + }, + "meta": { + "name": "Splunk_TA_UCCExample", + "restRoot": "splunk_ta_uccexample", + "version": "5.39.0Ra9e840a6", + "displayName": "Splunk UCC test Add-on", + "schemaVersion": "0.0.3", + "_uccVersion": "5.39.0" + } +} diff --git a/tests/unit/testdata/invalid_config_with_modification_for_unexisiting_fields.json b/tests/unit/testdata/invalid_config_with_modification_for_unexisiting_fields.json new file mode 100644 index 000000000..63f12ce8d --- /dev/null +++ b/tests/unit/testdata/invalid_config_with_modification_for_unexisiting_fields.json @@ -0,0 +1,78 @@ +{ + "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": "text1 MODIFICATION TEST", + "help": "text1", + "field": "text1", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text2", + "disabled": false + } + ] + } + ] + } + ], + "title": "Account" + } + ], + "title": "Configuration", + "description": "Set up your add-on" + } + }, + "meta": { + "name": "Splunk_TA_UCCExample", + "restRoot": "splunk_ta_uccexample", + "version": "5.39.0Ra9e840a6", + "displayName": "Splunk UCC test Add-on", + "schemaVersion": "0.0.3", + "_uccVersion": "5.39.0" + } +} diff --git a/tests/unit/testdata/valid_config_with_modification_on_value_change.json b/tests/unit/testdata/valid_config_with_modification_on_value_change.json new file mode 100644 index 000000000..f39158c62 --- /dev/null +++ b/tests/unit/testdata/valid_config_with_modification_on_value_change.json @@ -0,0 +1,203 @@ +{ + "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": "text1 MODIFICATION TEST", + "help": "text1", + "field": "text1", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text2", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text3", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text2 MODIFICATION TEST", + "help": "text1", + "field": "text2", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text3", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text4", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text3 MODIFICATION TEST", + "help": "text1", + "field": "text3" + }, + { + "type": "text", + "label": "text4 MODIFICATION TEST", + "help": "text1", + "field": "text4", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text5", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text5", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text5 MODIFICATION TEST", + "help": "text1", + "field": "text5", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text6", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text6", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text6 MODIFICATION TEST", + "help": "text1", + "field": "text6", + "modifyFieldsOnValue": [ + { + "fieldValue": 1, + "fieldsToModify": [ + { + "fieldId": "text7", + "disabled": false + } + ] + }, + { + "fieldValue": 0, + "fieldsToModify": [ + { + "fieldId": "text7", + "disabled": true + } + ] + } + ] + }, + { + "type": "text", + "label": "text7 MODIFICATION TEST", + "help": "text1", + "field": "text7" + } + ], + "title": "Account" + } + ], + "title": "Configuration", + "description": "Set up your add-on" + } + }, + "meta": { + "name": "Splunk_TA_UCCExample", + "restRoot": "splunk_ta_uccexample", + "version": "5.39.0Ra9e840a6", + "displayName": "Splunk UCC test Add-on", + "schemaVersion": "0.0.3", + "_uccVersion": "5.39.0" + } +} From 43ee3ef9e12d070d8d89175c6b1c18e48d821600 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Wed, 28 Feb 2024 10:09:24 +0100 Subject: [PATCH 11/15] docs(entity): mention that placeholder is not visible and fix the link (#1089) --- docs/entity/index.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/entity/index.md b/docs/entity/index.md index 4fc71ce4b..c81cfcff4 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)\* | string | To specify the type of entity to be rendered in inputs or configuration form. | - | @@ -16,17 +16,18 @@ title: Entity | required | boolean | To specify whether the field is required or not. | false | | encrypted | boolean | To encrypt that particular field. | false | | [validators](./validators) | array | It is used to validate the values of fields using various validators. | - | -| [modifyFieldsOnValue](./modifyFieldsOnValue) | array | It is used to speficy values and parameters that will influence visually other entities. | - | +| [modifyFieldsOnValue](./modifyFieldsOnValue) | array | It is used to speficy values and parameters that will influence visually other entities. | - | > [!WARNING] -> The [Placeholder](https://splunkui.splunkeng.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in the next major version. Instead, use the "help" attribute. +> The [Placeholder](https://splunkui.splunk.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in the next major version. +> The placeholder text is no longer displayed in the UI. Instead, use the `help` attribute. ## Common Options -| Property | Type | Description | Default Value | -| ------------------- | ------- | --------------------------------------------------------------------------------- | ------------- | -| placeholder | string | (`Deprecated`) The grey text is shown when the input is empty. | - | -| 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 | +| Property | Type | Description | Default Value | +|---------------------|---------|----------------------------------------------------------------------------------------|---------------| +| placeholder | string | (`Deprecated`) The grey text is shown when the input is empty. | - | +| 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 | From 4cf5ba82547a98c162f0158e74fd5f1ebb130459 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 28 Feb 2024 23:31:19 +0100 Subject: [PATCH 12/15] chore(deps): update poetry (#1072) --- poetry.lock | 9 +++++---- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index ce46477cc..09aa4b1cf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1155,13 +1155,13 @@ docker = ["lovely-pytest-docker (>=0,<1)"] [[package]] name = "pytest-splunk-addon-ui-smartx" -version = "3.0.0" +version = "3.0.1" description = "Library to support testing Splunk Add-on UX" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "pytest_splunk_addon_ui_smartx-3.0.0-py3-none-any.whl", hash = "sha256:f641b8b7d239ca2943092b87af12fb54923d178f347e018e4656899a7c044f14"}, - {file = "pytest_splunk_addon_ui_smartx-3.0.0.tar.gz", hash = "sha256:93d0d7e14f616d8208a4eff344c42b37bc10c373469874a165b4626c96e0f625"}, + {file = "pytest_splunk_addon_ui_smartx-3.0.1-py3-none-any.whl", hash = "sha256:ee1794a8d7a9a0aa5d95ce48178507dfce3cd00f2f5549cb9f0478f9820fea40"}, + {file = "pytest_splunk_addon_ui_smartx-3.0.1.tar.gz", hash = "sha256:cf8180efee47a24c6293378e36c9bbd5dcbd4d9d4e4dd24bd509e71cd48dda28"}, ] [package.dependencies] @@ -1258,6 +1258,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -1616,4 +1617,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.7" -content-hash = "3e0ce569112088cf9227577849c16694fdc6eb36de39f0f786c6d02bef5fa93f" +content-hash = "e2fee0138bd17985e0f05a31798948edd7f43fa6bb020ddd56faf39adf68a808" diff --git a/pyproject.toml b/pyproject.toml index 9502ea5cf..31a999cb2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ 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 = "3.0.0" +pytest-splunk-addon-ui-smartx = "3.0.1" pytest-rerunfailures = "^11.1.1" mkdocs-material = "^9.1.3" pytest-cov = "^4.0.0" From 72e681acca1fc1a6ee42b9b56cf360822626b8f1 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Thu, 29 Feb 2024 13:41:30 +0100 Subject: [PATCH 13/15] test(CheckboxGroup): add data attributes for easier testing (#1091) - removed extra element wrappers - add data attributes to select input and checkbox by fields - add better multiline support --- .../CheckboxGroup/CheckboxGroup.tsx | 3 +- .../components/CheckboxGroup/CheckboxRow.tsx | 69 +++++++++++-------- .../CheckboxGroup/StyledComponent.tsx | 9 +-- .../stories/CheckboxGroup.stories.tsx | 35 +++++++++- .../CheckboxGroup-base-chromium.png | 4 +- .../CheckboxGroup-create-mode-chromium.png | 4 +- ...CheckboxGroup-input-page-view-chromium.png | 4 +- ...eckboxGroup-mixed-with-groups-chromium.png | 4 +- .../CheckboxGroup-multiline-chromium.png | 3 + ...eckboxGroup-with-single-group-chromium.png | 4 +- .../InputPage-input-page-view-chromium.png | 4 +- .../InputPage-input-tab-view-chromium.png | 4 +- 12 files changed, 97 insertions(+), 50 deletions(-) create mode 100644 ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-multiline-chromium.png diff --git a/ui/src/components/CheckboxGroup/CheckboxGroup.tsx b/ui/src/components/CheckboxGroup/CheckboxGroup.tsx index bf8e9e0dd..66907ee44 100644 --- a/ui/src/components/CheckboxGroup/CheckboxGroup.tsx +++ b/ui/src/components/CheckboxGroup/CheckboxGroup.tsx @@ -19,7 +19,8 @@ import { MODE_CREATE } from '../../constants/modes'; function CheckboxGroup(props: CheckboxGroupProps) { const { field, handleChange, controlOptions, addCustomValidator, disabled } = props; const flattenedRowsWithGroups = getFlattenRowsWithGroups(controlOptions); - const shouldUseDefaultValue = props.mode === MODE_CREATE && props.value === null; + const shouldUseDefaultValue = + props.mode === MODE_CREATE && (props.value === null || props.value === undefined); const value = shouldUseDefaultValue ? getDefaultValues(controlOptions.rows) : parseValue(props.value); diff --git a/ui/src/components/CheckboxGroup/CheckboxRow.tsx b/ui/src/components/CheckboxGroup/CheckboxRow.tsx index f8ce70ab1..db5e41826 100644 --- a/ui/src/components/CheckboxGroup/CheckboxRow.tsx +++ b/ui/src/components/CheckboxGroup/CheckboxRow.tsx @@ -1,12 +1,22 @@ -import React, { useState, useEffect } from 'react'; -import ColumnLayout from '@splunk/react-ui/ColumnLayout'; +import React, { useEffect, useState } from 'react'; import NumberComponent, { NumberChangeHandler } from '@splunk/react-ui/Number'; import styled from 'styled-components'; import Switch from '@splunk/react-ui/Switch'; -import { StyledColumnLayout } from './StyledComponent'; +import { FixedCheckboxRowWidth } from './StyledComponent'; const StyledSwitch = styled(Switch)` - padding-left: 3px; + padding: 0 3px; + flex: min-content; + align-items: baseline; +`; +const StyledNumber = styled.div` + width: 80px; +`; +const StyledRow = styled.div` + display: flex; + align-items: baseline; + justify-content: space-between; + ${FixedCheckboxRowWidth} `; interface CheckboxRowProps { @@ -36,31 +46,34 @@ function CheckboxRow(props: CheckboxRowProps) { handleChange({ field, inputValue: input, checkbox: !previousValue }); }; + const numberA11yLabel = `${label} value`; + const checkboxA11yLabel = `${label} checkbox`; return ( - - - - - {label} - - - - - - - + + + {label} + + + + + + ); } + export default CheckboxRow; diff --git a/ui/src/components/CheckboxGroup/StyledComponent.tsx b/ui/src/components/CheckboxGroup/StyledComponent.tsx index 5fa7d49ac..7fac4233b 100644 --- a/ui/src/components/CheckboxGroup/StyledComponent.tsx +++ b/ui/src/components/CheckboxGroup/StyledComponent.tsx @@ -1,8 +1,9 @@ -import styled from 'styled-components'; +import styled, { css } from 'styled-components'; import ColumnLayout from '@splunk/react-ui/ColumnLayout'; -const StyledColumnLayout = styled(ColumnLayout)` +export const FixedCheckboxRowWidth = css` width: 320px; `; - -export { StyledColumnLayout }; +export const StyledColumnLayout = styled(ColumnLayout)` + ${FixedCheckboxRowWidth} +`; diff --git a/ui/src/components/CheckboxGroup/stories/CheckboxGroup.stories.tsx b/ui/src/components/CheckboxGroup/stories/CheckboxGroup.stories.tsx index 2c2912e35..96524389b 100644 --- a/ui/src/components/CheckboxGroup/stories/CheckboxGroup.stories.tsx +++ b/ui/src/components/CheckboxGroup/stories/CheckboxGroup.stories.tsx @@ -51,6 +51,35 @@ export const Base: Story = { }, }, }; +export const Multiline: Story = { + args: { + mode: MODE_EDIT, + field: 'api', + value: 'neigh/1,like/1', + controlOptions: { + rows: [ + { + field: 'like', + checkbox: { + label: 'I like ponies', + }, + }, + { + field: 'unicorn', + checkbox: { + label: 'Enable unicorn mode (Warning: May attract nearby ponies)', + }, + }, + { + field: 'neigh', + checkbox: { + label: "I agree to occasionally neigh like a pony when nobody's watching", + }, + }, + ], + }, + }, +}; export const WithSingleGroup: Story = { args: { ...Base.args, @@ -155,14 +184,14 @@ export const MixedWithGroups: Story = { export const CreateMode: Story = { args: { ...Base.args, - value: 'field1/1,field2/1', // should be disregarded + value: undefined, mode: MODE_CREATE, controlOptions: { rows: [ { field: 'field1', checkbox: { - label: 'Default true', + label: 'Default true with value = 1200', defaultValue: true, }, input: { @@ -173,7 +202,7 @@ export const CreateMode: Story = { { field: 'field2', checkbox: { - label: 'Default false', + label: 'Default false with value = 2', defaultValue: false, }, input: { diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-base-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-base-chromium.png index a680d8bb8..4a1f28f8b 100644 --- a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-base-chromium.png +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-base-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c9fae0b33aa75af16f8ebe887070d8d42f6d2b1d7c36a2faf855cb7a4bbf235 -size 17954 +oid sha256:b2bb87703542226a5a49bf0f0b1289e58bdf6da5ad67001f745d4c005dcb6194 +size 17933 diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-create-mode-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-create-mode-chromium.png index 23c0d77ff..001020450 100644 --- a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-create-mode-chromium.png +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-create-mode-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ccf6368da37d000ec8d7038c45e159fc2514d1790f6ea95e1c60c519798fc11a -size 11558 +oid sha256:4cb503cb74c1ab01f4a0269da88de7f174d43b54220a9ba09d651e3c82fe089b +size 14844 diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-input-page-view-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-input-page-view-chromium.png index 1a1366733..c84fd98c9 100644 --- a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-input-page-view-chromium.png +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-input-page-view-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07c690c818baaed094e60b3ff9682b50502fdd4b11b6acae9bb048b19c0b71f1 -size 34757 +oid sha256:bb71841c1f6402ecdf44f2ad8ed129cc2985aca58a85a7a8300f8becdac48681 +size 34494 diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-mixed-with-groups-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-mixed-with-groups-chromium.png index da863a6e0..d2ad9259b 100644 --- a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-mixed-with-groups-chromium.png +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-mixed-with-groups-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9beeab5bcd6d9ad8f7edcd2a33f1b5be289f87aaf9ccb9c94f20f3c962d4812 -size 27441 +oid sha256:3cd727cff88597eed179d2b1ae4264706e9bc2b09c5ab4c006ba902368d4db10 +size 27391 diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-multiline-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-multiline-chromium.png new file mode 100644 index 000000000..726f48a5f --- /dev/null +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-multiline-chromium.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a12ee109a82d23c124f71955be61f9ff9be80b8b02e7928fe99edcdbfce3a256 +size 24610 diff --git a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-with-single-group-chromium.png b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-with-single-group-chromium.png index 4ede25343..f7592ab03 100644 --- a/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-with-single-group-chromium.png +++ b/ui/src/components/CheckboxGroup/stories/__images__/CheckboxGroup-with-single-group-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed0d4d4dba479ff0b2f138bde244a0426ff79e0cc32f4bd54a861e04ac79830e -size 14917 +oid sha256:a4770d564af7cfd05fa2bbb7034c7605804c01dedd8c17ae3d74d29bc4007fb5 +size 14888 diff --git a/ui/src/pages/Input/stories/__images__/InputPage-input-page-view-chromium.png b/ui/src/pages/Input/stories/__images__/InputPage-input-page-view-chromium.png index 0fb3192ce..44906123e 100644 --- a/ui/src/pages/Input/stories/__images__/InputPage-input-page-view-chromium.png +++ b/ui/src/pages/Input/stories/__images__/InputPage-input-page-view-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c17e9b4a04de4a8ad1ca9fb9b701dd8c1528e5ed68c24ef5736a7578068c3cc2 -size 75241 +oid sha256:b0e5a2fb70f125bd9633ad355e2275ad10b52a68af62e9d262c1b076a3278f2e +size 75038 diff --git a/ui/src/pages/Input/stories/__images__/InputPage-input-tab-view-chromium.png b/ui/src/pages/Input/stories/__images__/InputPage-input-tab-view-chromium.png index b79d3fb7c..6e2440002 100644 --- a/ui/src/pages/Input/stories/__images__/InputPage-input-tab-view-chromium.png +++ b/ui/src/pages/Input/stories/__images__/InputPage-input-tab-view-chromium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d1923748c7da1b450b4d2b523d38103e1e812c742ec6459a2e727637bd95df2 -size 70585 +oid sha256:1f7fffac3caf73ceff84bc29c3b75a84ead51cce15371a7e0aa8fa1eebc4f041 +size 70479 From 9fe017e93d22a20735a663c66b5a600f619f3a1d Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Tue, 5 Mar 2024 11:22:03 +0100 Subject: [PATCH 14/15] docs: explain custom ui extension (#1094) docs custom ui overview --- docs/custom_ui_extensions/custom_cell.md | 28 ++++---- docs/custom_ui_extensions/custom_control.md | 26 ++++---- docs/custom_ui_extensions/custom_hook.md | 62 ++++++++--------- docs/custom_ui_extensions/custom_menu.md | 38 ++++++----- docs/custom_ui_extensions/overview.md | 74 +++++++++++++++++++++ mkdocs.yml | 1 + 6 files changed, 154 insertions(+), 75 deletions(-) create mode 100644 docs/custom_ui_extensions/overview.md diff --git a/docs/custom_ui_extensions/custom_cell.md b/docs/custom_ui_extensions/custom_cell.md index ada43e8a5..c3e9cdc04 100644 --- a/docs/custom_ui_extensions/custom_cell.md +++ b/docs/custom_ui_extensions/custom_cell.md @@ -4,26 +4,26 @@ A Custom Cell is used to update the content of a table cell. ### Properties -| Property | Description | -| ----------------- | ----------- | -| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | -| el | is used to render a custom cell element in a table. | -| serviceName | is the name of the service/tab specified in the globalConfig file. | -| row | is the object of the record for which the CustomRowInput constructor is called. | -| field | is the name of the field as specified in the globalConfig file. | +| Property | Description | +|--------------|---------------------------------------------------------------------------------------| +| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | +| el | is used to render a custom cell element in a table. | +| serviceName | is the name of the service/tab specified in the globalConfig file. | +| row | is the object of the record for which the CustomRowInput constructor is called. | +| field | is the name of the field as specified in the globalConfig file. | ### Methods -| Property | Description | -| ----------------- | ----------- | -| render | is a method which should have logic for the custom cell component, and it will be executed automatically when the create, edit, or clone actions performed. | +| Property | Description | +|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------| +| render | is a method which should have logic for the custom cell component, and it will be executed automatically when the create, edit, or clone actions performed. | ### Usage -``` +```json { "name": "account", - "title": "Account" + "title": "Account", "entity": [], "table": { "actions": ["edit", "delete", "clone"], @@ -47,7 +47,7 @@ A Custom Cell is used to update the content of a table cell. ### Example -``` +```js class CustomInputCell { /** * Custom Row Cell @@ -70,7 +70,7 @@ class CustomInputCell { // Check for missing configuration in account if (this.row.account_multiple_select === "one") { html = "Option One"; - } else if(this.row.account_multiple_select === "two"){ + } else if (this.row.account_multiple_select === "two"){ html = "Option Two"; } else { html = "Option is not available" diff --git a/docs/custom_ui_extensions/custom_control.md b/docs/custom_ui_extensions/custom_control.md index 483b6370c..fc481e4c4 100644 --- a/docs/custom_ui_extensions/custom_control.md +++ b/docs/custom_ui_extensions/custom_control.md @@ -2,24 +2,24 @@ The Custom Control feature allows you to display any customised input component ### Properties -| Property | Description | -| ----------------- | ----------- | -| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| el | The `el` is used to render a custom input element in a form. | -| data | The `data` object holds details regarding the execution mode (create, edit, clone), the value of a field, and the service name where this custom component is being rendered. | -| setValue | This method is used to set the value of the custom component.

setValue: ƒ (newValue)

| -| util | This is a utility object with various functions that can be used to manipulate the UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| +| Property | Description | +|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | +| el | The `el` is used to render a custom input element in a form. | +| data | The `data` object holds details regarding the execution mode (create, edit, clone), the value of a field, and the service name where this custom component is being rendered. | +| setValue | This method is used to set the value of the custom component.

setValue: ƒ (newValue)

| +| util | This is a utility object with various functions that can be used to manipulate the UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| ### Methods -| Property | Description | -| ----------------- | ----------- | -| render | is a method which should have logic for the custom component, and it will be executed automatically when the create, edit, or clone actions are performed. | -| validation | This method should contain the validation logic for the value of the custom component. | +| Property | Description | +|------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| +| render | is a method which should have logic for the custom component, and it will be executed automatically when the create, edit, or clone actions are performed. | +| validation | This method should contain the validation logic for the value of the custom component. | ### Usage -``` +```json { "name": "account", "table": {}, @@ -51,7 +51,7 @@ The Custom Control feature allows you to display any customised input component ### Example -``` +```js class CustomControl { /** * diff --git a/docs/custom_ui_extensions/custom_hook.md b/docs/custom_ui_extensions/custom_hook.md index 2d284b193..8ebbc5eed 100644 --- a/docs/custom_ui_extensions/custom_hook.md +++ b/docs/custom_ui_extensions/custom_hook.md @@ -8,53 +8,55 @@ The `type` key needs to be set as external to webpack the custom extensions. UCC ### Properties -| Property | Description | -| ----------------- | ----------- | -| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | -| serviceName | It is the name of the service/tab specified in the globalConfig. | -| state | `state` is an object that represents the actual state value of the components in the service/tab when the hook's constructor is called. Updating this object will not update the state of the page. Use the `util.setState` method to update the page's state. The `state` object contains the actual state data along with the `errorMsg` and `warningMsg` properties. | -| mode | There are three possible modes: Edit, Clone, and Delete. These are used in service/tab components. | -| util | This is a utility object with various functions that can be used to manipulate the page UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| -| groupName | The name of the menu group from which the inputs service is called. This parameter should only be used with the multi-level menu feature. | +| Property | Description | +|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| globalConfig | It is a hierarchical object that contains the globalConfig file's properties and values. | +| serviceName | It is the name of the service/tab specified in the globalConfig. | +| state | `state` is an object that represents the actual state value of the components in the service/tab when the hook's constructor is called. Updating this object will not update the state of the page. Use the `util.setState` method to update the page's state. The `state` object contains the actual state data along with the `errorMsg` and `warningMsg` properties. | +| mode | There are three possible modes: Edit, Clone, and Delete. These are used in service/tab components. | +| util | This is a utility object with various functions that can be used to manipulate the page UI.
There are 4 associated methods:
  • `clearAllErrorMsg`: ƒ (State)
  • `setErrorFieldMsg`: ƒ (field, msg)
  • `setErrorMsg`: ƒ (msg)
  • `setState`: ƒ setState(callback)
| +| groupName | The name of the menu group from which the inputs service is called. This parameter should only be used with the multi-level menu feature. | ### Methods We can use these methods to overirde existing methods according to the desired functionality: -| Property | Description | -| ----------------- | ----------- | -| onCreate | is called when we click on the "Add/Create" button to create a new record on the page. | -| debounce | is used to create another special method which does not get executed on every call. This functionality can be useful when listening for an event.

For Example, if you might want to show the help text/error when the user has stopped typing for 500ms in a text-box, instead of every key press. In this scenario, the debounce method will induce a time wait every time a key is pressed and the method will only execute when there is no other call to it within that wait time.

| -| onChange | is called when the value of any field is changed. | -| onRender | is called once whenever the user clicks on an "Add", "Edit", or "Clone" button. | -| onSave | is called when the user clicks the "Save" button after creating, editing, or cloning a record. | -| onSaveSuccess | is called when a record has been successfully saved. | -| onSaveFail | is called when a record fails to save due to any error. | -| onEditLoad | is called when the user clicks on an "Edit" button for an existing record. | +| Property | Description | +|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| onCreate | is called when we click on the "Add/Create" button to create a new record on the page. | +| debounce | is used to create another special method which does not get executed on every call. This functionality can be useful when listening for an event.

For Example, if you might want to show the help text/error when the user has stopped typing for 500ms in a text-box, instead of every key press. In this scenario, the debounce method will induce a time wait every time a key is pressed and the method will only execute when there is no other call to it within that wait time.

| +| onChange | is called when the value of any field is changed. | +| onRender | is called once whenever the user clicks on an "Add", "Edit", or "Clone" button. | +| onSave | is called when the user clicks the "Save" button after creating, editing, or cloning a record. | +| onSaveSuccess | is called when a record has been successfully saved. | +| onSaveFail | is called when a record fails to save due to any error. | +| onEditLoad | is called when the user clicks on an "Edit" button for an existing record. | ### Usage -``` -"inputs": { +```json +{ + "inputs": { "title": "Inputs", "description": "Manage your data inputs", "services": [ - { - "name": "example_input_one", - "title": "Example Input One", - "hook": { - "src": "input_hook", - "type": "external" - }, - "entity": [] - } + { + "name": "example_input_one", + "title": "Example Input One", + "hook": { + "src": "input_hook", + "type": "external" + }, + "entity": [] + } ] + } } ``` ### Example -``` +```js import _ from "underscore"; // example of a ESM import class Hook { diff --git a/docs/custom_ui_extensions/custom_menu.md b/docs/custom_ui_extensions/custom_menu.md index f8c3f61bb..3aa9bad61 100644 --- a/docs/custom_ui_extensions/custom_menu.md +++ b/docs/custom_ui_extensions/custom_menu.md @@ -1,44 +1,46 @@ Custom Menu can be created when there is more than one input present on the inputs page. -> This feature is deprecated (will be removed in the next major version) as [`Multilevel Menu`](../inputs/multilevel_menu) is now ready to use if more than one input is available. +> This feature is deprecated (will be removed in the next major version) as [`Multilevel Menu`](../inputs/multilevel_menu.md) is now ready to use if more than one input is available. -In addition to the multiple inputs, we can use this menu to create a custom component at the top right corner of the Input page. +In addition to the multiple inputs, we can use this menu to create a custom component in the top right corner of the Input page. ### Properties -| Property | Description | -| ----------------- | ----------- | -| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | -| el | is used to render a custom element (on the top right corner) on the Inputs page. | -| setValue | is used to set the value of the custom component.

setValue: ƒ (newValue)

| +| Property | Description | +|--------------|---------------------------------------------------------------------------------------| +| globalConfig | is a hierarchical object that contains the globalConfig file's properties and values. | +| el | is used to render a custom element (on the top right corner) on the Inputs page. | +| setValue | is used to set the value of the custom component. `

setValue: ƒ (newValue)

` | ### Methods -| Property | Description | -| ----------------- | ----------- | -| render | is a method which should have logic for the custom menu, and it will be executed automatically when the inputs page is rendered. | +| Property | Description | +|----------|----------------------------------------------------------------------------------------------------------------------------------| +| render | is a method which should have logic for the custom menu, and it will be executed automatically when the inputs page is rendered. | ### Usage -``` -"inputs": { +```json +{ + "inputs": { "title": "Inputs", "description": "Manage your data inputs", "services": [], "table": { - "actions": ["edit", "enable", "delete", "clone"], - "header": [], - "moreInfo": [] + "actions": ["edit", "enable", "delete", "clone"], + "header": [], + "moreInfo": [] }, "menu": { - "src": "custom_menu", - "type": "external" + "src": "custom_menu", + "type": "external" } + } } ``` ### Example -``` +```js class CustomMenu { /** diff --git a/docs/custom_ui_extensions/overview.md b/docs/custom_ui_extensions/overview.md new file mode 100644 index 000000000..6c3dca02f --- /dev/null +++ b/docs/custom_ui_extensions/overview.md @@ -0,0 +1,74 @@ +The UCC package simplifies the deployment of React applications featuring the Splunk UI by eliminating the need for NodeJS, Yarn, or front-end dependencies installation. The core requirement for deployment is a `globalConfig.json` file. While UCC is designed to support a broad spectrum of use cases, there may be scenarios where the provided API options do not fully meet your needs. + +For such instances, UCC has a runtime custom JavaScript loading mechanism. This feature allows for the invocation of specific functionalities at pivotal moments within the application lifecycle, including `onChange` and `onRender` events. + +### Integrating Custom JavaScript + +Example `globalConfig.json` configuration for custom JS files located at: +``` +appserver/static/js/build/custom/CustomHookJSFile.js +appserver/static/js/build/custom/CustomInputJSFile.js +``` + +```json +{ + "inputs": { + "title": "Inputs", + "description": "Manage your data inputs", + "services": [ + { + "name": "example_input_one", + "title": "Example Input One", + "hook": { + "src": "CustomHookJSFile", + "type": "external" + }, + "entity": [{ + "field": "custom_input_field", + "label": "My Custom Input", + "type": "custom", + "options": { + "src": "CustomInputJSFile", + "type": "external" + } + }] + } + ] + } +} +``` + +Note: Specify the `type` key as `external` to indicate that these scripts should use the ESM syntax for module exporting and importing. Scripts not marked as external or without the type specified will default to the RequireJS (AMD) syntax. Additionally, custom JavaScript files and their modules will not be processed by Webpack. + + +### React Component Extension + +While UCC does not directly support React components due to its design choices, it's possible to integrate React through JavaScript: + +#### CustomComponent.js +```js +export default class CustomComponent { + constructor (globalConfig, el) { + } + + render () { + ReactDOM.render( + , + this.el + ) + return this + } +} +``` + +You might also need to adjust webpack/rollup config to output files without chunking: + +```js +module.exports = { + //... + output: { + path: path.join(__dirname, '../output/Splunk_TA_Name/appserver/static/js/build/custom/'), + filename: '[name].js', + }, +} +``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 4782e937a..3daec9aff 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,6 +53,7 @@ nav: - OpenAPI: "openapi.md" - UCC-related libraries: "ucc_related_libraries.md" - Custom UI Extensions: + - Overview: "custom_ui_extensions/overview.md" - Custom Hook: "custom_ui_extensions/custom_hook.md" - Custom Control: "custom_ui_extensions/custom_control.md" - Custom Row: "custom_ui_extensions/custom_row.md" From 91df819b515058ab85cc8168f7b830a6e03feb9f Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:09:53 +0100 Subject: [PATCH 15/15] docs: align documentation for subdescription inputs (#1092) align docs for subdescription on inputs page, currently it says that it is property of service but it is property of page --------- Co-authored-by: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> --- docs/configurations/index.md | 34 ++++++++++++------------ docs/entity/components.md | 2 +- docs/entity/index.md | 26 +++++++++---------- docs/inputs/index.md | 47 +++++++++++++++++----------------- docs/inputs/multilevel_menu.md | 2 +- docs/inputs/tabs.md | 2 +- mkdocs.yml | 1 + 7 files changed, 58 insertions(+), 56 deletions(-) diff --git a/docs/configurations/index.md b/docs/configurations/index.md index a1b6a0d4a..5bcf72f73 100644 --- a/docs/configurations/index.md +++ b/docs/configurations/index.md @@ -5,29 +5,29 @@ proxy configuration, and logging level configuration. ### Configuration Properties | Property | Type | Description | -|-------------------------------------------------------------------| ------ | ------------------------------------------------------- | +|-------------------------------------------------------------------|--------|---------------------------------------------------------| | title\* | string | - | | description | string | To provide a brief summary of an configuration page. | -| [subDescription](../advanced/sub_description) | object | To provide broader description of an configuration page | +| [subDescription](../advanced/sub_description.md) | object | To provide broader description of an configuration page | | [tabs](#tabs-properties)\* | array | To specify a list of tab. | ### Tabs properties -| Property | Type | Description | -|--------------------------------------------------------------| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| name\* | string | To define the particular tab name. | -| title\* | string | To show the title of the tab. | -| [entity](../entity)\* | array | A list of fields and their properties. | -| [table](../table) | object | To display accounts stanza in table | -| style | string | By specifying this property in the global config file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
Default value is **dialog**. | -| options | object | This property allows you to enable the [saveValidator](../advanced/save_validator) feature. | -| hook | object | It is used to add custom behaviour to forms. Visit the [Custom Hook](../custom_ui_extensions/custom_hook) page to learn more. | -| [warning](../advanced/custom_warning.md) | object | It is used to add custom warning message for each of modes ('create', 'edit', 'config', 'clone'), message is displayed on form | -| conf | string | TBD | -| restHandlerName | string | TBD | -| restHandlerModule | string | TBD | -| restHandlerClass | string | TBD | -| customTab | Object | This property allows you to enable the [custom tab](../custom_ui_extensions/custom_tab) feature. | +| Property | Type | Description | +|-----------------------------------------------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| name\* | string | To define the particular tab name. | +| title\* | string | To show the title of the tab. | +| [entity](../entity/index.md)\* | array | A list of fields and their properties. | +| [table](../table.md) | object | To display accounts stanza in table | +| style | string | By specifying this property in the global config file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
Default value is **dialog**. | +| options | object | This property allows you to enable the [saveValidator](../advanced/save_validator.md) feature. | +| hook | object | It is used to add custom behaviour to forms. Visit the [Custom Hook](../custom_ui_extensions/custom_hook.md) page to learn more. | +| [warning](../advanced/custom_warning.md) | object | It is used to add custom warning message for each of modes ('create', 'edit', 'config', 'clone'), message is displayed on form | +| conf | string | TBD | +| restHandlerName | string | TBD | +| restHandlerModule | string | TBD | +| restHandlerClass | string | TBD | +| customTab | Object | This property allows you to enable the [custom tab](../custom_ui_extensions/custom_tab.md) feature. | ### Usage diff --git a/docs/entity/components.md b/docs/entity/components.md index 893e80534..fe44f4533 100644 --- a/docs/entity/components.md +++ b/docs/entity/components.md @@ -452,7 +452,7 @@ It supports files that can be opened in text mode or with a text editor, which a It only sends file content to the server by reading it using the [readAsArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer) method of the FileReader class, and then decoding it into **UTF-8** format, using the [decode](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode) method of the TextDecoder class. -The file content can be validated using in-built validators such as [string](../validators/#string) and [regex](../validators/#regex), and a custom validator can also be implemented using a [custom hook](../../custom_ui_extensions/custom_hook) and [saveValidator](../advanced/save_validator). +The file content can be validated using in-built validators such as [string](validators.md#string) and [regex](validators.md#regex), and a custom validator can also be implemented using a [custom hook](../custom_ui_extensions/custom_hook.md) and [saveValidator](../advanced/save_validator.md). This feature allows you to upload a single file. diff --git a/docs/entity/index.md b/docs/entity/index.md index c81cfcff4..1063a4692 100644 --- a/docs/entity/index.md +++ b/docs/entity/index.md @@ -4,19 +4,19 @@ 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)\* | string | To specify the type of entity to be rendered in inputs or configuration form. | - | -| help | string | Help text gives context about a fields input, such as how the input will be used. It is displayed directly below an input field. | - | -| tooltip | string | Displays a tooltip beside the label. | - | -| defaultValue | string, number or boolean | The initial input value. | - | -| [options](#common-options) | object | To specify an additional attribute for a particular type of entity, such as `items` for a radio bar. | - | -| required | boolean | To specify whether the field is required or not. | false | -| encrypted | boolean | To encrypt that particular field. | false | -| [validators](./validators) | array | It is used to validate the values of fields using various validators. | - | -| [modifyFieldsOnValue](./modifyFieldsOnValue) | array | It is used to speficy values and parameters that will influence visually other entities. | - | +| 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. | - | +| help | string | Help text gives context about a fields input, such as how the input will be used. It is displayed directly below an input field. | - | +| tooltip | string | Displays a tooltip beside the label. | - | +| defaultValue | string, number or boolean | The initial input value. | - | +| [options](#common-options) | object | To specify an additional attribute for a particular type of entity, such as `items` for a radio bar. | - | +| required | boolean | To specify whether the field is required or not. | false | +| encrypted | boolean | To encrypt that particular field. | false | +| [validators](./validators.md) | array | It is used to validate the values of fields using various validators. | - | +| [modifyFieldsOnValue](./modifyFieldsOnValue.md) | array | It is used to speficy values and parameters that will influence visually other entities. | - | > [!WARNING] > The [Placeholder](https://splunkui.splunk.com/Packages/react-ui/Text?section=develop) attribute is deprecated and will be removed in the next major version. diff --git a/docs/inputs/index.md b/docs/inputs/index.md index 2db387122..e3d1ccf6d 100644 --- a/docs/inputs/index.md +++ b/docs/inputs/index.md @@ -4,37 +4,38 @@ title: Inputs The input page stores configuration information for data collection. Multiple inputs can be created on the Inputs page. -Developers are required to add services in the global config file to create a new Input. If multiple services are provided, a dropdown field will appear on the Inputs page. In contrast, a button will be displayed for a single service. +Developers are required to add services in the global config file to create a new Input. If multiple services are +provided, a dropdown field will appear on the Inputs page. In contrast, a button will be displayed for a single service. ### Properties -| Property | Type | Description | -| ------------------------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------- | -| title\* | string | - | +| 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. | | menu | object | This property allows you to enable the [custom menu].(../custom_ui_extensions/custom_menu.md) feature. | -| [table](../table) | object | It displays input stanzas in a tabular format. | -| groupsMenu | array | This property allows you to enable the [multi-level menu](./multilevel_menu.md) feature. | -| [services](#services-properties)\* | array | It specifies a list of modular inputs. | +| [table](../table.md) | object | It displays input stanzas in a tabular format. | +| groupsMenu | array | This property allows you to enable the [multi-level menu](./multilevel_menu.md) feature. | +| [services](#services-properties)\* | array | It specifies a list of modular inputs. | ### 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. | -| [entity](../entity)\* | array | It is a list of fields and their properties. | -| [groups](../advanced/groups_feature) | array | It is used to divide forms into distinct sections, each comprising relevant fields. | -| style | string | By specifying this property in the global configuration file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
The default value is **dialog**. | -| options | object | This property allows you to enable the [saveValidator](../advanced/save_validator) feature. | -| hook | object | It is used to add custom behaviour to forms. Visit the [Custom Hook](../custom_ui_extensions/custom_hook) page to learn more. | -| [warning](../advanced/custom_warning.md) | object | It is used to add the custom warning message for each of the modes of 'create', 'edit', 'config', and 'clone'. The message is displayed on the form. | -| [subDescription](../advanced/sub_description) | object | It provides broader description of an inputs page. | -| conf | string | TBD | -| restHandlerName | string | TBD | -| restHandlerModule | string | TBD | -| restHandlerClass | string | TBD | +| 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. | +| [entity](../entity/index.md)\* | array | It is a list of fields and their properties. | +| [groups](../advanced/groups_feature.md) | array | It is used to divide forms into distinct sections, each comprising relevant fields. | +| style | string | By specifying this property in the global configuration file, the forms can either be opened as a new page or in a dialog.
Supported values are "page" or "dialog".
The default value is **dialog**. | +| options | object | This property allows you to enable the [saveValidator](../advanced/save_validator.md) feature. | +| hook | object | It is used to add custom behaviour to forms. Visit the [Custom Hook](../custom_ui_extensions/custom_hook.md) page to learn more. | +| [warning](../advanced/custom_warning.md) | object | It is used to add the custom warning message for each of the modes of 'create', 'edit', 'config', and 'clone'. The message is displayed on the form. | +| conf | string | TBD | +| restHandlerName | string | TBD | +| restHandlerModule | string | TBD | +| restHandlerClass | string | TBD | ### Usage diff --git a/docs/inputs/multilevel_menu.md b/docs/inputs/multilevel_menu.md index 4da0e7890..db1a2bde9 100644 --- a/docs/inputs/multilevel_menu.md +++ b/docs/inputs/multilevel_menu.md @@ -1,6 +1,6 @@ This feature allows us to organize the input services into different categories. As a result, each group/category will have a separate sub-menu that can include numerous types of input services. Inputs services can also belong to multiple groups/categories. -Using the [Custom Hook](../../custom_ui_extensions/custom_hook), `groupName` can be saved in any form field for a specific inputs service stanza. +Using the [Custom Hook](../custom_ui_extensions/custom_hook.md), `groupName` can be saved in any form field for a specific inputs service stanza. > `Tabs` and `Multi-level menu` feature cannot be used together. diff --git a/docs/inputs/tabs.md b/docs/inputs/tabs.md index 14dee8dfd..fe74d9a8d 100644 --- a/docs/inputs/tabs.md +++ b/docs/inputs/tabs.md @@ -62,7 +62,7 @@ If `title` and `description` are provided in the global configuration file, then > > When using the Tabs feature, if the `table` or `description` property is provided in the `inputs`, the error ```instance.pages.inputs is not one of [subschema 0], [subschema 1]``` will be displayed. > -> [Custom Menu](../../custom_ui_extensions/custom_menu/) is not supported with the tabs feature. +> [Custom Menu](../custom_ui_extensions/custom_menu.md) is not supported with the tabs feature. ### Output diff --git a/mkdocs.yml b/mkdocs.yml index 3daec9aff..0e82d21ae 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -38,6 +38,7 @@ nav: - Multi-level Menu: "inputs/multilevel_menu.md" - Configuration: - "configurations/index.md" + - Introduction: "configurations/index.md" - Proxy: "configurations/proxy.md" - Dashboard: "dashboard.md" - Entity: