From 9e0b6c03ae652645e7634646baef29481971a114 Mon Sep 17 00:00:00 2001 From: Vadim73i <55870906+Vadim73i@users.noreply.github.com> Date: Wed, 17 Jul 2024 11:48:30 +0300 Subject: [PATCH 01/29] EPMRPP-92444 || Launch owner checkbox is not checked by default (#3918) --- .../AttributeListFormField/attributeListFormField.jsx | 6 +----- .../addEditNotificationModal/addEditNotificationModal.jsx | 5 +---- .../createPatternAnalysisModal.jsx | 2 -- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/app/src/components/containers/AttributeListFormField/attributeListFormField.jsx b/app/src/components/containers/AttributeListFormField/attributeListFormField.jsx index b606546a9f..b49da5a24b 100644 --- a/app/src/components/containers/AttributeListFormField/attributeListFormField.jsx +++ b/app/src/components/containers/AttributeListFormField/attributeListFormField.jsx @@ -66,11 +66,7 @@ export const AttributeListFormField = ({ return ( <> - + {formatMessage(messages.attributes)}
diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx index 6f9d106b7f..f6d84c27e1 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx @@ -336,7 +336,7 @@ const AddEditNotificationModal = ({ > {formatMessage(messages.description)}
- + @@ -346,7 +346,6 @@ const AddEditNotificationModal = ({ @@ -356,7 +355,6 @@ const AddEditNotificationModal = ({ @@ -390,7 +388,6 @@ const AddEditNotificationModal = ({ diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx index c483c09479..8547a8482c 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx @@ -89,7 +89,6 @@ const CreatePatternAnalysisModal = ({ data, handleSubmit, initialize, dirty }) = From e2577d083eec8a5634830641645fcf1d445b07ac Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Wed, 17 Jul 2024 16:56:54 +0400 Subject: [PATCH 02/29] EPMRPP-91800 || If log doesn't have microseconds in log_time in database, log view crashes with TypeError (#3922) --- app/src/common/utils/timeDateUtils.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/common/utils/timeDateUtils.js b/app/src/common/utils/timeDateUtils.js index 10ffa9ff34..f3ef0bfa19 100644 --- a/app/src/common/utils/timeDateUtils.js +++ b/app/src/common/utils/timeDateUtils.js @@ -125,11 +125,8 @@ export const dateFormat = (val, withUtc) => { }; export const getMicroSeconds = (val) => { - return val - .slice(0, -1) - .split('.')[1] - .padEnd(6, 0) - .slice(0, 6); + const microSeconds = val.slice(0, -1).split('.')[1] || ''; + return microSeconds.padEnd(6, 0).slice(0, 6); }; export const fromNowFormat = (date) => moment(date).fromNow(); From 26b4919eb866841c271dc682a6b70c43c3d449a4 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Thu, 18 Jul 2024 19:00:15 +0400 Subject: [PATCH 03/29] EPMRPP-89421 || Display number of tests related to each Unique Error cluster (#3923) * EPMRPP-92659 || Implement sorting parameter for request with/without QG plugin * EPMRPP-90354 || Added Matched Tests Count header column * EPMRPP-90354 || Added Matched Tests Count content column --- app/src/controllers/uniqueErrors/sagas.js | 15 +++-------- app/src/controllers/uniqueErrors/selectors.js | 8 ++++++ .../clusterItemsGridRow.jsx | 7 ++++-- .../clusterItemsGridRow.scss | 13 ++++++++++ .../uniqueErrorsGrid/uniqueErrorsGrid.jsx | 25 ++++++++++++++++--- .../uniqueErrorsGrid/uniqueErrorsGrid.scss | 4 +++ 6 files changed, 56 insertions(+), 16 deletions(-) diff --git a/app/src/controllers/uniqueErrors/sagas.js b/app/src/controllers/uniqueErrors/sagas.js index a25f3e95c4..973d0373f9 100644 --- a/app/src/controllers/uniqueErrors/sagas.js +++ b/app/src/controllers/uniqueErrors/sagas.js @@ -17,13 +17,7 @@ import { all, call, put, select, take, takeEvery } from 'redux-saga/effects'; import { URLS } from 'common/urls'; import { activeProjectSelector } from 'controllers/user'; -import { - fetchParentItems, - fetchParentLaunch, - launchSelector, - namespaceSelector, - queryParametersSelector, -} from 'controllers/testItem'; +import { fetchParentItems, fetchParentLaunch, launchSelector } from 'controllers/testItem'; import { createFetchPredicate, fetchDataAction } from 'controllers/fetch'; import { launchIdSelector, @@ -35,9 +29,9 @@ import { SORTING_KEY } from 'controllers/sorting'; import { unselectAllItemsAction } from 'controllers/groupOperations'; import { NAMESPACE as PLUGINS_NAMESPACE } from 'controllers/plugins/constants'; import { pluginsSelector } from 'controllers/plugins'; - import { COMMAND_GET_CLUSTERS } from 'controllers/plugins/uiExtensions/constants'; import { locationSelector } from 'controllers/pages/selectors'; +import { queryParametersSelector } from './selectors'; import { CLEAR_CLUSTER_ITEMS, clusterItemsSagas, @@ -84,9 +78,7 @@ function* fetchClusters(payload = {}) { yield call(fetchParentLaunch, { payload: { project, launchId } }); } - const namespace = yield select(namespaceSelector); - const query = yield select(queryParametersSelector, namespace); - + const query = yield select(queryParametersSelector); let url; const requestParams = {}; const plugin = yield call(getPlugin); @@ -99,6 +91,7 @@ function* fetchClusters(payload = {}) { ...uniqueErrorsParams, pageNumber: query[PAGE_KEY], pageSize: query[SIZE_KEY], + pageSort: query[SORTING_KEY], }; } else { url = URLS.clusterByLaunchId(project, launchId, { diff --git a/app/src/controllers/uniqueErrors/selectors.js b/app/src/controllers/uniqueErrors/selectors.js index a125d25eac..3e3591aec5 100644 --- a/app/src/controllers/uniqueErrors/selectors.js +++ b/app/src/controllers/uniqueErrors/selectors.js @@ -14,9 +14,17 @@ * limitations under the License. */ +import { formatSortingString, SORTING_ASC } from 'controllers/sorting'; +import { createQueryParametersSelector } from 'controllers/pages'; + const domainSelector = (state) => state.uniqueErrors || {}; export const pageLoadingSelector = (state) => domainSelector(state).pageLoading; export const loadingSelector = (state) => domainSelector(state).loading; export const clustersSelector = (state) => domainSelector(state).clusters || []; export const uniqueErrorsPaginationSelector = (state) => domainSelector(state).pagination; + +export const DEFAULT_SORTING = formatSortingString(['matchedTests'], SORTING_ASC); +export const queryParametersSelector = createQueryParametersSelector({ + defaultSorting: DEFAULT_SORTING, +}); diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx index 32a29c5fdd..25c9aad25e 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx @@ -76,7 +76,7 @@ ClusterColumn.defaultProps = { }; export const ClusterItemsGridRow = ({ data, onEditItem, onUnlinkSingleTicket, onEditDefect }) => { - const { id } = data; + const { id, matchedTests } = data; const { formatMessage } = useIntl(); const dispatch = useDispatch(); const clusterItems = useSelector((state) => clusterItemsSelector(state, id)); @@ -138,6 +138,9 @@ export const ClusterItemsGridRow = ({ data, onEditItem, onUnlinkSingleTicket, on
))} +
+ {matchedTests} +
@@ -145,7 +148,7 @@ export const ClusterItemsGridRow = ({ data, onEditItem, onUnlinkSingleTicket, on
- +
{ +export const UniqueErrorsGridWrapped = ({ parentLaunch, data, loading, ...rest }) => { const { formatMessage } = useIntl(); const query = useSelector(querySelector); const hasNamespacedQuery = Object.keys(extractNamespacedQuery(query, NAMESPACE)).length; @@ -70,6 +72,18 @@ export const UniqueErrorsGrid = ({ parentLaunch, data, loading, ...rest }) => { }); } + columns.push({ + id: MATCHED_TESTS_COLUMN_ID, + title: { + full: 'MATCHED TESTS', + }, + activeSorting: true, + sortable: true, + customProps: { + gridHeaderCellStyles: cx('matched-header'), + }, + }); + return ( <> {data.length > 0 || hasNamespacedQuery ? ( @@ -95,13 +109,18 @@ export const UniqueErrorsGrid = ({ parentLaunch, data, loading, ...rest }) => { ); }; -UniqueErrorsGrid.propTypes = { +UniqueErrorsGridWrapped.propTypes = { parentLaunch: PropTypes.object, data: PropTypes.array, loading: PropTypes.bool, }; -UniqueErrorsGrid.defaultProps = { +UniqueErrorsGridWrapped.defaultProps = { parentLaunch: {}, data: [], loading: false, }; + +export const UniqueErrorsGrid = withSortingURL({ + defaultFields: [MATCHED_TESTS_COLUMN_ID], + defaultDirection: SORTING_ASC, +})(UniqueErrorsGridWrapped); diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss index 8c7fac8e45..2192f81607 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss @@ -21,3 +21,7 @@ .cluster-header { padding-left: 37px; } + +.matched-header{ + width: 130px; +} From f04ef7913a26cde00193f980332cb486c02efe1b Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Fri, 19 Jul 2024 09:22:57 +0200 Subject: [PATCH 04/29] Create dockerhub-release-revision.yml --- .../workflows/dockerhub-release-revision.yml | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/dockerhub-release-revision.yml diff --git a/.github/workflows/dockerhub-release-revision.yml b/.github/workflows/dockerhub-release-revision.yml new file mode 100644 index 0000000000..e5af3dfb14 --- /dev/null +++ b/.github/workflows/dockerhub-release-revision.yml @@ -0,0 +1,89 @@ +name: Retag RC Docker image (revision) + +on: + workflow_dispatch: + +env: + AWS_REGION: ${{ vars.AWS_REGION }} # set this to your preferred AWS region, e.g. us-west-1 + ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY }} # set this to your Amazon ECR repository name + TARGET_REGISTRY: ${{ vars.TARGET_REGISTRY }} # set to target registry (DockerHub, GitHub & etc) + TARGET_REPOSITORY: ${{ vars.TARGET_REPOSITORY }} # set to target repository + PLATFORMS: ${{ vars.BUILD_PLATFORMS }} # set target build platforms. By default linux/amd64 + RELEASE_MODE: ${{ vars.RELEASE_MODE }} + +jobs: + retag-image: + name: Retag and push image + runs-on: ubuntu-latest + environment: rc + # if: github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main' + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Get the latest git tag + id: get_version + uses: oprypin/find-latest-tag@v1 + with: + repository: ${{ github.repository }} + releases-only: true + + - name: Get next Docker version + id: next_version + run: | + DOCKER_IMAGE_NAME="${{ github.repository }}" + INPUT_VERSION=${{ steps.get_version.outputs.tag }} + TAGS_JSON=$(curl -s "https://hub.docker.com/v2/repositories/${DOCKER_IMAGE_NAME}/tags/?page_size=1000") + LATEST_REVISION_NUMBER=$(echo "$TAGS_JSON" | jq -r --arg INPUT_VERSION "$INPUT_VERSION" '.results[] | select(.name | startswith($INPUT_VERSION+"-r")) | .name' | awk -F-r '{print $2}' | sort -nr | head -n1) + if [[ -z "$LATEST_REVISION_NUMBER" ]]; then + NEXT_VERSION="$INPUT_VERSION-r1" + else + NEXT_VERSION="$INPUT_VERSION-r$(($LATEST_REVISION_NUMBER + 1))" + fi + echo $NEXT_VERSION + echo "tag=$NEXT_VERSION" >> $GITHUB_OUTPUT + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + # role-to-assume: arn:aws:iam::123456789012:role/my-github-actions-role + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + with: + mask-password: 'true' + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.REGESTRY_USERNAME }} + password: ${{ secrets.REGESTRY_PASSWORD }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Retag and Push Docker Image + env: + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + IMAGE_TAG: ${{ steps.next_version.outputs.tag }} + run: | + docker buildx imagetools create $ECR_REGISTRY/$ECR_REPOSITORY:latest --tag $TARGET_REGISTRY/$TARGET_REPOSITORY:$IMAGE_TAG --tag $TARGET_REGISTRY/$TARGET_REPOSITORY:latest + + - name: Summarize + env: + ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} + IMAGE_TAG: ${{ steps.next_version.outputs.tag }} + run: | + echo "## General information about the build:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "- :whale: Docker image: $TARGET_REGISTRY/$TARGET_REPOSITORY:$IMAGE_TAG" >> $GITHUB_STEP_SUMMARY + echo "- :octocat: The commit SHA from which the build was performed: [$GITHUB_SHA](https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA)" >> $GITHUB_STEP_SUMMARY + + From 23fca715bfaa89f72e921d1f7728244fcf2faa71 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Fri, 19 Jul 2024 16:42:19 +0400 Subject: [PATCH 05/29] EPMRPP-93055 || EPMRPP-93054 || Bugfixes related to unique errors (#3924) * EPMRPP-93055 || Pagination is broken in "Unique errors" tab * EPMRPP-93054 || Clusters are not sorted from higher number of failed tests to lower by default * EPMRPP-93055 || code review fix - 1 --- app/src/controllers/uniqueErrors/sagas.js | 2 +- app/src/controllers/uniqueErrors/selectors.js | 4 ++-- .../uniqueErrorsGrid/uniqueErrorsGrid.jsx | 5 +++-- .../pages/inside/uniqueErrorsPage/uniqueErrorsPage.jsx | 10 +++------- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/app/src/controllers/uniqueErrors/sagas.js b/app/src/controllers/uniqueErrors/sagas.js index 973d0373f9..ba43be4b48 100644 --- a/app/src/controllers/uniqueErrors/sagas.js +++ b/app/src/controllers/uniqueErrors/sagas.js @@ -78,7 +78,7 @@ function* fetchClusters(payload = {}) { yield call(fetchParentLaunch, { payload: { project, launchId } }); } - const query = yield select(queryParametersSelector); + const query = yield select(queryParametersSelector, NAMESPACE); let url; const requestParams = {}; const plugin = yield call(getPlugin); diff --git a/app/src/controllers/uniqueErrors/selectors.js b/app/src/controllers/uniqueErrors/selectors.js index 3e3591aec5..2100fc8c48 100644 --- a/app/src/controllers/uniqueErrors/selectors.js +++ b/app/src/controllers/uniqueErrors/selectors.js @@ -14,7 +14,7 @@ * limitations under the License. */ -import { formatSortingString, SORTING_ASC } from 'controllers/sorting'; +import { formatSortingString, SORTING_DESC } from 'controllers/sorting'; import { createQueryParametersSelector } from 'controllers/pages'; const domainSelector = (state) => state.uniqueErrors || {}; @@ -24,7 +24,7 @@ export const loadingSelector = (state) => domainSelector(state).loading; export const clustersSelector = (state) => domainSelector(state).clusters || []; export const uniqueErrorsPaginationSelector = (state) => domainSelector(state).pagination; -export const DEFAULT_SORTING = formatSortingString(['matchedTests'], SORTING_ASC); +export const DEFAULT_SORTING = formatSortingString(['matchedTests'], SORTING_DESC); export const queryParametersSelector = createQueryParametersSelector({ defaultSorting: DEFAULT_SORTING, }); diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx index e9863c9cfe..dd06d54081 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx @@ -27,7 +27,7 @@ import { extractNamespacedQuery } from 'common/utils/routingUtils'; import { NAMESPACE } from 'controllers/uniqueErrors'; import { querySelector } from 'controllers/pages'; import { ExtensionLoader } from 'components/extensionLoader'; -import { SORTING_ASC, withSortingURL } from 'controllers/sorting'; +import { SORTING_DESC, withSortingURL } from 'controllers/sorting'; import { EmptyUniqueErrors } from '../emptyUniqueErrors'; import { ClusterItemsGridRow } from './clusterItemsGridRow'; import styles from './uniqueErrorsGrid.scss'; @@ -122,5 +122,6 @@ UniqueErrorsGridWrapped.defaultProps = { export const UniqueErrorsGrid = withSortingURL({ defaultFields: [MATCHED_TESTS_COLUMN_ID], - defaultDirection: SORTING_ASC, + defaultDirection: SORTING_DESC, + namespace: NAMESPACE, })(UniqueErrorsGridWrapped); diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsPage.jsx b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsPage.jsx index 1ac4f80d92..bc434b099e 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsPage.jsx +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsPage.jsx @@ -18,18 +18,14 @@ import React, { Component } from 'react'; import { PageLayout, PageSection } from 'layouts/pageLayout'; import { connect } from 'react-redux'; import track from 'react-tracking'; -import { - deleteTestItemsAction, - launchSelector, - namespaceSelector, - parentItemSelector, -} from 'controllers/testItem'; +import { deleteTestItemsAction, launchSelector, parentItemSelector } from 'controllers/testItem'; import { clustersSelector, fetchClustersAction, loadingSelector, pageLoadingSelector, uniqueErrorsPaginationSelector, + NAMESPACE, } from 'controllers/uniqueErrors'; import PropTypes from 'prop-types'; import { SpinningPreloader } from 'components/preloaders/spinningPreloader'; @@ -108,7 +104,7 @@ const UNLINK_ISSUE_EVENTS_INFO = { ) @withPagination({ paginationSelector: uniqueErrorsPaginationSelector, - namespaceSelector, + namespace: NAMESPACE, }) @injectIntl @track({ page: UNIQUE_ERRORS_PAGE }) From 458fed50ea32ab0dc678a6212e3f6535df526e66 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:49:36 +0400 Subject: [PATCH 06/29] EPMRPP-89423 || Add 2 events for Login page (#3927) * EPMRPP-89423 || Add 2 events for Login page * EPMRPP-92637 || small adjustments * EPMRPP-89423 | Code review dix - 1 --- .../main/analytics/AnalyticsWrapper.jsx | 7 ++-- .../events/ga4Events/loginPageEvents.js | 18 ++++++++++ .../main/analytics/events/loginPageEvents.js | 35 ------------------- app/src/pages/outside/loginPage/loginPage.jsx | 15 ++++++-- .../socialsBlock/socialsBlock.jsx | 26 +++++++++----- 5 files changed, 52 insertions(+), 49 deletions(-) create mode 100644 app/src/components/main/analytics/events/ga4Events/loginPageEvents.js diff --git a/app/src/components/main/analytics/AnalyticsWrapper.jsx b/app/src/components/main/analytics/AnalyticsWrapper.jsx index d95822a916..ec140a6196 100644 --- a/app/src/components/main/analytics/AnalyticsWrapper.jsx +++ b/app/src/components/main/analytics/AnalyticsWrapper.jsx @@ -51,10 +51,11 @@ export const analyticsEventObserver = ReactObserver(); const eventParameters = { instanceID: instanceId, version: getAppVersion(buildVersion), - uid: `${userId}|${instanceId}`, - auto_analysis: getAutoAnalysisEventValue(isAnalyzerAvailable, isAutoAnalyzerEnabled), - pattern_analysis: normalizeDimensionValue(isPatternAnalyzerEnabled), + auto_analysis: + getAutoAnalysisEventValue(isAnalyzerAvailable, isAutoAnalyzerEnabled) || 'not_set', + pattern_analysis: normalizeDimensionValue(isPatternAnalyzerEnabled) || 'not_set', timestamp: Date.now(), + uid: `${userId}|${instanceId}`, ...(!isAdmin && { project_id: `${projectInfoId}|${instanceId}` }), ...omit(data, data.place ? ['action'] : ['action', 'place']), }; diff --git a/app/src/components/main/analytics/events/ga4Events/loginPageEvents.js b/app/src/components/main/analytics/events/ga4Events/loginPageEvents.js new file mode 100644 index 0000000000..9e6a7985d7 --- /dev/null +++ b/app/src/components/main/analytics/events/ga4Events/loginPageEvents.js @@ -0,0 +1,18 @@ +import { getBasicClickEventParameters } from '../common/ga4Utils'; + +const LOGIN_PAGE = 'login_page'; + +export const LOGIN_PAGE_EVENTS = { + clickOnSocialIcon: (iconType) => { + return { + ...getBasicClickEventParameters(LOGIN_PAGE), + element_name: iconType, + place: 'footer', + }; + }, + CLICK_ON_RPP_LOGO: { + ...getBasicClickEventParameters(LOGIN_PAGE), + element_name: 'logo', + place: 'header', + }, +}; diff --git a/app/src/components/main/analytics/events/loginPageEvents.js b/app/src/components/main/analytics/events/loginPageEvents.js index ca260522e4..a699d4232a 100644 --- a/app/src/components/main/analytics/events/loginPageEvents.js +++ b/app/src/components/main/analytics/events/loginPageEvents.js @@ -21,39 +21,4 @@ export const LOGIN_PAGE_EVENTS = { action: 'Click on News Link on Page Login', label: link, }), - CLICK_GITHUB_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Github on Welcome screen', - label: 'Transition to Github', - }, - CLICK_FACEBOOK_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Facebook on Welcome screen', - label: 'Transition to Facebook', - }, - CLICK_TWEETER_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Tweeter on Welcome screen', - label: 'Transition to Tweeter', - }, - CLICK_YOUTUBE_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon YouTube on Welcome screen', - label: 'Transition to YouTube', - }, - CLICK_LINKEDIN_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Linkedin on Welcome screen', - label: 'Transition to Linkedin', - }, - CLICK_SLACK_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Slack on Welcome screen', - label: 'Transition to Slack', - }, - CLICK_MAIL_ICON: { - category: LOGIN_PAGE, - action: 'Click on Icon Mail on Welcome screen', - label: 'Arise Mail window', - }, }; diff --git a/app/src/pages/outside/loginPage/loginPage.jsx b/app/src/pages/outside/loginPage/loginPage.jsx index 51ceb060d1..af5891e5bb 100644 --- a/app/src/pages/outside/loginPage/loginPage.jsx +++ b/app/src/pages/outside/loginPage/loginPage.jsx @@ -20,12 +20,13 @@ import classNames from 'classnames/bind'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { referenceDictionary, connectRouter } from 'common/utils'; -import { LOGIN_PAGE } from 'components/main/analytics/events'; import { showDefaultErrorNotification } from 'controllers/notification'; import { uiExtensionLoginPageSelector } from 'controllers/plugins/uiExtensions'; import { ExtensionLoader } from 'components/extensionLoader'; import { instanceTypeSelector } from 'controllers/appInfo/selectors'; import { EPAM, SAAS } from 'controllers/appInfo/constants'; +import { LOGIN_PAGE_EVENTS } from 'components/main/analytics/events/ga4Events/loginPageEvents'; +import { LOGIN_PAGE } from 'components/main/analytics/events'; import styles from './loginPage.scss'; import { LoginPageSection } from './loginPageSection'; import { SocialSection } from './socialSection'; @@ -65,6 +66,10 @@ export class LoginPage extends PureComponent { extensions: PropTypes.array, showDefaultErrorNotification: PropTypes.func, instanceType: PropTypes.string.isRequired, + tracking: PropTypes.shape({ + trackEvent: PropTypes.func, + getTrackingData: PropTypes.func, + }).isRequired, }; static defaultProps = { forgotPass: '', @@ -115,14 +120,18 @@ export class LoginPage extends PureComponent { }; render() { - const { registration, instanceType } = this.props; + const { registration, instanceType, tracking } = this.props; const currentBlock = this.getCurrentBlock(); return (
- + tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_ON_RPP_LOGO)} + >
diff --git a/app/src/pages/outside/loginPage/socialSection/socialsBlock/socialsBlock.jsx b/app/src/pages/outside/loginPage/socialSection/socialsBlock/socialsBlock.jsx index ffcedd6f59..37708e650e 100644 --- a/app/src/pages/outside/loginPage/socialSection/socialsBlock/socialsBlock.jsx +++ b/app/src/pages/outside/loginPage/socialSection/socialsBlock/socialsBlock.jsx @@ -18,12 +18,22 @@ import { Component } from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames/bind'; import track from 'react-tracking'; -import { LOGIN_PAGE_EVENTS } from 'components/main/analytics/events'; import { referenceDictionary } from 'common/utils'; +import { LOGIN_PAGE_EVENTS } from 'components/main/analytics/events/ga4Events/loginPageEvents'; import styles from './socialsBlock.scss'; const cx = classNames.bind(styles); +const socials = { + github: 'GitHub', + facebook: 'Facebook', + twitter: 'Twitter', + youtube: 'YouTube', + linkedin: 'LinkedIn', + slack: 'Slack', + mail: 'mail', +}; + @track() export class SocialsBlock extends Component { static propTypes = { @@ -37,7 +47,7 @@ export class SocialsBlock extends Component { return (
tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_GITHUB_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.github))} href={referenceDictionary.rpGitHub} target="_blank" className={cx('social-link', 'gh-icon')} @@ -45,7 +55,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_FACEBOOK_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.facebook))} href={referenceDictionary.rpFacebook} target="_blank" className={cx('social-link', 'fb-icon')} @@ -53,7 +63,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_TWEETER_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.twitter))} href={referenceDictionary.rpTwitter} target="_blank" className={cx('social-link', 'tw-icon')} @@ -61,7 +71,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_YOUTUBE_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.youtube))} href={referenceDictionary.rpYoutube} target="_blank" className={cx('social-link', 'yt-icon')} @@ -69,7 +79,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_LINKEDIN_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.linkedin))} href={referenceDictionary.rpLinkedin} target="_blank" className={cx('social-link', 'linkedin-icon')} @@ -77,7 +87,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_SLACK_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.slack))} href={referenceDictionary.rpSlack} target="_blank" className={cx('social-link', 'slk-icon')} @@ -85,7 +95,7 @@ export class SocialsBlock extends Component { {} tracking.trackEvent(LOGIN_PAGE_EVENTS.CLICK_MAIL_ICON)} + onClick={() => tracking.trackEvent(LOGIN_PAGE_EVENTS.clickOnSocialIcon(socials.mail))} href={referenceDictionary.rpEmail} target="_blank" className={cx('social-link', 'mail-icon')} From 86fe0dbd00de10a55fa77235e4b886e08ff2db5c Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 22 Jul 2024 13:19:53 +0200 Subject: [PATCH 07/29] EPMRPP-91756 || Remove old plugins mechanism (#3925) * EPMRPP-91756 || Remove old plugins mechanism * EPMRPP-91756 || Rename metadata to manifest. Adjust extensions selectors and sagas * EPMRPP-91756 || Update CSP * EPMRPP-91756 || Update unit tests --- .../standaloneExtensionLoader.jsx | 1 - app/src/components/extensionLoader/utils.js | 24 ++- app/src/components/integrations/constants.js | 3 +- .../elements/pluginIcon/pluginIcon.jsx | 57 +----- app/src/controllers/plugins/index.js | 3 +- app/src/controllers/plugins/reducer.js | 3 +- app/src/controllers/plugins/sagas.js | 21 +-- .../plugins/uiExtensions/actions.js | 28 +-- .../plugins/uiExtensions/constants.js | 34 ++-- .../plugins/uiExtensions/createImportProps.js | 4 +- .../controllers/plugins/uiExtensions/hooks.js | 5 +- .../controllers/plugins/uiExtensions/index.js | 3 +- .../plugins/uiExtensions/overrideExtension.js | 18 +- .../plugins/uiExtensions/reducer.js | 29 +-- .../plugins/uiExtensions/registerPlugin.jsx | 27 +-- .../controllers/plugins/uiExtensions/sagas.js | 138 ++++++-------- .../plugins/uiExtensions/sagas.test.js | 169 ++++-------------- .../plugins/uiExtensions/selectors.js | 35 ++-- .../uiExtensions/uiExtensionStorage.js | 2 - .../controllers/plugins/uiExtensions/utils.js | 23 +++ app/src/controllers/plugins/utils.js | 8 +- nginx.conf | 12 +- 22 files changed, 227 insertions(+), 420 deletions(-) delete mode 100644 app/src/controllers/plugins/uiExtensions/uiExtensionStorage.js create mode 100644 app/src/controllers/plugins/uiExtensions/utils.js diff --git a/app/src/components/extensionLoader/standaloneExtensionLoader/standaloneExtensionLoader.jsx b/app/src/components/extensionLoader/standaloneExtensionLoader/standaloneExtensionLoader.jsx index c00ed6593a..02e7158b68 100644 --- a/app/src/components/extensionLoader/standaloneExtensionLoader/standaloneExtensionLoader.jsx +++ b/app/src/components/extensionLoader/standaloneExtensionLoader/standaloneExtensionLoader.jsx @@ -21,7 +21,6 @@ import { userInfoSelector } from 'controllers/user'; import { projectInfoSelector } from 'controllers/project'; import { extensionType } from '../extensionTypes'; -// http://localhost:3000/#superadmin_personal/plugin/BrowserKube // TODO: add loader while loading the iframe // TODO: configure sandbox for iframe function StandaloneExtensionLoader({ extension, userInfo, projectInfo }) { diff --git a/app/src/components/extensionLoader/utils.js b/app/src/components/extensionLoader/utils.js index 13affb52ce..a3ce14ec85 100644 --- a/app/src/components/extensionLoader/utils.js +++ b/app/src/components/extensionLoader/utils.js @@ -1,14 +1,32 @@ +/* + * Copyright 2024 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { URLS } from 'common/urls'; +import { MAIN_FILE_KEY } from 'controllers/plugins/uiExtensions/constants'; const DEFAULT_EXTENSION_FILE_NAME = 'remoteEntity.js'; export const getExtensionUrl = (extension) => { const isDev = process.env.NODE_ENV === 'development'; - const { pluginName, url: defaultUrl } = extension; + const { pluginName, url: defaultUrl, binaryData } = extension; + const fileName = binaryData[MAIN_FILE_KEY] || DEFAULT_EXTENSION_FILE_NAME; if (isDev && defaultUrl) { - return `${defaultUrl}/${DEFAULT_EXTENSION_FILE_NAME}`; + return `${defaultUrl}/${fileName}`; } - return URLS.pluginPublicFile(pluginName, DEFAULT_EXTENSION_FILE_NAME); + return URLS.pluginPublicFile(pluginName, fileName); }; diff --git a/app/src/components/integrations/constants.js b/app/src/components/integrations/constants.js index 5877a24fe2..cdcd441117 100644 --- a/app/src/components/integrations/constants.js +++ b/app/src/components/integrations/constants.js @@ -1,5 +1,5 @@ /* - * Copyright 2019 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import LdapIcon from 'common/img/plugins/ldap.png'; import DefaultPluginIcon from 'common/img/plugins/default-plugin-icon.svg'; import ActiveDirectoryIcon from 'common/img/plugins/activeDirectory.png'; +// Constants for plugins that do not provide UI extensions in their bundles export const PLUGIN_NAME_TITLES = { [JIRA]: 'JIRA Server', [RALLY]: 'RALLY', diff --git a/app/src/components/integrations/elements/pluginIcon/pluginIcon.jsx b/app/src/components/integrations/elements/pluginIcon/pluginIcon.jsx index ea6f6530fb..099e0ef674 100644 --- a/app/src/components/integrations/elements/pluginIcon/pluginIcon.jsx +++ b/app/src/components/integrations/elements/pluginIcon/pluginIcon.jsx @@ -1,5 +1,5 @@ /* - * Copyright 2021 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,62 +15,25 @@ */ import React from 'react'; -import { useSelector } from 'react-redux'; import PropTypes from 'prop-types'; import { URLS } from 'common/urls'; -import { activeProjectSelector } from 'controllers/user'; -import { COMMAND_GET_FILE } from 'controllers/plugins/uiExtensions/constants'; -import { globalIntegrationsSelector } from 'controllers/plugins/selectors'; -import { - filterIntegrationsByName, - isPluginSupportsAllowedCommand, - isPluginSupportsCommonCommand, -} from 'controllers/plugins/utils'; +import { ICON_FILE_KEY } from 'controllers/plugins/uiExtensions/constants'; import { PLUGIN_DEFAULT_IMAGE, PLUGIN_IMAGES_MAP } from 'components/integrations/constants'; import { Image } from 'components/main/image'; export const PluginIcon = ({ pluginData, className, ...rest }) => { - const { details, name, enabled } = pluginData; - const isDynamicIconAvailable = details?.binaryData?.icon; - const projectId = useSelector(activeProjectSelector); - const globalIntegrations = useSelector(globalIntegrationsSelector); + const { details, name } = pluginData; + const isDynamicIconAvailable = details?.binaryData?.[ICON_FILE_KEY]; - const calculateIconParams = () => { - const commandParams = { method: 'PUT', data: { fileKey: 'icon' } }; - - if (isDynamicIconAvailable && enabled) { - const isCommonCommandSupported = isPluginSupportsCommonCommand(pluginData, COMMAND_GET_FILE); - const isAllowedCommandSupported = isPluginSupportsAllowedCommand( - pluginData, - COMMAND_GET_FILE, - ); - - if (isCommonCommandSupported) { - return { - url: URLS.pluginCommandCommon(projectId, name, COMMAND_GET_FILE), - requestParams: commandParams, - }; - } - - const integration = filterIntegrationsByName(globalIntegrations, name)[0]; - if (integration && isAllowedCommandSupported) { - return { - url: URLS.projectIntegrationByIdCommand(projectId, integration.id, COMMAND_GET_FILE), - requestParams: commandParams, - }; - } - - return { - url: URLS.pluginPublicFile(name, details.binaryData.icon), - }; + const calculateIconUrl = () => { + if (isDynamicIconAvailable) { + return URLS.pluginPublicFile(name, details.binaryData[ICON_FILE_KEY]); } - return { - url: PLUGIN_IMAGES_MAP[name] || PLUGIN_DEFAULT_IMAGE, - }; + return PLUGIN_IMAGES_MAP[name] || PLUGIN_DEFAULT_IMAGE; }; - const { url, requestParams } = calculateIconParams(); + const url = calculateIconUrl(); return (
@@ -78,7 +41,6 @@ export const PluginIcon = ({ pluginData, className, ...rest }) => { src={url} fallback={PLUGIN_DEFAULT_IMAGE} isStatic={!isDynamicIconAvailable} - requestParams={requestParams} preloaderColor="charcoal" className={className} {...rest} @@ -86,7 +48,6 @@ export const PluginIcon = ({ pluginData, className, ...rest }) => {
); }; - PluginIcon.propTypes = { pluginData: PropTypes.object, className: PropTypes.string, diff --git a/app/src/controllers/plugins/index.js b/app/src/controllers/plugins/index.js index fd285d0632..1cbd39eb65 100644 --- a/app/src/controllers/plugins/index.js +++ b/app/src/controllers/plugins/index.js @@ -37,8 +37,8 @@ export { isPostIssueActionAvailable, isAuthorizationPlugin, isPluginSwitchable, - isPluginSupportsCommonCommand, } from './utils'; +export { isPluginSupportsCommonCommand } from './uiExtensions/utils'; export { pluginsSelector, pluginByNameSelector, @@ -62,7 +62,6 @@ export { pluginSagas } from './sagas'; export { uiExtensionSettingsTabsSelector, uiExtensionAdminPagesSelector, - extensionsLoadedSelector, uiExtensionSidebarComponentsSelector, uiExtensionLaunchItemComponentsSelector, uiExtensionIntegrationSettingsSelector, diff --git a/app/src/controllers/plugins/reducer.js b/app/src/controllers/plugins/reducer.js index 5ecae02772..49ea489a41 100644 --- a/app/src/controllers/plugins/reducer.js +++ b/app/src/controllers/plugins/reducer.js @@ -119,9 +119,10 @@ export const integrationsReducer = (state = {}, { type = '', payload = {} }) => } }; +// TODO: store remote plugins separately export const pluginsReducer = combineReducers({ plugins: queueReducers(fetchReducer(NAMESPACE), updatePluginLocallyReducer), - publicPlugins: fetchReducer(PUBLIC_PLUGINS), + publicPlugins: queueReducers(fetchReducer(PUBLIC_PLUGINS), updatePluginLocallyReducer), integrations: integrationsReducer, uiExtensions: uiExtensionsReducer, pluginsLoading: loadingReducer(NAMESPACE), diff --git a/app/src/controllers/plugins/sagas.js b/app/src/controllers/plugins/sagas.js index 83c13635fd..5a526d90c8 100644 --- a/app/src/controllers/plugins/sagas.js +++ b/app/src/controllers/plugins/sagas.js @@ -1,5 +1,5 @@ /* - * Copyright 2019 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,7 +38,6 @@ import { REMOVE_INTEGRATION, FETCH_GLOBAL_INTEGRATIONS, SECRET_FIELDS_KEY, - FETCH_GLOBAL_INTEGRATIONS_SUCCESS, UPDATE_PLUGIN_SUCCESS, PUBLIC_PLUGINS, } from './constants'; @@ -56,7 +55,7 @@ import { fetchGlobalIntegrationsSuccessAction, removeGlobalIntegrationsByTypeSuccessAction, } from './actionCreators'; -import { fetchUiExtensions, fetchExtensionsMetadata } from './uiExtensions'; +import { fetchExtensionManifests, fetchExtensionManifest } from './uiExtensions'; function* addIntegration({ payload: { data, isGlobal, pluginName, callback }, meta }) { yield put(showScreenLockAction()); @@ -255,19 +254,15 @@ function* watchRemovePlugin() { yield takeEvery(REMOVE_PLUGIN, removePlugin); } -// TODO: in the future plugins with js parts should not depend on integrations, only on plugins. -function* watchPluginChange() { +function* watchPluginListFetch() { yield takeEvery( - [createFetchPredicate(NAMESPACE), FETCH_GLOBAL_INTEGRATIONS_SUCCESS, UPDATE_PLUGIN_SUCCESS], - fetchUiExtensions, + [createFetchPredicate(NAMESPACE), createFetchPredicate(PUBLIC_PLUGINS)], + fetchExtensionManifests, ); } -function* watchPublicPluginChange() { - yield takeEvery( - [createFetchPredicate(PUBLIC_PLUGINS), UPDATE_PLUGIN_SUCCESS], - fetchExtensionsMetadata, - ); +function* watchPluginChange() { + yield takeEvery(UPDATE_PLUGIN_SUCCESS, fetchExtensionManifest); } export function* pluginSagas() { @@ -281,6 +276,6 @@ export function* pluginSagas() { watchFetchPublicPlugins(), watchRemovePlugin(), watchPluginChange(), - watchPublicPluginChange(), + watchPluginListFetch(), ]); } diff --git a/app/src/controllers/plugins/uiExtensions/actions.js b/app/src/controllers/plugins/uiExtensions/actions.js index a224c47284..69cac9dd97 100644 --- a/app/src/controllers/plugins/uiExtensions/actions.js +++ b/app/src/controllers/plugins/uiExtensions/actions.js @@ -1,5 +1,5 @@ /* - * Copyright 2020 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,25 +14,13 @@ * limitations under the License. */ -import { - EXTENSION_LOAD_FINISH, - EXTENSION_LOAD_START, - FETCH_EXTENSIONS_METADATA_SUCCESS, - UPDATE_EXTENSION_METADATA, -} from './constants'; +import { FETCH_EXTENSION_MANIFESTS_SUCCESS, UPDATE_EXTENSION_MANIFEST } from './constants'; -export const extensionLoadStartAction = () => ({ - type: EXTENSION_LOAD_START, +export const fetchExtensionManifestsSuccessAction = (extensionManifests) => ({ + type: FETCH_EXTENSION_MANIFESTS_SUCCESS, + payload: extensionManifests, }); -export const extensionLoadFinishAction = () => ({ - type: EXTENSION_LOAD_FINISH, -}); - -export const fetchExtensionsMetadataSuccessAction = (extensionsMetadata) => ({ - type: FETCH_EXTENSIONS_METADATA_SUCCESS, - payload: extensionsMetadata, -}); -export const updateExtensionMetadataAction = (extensionMetadata) => ({ - type: UPDATE_EXTENSION_METADATA, - payload: extensionMetadata, +export const updateExtensionManifestAction = (extensionManifest) => ({ + type: UPDATE_EXTENSION_MANIFEST, + payload: extensionManifest, }); diff --git a/app/src/controllers/plugins/uiExtensions/constants.js b/app/src/controllers/plugins/uiExtensions/constants.js index 3b872cfd15..156e75eb81 100644 --- a/app/src/controllers/plugins/uiExtensions/constants.js +++ b/app/src/controllers/plugins/uiExtensions/constants.js @@ -1,7 +1,23 @@ +/* + * Copyright 2024 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// extension types export const EXTENSION_TYPE_SETTINGS_TAB = 'uiExtension:settingsTab'; export const EXTENSION_TYPE_ADMIN_SIDEBAR_COMPONENT = 'uiExtension:adminSidebarComponent'; export const EXTENSION_TYPE_ADMIN_PAGE = 'uiExtension:adminPage'; -export const EXTENSION_TYPE_MODAL = 'uiExtension:modal'; export const EXTENSION_TYPE_SIDEBAR_COMPONENT = 'uiExtension:sidebarComponent'; export const EXTENSION_TYPE_LAUNCH_ITEM_COMPONENT = 'uiExtension:launchItemComponent'; export const EXTENSION_TYPE_INTEGRATION_FORM_FIELDS = 'uiExtension:integrationFormFields'; @@ -22,22 +38,20 @@ export const EXTENSION_TYPE_LOG_STACKTRACE_ADDON = 'uiExtension:logStacktraceAdd export const EXTENSION_TYPE_TEST_ITEM_DETAILS_ADDON = 'uiExtension:testItemDetailsAddon'; export const EXTENSION_TYPE_PROJECT_PAGE = 'uiExtension:projectPage'; -export const COMMAND_GET_FILE = 'getFile'; +// plugin commands export const COMMAND_GET_ISSUE_TYPES = 'getIssueTypes'; export const COMMAND_GET_ISSUE_FIELDS = 'getIssueFields'; export const COMMAND_POST_ISSUE = 'postTicket'; export const COMMAND_GET_ISSUE = 'getIssue'; export const COMMAND_GET_CLUSTERS = 'getClusters'; -export const EXTENSION_LOAD_START = 'extensionLoadStart'; -export const EXTENSION_LOAD_FINISH = 'extensionLoadFinish'; - -/* New plugins mechanism related code below */ - -export const METADATA_FILE_KEY = 'metadata'; +// core files keys +export const MANIFEST_FILE_KEY = 'metadata'; export const MAIN_FILE_KEY = 'main'; +export const ICON_FILE_KEY = 'icon'; -export const FETCH_EXTENSIONS_METADATA_SUCCESS = 'fetchExtensionsMetadataSuccess'; -export const UPDATE_EXTENSION_METADATA = 'updateExtensionMetadata'; +// redux actions +export const FETCH_EXTENSION_MANIFESTS_SUCCESS = 'fetchExtensionManifestsSuccess'; +export const UPDATE_EXTENSION_MANIFEST = 'updateExtensionManifest'; export const PLUGIN_TYPE_REMOTE = 'remote'; diff --git a/app/src/controllers/plugins/uiExtensions/createImportProps.js b/app/src/controllers/plugins/uiExtensions/createImportProps.js index fd410446ac..85ffd636e4 100644 --- a/app/src/controllers/plugins/uiExtensions/createImportProps.js +++ b/app/src/controllers/plugins/uiExtensions/createImportProps.js @@ -1,5 +1,5 @@ /* - * Copyright 2020 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -225,7 +225,7 @@ const INPUTS = { WithAsyncLoading, }; -// TODO: in the future these components and other stuff will be shared via WMF +// TODO: share these components and other stuff via WMF and ui-kit library export const createImportProps = (pluginName) => ({ lib: { React, diff --git a/app/src/controllers/plugins/uiExtensions/hooks.js b/app/src/controllers/plugins/uiExtensions/hooks.js index 2a0fcb1d7e..11bfe27aa5 100644 --- a/app/src/controllers/plugins/uiExtensions/hooks.js +++ b/app/src/controllers/plugins/uiExtensions/hooks.js @@ -7,7 +7,10 @@ export const useActivePluginPageExtension = (extensionsSelector) => { const activePluginPage = useSelector(pluginPageSelector); const extension = React.useMemo( - () => extensions.find((ex) => ex.internalRoute === activePluginPage), + () => + extensions.find( + (ex) => activePluginPage === ex.internalRoute || activePluginPage === ex.name, + ), [extensions, activePluginPage], ); diff --git a/app/src/controllers/plugins/uiExtensions/index.js b/app/src/controllers/plugins/uiExtensions/index.js index 00f1b40071..e6eab3b3b3 100644 --- a/app/src/controllers/plugins/uiExtensions/index.js +++ b/app/src/controllers/plugins/uiExtensions/index.js @@ -1,8 +1,7 @@ -export { fetchUiExtensions, fetchExtensionsMetadata } from './sagas'; +export { fetchExtensionManifests, fetchExtensionManifest } from './sagas'; export { uiExtensionSettingsTabsSelector, uiExtensionAdminPagesSelector, - extensionsLoadedSelector, uiExtensionSidebarComponentsSelector, uiExtensionAdminSidebarComponentsSelector, uiExtensionLaunchItemComponentsSelector, diff --git a/app/src/controllers/plugins/uiExtensions/overrideExtension.js b/app/src/controllers/plugins/uiExtensions/overrideExtension.js index d3779860a9..d750d5391c 100644 --- a/app/src/controllers/plugins/uiExtensions/overrideExtension.js +++ b/app/src/controllers/plugins/uiExtensions/overrideExtension.js @@ -1,14 +1,20 @@ -import { updateExtensionMetadataAction } from './actions'; -import { METADATA_FILE_KEY } from './constants'; +import { pluginByNameSelector } from 'controllers/plugins'; +import { updateExtensionManifestAction } from './actions'; +import { MANIFEST_FILE_KEY } from './constants'; // TODO: restrict access to this function (f.e. only for admins) export const createExtensionOverrider = (store) => async (pluginName, url) => { - const response = await fetch(`${url}/${METADATA_FILE_KEY}.json`, { + const plugin = pluginByNameSelector(store); + + const manifestFileName = + plugin.details?.binaryData?.[MANIFEST_FILE_KEY] || `${MANIFEST_FILE_KEY}.json`; + + const response = await fetch(`${url}/${manifestFileName}`, { contentType: 'application/json', }); - const metadata = await response.json(); + const manifest = await response.json(); - store.dispatch(updateExtensionMetadataAction({ ...metadata, pluginName, url })); + store.dispatch(updateExtensionManifestAction({ ...manifest, pluginName, url })); - return metadata; + return manifest; }; diff --git a/app/src/controllers/plugins/uiExtensions/reducer.js b/app/src/controllers/plugins/uiExtensions/reducer.js index e5da15f563..2e8be66bec 100644 --- a/app/src/controllers/plugins/uiExtensions/reducer.js +++ b/app/src/controllers/plugins/uiExtensions/reducer.js @@ -1,5 +1,5 @@ /* - * Copyright 2020 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,29 +15,13 @@ */ import { combineReducers } from 'redux'; -import { - EXTENSION_LOAD_FINISH, - EXTENSION_LOAD_START, - FETCH_EXTENSIONS_METADATA_SUCCESS, - UPDATE_EXTENSION_METADATA, -} from './constants'; +import { FETCH_EXTENSION_MANIFESTS_SUCCESS, UPDATE_EXTENSION_MANIFEST } from './constants'; -const extensionsLoadedReducer = (state = false, { type = '' }) => { +const extensionManifestsReducer = (state = [], { type = '', payload = {} }) => { switch (type) { - case EXTENSION_LOAD_START: - return false; - case EXTENSION_LOAD_FINISH: - return true; - default: - return state; - } -}; - -const extensionsMetadataReducer = (state = [], { type = '', payload = {} }) => { - switch (type) { - case FETCH_EXTENSIONS_METADATA_SUCCESS: + case FETCH_EXTENSION_MANIFESTS_SUCCESS: return payload; - case UPDATE_EXTENSION_METADATA: + case UPDATE_EXTENSION_MANIFEST: return state.map((item) => { if (item.pluginName === payload.pluginName) { return payload; @@ -50,6 +34,5 @@ const extensionsMetadataReducer = (state = [], { type = '', payload = {} }) => { }; export const uiExtensionsReducer = combineReducers({ - uiExtensionsLoaded: extensionsLoadedReducer, - extensionsMetadata: extensionsMetadataReducer, + extensionManifests: extensionManifestsReducer, }); diff --git a/app/src/controllers/plugins/uiExtensions/registerPlugin.jsx b/app/src/controllers/plugins/uiExtensions/registerPlugin.jsx index 5e74591f88..7c099f8611 100644 --- a/app/src/controllers/plugins/uiExtensions/registerPlugin.jsx +++ b/app/src/controllers/plugins/uiExtensions/registerPlugin.jsx @@ -1,36 +1,11 @@ -import { getModal, addModal } from 'controllers/modal'; -import { uiExtensionMap } from './uiExtensionStorage'; -import { createImportProps } from './createImportProps'; import { createExtensionOverrider } from './overrideExtension'; -import { EXTENSION_TYPE_MODAL } from './constants'; window.RP = {}; -// TODO: remove legacy extensions when all existing plugins will be migrated to the new engine -// TODO: store will be used later to add new routes -// eslint-disable-next-line no-unused-vars -const createPluginRegistrationFunction = (store) => (plugin) => { - const { name, extensions } = plugin; - const importProps = createImportProps(name); - const wrappedExtensions = extensions.map((extension, i) => ({ - name: `${name}__${i}`, - pluginName: name, - ...extension, - component: (props) => , - })); - wrappedExtensions.forEach((ex) => { - if (ex.type === EXTENSION_TYPE_MODAL && !getModal({ id: ex.name })) { - addModal(ex.name, ex.component); - } - }); - uiExtensionMap.set(name, wrappedExtensions); -}; - export const initPluginRegistration = (store) => { - const registerPlugin = createPluginRegistrationFunction(store); + // allows overriding plugin UI extensions in favor of separately hosted files (e.g. locally hosted plugin files) const overrideExtension = createExtensionOverrider(store); window.RP = { - registerPlugin, overrideExtension, }; }; diff --git a/app/src/controllers/plugins/uiExtensions/sagas.js b/app/src/controllers/plugins/uiExtensions/sagas.js index 2b00740b7e..4f1695c78b 100644 --- a/app/src/controllers/plugins/uiExtensions/sagas.js +++ b/app/src/controllers/plugins/uiExtensions/sagas.js @@ -1,38 +1,47 @@ -import { select, call, put } from 'redux-saga/effects'; +/* + * Copyright 2024 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { select, put } from 'redux-saga/effects'; import { URLS } from 'common/urls'; import { fetch } from 'common/utils/fetch'; -import { activeProjectSelector } from 'controllers/user'; import { PUBLIC_PLUGINS } from 'controllers/plugins/constants'; -import { COMMAND_GET_FILE, METADATA_FILE_KEY, MAIN_FILE_KEY } from './constants'; -import { pluginsSelector, globalIntegrationsSelector, publicPluginsSelector } from '../selectors'; -import { filterIntegrationsByName, isPluginSupportsCommonCommand } from '../utils'; -import { - extensionLoadFinishAction, - extensionLoadStartAction, - fetchExtensionsMetadataSuccessAction, -} from './actions'; +import { isPluginManifestAvailable } from './utils'; +import { MANIFEST_FILE_KEY } from './constants'; +import { pluginsSelector, publicPluginsSelector } from '../selectors'; +import { fetchExtensionManifestsSuccessAction, updateExtensionManifestAction } from './actions'; + +const fetchPluginManifest = ({ details, name }) => { + const manifestFileName = details.binaryData[MANIFEST_FILE_KEY]; + + return fetch(URLS.pluginPublicFile(name, manifestFileName), { + contentType: 'application/json', + }); +}; -export function* fetchExtensionsMetadata(action) { - const isPublicPluginNamespace = action && action.meta.namespace === PUBLIC_PLUGINS; +export function* fetchExtensionManifests(action) { + const isPublicPluginNamespace = action?.meta?.namespace === PUBLIC_PLUGINS; const plugins = yield select(isPublicPluginNamespace ? publicPluginsSelector : pluginsSelector); - const uiExtensionPlugins = plugins?.filter( - (plugin) => - plugin.enabled && - plugin.details?.binaryData?.[METADATA_FILE_KEY] && - plugin.details.binaryData[MAIN_FILE_KEY], - ); + const uiExtensionPlugins = plugins?.filter(isPluginManifestAvailable); if (!uiExtensionPlugins?.length) { return; } - // TODO: discuss with BE whether we can fetch plugins metadata via single API call - const calls = uiExtensionPlugins.map((plugin) => { - const metadataFile = plugin.details.binaryData[METADATA_FILE_KEY]; - return fetch(URLS.pluginPublicFile(plugin.name, metadataFile), { - contentType: 'application/json', - }); - }); + // TODO: discuss with BE whether all plugin manifests can be fetched via a single API call + const calls = uiExtensionPlugins.map(fetchPluginManifest); if (calls.length === 0) { return; @@ -44,80 +53,41 @@ export function* fetchExtensionsMetadata(action) { if (result.status !== 'fulfilled') { return acc; } + const { name: pluginName, details } = uiExtensionPlugins[index]; return acc.concat({ ...result.value, - pluginName: uiExtensionPlugins[index].name, + pluginName, + // TODO: make the entry point and other binary data part of the manifest on the plugin side + binaryData: details.binaryData, }); }, []); - yield put(fetchExtensionsMetadataSuccessAction(metadataArray)); + yield put(fetchExtensionManifestsSuccessAction(metadataArray)); } catch (error) { - console.error('Plugins metadata load error'); // eslint-disable-line no-console + console.error('Plugin manifests load error'); // eslint-disable-line no-console } } -// TODO: remove legacy extensions when all existing plugins will be migrated to the new engine -export function* fetchUiExtensions() { - yield call(fetchExtensionsMetadata); - // TODO: In the future plugins with js parts should not depend on integrations, only on plugins. - // TODO: This should be removed when common getFile plugin command will be presented in all plugins with js files. - const globalIntegrations = yield select(globalIntegrationsSelector); - if (!globalIntegrations?.length) { - return; - } - - const plugins = yield select(pluginsSelector); - const uiExtensionPlugins = plugins.filter( - (plugin) => - plugin.enabled && - plugin.details?.binaryData?.[MAIN_FILE_KEY] && - (isPluginSupportsCommonCommand(plugin, COMMAND_GET_FILE) || - plugin.details.allowedCommands.includes(COMMAND_GET_FILE)), - ); - const activeProject = yield select(activeProjectSelector); - const calls = uiExtensionPlugins - .map((plugin) => { - const isCommonCommandSupported = isPluginSupportsCommonCommand(plugin, COMMAND_GET_FILE); - let url; +export function* fetchExtensionManifest({ payload: plugin }) { + const isManifestAvailable = isPluginManifestAvailable(plugin); - if (isCommonCommandSupported) { - url = URLS.pluginCommandCommon(activeProject, plugin.name, COMMAND_GET_FILE); - } else { - const integration = filterIntegrationsByName(globalIntegrations, plugin.name)[0]; - if (!integration) { - return null; - } - url = URLS.projectIntegrationByIdCommand(activeProject, integration.id, COMMAND_GET_FILE); - } - - return fetch(url, { - method: 'PUT', - data: { fileKey: 'main' }, - }); - }) - .filter(Boolean); - if (calls.length === 0) { + if (!isManifestAvailable) { return; } - yield put(extensionLoadStartAction()); + const { name: pluginName, details } = plugin; try { - const results = yield Promise.allSettled(calls); + const manifest = yield fetchPluginManifest(plugin); - results.forEach((result) => { - if (result.status === 'fulfilled') { - try { - eval(result.value); // eslint-disable-line no-eval - } catch { - console.error('Failed to execute the code'); // eslint-disable-line no-console - } - } else { - console.error(result.reason); // eslint-disable-line no-console - } - }); + yield put( + updateExtensionManifestAction({ + ...manifest, + pluginName, + // TODO: make the entry point and other binary data part of the manifest on the plugin side + binaryData: details.binaryData, + }), + ); } catch (error) { - console.error('Plugin load error'); // eslint-disable-line no-console + console.error(`${pluginName} plugin manifest load error`); // eslint-disable-line no-console } - - yield put(extensionLoadFinishAction()); } diff --git a/app/src/controllers/plugins/uiExtensions/sagas.test.js b/app/src/controllers/plugins/uiExtensions/sagas.test.js index dc76a10cf1..a78c574b80 100644 --- a/app/src/controllers/plugins/uiExtensions/sagas.test.js +++ b/app/src/controllers/plugins/uiExtensions/sagas.test.js @@ -1,13 +1,16 @@ import { runSaga } from 'redux-saga'; import { fetch } from 'common/utils/fetch'; -import { fetchUiExtensions } from './sagas'; +import { fetchExtensionManifestsSuccessAction } from 'controllers/plugins/uiExtensions/actions'; +import { fetchExtensionManifests } from './sagas'; jest.mock('common/utils/fetch'); +jest.mock('controllers/plugins/uiExtensions/actions'); -fetch.mockImplementation(() => {}); +fetch.mockImplementation(() => Promise.resolve({ name: 'extension1' })); +fetchExtensionManifestsSuccessAction.mockImplementation(() => ({ type: 'test', payload: [] })); describe('controllers/plugins/uiExtensions/sagas', () => { - describe('fetchUiExtensions', () => { + describe('fetchExtensionManifests', () => { beforeEach(() => { fetch.mockClear(); }); @@ -20,106 +23,40 @@ describe('controllers/plugins/uiExtensions/sagas', () => { { getState: () => state, }, - fetchUiExtensions, + fetchExtensionManifests, ).done; expect(fetch).not.toHaveBeenCalled(); + expect(fetchExtensionManifestsSuccessAction).not.toHaveBeenCalled(); }); - test('should do nothing in case of no plugins with binaryData or getFile command found', async () => { + test('should do nothing in case of no plugins with binaryData and manifest file found', async () => { const state = { - user: { - activeProject: 'testProject', - }, - plugins: [ - { - name: 'plugin1', - enabled: true, - details: { - binaryData: { - main: 'main.js', - }, - }, - }, - { - name: 'plugin2', - enabled: true, - details: { - allowedCommands: ['getFile'], - }, - }, - ], - integrations: { - globalIntegrations: [ - { - id: 123, - enabled: true, - integrationType: { - name: 'plugin1', - enabled: true, - details: { - binaryData: { - main: 'main.js', - }, - }, - }, - }, - { - id: 124, - enabled: true, - integrationType: { - name: 'plugin2', - enabled: true, - details: { - allowedCommands: ['getFile'], - }, - }, - }, - ], - }, - }; - await runSaga( - { - getState: () => state, - }, - fetchUiExtensions, - ).done; - expect(fetch).not.toHaveBeenCalled(); - }); - test('should not send response for plugins without global integration', async () => { - const state = { - user: { - activeProject: 'testProject', - }, plugins: { plugins: [ { name: 'plugin1', enabled: true, - details: { - binaryData: { - main: 'main.js', - }, - }, + details: {}, }, { name: 'plugin2', enabled: true, details: { - allowedCommands: ['getFile'], + binaryData: {}, }, }, ], - integrations: { globalIntegrations: [] }, }, }; await runSaga( { getState: () => state, }, - fetchUiExtensions, + fetchExtensionManifests, ).done; expect(fetch).not.toHaveBeenCalled(); + expect(fetchExtensionManifestsSuccessAction).not.toHaveBeenCalled(); }); - test('should not execute getFile command for disabled plugins', async () => { + test('should not fetch manifests for disabled plugins', async () => { const state = { user: { activeProject: 'testProject', @@ -129,84 +66,35 @@ describe('controllers/plugins/uiExtensions/sagas', () => { { name: 'plugin1', enabled: false, - details: { binaryData: { main: 'main.js' }, allowedCommands: ['getFile'] }, + details: { binaryData: { metadata: 'manifest.json' } }, }, ], - integrations: { - globalIntegrations: [ - { - id: 123, - integrationType: { - name: 'plugin1', - enabled: false, - details: { - binaryData: { - main: 'main.js', - }, - allowedCommands: ['getFile'], - }, - }, - }, - ], - }, }, }; await runSaga( { getState: () => state, }, - fetchUiExtensions, + fetchExtensionManifests, ).done; expect(fetch).not.toHaveBeenCalled(); + expect(fetchExtensionManifestsSuccessAction).not.toHaveBeenCalled(); }); - test('should execute getFile command for plugins with a file', async () => { + test('should fetch manifests for enabled plugins with manifest file present', async () => { const state = { - user: { - activeProject: 'testProject', - }, plugins: { plugins: [ { name: 'plugin1', enabled: true, - details: { binaryData: { main: 'main.js' }, allowedCommands: ['getFile'] }, + details: { binaryData: { metadata: 'manifest.json' } }, }, { name: 'plugin2', enabled: true, - details: { binaryData: { main: 'main.js' }, allowedCommands: ['getFile'] }, + details: { binaryData: { metadata: 'manifest2.json' } }, }, ], - integrations: { - globalIntegrations: [ - { - id: 123, - enabled: true, - integrationType: { - name: 'plugin1', - enabled: true, - details: { - binaryData: { - main: 'main.js', - }, - allowedCommands: ['getFile'], - }, - }, - }, - { - id: 124, - enabled: true, - integrationType: { - name: 'plugin2', - enabled: true, - details: { - binaryData: { main: 'main.js' }, - allowedCommands: ['getFile'], - }, - }, - }, - ], - }, }, }; await runSaga( @@ -214,17 +102,20 @@ describe('controllers/plugins/uiExtensions/sagas', () => { dispatch: () => {}, getState: () => state, }, - fetchUiExtensions, + fetchExtensionManifests, ).done; expect(fetch).toHaveBeenCalledTimes(2); - expect(fetch).toHaveBeenCalledWith('../api/v1/integration/testProject/123/getFile', { - method: 'PUT', - data: { fileKey: 'main' }, + expect(fetch).toHaveBeenCalledWith('../api/v1/plugin/public/plugin1/file/manifest.json', { + contentType: 'application/json', }); - expect(fetch).toHaveBeenCalledWith('../api/v1/integration/testProject/124/getFile', { - method: 'PUT', - data: { fileKey: 'main' }, + expect(fetch).toHaveBeenCalledWith('../api/v1/plugin/public/plugin2/file/manifest2.json', { + contentType: 'application/json', }); + expect(fetchExtensionManifestsSuccessAction).toHaveBeenCalledTimes(1); + expect(fetchExtensionManifestsSuccessAction).toHaveBeenCalledWith([ + { name: 'extension1', pluginName: 'plugin1', binaryData: { metadata: 'manifest.json' } }, + { name: 'extension1', pluginName: 'plugin2', binaryData: { metadata: 'manifest2.json' } }, + ]); }); }); }); diff --git a/app/src/controllers/plugins/uiExtensions/selectors.js b/app/src/controllers/plugins/uiExtensions/selectors.js index 85c78344f1..d3d4ea47a9 100644 --- a/app/src/controllers/plugins/uiExtensions/selectors.js +++ b/app/src/controllers/plugins/uiExtensions/selectors.js @@ -41,39 +41,28 @@ import { enabledPluginNamesSelector, enabledPublicPluginNamesSelector, } from '../selectors'; -import { uiExtensionMap } from './uiExtensionStorage'; -export const extensionsLoadedSelector = (state) => - domainSelector(state).uiExtensions.uiExtensionsLoaded; - -const extensionsMetadataSelector = (state) => - domainSelector(state).uiExtensions.extensionsMetadata || []; +const extensionManifestsSelector = (state) => + domainSelector(state).uiExtensions.extensionManifests || []; const createExtensionSelectorByType = (type, pluginNamesSelector = enabledPluginNamesSelector) => createSelector( pluginNamesSelector, - extensionsMetadataSelector, - extensionsLoadedSelector, - (pluginNames, extensionsMetadata) => { - // TODO: remove legacy extensions when all existing plugins will be migrated to the new engine - const uiExtensions = Array.from(uiExtensionMap.entries()) - .filter(([name]) => pluginNames.includes(name)) - .map(([, extensions]) => extensions); - - // TODO: update 'pluginType' usage once the backend will be ready - const newExtensions = extensionsMetadata + extensionManifestsSelector, + (enabledPluginNames, extensionManifests) => { + // TODO: update 'pluginType' usage once the backend for remote plugins will be ready + const uiExtensions = extensionManifests .filter( ({ pluginName, pluginType }) => - pluginNames.includes(pluginName) || pluginType === PLUGIN_TYPE_REMOTE, + enabledPluginNames.includes(pluginName) || pluginType === PLUGIN_TYPE_REMOTE, ) - .map(({ extensions, ...commonMetadata }) => - extensions.map((ext) => ({ ...ext, ...commonMetadata })), + .reduce( + (acc, { extensions, ...commonManifestProperties }) => + acc.concat(extensions.map((ext) => ({ ...ext, ...commonManifestProperties }))), + [], ); - return uiExtensions - .concat(newExtensions) - .reduce((acc, val) => acc.concat(val), []) - .filter((extension) => extension.type === type); + return uiExtensions.filter((extension) => extension.type === type); }, ); diff --git a/app/src/controllers/plugins/uiExtensions/uiExtensionStorage.js b/app/src/controllers/plugins/uiExtensions/uiExtensionStorage.js deleted file mode 100644 index 7d601bd661..0000000000 --- a/app/src/controllers/plugins/uiExtensions/uiExtensionStorage.js +++ /dev/null @@ -1,2 +0,0 @@ -// TODO: remove legacy extensions when all existing plugins will be migrated to the new engine -export const uiExtensionMap = new Map(); diff --git a/app/src/controllers/plugins/uiExtensions/utils.js b/app/src/controllers/plugins/uiExtensions/utils.js new file mode 100644 index 0000000000..d6d000002d --- /dev/null +++ b/app/src/controllers/plugins/uiExtensions/utils.js @@ -0,0 +1,23 @@ +/* + * Copyright 2024 EPAM Systems + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { MANIFEST_FILE_KEY } from './constants'; + +export const isPluginSupportsCommonCommand = ({ enabled, details }, command) => + enabled && details?.commonCommands?.length && details.commonCommands.includes(command); + +export const isPluginManifestAvailable = ({ enabled, details }) => + enabled && details?.binaryData?.[MANIFEST_FILE_KEY]; diff --git a/app/src/controllers/plugins/utils.js b/app/src/controllers/plugins/utils.js index f3d2d91d0c..7b8774f215 100644 --- a/app/src/controllers/plugins/utils.js +++ b/app/src/controllers/plugins/utils.js @@ -1,5 +1,5 @@ /* - * Copyright 2019 EPAM Systems + * Copyright 2024 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -62,9 +62,3 @@ export const filterAvailablePlugins = (plugins = []) => return item.enabled && item.groupType !== AUTHORIZATION_GROUP_TYPE && isEmbedded; }); - -export const isPluginSupportsCommonCommand = ({ enabled, details }, command) => - enabled && details?.commonCommands?.length && details.commonCommands.includes(command); - -export const isPluginSupportsAllowedCommand = ({ enabled, details }, command) => - enabled && details?.allowedCommands?.length && details.allowedCommands.includes(command); diff --git a/nginx.conf b/nginx.conf index 0c3f279153..6f6e6b903c 100644 --- a/nginx.conf +++ b/nginx.conf @@ -37,7 +37,7 @@ http { add_header X-Frame-Options "DENY"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /index.html; } @@ -46,20 +46,20 @@ http { add_header X-Frame-Options "DENY"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /index.html; } # build info location /info { add_header Cache-Control "public, must-revalidate"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /buildInfo.json 404; } location /ui/info { add_header Cache-Control "public, must-revalidate"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /buildInfo.json 404; } @@ -79,7 +79,7 @@ http { add_header Cache-Control "public, must-revalidate"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /media/$1 404; } @@ -88,7 +88,7 @@ http { add_header Cache-Control "public, must-revalidate"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; - add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' 'unsafe-eval' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; + add_header Content-Security-Policy "object-src 'none'; default-src 'self' data: *.uservoice.com; script-src 'self' status.reportportal.io www.google-analytics.com www.googletagmanager.com stats.g.doubleclick.net *.saucelabs.com *.epam.com *.uservoice.com *.rawgit.com; worker-src 'self' blob:; font-src 'self' data: fonts.googleapis.com fonts.gstatic.com *.rawgit.com; style-src-elem 'self' data: 'unsafe-inline' *.googleapis.com *.rawgit.com; style-src 'self' 'unsafe-inline' https://tagmanager.google.com; media-src 'self' *.saucelabs.com *.browserstack.com blob:; img-src * 'self' data: blob: http: https: www.google-analytics.com; connect-src 'self' *.google-analytics.com *.analytics.google.com https://stats.g.doubleclick.net; frame-src 'self' https://webto.salesforce.com"; try_files $uri /$1 404; } } From b6070df1ab615303c8d0801480a4c80b14a8c1c5 Mon Sep 17 00:00:00 2001 From: Ilya Date: Mon, 22 Jul 2024 14:52:37 +0200 Subject: [PATCH 08/29] Update release.yml --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 482c53dfd5..0f0a3236dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,7 +67,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: v${{ github.event.inputs.version }} + tag_name: ${{ github.event.inputs.version }} release_name: Release ${{ github.event.inputs.version }} draft: false prerelease: false From 5c7f530d1154c2ce22a9f4e55a55691356e8bde3 Mon Sep 17 00:00:00 2001 From: Vadim73i <55870906+Vadim73i@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:38:53 +0300 Subject: [PATCH 09/29] EPMRPP-87094 || Integration connection section layout is broken with long integration name (#3930) --- .../connectionSection/connectionSection.jsx | 2 +- .../connectionSection/connectionSection.scss | 8 ++++++++ .../integrationCollectionItem.jsx | 4 +++- .../integrationCollectionItem.scss | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/components/integrations/elements/integrationSettings/connectionSection/connectionSection.jsx b/app/src/components/integrations/elements/integrationSettings/connectionSection/connectionSection.jsx index 93b524ee80..d1ff969e34 100644 --- a/app/src/components/integrations/elements/integrationSettings/connectionSection/connectionSection.jsx +++ b/app/src/components/integrations/elements/integrationSettings/connectionSection/connectionSection.jsx @@ -201,7 +201,7 @@ export class ConnectionSection extends Component { blocked: blocked && availableProjectIntegrations.length, })} > -

{name}

+

{name}

-

{title}

+

+ {title} +

{!connected && ( {formatMessage(messages.ConnectionErrorMessage)} diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/integrations/integrationsList/integrationInfo/integrationCollection/integrationCollectionItem/integrationCollectionItem.scss b/app/src/pages/inside/projectSettingsPageContainer/content/integrations/integrationsList/integrationInfo/integrationCollection/integrationCollectionItem/integrationCollectionItem.scss index b42bb435ba..d8770935b0 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/integrations/integrationsList/integrationInfo/integrationCollection/integrationCollectionItem/integrationCollectionItem.scss +++ b/app/src/pages/inside/projectSettingsPageContainer/content/integrations/integrationsList/integrationInfo/integrationCollection/integrationCollectionItem/integrationCollectionItem.scss @@ -56,6 +56,8 @@ } .item-data { + width: 100%; + .general-info { display: flex; align-items: flex-start; @@ -67,6 +69,8 @@ font-size: 20px; font-family: $FONT-REGULAR; line-height: 31px; + text-overflow: ellipsis; + overflow: hidden; } .connection-error-message { padding: 5px 8px 4px; From 46e801d3f619d6e2cd9ab0a5078e17ddf4be4236 Mon Sep 17 00:00:00 2001 From: Vadim73i <55870906+Vadim73i@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:22:41 +0300 Subject: [PATCH 10/29] EPMRPP-81950 || modal focus issue fix (#3933) --- app/src/componentLibrary/modal/modalLayout/modalLayout.jsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx b/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx index c39115a461..24cef71644 100644 --- a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx +++ b/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx @@ -81,9 +81,6 @@ export const ModalLayout = ({ useEffect(() => { document.addEventListener('keydown', onKeydown, false); setShown(true); - if (modalRef && modalRef.current) { - modalRef.current.focus(); - } return () => document.removeEventListener('keydown', onKeydown, false); }, []); @@ -111,6 +108,7 @@ export const ModalLayout = ({ animate={{ opacity: 1, marginTop: modalMargin }} exit={{ opacity: 0, marginTop: -modalMargin }} transition={{ duration: 0.3 }} + onAnimationComplete={() => modalRef.current?.focus()} > Date: Tue, 23 Jul 2024 13:41:43 +0200 Subject: [PATCH 11/29] Fix local plugins overriding (#3932) --- .../extensionLoader/extensionTypes.js | 17 +---------------- app/src/components/extensionLoader/utils.js | 2 +- .../plugins/uiExtensions/overrideExtension.js | 2 +- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/app/src/components/extensionLoader/extensionTypes.js b/app/src/components/extensionLoader/extensionTypes.js index e92f4c239b..2795501b97 100644 --- a/app/src/components/extensionLoader/extensionTypes.js +++ b/app/src/components/extensionLoader/extensionTypes.js @@ -17,17 +17,6 @@ import PropTypes from 'prop-types'; import { PLUGIN_TYPE_REMOTE } from 'controllers/plugins/uiExtensions/constants'; -/* TODO: remove legacy extensions when all existing plugins will be migrated to the new engine -and within next major version release */ -const oldExtensionType = PropTypes.shape({ - name: PropTypes.string.isRequired, - type: PropTypes.string.isRequired, - title: PropTypes.string, - component: PropTypes.func.isRequired, -}); - -/* New plugins mechanism related code below */ - const embeddedExtensionType = PropTypes.shape({ name: PropTypes.string.isRequired, title: PropTypes.string, @@ -51,8 +40,4 @@ const standaloneExtensionType = PropTypes.shape({ }), }); -export const extensionType = PropTypes.oneOfType([ - oldExtensionType, - embeddedExtensionType, - standaloneExtensionType, -]); +export const extensionType = PropTypes.oneOfType([embeddedExtensionType, standaloneExtensionType]); diff --git a/app/src/components/extensionLoader/utils.js b/app/src/components/extensionLoader/utils.js index a3ce14ec85..52a9b4ca9b 100644 --- a/app/src/components/extensionLoader/utils.js +++ b/app/src/components/extensionLoader/utils.js @@ -21,7 +21,7 @@ const DEFAULT_EXTENSION_FILE_NAME = 'remoteEntity.js'; export const getExtensionUrl = (extension) => { const isDev = process.env.NODE_ENV === 'development'; - const { pluginName, url: defaultUrl, binaryData } = extension; + const { pluginName, url: defaultUrl, binaryData = {} } = extension; const fileName = binaryData[MAIN_FILE_KEY] || DEFAULT_EXTENSION_FILE_NAME; if (isDev && defaultUrl) { diff --git a/app/src/controllers/plugins/uiExtensions/overrideExtension.js b/app/src/controllers/plugins/uiExtensions/overrideExtension.js index d750d5391c..7094bbe09e 100644 --- a/app/src/controllers/plugins/uiExtensions/overrideExtension.js +++ b/app/src/controllers/plugins/uiExtensions/overrideExtension.js @@ -4,7 +4,7 @@ import { MANIFEST_FILE_KEY } from './constants'; // TODO: restrict access to this function (f.e. only for admins) export const createExtensionOverrider = (store) => async (pluginName, url) => { - const plugin = pluginByNameSelector(store); + const plugin = pluginByNameSelector(store.getState(), pluginName); const manifestFileName = plugin.details?.binaryData?.[MANIFEST_FILE_KEY] || `${MANIFEST_FILE_KEY}.json`; From ddb9e708bdda693d8d1982ff8c1678c1fbe077cb Mon Sep 17 00:00:00 2001 From: Vadim73i <55870906+Vadim73i@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:55:21 +0300 Subject: [PATCH 12/29] EPMRPP-81950 || modal focus fix (#3934) --- app/src/componentLibrary/modal/modalLayout/modalLayout.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx b/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx index 24cef71644..eae0fd08f7 100644 --- a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx +++ b/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx @@ -108,7 +108,7 @@ export const ModalLayout = ({ animate={{ opacity: 1, marginTop: modalMargin }} exit={{ opacity: 0, marginTop: -modalMargin }} transition={{ duration: 0.3 }} - onAnimationComplete={() => modalRef.current?.focus()} + onAnimationStart={() => modalRef.current?.focus()} > Date: Tue, 23 Jul 2024 19:45:03 +0400 Subject: [PATCH 13/29] EPMRPP-93091 || Unique error page is blinking when expanding cluster (#3931) * EPMRPP-93091 | Unique error page is blinking when expanding cluster * EPMRPP-93091 | conde review -1 * Update app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss Co-authored-by: Ilya * Update app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.scss Co-authored-by: Ilya --------- Co-authored-by: Ilya --- .../clusterItemsGridRow.jsx | 4 ++-- .../clusterItemsGridRow.scss | 13 +++++++--- .../uniqueErrorsGrid/uniqueErrorsGrid.jsx | 24 ++++++++++++------- .../uniqueErrorsGrid/uniqueErrorsGrid.scss | 4 ++++ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx index 25c9aad25e..86b773c324 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.jsx @@ -134,11 +134,11 @@ export const ClusterItemsGridRow = ({ data, onEditItem, onUnlinkSingleTicket, on
{extensions.map((extension) => ( -
+
))} -
+
{matchedTests}
diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.scss b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.scss index 0e3f23cb16..2393135995 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.scss +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/clusterItemsGridRow/clusterItemsGridRow.scss @@ -30,6 +30,14 @@ &-full-width { width: 100%; } + + &.matched-tests { + width: 130px; + } + + &.extension-col { + width: 165px; + } } .matched-tests-col-text { @@ -37,11 +45,10 @@ font-family: $FONT-REGULAR; font-size: 12px; text-align: right; - right: 24px; + padding-right: 24px; display: block; width: 130px; - top: 12px; - position: absolute; + padding-top: 12px; } .expand-col { diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx index dd06d54081..ca1b2b8c60 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.jsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React from 'react'; +import React, { useMemo } from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames/bind'; import { Grid } from 'components/main/grid'; @@ -62,17 +62,25 @@ export const UniqueErrorsGridWrapped = ({ parentLaunch, data, loading, ...rest } }, ]; - if (extensions.length) { - extensions.forEach((extension) => { - columns.push({ + const memoizedExtensionsColumns = useMemo(() => { + if (!extensions.length) return []; + + return extensions.map((extension) => { + const MemoizedComponent = (params) => ( +
+ +
+ ); + + return { title: { - component: (params) => , + component: MemoizedComponent, }, - }); + }; }); - } + }, [extensions]); - columns.push({ + columns.push(...memoizedExtensionsColumns, { id: MATCHED_TESTS_COLUMN_ID, title: { full: 'MATCHED TESTS', diff --git a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss index 2192f81607..3a41f6aa38 100644 --- a/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss +++ b/app/src/pages/inside/uniqueErrorsPage/uniqueErrorsGrid/uniqueErrorsGrid.scss @@ -25,3 +25,7 @@ .matched-header{ width: 130px; } + +.extension-col { + width: 165px; +} From dcc61918fe5934f76d0e64e8631d98e8160e608f Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 12:25:12 +0200 Subject: [PATCH 14/29] Create build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/build-revision-image.yaml diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml new file mode 100644 index 0000000000..ce0e69b7d6 --- /dev/null +++ b/.github/workflows/build-revision-image.yaml @@ -0,0 +1,18 @@ +name: Build revision Docker image + +on: + workflow_dispatch: + inputs: + version: + description: 'Release version' + required: true + +jobs: + call-docker-build: + name: Call develop Docker build + uses: reportportal/.github/.github/workflows/build-docker-image.yaml@main + with: + aws-region: ${{ vars.AWS_REGION }} + image-tag: '${{ github.event.inputs.version }}' + version: '${{ github.event.inputs.version }}' + secrets: inherit From a5189b8db5875db405e727b66b1a65dbf5ee0fe5 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:47:18 +0400 Subject: [PATCH 15/29] EPMRPP-89691 || Update event parameter "pattern_analysis" (#3928) --- app/src/controllers/appInfo/selectors.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/controllers/appInfo/selectors.js b/app/src/controllers/appInfo/selectors.js index 0035ea2568..e19a3c4ad7 100644 --- a/app/src/controllers/appInfo/selectors.js +++ b/app/src/controllers/appInfo/selectors.js @@ -18,6 +18,7 @@ import { createSelector } from 'reselect'; import { idSelector, isAdminSelector } from 'controllers/user/selectors'; import { autoAnalysisEnabledSelector, + enabledPattersSelector, patternAnalysisEnabledSelector, projectInfoIdSelector, } from 'controllers/project/selectors'; @@ -77,6 +78,7 @@ export const baseEventParametersSelector = createSelector( projectInfoIdSelector, isAdminSelector, analyzerExtensionsSelector, + enabledPattersSelector, ( instanceId, buildVersion, @@ -86,12 +88,14 @@ export const baseEventParametersSelector = createSelector( projectInfoId, isAdmin, analyzerExtensions, + enabledPatterns, ) => ({ instanceId, buildVersion, userId, isAutoAnalyzerEnabled, - isPatternAnalyzerEnabled, + isPatternAnalyzerEnabled: + !!enabledPatterns.length && String(isPatternAnalyzerEnabled) === 'true', projectInfoId, isAdmin, isAnalyzerAvailable: !!analyzerExtensions.length, From f1e5e889cd5ff6429d03dbefba2acd0c6c2603f0 Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 12:54:28 +0200 Subject: [PATCH 16/29] Update build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 33 ++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml index ce0e69b7d6..d719589146 100644 --- a/.github/workflows/build-revision-image.yaml +++ b/.github/workflows/build-revision-image.yaml @@ -6,13 +6,38 @@ on: version: description: 'Release version' required: true - + jobs: + variables-setup: + name: Setting variables for docker build + runs-on: ubuntu-latest + environment: rc + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Create variables + id: vars + run: | + echo "platforms=${{ vars.BUILD_PLATFORMS }}" >> $GITHUB_OUTPUT + echo "version=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT + echo "tag=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT + echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT + outputs: + platforms: ${{ steps.vars.outputs.platforms }} + version: ${{ steps.vars.outputs.version }} + tag: ${{ steps.vars.outputs.tag }} + date: ${{ steps.vars.outputs.date }} + call-docker-build: - name: Call develop Docker build + name: Call release candidate Docker build + needs: variables-setup uses: reportportal/.github/.github/workflows/build-docker-image.yaml@main with: aws-region: ${{ vars.AWS_REGION }} - image-tag: '${{ github.event.inputs.version }}' - version: '${{ github.event.inputs.version }}' + image-tag: ${{ needs.variables-setup.outputs.tag }} + additional-tag: 'latest' + build-platforms: ${{ needs.variables-setup.outputs.platforms }} + version: ${{ needs.variables-setup.outputs.version }} + date: ${{ needs.variables-setup.outputs.date }} secrets: inherit From 3254b8718c789889204c7e2a1b9773282c771719 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:57:56 +0400 Subject: [PATCH 17/29] EPMRPP-92637 || Wrong value in "element_name" parameter is sent when clicking on Dashboard name (#3929) --- .../main/analytics/events/ga4Events/dashboardsPageEvents.js | 4 ++-- .../dashboardList/dashboardTable/dashboardTableColumns.jsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js b/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js index 3abf3bb407..1623136df2 100644 --- a/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js +++ b/app/src/components/main/analytics/events/ga4Events/dashboardsPageEvents.js @@ -95,9 +95,9 @@ export const DASHBOARD_EVENTS = { number: dashboardId, }), - clickOnDashboardName: (dashboardName, dashboardId) => ({ + clickOnDashboardName: (dashboardId) => ({ ...getBasicClickEventParameters(DASHBOARDS), - element_name: dashboardName, + element_name: 'dashboard_name', number: dashboardId, }), diff --git a/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx b/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx index bfb541c28f..28f4cf9fe1 100644 --- a/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx +++ b/app/src/pages/inside/dashboardPage/dashboardList/dashboardTable/dashboardTableColumns.jsx @@ -34,7 +34,7 @@ export const NameColumn = track()( className={cx(className, 'name')} to={{ type: PROJECT_DASHBOARD_ITEM_PAGE, payload: { projectId, dashboardId } }} onClick={() => { - trackEvent(DASHBOARD_EVENTS.clickOnDashboardName(name, dashboardId)); + trackEvent(DASHBOARD_EVENTS.clickOnDashboardName(dashboardId)); }} > {name} From 5ca19f2bfc0dcc0be937cb0e3dc1ec067cefb47f Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 13:09:41 +0200 Subject: [PATCH 18/29] Update build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml index d719589146..d6e4bb3691 100644 --- a/.github/workflows/build-revision-image.yaml +++ b/.github/workflows/build-revision-image.yaml @@ -13,9 +13,16 @@ jobs: runs-on: ubuntu-latest environment: rc steps: + - id: get_version + uses: oprypin/find-latest-tag@v1 + with: + releases-only: true + - name: Checkout uses: actions/checkout@v3 - + with: + ref: ${{ steps.get_version.outputs.tag }} + - name: Create variables id: vars run: | From fc1e014f39df0f5ea80c6c39d546422627078f05 Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 13:13:40 +0200 Subject: [PATCH 19/29] Update build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml index d6e4bb3691..6cb720dbcc 100644 --- a/.github/workflows/build-revision-image.yaml +++ b/.github/workflows/build-revision-image.yaml @@ -16,6 +16,7 @@ jobs: - id: get_version uses: oprypin/find-latest-tag@v1 with: + repository: ${{ github.repository }} releases-only: true - name: Checkout From 792ea15dda6b910d4d109bcf5dc54379ff447690 Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 13:17:49 +0200 Subject: [PATCH 20/29] Update build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml index 6cb720dbcc..b9b69fc378 100644 --- a/.github/workflows/build-revision-image.yaml +++ b/.github/workflows/build-revision-image.yaml @@ -22,7 +22,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - ref: ${{ steps.get_version.outputs.tag }} + ref: "refs/tags/${{ steps.get_version.outputs.tag }}" - name: Create variables id: vars From 26928980159520d80cf00a0afb351cba1575b4b6 Mon Sep 17 00:00:00 2001 From: Hleb Kanonik Date: Wed, 24 Jul 2024 13:52:35 +0200 Subject: [PATCH 21/29] Update build-revision-image.yaml --- .github/workflows/build-revision-image.yaml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/build-revision-image.yaml b/.github/workflows/build-revision-image.yaml index b9b69fc378..5092e075ea 100644 --- a/.github/workflows/build-revision-image.yaml +++ b/.github/workflows/build-revision-image.yaml @@ -12,18 +12,7 @@ jobs: name: Setting variables for docker build runs-on: ubuntu-latest environment: rc - steps: - - id: get_version - uses: oprypin/find-latest-tag@v1 - with: - repository: ${{ github.repository }} - releases-only: true - - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "refs/tags/${{ steps.get_version.outputs.tag }}" - + steps: - name: Create variables id: vars run: | From 5552917c16c70ae2330ee116e235ed82d95f03cb Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:08:27 +0400 Subject: [PATCH 22/29] EPMRPP-91529 || Launch merge. Incorrect limitation for value in the 'Description' field in the 'Merge Launches' modal (#3935) * EPMRPP-91529 || Launch merge. Incorrect limitation for value in the 'Description' field in the 'Merge Launches' modal * EPMRPP-91529 || translations --- app/localization/translated/be.json | 4 ++-- app/localization/translated/es.json | 4 ++-- app/localization/translated/ru.json | 2 +- app/localization/translated/uk.json | 4 ++-- app/localization/translated/zh.json | 4 ++-- app/src/common/utils/validation/validate.js | 2 +- app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx | 2 +- .../launchesPage/modals/launchMergeModal/launchMergeModal.jsx | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/localization/translated/be.json b/app/localization/translated/be.json index d763f3bd8f..e1d9c6ddcf 100644 --- a/app/localization/translated/be.json +++ b/app/localization/translated/be.json @@ -1133,8 +1133,8 @@ "LaunchLevelEntities.launchNumberEntityHint": "Гэты фільтр прымае толькі лічбы.", "LaunchLevelEntities.launchNumberPlaceholder": "Увядзіце нумар", "LaunchLevelEntities.ownerName.placeholder": "Увядзіце імя карыстальніка", - "LaunchMergeModal.launchDescriptionHint": "Description should have size not more than 1024 symbols.", - "LaunchMergeModal.launchNameHint": "Launch name should have size from 1 to 256.", + "LaunchMergeModal.launchDescriptionHint": "Апісанне павінна мець памер не больш за 2048 знакаў", + "LaunchMergeModal.launchNameHint": "Назва запуску павінна мець памер ад 1 да 256", "LaunchStatistics.noDataMessage": "Няма запускаў", "LaunchStatisticsControls.ContentFieldsValidationError": "Абярыце па меншай меры адзін элемент", "LaunchStatisticsControls.CriteriaFieldLabel": "Крытэрыі для віджэта", diff --git a/app/localization/translated/es.json b/app/localization/translated/es.json index f8c8b7b04e..db66b0bea4 100644 --- a/app/localization/translated/es.json +++ b/app/localization/translated/es.json @@ -1133,7 +1133,7 @@ "LaunchLevelEntities.launchNumberEntityHint": "Este filtro solo acepta números", "LaunchLevelEntities.launchNumberPlaceholder": "Ingrese el número", "LaunchLevelEntities.ownerName.placeholder": "Ingrese el nombre de usuario", - "LaunchMergeModal.launchDescriptionHint": "La descripción debe tener como máximo 1024 símbolos.", + "LaunchMergeModal.launchDescriptionHint": "La descripción debe tener como máximo 2048 símbolos.", "LaunchMergeModal.launchNameHint": "El nombre de la ejecución debe tener entre 1 y 256 caracteres.", "LaunchStatistics.noDataMessage": "No hay ejecuciones", "LaunchStatisticsControls.ContentFieldsValidationError": "Debe seleccionar al menos un elemento", @@ -2220,4 +2220,4 @@ "usersGrid.roleNonAdmin": "No Admin", "usersGrid.type": "Tipo", "usersGrid.user": "Usuario" -} \ No newline at end of file +} diff --git a/app/localization/translated/ru.json b/app/localization/translated/ru.json index 7515d12e42..89a544d2de 100644 --- a/app/localization/translated/ru.json +++ b/app/localization/translated/ru.json @@ -1133,7 +1133,7 @@ "LaunchLevelEntities.launchNumberEntityHint": "Этот фильтр принимает только цифры.", "LaunchLevelEntities.launchNumberPlaceholder": "Введите номер", "LaunchLevelEntities.ownerName.placeholder": "Введите имя пользователя", - "LaunchMergeModal.launchDescriptionHint": "Description should have size not more than 1024 symbols.", + "LaunchMergeModal.launchDescriptionHint": "Описание должно иметь размер не более 2048 символов", "LaunchMergeModal.launchNameHint": "Имя запуска должно быть длиной от 1 до 256.", "LaunchStatistics.noDataMessage": "Нет запусков", "LaunchStatisticsControls.ContentFieldsValidationError": "Необходимо выбрать минимум один элемент", diff --git a/app/localization/translated/uk.json b/app/localization/translated/uk.json index 852a002a4a..1245114387 100644 --- a/app/localization/translated/uk.json +++ b/app/localization/translated/uk.json @@ -1133,8 +1133,8 @@ "LaunchLevelEntities.launchNumberEntityHint": "Цей фільтр приймає тільки цифри.", "LaunchLevelEntities.launchNumberPlaceholder": "Введіть номер", "LaunchLevelEntities.ownerName.placeholder": "Введіть ім’я користувача", - "LaunchMergeModal.launchDescriptionHint": "Description should have size not more than 1024 symbols.", - "LaunchMergeModal.launchNameHint": "Launch name should have size from 1 to 256.", + "LaunchMergeModal.launchDescriptionHint": "Опис повинен мати розмір не більше 2048 символів", + "LaunchMergeModal.launchNameHint": "Назва запуску повинна мати розмір від 1 до 256", "LaunchStatistics.noDataMessage": "Запусків Немає", "LaunchStatisticsControls.ContentFieldsValidationError": "Потрібно вибрати принаймні один елемент", "LaunchStatisticsControls.CriteriaFieldLabel": "Критерії для віджету", diff --git a/app/localization/translated/zh.json b/app/localization/translated/zh.json index a7c2027081..871395b4e2 100644 --- a/app/localization/translated/zh.json +++ b/app/localization/translated/zh.json @@ -1133,7 +1133,7 @@ "LaunchLevelEntities.launchNumberEntityHint": "此过滤器仅接受数字", "LaunchLevelEntities.launchNumberPlaceholder": "请输入编号", "LaunchLevelEntities.ownerName.placeholder": "请输入所有者姓名", - "LaunchMergeModal.launchDescriptionHint": "描述文本的长度应不超过1024个字符", + "LaunchMergeModal.launchDescriptionHint": "描述文本的长度应不超过2048个字符", "LaunchMergeModal.launchNameHint": "测试任务名字的取值范围是1~256。", "LaunchStatistics.noDataMessage": "没有运行测试任务", "LaunchStatisticsControls.ContentFieldsValidationError": "您必须至少选择一项测试项", @@ -2220,4 +2220,4 @@ "usersGrid.roleNonAdmin": "非管理", "usersGrid.type": "类型", "usersGrid.user": "登录" -} \ No newline at end of file +} diff --git a/app/src/common/utils/validation/validate.js b/app/src/common/utils/validation/validate.js index 4fed6cc6d0..02d8086714 100644 --- a/app/src/common/utils/validation/validate.js +++ b/app/src/common/utils/validation/validate.js @@ -39,7 +39,7 @@ export const userName = composeValidators([ ]); export const filterName = composeValidators([isNotEmpty, lengthRange(3, 128)]); export const launchName = composeValidators([isNotEmpty, maxLength(256)]); -export const launchDescription = maxLength(1024); +export const launchDescription = maxLength(2048); export const dashboardName = composeValidators([isNotEmpty, lengthRange(3, 128)]); export const createDashboardNameUniqueValidator = (dashboardItems, dashboardItem) => (name) => !dashboardItems.some((dashboard) => dashboard.name === name && dashboard.id !== dashboardItem.id); diff --git a/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx b/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx index 0a9a5f3d67..0cd87b61ad 100644 --- a/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx +++ b/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx @@ -68,7 +68,7 @@ const messages = defineMessages({ }, launchDescriptionHint: { id: 'LaunchMergeModal.launchDescriptionHint', - defaultMessage: 'Description should have size not more than 1024 symbols.', + defaultMessage: 'Description should have size not more than 2048 symbols.', }, dashboardNameHint: { id: 'AddEditDashboard.dashboardNameHint', diff --git a/app/src/pages/inside/launchesPage/modals/launchMergeModal/launchMergeModal.jsx b/app/src/pages/inside/launchesPage/modals/launchMergeModal/launchMergeModal.jsx index 033aec0c57..445fa1dfdd 100644 --- a/app/src/pages/inside/launchesPage/modals/launchMergeModal/launchMergeModal.jsx +++ b/app/src/pages/inside/launchesPage/modals/launchMergeModal/launchMergeModal.jsx @@ -335,7 +335,7 @@ export class LaunchMergeModal extends Component { label={intl.formatMessage(messages.launchDescriptionLabel)} labelWidth={FIELD_LABEL_WIDTH} > - + From 14769598d0bf49f332724c2cd75f09d727573cf4 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Thu, 25 Jul 2024 18:04:34 +0400 Subject: [PATCH 23/29] EPMRPP-93183 || "Unique bugs table" widget is broken (#3937) * EPMRPP-93183 || "Unique bugs table" widget is broken * EPMRPP-93183 || code review fix -1 --- .../tables/uniqueBugsTable/uniqueBugsTable.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/components/widgets/singleLevelWidgets/tables/uniqueBugsTable/uniqueBugsTable.jsx b/app/src/components/widgets/singleLevelWidgets/tables/uniqueBugsTable/uniqueBugsTable.jsx index 4882b57919..e0953c0733 100644 --- a/app/src/components/widgets/singleLevelWidgets/tables/uniqueBugsTable/uniqueBugsTable.jsx +++ b/app/src/components/widgets/singleLevelWidgets/tables/uniqueBugsTable/uniqueBugsTable.jsx @@ -59,7 +59,7 @@ FoundInColumn.propTypes = ColumnProps; const SubmitDateColumn = ({ className, value: { submitDate = 0 } }, formatMessage) => (
{formatMessage(hintMessages.submitDateHint)} - +
); SubmitDateColumn.propTypes = ColumnProps; @@ -108,7 +108,6 @@ export class UniqueBugsTable extends PureComponent { render() { const { result } = this.props.widget.content; const data = Object.keys(result).map((key) => ({ id: key, ...result[key] })); - return ( From 64020acb7f9d12f85490b3aa657618109b5a0b96 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Mon, 29 Jul 2024 15:07:24 +0400 Subject: [PATCH 24/29] EPMRPP-88471 || Update dropdown options width (#3940) * EPMRPP-88471 || Update dropdown options width * EPMRPP-88471 || small adjustment * EPMRPP-88471 || code review - 1 --- .../componentLibrary/dropdown/dropdown.jsx | 37 ++++++++++--------- .../componentLibrary/dropdown/dropdown.scss | 9 ++++- .../dropdownOption/dropdownOption.jsx | 3 +- .../dropdownOption/dropdownOption.scss | 8 ++-- 4 files changed, 34 insertions(+), 23 deletions(-) diff --git a/app/src/componentLibrary/dropdown/dropdown.jsx b/app/src/componentLibrary/dropdown/dropdown.jsx index e130f52fd8..0f3fc5d6ec 100644 --- a/app/src/componentLibrary/dropdown/dropdown.jsx +++ b/app/src/componentLibrary/dropdown/dropdown.jsx @@ -167,23 +167,26 @@ export const Dropdown = ({ } }; - const renderOptions = () => - options.map((option, index) => ( - handleChange(option), - onMouseEnter: () => setHighlightedIndex(index), - })} - /> - )); + const renderOptions = () => ( +
+ {options.map((option, index) => ( + handleChange(option), + onMouseEnter: () => setHighlightedIndex(index), + })} + /> + ))} +
+ ); return ( diff --git a/app/src/componentLibrary/dropdown/dropdown.scss b/app/src/componentLibrary/dropdown/dropdown.scss index dac3fd0bc5..f3f10b70ac 100644 --- a/app/src/componentLibrary/dropdown/dropdown.scss +++ b/app/src/componentLibrary/dropdown/dropdown.scss @@ -109,7 +109,9 @@ margin-top: 5px; padding: 8px 0; display: none; - width: 100%; + width: max-content; + max-width: 384px; + min-width: 240px; min-height: 10px; background: $backgroundColor; box-shadow: $BOX_SHADOW--modal-window; @@ -191,6 +193,11 @@ } } +.options-container { + display: flex; + flex-direction: column; +} + .dark { &.dropdown { @include dropdown( diff --git a/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.jsx b/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.jsx index 999b268065..1a13d1cc2a 100644 --- a/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.jsx +++ b/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.jsx @@ -31,6 +31,7 @@ export const DropdownOption = React.forwardRef((props, ref) => { highlightHovered, onMouseEnter, } = props; + const onChangeHandler = () => onChange?.(value); return ( @@ -41,7 +42,7 @@ export const DropdownOption = React.forwardRef((props, ref) => { hidden, hover: highlightHovered, })} - title={(disabled && title) || undefined} + title={title} onClick={onChangeHandler} ref={ref} onMouseEnter={onMouseEnter} diff --git a/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.scss b/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.scss index 08162a3bc5..1a4bfa1fd6 100644 --- a/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.scss +++ b/app/src/componentLibrary/dropdown/dropdownOption/dropdownOption.scss @@ -16,8 +16,6 @@ @mixin dropdown-option($color) { display: inline-block; - width: 100%; - padding: 9px 12px 7px; font-family: $FONT-ROBOTO-REGULAR; font-size: 13px; color: $color; @@ -100,9 +98,11 @@ } .single-option { - display: flex; - align-items: center; height: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding: 9px 12px 7px; } .sub-option { From d37a16e0a39ee2c6f914026936b0cc16e8300941 Mon Sep 17 00:00:00 2001 From: Vadim73i <55870906+Vadim73i@users.noreply.github.com> Date: Tue, 30 Jul 2024 13:30:05 +0300 Subject: [PATCH 25/29] EPMRPP-91757 || use modal and toggle from ui kit (#3941) --- app/package-lock.json | 2762 ++++++++--------- app/package.json | 2 +- app/src/componentLibrary/modal/index.js | 20 - .../modal/modalLayout/README.md | 43 - .../modalLayout/img/close-icon-inline.svg | 3 - .../modal/modalLayout/modalContent/index.js | 17 - .../modalLayout/modalContent/modalContent.jsx | 30 - .../modalContent/modalContent.scss | 26 - .../modal/modalLayout/modalFooter/index.js | 17 - .../modalLayout/modalFooter/modalFooter.jsx | 83 - .../modalLayout/modalFooter/modalFooter.scss | 36 - .../modal/modalLayout/modalHeader/index.js | 17 - .../modalLayout/modalHeader/modalHeader.jsx | 46 - .../modalLayout/modalHeader/modalHeader.scss | 64 - .../modal/modalLayout/modalLayout.jsx | 167 - .../modal/modalLayout/modalLayout.scss | 88 - app/src/componentLibrary/toggle/README.md | 16 - app/src/componentLibrary/toggle/index.js | 17 - app/src/componentLibrary/toggle/toggle.jsx | 103 - app/src/componentLibrary/toggle/toggle.scss | 125 - .../addIntegrationModal.jsx | 11 +- .../deleteIntegraionModal.jsx | 10 +- .../plugins/uiExtensions/createImportProps.js | 10 +- .../generateIndexModal/generateIndexModal.jsx | 10 +- .../removeIndexModal/removeIndexModal.jsx | 10 +- .../addEditDefectTypeModal.jsx | 11 +- .../deleteDefectTypeModal.jsx | 10 +- .../ruleList/ruleItem/plain/ruleItem.jsx | 4 +- .../addEditNotificationModal.jsx | 15 +- .../deleteNotificationCaseModal.jsx | 10 +- .../content/notifications/notifications.jsx | 2 +- .../notifications/ruleGroup/ruleGroup.jsx | 5 +- .../createPatternAnalysisModal.jsx | 11 +- .../deletePatternRuleModal.jsx | 10 +- .../editPatternModal/editPatternModal.jsx | 10 +- .../serviceVersionBlockModal.jsx | 6 +- 36 files changed, 1391 insertions(+), 2436 deletions(-) delete mode 100644 app/src/componentLibrary/modal/index.js delete mode 100644 app/src/componentLibrary/modal/modalLayout/README.md delete mode 100644 app/src/componentLibrary/modal/modalLayout/img/close-icon-inline.svg delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalContent/index.js delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.jsx delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.scss delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalFooter/index.js delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.jsx delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.scss delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalHeader/index.js delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.jsx delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.scss delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalLayout.jsx delete mode 100644 app/src/componentLibrary/modal/modalLayout/modalLayout.scss delete mode 100644 app/src/componentLibrary/toggle/README.md delete mode 100644 app/src/componentLibrary/toggle/index.js delete mode 100644 app/src/componentLibrary/toggle/toggle.jsx delete mode 100644 app/src/componentLibrary/toggle/toggle.scss diff --git a/app/package-lock.json b/app/package-lock.json index e2aa667859..a7ffa3556c 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -12,7 +12,7 @@ "@formatjs/intl-pluralrules": "1.3.9", "@formatjs/intl-relativetimeformat": "4.5.1", "@formatjs/intl-utils": "1.6.0", - "@reportportal/ui-kit": "^0.0.1-alpha.10", + "@reportportal/ui-kit": "^0.0.1-alpha.15", "axios": "1.6.4", "c3": "0.7.20", "chart.js": "2.9.4", @@ -155,15 +155,6 @@ "why-did-you-update": "1.0.8" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -178,12 +169,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" }, "engines": { @@ -191,9 +182,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -230,12 +221,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dev": true, "dependencies": { - "@babel/types": "^7.24.0", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -245,38 +236,39 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -285,19 +277,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.0", "semver": "^6.3.1" }, "engines": { @@ -308,12 +298,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -325,9 +315,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", - "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -340,75 +330,42 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -418,35 +375,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -456,14 +413,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -473,103 +430,104 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -602,9 +560,9 @@ } }, "node_modules/@babel/node/node_modules/core-js": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz", - "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", "dev": true, "hasInstallScript": true, "funding": { @@ -619,9 +577,9 @@ "dev": true }, "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", + "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -631,12 +589,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -646,14 +604,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -663,13 +621,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -778,12 +736,12 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", - "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -817,12 +775,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -832,12 +790,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -871,12 +829,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -988,12 +946,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1019,12 +977,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1034,15 +992,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1052,14 +1010,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1069,12 +1027,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1084,12 +1042,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", - "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1099,13 +1057,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1115,13 +1073,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1132,18 +1090,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", + "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.0", "globals": "^11.1.0" }, "engines": { @@ -1154,13 +1110,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1170,12 +1126,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1185,13 +1141,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1201,12 +1157,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1216,12 +1172,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1232,13 +1188,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1248,12 +1204,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1264,13 +1220,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1280,14 +1236,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1297,12 +1253,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1313,12 +1269,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1328,12 +1284,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1344,12 +1300,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1359,13 +1315,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1375,14 +1331,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1392,15 +1348,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1410,13 +1366,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1426,13 +1382,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1442,12 +1398,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1457,12 +1413,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1473,12 +1429,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1489,15 +1445,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1507,13 +1463,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1523,12 +1479,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1539,13 +1495,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1556,12 +1512,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1605,12 +1561,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1620,12 +1576,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", + "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1635,16 +1591,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -1654,12 +1610,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", + "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", "dev": true, "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1669,13 +1625,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", + "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1685,12 +1641,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1701,12 +1657,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1736,12 +1692,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1751,13 +1707,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1767,12 +1723,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1782,12 +1738,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1797,12 +1753,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1812,12 +1768,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1827,13 +1783,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1843,13 +1799,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1859,13 +1815,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -2028,9 +1984,9 @@ } }, "node_modules/@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", + "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -2053,9 +2009,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", + "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2064,9 +2020,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz", - "integrity": "sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.25.0.tgz", + "integrity": "sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2086,33 +2042,30 @@ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.2.tgz", + "integrity": "sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2121,13 +2074,13 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2253,29 +2206,29 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.1.tgz", - "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz", + "integrity": "sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==", "dependencies": { - "@floating-ui/utils": "^0.2.0" + "@floating-ui/utils": "^0.2.5" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.4.tgz", - "integrity": "sha512-0G8R+zOvQsAG1pg2Q99P21jiqxqGBW1iRe/iXHsBRBxnpXKFI8QwbB4x5KmYLggNO5m34IQgOIu9SCRfR/WWiQ==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz", + "integrity": "sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==", "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.5" } }, "node_modules/@floating-ui/react": { - "version": "0.26.17", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.17.tgz", - "integrity": "sha512-ESD+jYWwqwVzaIgIhExrArdsCL1rOAzryG/Sjlu8yaD3Mtqi3uVyhbE2V7jD58Mo52qbzKz2eUY/Xgh5I86FCQ==", + "version": "0.26.20", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.20.tgz", + "integrity": "sha512-RixKJJG92fcIsVoqrFr4Onpzh7hlOx4U7NV4aLhMLmtvjZ5oTB/WzXaANYUZATKqXvvW7t9sCxtzejip26N5Ag==", "dependencies": { - "@floating-ui/react-dom": "^2.1.0", - "@floating-ui/utils": "^0.2.0", + "@floating-ui/react-dom": "^2.1.1", + "@floating-ui/utils": "^0.2.5", "tabbable": "^6.0.0" }, "peerDependencies": { @@ -2284,9 +2237,9 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", - "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", + "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", "dependencies": { "@floating-ui/dom": "^1.0.0" }, @@ -2296,9 +2249,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", - "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz", + "integrity": "sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ==" }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.11.4", @@ -2435,6 +2388,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", @@ -2449,6 +2403,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@hypnosphi/create-react-context": { @@ -3252,9 +3207,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -3274,59 +3229,59 @@ "dev": true }, "node_modules/@motionone/animation": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.17.0.tgz", - "integrity": "sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz", + "integrity": "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==", "dependencies": { - "@motionone/easing": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", + "@motionone/easing": "^10.18.0", + "@motionone/types": "^10.17.1", + "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "node_modules/@motionone/dom": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.17.0.tgz", - "integrity": "sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==", - "dependencies": { - "@motionone/animation": "^10.17.0", - "@motionone/generators": "^10.17.0", - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.18.0.tgz", + "integrity": "sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==", + "dependencies": { + "@motionone/animation": "^10.18.0", + "@motionone/generators": "^10.18.0", + "@motionone/types": "^10.17.1", + "@motionone/utils": "^10.18.0", "hey-listen": "^1.0.8", "tslib": "^2.3.1" } }, "node_modules/@motionone/easing": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.17.0.tgz", - "integrity": "sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.18.0.tgz", + "integrity": "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==", "dependencies": { - "@motionone/utils": "^10.17.0", + "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "node_modules/@motionone/generators": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.17.0.tgz", - "integrity": "sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.18.0.tgz", + "integrity": "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==", "dependencies": { - "@motionone/types": "^10.17.0", - "@motionone/utils": "^10.17.0", + "@motionone/types": "^10.17.1", + "@motionone/utils": "^10.18.0", "tslib": "^2.3.1" } }, "node_modules/@motionone/types": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.0.tgz", - "integrity": "sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==" + "version": "10.17.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.1.tgz", + "integrity": "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==" }, "node_modules/@motionone/utils": { - "version": "10.17.0", - "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.17.0.tgz", - "integrity": "sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.18.0.tgz", + "integrity": "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==", "dependencies": { - "@motionone/types": "^10.17.0", + "@motionone/types": "^10.17.1", "hey-listen": "^1.0.8", "tslib": "^2.3.1" } @@ -3379,26 +3334,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3406,12 +3346,6 @@ "node": ">=10" } }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@npmcli/move-file": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", @@ -3442,6 +3376,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -3528,16 +3463,17 @@ "integrity": "sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==" }, "node_modules/@reportportal/ui-kit": { - "version": "0.0.1-alpha.10", - "resolved": "https://registry.npmjs.org/@reportportal/ui-kit/-/ui-kit-0.0.1-alpha.10.tgz", - "integrity": "sha512-2hrfsFY1QxVFoFGzRxYgoTvlixsUnaohcZnPj1L2CbqoXBe5cfqILTvsdA7cg2UwEf4IC4w9Wm2QxcIUfGcR+Q==", + "version": "0.0.1-alpha.15", + "resolved": "https://registry.npmjs.org/@reportportal/ui-kit/-/ui-kit-0.0.1-alpha.15.tgz", + "integrity": "sha512-CGE6BgmgmYQCd/f4IXjw0/nUnDeCPT3Qg+V0to+jJ212s3R0ShtqlLXMrUG9uH+wLgb+cOCS4+Ge36LxNBFAYw==", "dependencies": { "@floating-ui/react": "^0.26.16", "@floating-ui/react-dom": "^2.0.1", "classnames": "^2.3.2", "downshift": "^6.1.12", "framer-motion": "^10.15.2", - "rc-scrollbars": "^1.1.6" + "rc-scrollbars": "^1.1.6", + "react-datepicker": "^7.3.0" }, "engines": { "node": ">=16.x" @@ -3552,6 +3488,23 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, + "node_modules/@reportportal/ui-kit/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@reportportal/ui-kit/node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, "node_modules/@reportportal/ui-kit/node_modules/downshift": { "version": "6.1.12", "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.12.tgz", @@ -3590,6 +3543,22 @@ } } }, + "node_modules/@reportportal/ui-kit/node_modules/react-datepicker": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-7.3.0.tgz", + "integrity": "sha512-EqRKLAtLZUTztiq6a+tjSjQX9ES0Xd229JPckAtyZZ4GoY3rtvNWAzkYZnQUf6zTWT50Ki0+t+W9VRQIkSJLfg==", + "dependencies": { + "@floating-ui/react": "^0.26.2", + "clsx": "^2.1.0", + "date-fns": "^3.3.1", + "prop-types": "^15.7.2", + "react-onclickoutside": "^6.13.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17 || ^18", + "react-dom": "^16.9.0 || ^17 || ^18" + } + }, "node_modules/@reportportal/ui-kit/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -3687,446 +3656,446 @@ } }, "node_modules/@swagger-api/apidom-ast": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.99.1.tgz", - "integrity": "sha512-evkKm2JaqNfg3dB2Yk3FWL/Qy2r4csZLMZ9bHMG+xNpti8ulENHMjuCh3Ry4koV1gD7IA54CU2ZjcaTvqJa22Q==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-1.0.0-alpha.6.tgz", + "integrity": "sha512-uzDNIeTLFeITzK7yX9PSsu3dl92rHP/gKMNAlJhmDRr7r+OLr5dCpAzyZ0WvONRxjxR8Otj5LX4AD12+EX32fg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-error": "^0.99.0", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "unraw": "^3.0.0" } }, "node_modules/@swagger-api/apidom-core": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.99.1.tgz", - "integrity": "sha512-oWU9Re2B7hPFAnm4ymN2HNOqevMqZsvL4Fjud2qN+KFWNvZ1/r8kwQaj0Pba5Kwka2bcWo0aEfWNayP4axTB+Q==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-1.0.0-alpha.6.tgz", + "integrity": "sha512-5u7dK3+8cF2h5bHEI/qrA6JrfXX+HIHSmUgPGbeMAqSCEfpsjnsngXK6gHtd4ktLlPz3TplNZAQl88wIp+39nw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", "minim": "~0.23.8", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "short-unique-id": "^5.0.2", - "stampit": "^4.3.2" + "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-error": { - "version": "0.99.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.99.0.tgz", - "integrity": "sha512-ZdFdn+GeIo23X2GKFrfH4Y5KY8yTzVF1l/Mqjs8+nD30LTbYg6f3ITHn429dk8fDT3NT69fG+gGm60FAFaKkeQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-1.0.0-alpha.6.tgz", + "integrity": "sha512-eOcqaXwLitjp5CIGYR0W2oM6p4UiTL7EjNdkCcfrELKHdgNS6U7kZdl3KCBlOuMb14CijwtZNEJbIGhhGZUYHg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7" } }, "node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.99.1.tgz", - "integrity": "sha512-4fOOKTLoBWpfX2eGNx93sqBsS1KRCtBFOq75n1jMcRbs1rrj+JxcaiTFUE+6BZqIqBsCqTmRMYE/HsgwBS3vhQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.0-alpha.6.tgz", + "integrity": "sha512-8ULBcQRQ1UPgqJ+ZuuKjmeKeuxqbuIUHwWHRRA848jK5+IHmNw/Cp68MhNiwYXLmTLkTIGaDubcOplMeHCxSyA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-ns-api-design-systems": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.99.1.tgz", - "integrity": "sha512-LID3n+Y2eKBzaR7oYShto48+EFPBLZLuKIJdEZ53is6SqD5jHS0Ev6xLj2QfqSIQR3OoVN3PUOrz724Jkpiv/A==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.0-alpha.6.tgz", + "integrity": "sha512-JRiImw3XKrfm22pzlx7uM6XYJtWM71QkCLy86gOTBFybWgTOCECnN4c8jFBnYl6KYuIb2VV9kXZs38xjK4NfBQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.99.1.tgz", - "integrity": "sha512-fAUsKbg0MuvEPjE2UWQu+62K0eh/3yTE2M5u/QCqpj48IpByMNYLKU9ICfMMAzBjXNQAVuEr07/UgY9CRHUVhA==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-I8Yq+AmJPUJihGneBv1/m/ly+2dp4FJiCxW/auRQSicvYIV7hoBO5qGZqcEEoVt7OpuhFbFqI2pwnambz90Uvg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-json-schema-draft-7": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.99.1.tgz", - "integrity": "sha512-HdxD4WXnaMJsdodrWoynzgteg9UDaZsVkX04oObQPR3C1ZWW9KahEGBSbtr/oBhnE/QgiPfNHUDWrQvk3oC6lg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.0-alpha.6.tgz", + "integrity": "sha512-E8JjqdDgopnLd4HXEXGSrc6rkbDyB8Qk6sYgmyT6lB8caFUMRdJ5Rp57fPePETnVpegb8cAuKjBdjTImX1gQ3Q==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.99.1", - "@swagger-api/apidom-core": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", - "stampit": "^4.3.2" + "@swagger-api/apidom-ast": "^1.0.0-alpha.6", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.99.1.tgz", - "integrity": "sha512-O6A25j9y+Hjvwwq8x+uTaIhK4tp0CqO6YrFRXmfmOnkBtJ6Q66jqbvRzIN9XQfW8VaIipqAlOin++ufsfuDd1g==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.0-alpha.6.tgz", + "integrity": "sha512-uzYmV65nn7i6nlp7Kp7ldGfAoXWPPquIocoHLWDBTx5sPdS+ALu2T2yvytav0z6StKeV+gU2HZjMLVRWdLzLZA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", - "stampit": "^4.3.2" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.99.1.tgz", - "integrity": "sha512-I4IpTkAlParfUWOi5kJU7jQqeMKy39JOWiRz8jTyPoZ8vvixVgyIlOS7/bj5uLxbBw3QxOFXPuIqUvK1uFElAg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.0-alpha.6.tgz", + "integrity": "sha512-dWEVUVMByOs5JIMsgcceETOYH3nTiAHoIIjXbYeHP6m6HaNP8IE5ex0ZgfmQc29uH0E6H+6aYAv1flfvy56rVQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-ns-json-schema-draft-6": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", - "stampit": "^4.3.2" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-json-schema-draft-6": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" } }, "node_modules/@swagger-api/apidom-ns-openapi-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-0.99.1.tgz", - "integrity": "sha512-ChEd1RaJKrYskLTmlH8NL9tNpAgroSPklTwJCvHmZjzaWvW7N/B2diHBOaz+rnVLiW9Hb7QOlR/biEXJn7OUIg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-sPwvOY+FGd5yEAijYLupmIYwf4HIpW6yegzrz6uUvGmONZpiCNIidCu+2m6GyYCoZ/lQZdPMw29DuU2O4iiDKw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.99.1.tgz", - "integrity": "sha512-9lfa2a+4rLp+1loEXrr+Dq3whdBwBWHukctsX/C/cGr4SG0NO8+tmS3FLsOD+ly6O/YPdszPDxVcIqqNV8J2uA==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.0-alpha.6.tgz", + "integrity": "sha512-kE4s17j69DDvXrf7xeRTunmSQJLiX52fCX1YnfC81e1IPm3q/mdpkZiysM87FuJQQj522fX2G+QUIJlDkD5U9w==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.99.1.tgz", - "integrity": "sha512-XsRxM9WC+WywBo+rr/YUayQRsV2mN8AzBxVlKzJoZ+pBgmPYe24n3Ma/0FTr8zGwQyg4DtOBwydlYz8QFrLPFA==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-2QA2z9beyaVyZDOXbLg4Nu8o8xKWo9L0WHWOP+hg/haGRyyPHXgyg2XdwRuFBozBI9wBaIfEg1lvNC+J0taDjg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.99.1", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-ast": "^1.0.0-alpha.6", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-json-pointer": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-ns-workflows-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-workflows-1/-/apidom-ns-workflows-1-0.99.1.tgz", - "integrity": "sha512-s6SmFzlBmKKRdlyLdZsjXHYJ+7+AuDyK3qrBAPHX7mDe/uN6D7QPGD05oCzHytPhbeZQPMf0wi9vPUrM1s1xvw==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-workflows-1/-/apidom-ns-workflows-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-9kXU7hUdz25TTGF8b1pmKGugkET4gkW7ING+qSUjU5nWdrkdUIVuq1o8qjaZwRDRvkNynnlRbWHqXeWgRWyi/w==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-1": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "ts-mixer": "^6.0.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.99.1.tgz", - "integrity": "sha512-ONeGsOZPZ16SvYbfHKiLjg8IeKGg+nJC+fOIqnelGdMCu/34ed0X7k6XQZGrwbDtmSd3SkXykL3F55H5BFiUPQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.0-alpha.6.tgz", + "integrity": "sha512-7THBmhvwTmsb1eFXvj/tbIK91g5tzkvhxGSUVbpGt1zApEFmKvjZbDhGnMx15CImIUURW1QZ6TQ/cZ7jRWk8kQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-api-design-systems": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-api-design-systems": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.99.1.tgz", - "integrity": "sha512-mVOHebofGhI3E8HW/7YsqGOpIWOBSMc5R5aQFMYMYpTxrpDHNhyEfFEWqZRAoC2Hin9NZ2BeI/hsrXGIw/LoeQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.0-alpha.6.tgz", + "integrity": "sha512-xD0aRgRGPaM1J+H3nRg8qP6bQ4fNtsUopoc6JEKzi7NJxd+r/mZV4pVa+Gr6CS+xv4d6TJ53UCJmGsjgmR1bQw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-api-design-systems": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-api-design-systems": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.99.1.tgz", - "integrity": "sha512-2kKVf5ecTuDirPpk8nDRyTrT0tkrWjdaUPwJ/+l2RdgWYObNVwdX2lAS9URC4zK/drdQOQxjetF+aDQBBhXmXA==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-BVouq+7XiS2/HmNHd/CHHieyRT5mTN+kqYACnKV/TAzC5+fK3t2mcdng4I81m3Mzb9OJ/VpHiEVlSZiWZoPU/Q==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-asyncapi-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.99.1.tgz", - "integrity": "sha512-UX+rLOUSQuWe5yNXS8eLFvDhCA1CP5r80jLtvT3n0FDnss4+9WkPlqgj4UPH4XoitXSvBVOZxbdjNwfKtJzsHA==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-CsUu5t6ijflz0DDjdoxE/OUbSjBAeh5v2zfMRVOfGdnNDhDhrE/3P0VTpdKdVmbWQ1ueIbq2QaC8thQ+Jcxwyg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-asyncapi-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-json": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.99.1.tgz", - "integrity": "sha512-qVeSdhaDIggIkFtMI4aqqv4MYuJlRQ6pniP+Li+DjcHeTKYHelX0OwoznaTlLlZ1tM9QFaMi8rw8xfGp6vMHgg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.0-alpha.6.tgz", + "integrity": "sha512-ruEkgvJSmBUUsGZdYiHeczekTWCJSWHrNvhAczY6c1ZFhpCukZg9tCqdVhnni/LPp4r4h7BdNldjY7dtrUkCiQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.99.1", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-ast": "^1.0.0-alpha.6", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "tree-sitter": "=0.20.4", "tree-sitter-json": "=0.20.2", "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-0.99.1.tgz", - "integrity": "sha512-aHzdast9HMeGTaTUWwVovMcspEVCAdvBJe47BzMZfzcVOnZlAVyTmLqxQ/3s9fjseRrPhFYqKtCOKROzbWeAhg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-RLvjHvjURnqfWxEdLFOW6agBS8CzVyV9++Vg4TSB9gPCNsTlz5w9iy82NYvApExHJIlN55Ga92OZ6CuWXJ8iKw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.99.1.tgz", - "integrity": "sha512-l/nYccP87GL611W9OCiYWUOizhhoGenuKa7Ocmaf9Rg+xIDnPw29+9p/SuGEN2jjtql0iYuNI4+ZzwiC2+teSg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.0-alpha.6.tgz", + "integrity": "sha512-cf9+M9vySTrUZW+m2SR04IMnl+5QX6P7S2xgFF705ySOMkPiA9GTgAZJFqwzncAEPovkp7/A24adxyhFz52iZg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.99.1.tgz", - "integrity": "sha512-Eie4ztKR5hgrGESBDHB9xIODTB/gvjWBwPNveZ/iSlJ/yhZGyDMC8dgv0aQiyFP01mKaaBMhyZjWgsvts9l+cQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-Z7TCUWB/VotmHU5kjUcAlu3qMHCVr1pOpnsuI01I6vCHGJOqUZPelnNqVyw5tjiVbgwDCKzXiPSQo9gGG1HoGA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-0.99.1.tgz", - "integrity": "sha512-MzjUyhGmJ+jQly90Nak7s01x2Jp1GvBe+Z8BXwkArNOFjLvzQIjdAx7F943/VlLaV9y71DNXVsqhgKdiqjnX3w==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-XI0qlTjL2Q1TMvzxjjEki2iuJqt43C0mwGHremjcpbNHpJejnkEGFDPJqs1rp3RobwRl1ftHVFJi7JVPiA8Zvw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.99.1.tgz", - "integrity": "sha512-TF/yquy1Alce/olQzR5AnjnOx7o7q8MkXMi0JxrtqvMk9Ky//0qFxFGzFQEzA++NaSGt9StG0Pcgp4MGZAzJYg==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.0-alpha.6.tgz", + "integrity": "sha512-yGd5dP52BrBMO4/nCJdcvotxCbmbXYOi/nQrj7rL4/7VFdKbC4ngT0ggprvKE8CVQC99qPz4qR1y728QdioPAg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.99.1.tgz", - "integrity": "sha512-baXbKqjnbmgEmFgCVHlDEiFANHs5lHnnBM0X3k5kNtAVule6Lc5lAZVoySpTGyBJ+4nq4RHNJfbKW8RDHgVMoQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-4F/rWh7bi97y20SRskrqz9UdO+YwHOn+vcOvNs5/arI5niSmTeAN3dgH9emTx1LJi8d7woUAct+TEqshwoh/zQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-workflows-json-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-json-1/-/apidom-parser-adapter-workflows-json-1-0.99.1.tgz", - "integrity": "sha512-Uu8SaQfl2XiiXDQVRUvUCu3yk7jwHVmwKOoacbJGzPducrR/7/bOe8dNeN4CMRw7HKeRbh02UxXtR46mgBPnog==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-json-1/-/apidom-parser-adapter-workflows-json-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-K2gZFUHtp+Vw9rcizanIJLxSsaYQWNh1QtsEVGtAkn3RBVa130i3umcgQBKuvaBzfhi+Zr21sR4LSrs4XiRHiQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-workflows-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-workflows-yaml-1": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-yaml-1/-/apidom-parser-adapter-workflows-yaml-1-0.99.1.tgz", - "integrity": "sha512-9DX9X9wxW6TJF5lG0k/w0GxeMPkHACwEQx/QFJqg1YRD3/UWSkBcm567KbfCh5BiDx5p5WAYhTGInQEAF3d0zQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-yaml-1/-/apidom-parser-adapter-workflows-yaml-1-1.0.0-alpha.6.tgz", + "integrity": "sha512-yaJ9Iir43odK/zTB0tVL43RBC4ktQvNRfuT21vedqNaxO9J2pjTPy9NkIXJuOrcizinAASDLLUYX/b0UONhVxg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-ns-workflows-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.0.0" + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.6", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.99.1.tgz", - "integrity": "sha512-MmTDUkrvFIg2AwzaZmiqBifWpoECh7AKeJcAD8Tm+G2/FUmGr3mIr7elc4ehYt/fecSSJEwFGNFU/radKqT/6g==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.0-alpha.6.tgz", + "integrity": "sha512-qevJf2IRvskyvgeGnkJXCGKFnmrcnuMoFHoboI3nJFqdesN74g1hGm1VIVAOOkM4AcdG1w7BviCHEt4YEYGPcQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.99.1", - "@swagger-api/apidom-core": "^0.99.1", - "@swagger-api/apidom-error": "^0.99.0", - "@types/ramda": "~0.29.6", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", + "@swagger-api/apidom-ast": "^1.0.0-alpha.6", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@swagger-api/apidom-error": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", "tree-sitter": "=0.20.4", "tree-sitter-yaml": "=0.5.0", "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-reference": { - "version": "0.99.1", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.99.1.tgz", - "integrity": "sha512-g7xp+ZL/iRX6CEwdUnqqsLfZmaSRlXwEZV8LF1k4k13/o7Qcf7bsPv0fOVGa8ZC29zM8k//FVavwWoXvT2xrFQ==", + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-1.0.0-alpha.6.tgz", + "integrity": "sha512-DbsxxgQCVd8ZTJag3EOtzJ2rtsaq4z5z/A4nEgzVQhStuHdRwrbQfxem1g7p6dOK2VrGEGf73UllGJvGV+uPpg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.99.1", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^1.0.0-alpha.6", + "@types/ramda": "~0.30.0", "axios": "^1.4.0", "minimatch": "^7.4.3", "process": "^0.11.10", - "ramda": "~0.29.1", - "ramda-adjunct": "^4.1.1", - "stampit": "^4.3.2" + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" }, "optionalDependencies": { - "@swagger-api/apidom-error": "^0.99.0", - "@swagger-api/apidom-json-pointer": "^0.99.1", - "@swagger-api/apidom-ns-asyncapi-2": "^0.99.1", - "@swagger-api/apidom-ns-openapi-2": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-0": "^0.99.1", - "@swagger-api/apidom-ns-openapi-3-1": "^0.99.1", - "@swagger-api/apidom-ns-workflows-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.99.1", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.99.1", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-json": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-json-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.99.1", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-workflows-json-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-workflows-yaml-1": "^0.99.1", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.99.1" + "@swagger-api/apidom-error": "^1.0.0-alpha.1", + "@swagger-api/apidom-json-pointer": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-workflows-json-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.1" } }, "node_modules/@swagger-api/apidom-reference/node_modules/brace-expansion": { @@ -4202,9 +4171,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" @@ -4249,9 +4218,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4287,9 +4256,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dev": true, "dependencies": { "@types/node": "*", @@ -4444,12 +4413,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", + "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.11.1" } }, "node_modules/@types/node-forge": { @@ -4485,11 +4454,11 @@ "dev": true }, "node_modules/@types/ramda": { - "version": "0.29.12", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.12.tgz", - "integrity": "sha512-sgIEjpJhdQPB52gDF4aphs9nl0xe54CR22DPdWqT8gQHjZYmVApgA0R3/CpMbl0Y8az2TEZrPNL2zy0EvjbkLA==", + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.30.1.tgz", + "integrity": "sha512-aoyF/ADPL6N+/NXXfhPWF+Qj6w1Cql59m9wX0Gi15uyF+bpzXeLd63HPdiTDE2bmLXfNcVufsDPKmbfOrOzTBA==", "dependencies": { - "types-ramda": "^0.29.10" + "types-ramda": "^0.30.1" } }, "node_modules/@types/range-parser": { @@ -4499,9 +4468,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.79", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", - "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4581,9 +4550,9 @@ "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -4920,9 +4889,9 @@ } }, "node_modules/acorn-globals/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -4931,10 +4900,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -4950,10 +4919,25 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { "node": ">=0.4.0" } @@ -5054,15 +5038,15 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5163,6 +5147,11 @@ "node": ">= 8" } }, + "node_modules/apg-lite": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/apg-lite/-/apg-lite-1.0.4.tgz", + "integrity": "sha512-B32zCN3IdHIc99Vy7V9BaYTUzLeRA8YXYY1aQD1/5I2aqIrO0coi4t6hJPqMisidlBxhyME8UexkHt31SlR6Og==" + }, "node_modules/append-transform": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", @@ -5191,6 +5180,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "delegates": "^1.0.0", @@ -5235,6 +5225,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -5377,22 +5368,26 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -5623,6 +5618,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -5643,9 +5639,9 @@ } }, "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==", "dev": true }, "node_modules/axe-core": { @@ -5680,12 +5676,12 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.4.tgz", + "integrity": "sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==", "dev": true, - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-eslint": { @@ -6001,13 +5997,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", - "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.1", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { @@ -6350,11 +6346,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -6444,9 +6440,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "dev": true, "funding": [ { @@ -6463,10 +6459,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -6861,6 +6857,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -6928,6 +6925,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -6953,6 +6951,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -7132,9 +7131,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001644", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001644.tgz", + "integrity": "sha512-YGvlOZB4QhZuiis+ETS0VXR+MExbFf4fZYYeMTEE0aTQd/RdIjkTyZjLrbYVKnHzppDvnOhritRVv+i7Go6mHw==", "dev": true, "funding": [ { @@ -7322,9 +7321,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, "engines": { "node": ">=6.0" @@ -7359,9 +7358,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", "dev": true }, "node_modules/classnames": { @@ -7630,9 +7629,9 @@ } }, "node_modules/codemirror": { - "version": "5.65.16", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.16.tgz", - "integrity": "sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg==" + "version": "5.65.17", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.17.tgz", + "integrity": "sha512-1zOsUx3lzAOu/gnMAZkQ9kpIHcPYOc9y1Fbm2UVk5UBPkdq380nhkelG0qUwm1f7wPvTbndu9ZYlug35EwAZRQ==" }, "node_modules/codemirror-spell-checker": { "version": "1.1.2", @@ -7817,15 +7816,15 @@ } }, "node_modules/compression-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -7998,9 +7997,9 @@ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." }, "node_modules/core-js-compat": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", - "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", "dev": true, "dependencies": { "browserslist": "^4.23.0" @@ -8011,9 +8010,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz", - "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", + "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -8310,26 +8309,11 @@ "webpack": "^5.0.0" } }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/css-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -8337,12 +8321,6 @@ "node": ">=10" } }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", @@ -8382,15 +8360,15 @@ } }, "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -9098,6 +9076,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -9114,6 +9093,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -9130,6 +9110,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -9155,9 +9136,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -9798,9 +9779,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.745", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", - "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.3.tgz", + "integrity": "sha512-QNdYSS5i8D9axWp/6XIezRObRHqaav/ur9z1VzCDUCH1XIFOr9WQk5xmgunhsTpjjgDy3oLxO/WMOVZlpUQrlA==", "dev": true }, "node_modules/elegant-spinner": { @@ -9813,9 +9794,9 @@ } }, "node_modules/elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.6.tgz", + "integrity": "sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==", "dev": true, "dependencies": { "bn.js": "^4.11.9", @@ -9942,9 +9923,9 @@ } }, "node_modules/envinfo": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz", - "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, "bin": { "envinfo": "dist/cli.js" @@ -10050,6 +10031,7 @@ "version": "1.23.3", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -10131,14 +10113,14 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", @@ -10156,15 +10138,16 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, "dependencies": { "es-errors": "^1.3.0" }, @@ -10176,6 +10159,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -10198,6 +10182,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -10761,9 +10746,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "engines": { "node": ">=10" @@ -10953,26 +10938,11 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -11004,12 +10974,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", @@ -11038,9 +11002,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -11381,6 +11345,12 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -11479,9 +11449,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -11593,6 +11563,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -11639,6 +11610,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "dependencies": { "is-callable": "^1.1.3" } @@ -11774,9 +11746,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", "dev": true }, "node_modules/fs.realpath": { @@ -11810,6 +11782,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -11841,6 +11814,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -11978,6 +11952,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -12009,6 +11984,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12099,11 +12075,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -12161,6 +12139,7 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -12309,6 +12288,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13111,9 +13091,9 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -13226,6 +13206,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -13251,6 +13232,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -13385,6 +13367,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -13421,6 +13404,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "dependencies": { "has-bigints": "^1.0.1" }, @@ -13444,6 +13428,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -13466,6 +13451,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -13486,12 +13472,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13501,6 +13490,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, "dependencies": { "is-typed-array": "^1.1.13" }, @@ -13662,6 +13652,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -13681,6 +13672,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -13817,6 +13809,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, "dependencies": { "call-bind": "^1.0.7" }, @@ -13840,6 +13833,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -13860,6 +13854,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -13874,6 +13869,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, "dependencies": { "which-typed-array": "^1.1.14" }, @@ -13918,6 +13914,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.2" }, @@ -14008,9 +14005,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "dependencies": { "@babel/core": "^7.23.9", @@ -14024,21 +14021,21 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -14062,26 +14059,11 @@ "semver": "bin/semver.js" } }, - "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -14089,12 +14071,6 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/istanbul-lib-processinfo": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", @@ -14128,6 +14104,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -14171,18 +14148,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -14199,13 +14164,10 @@ } }, "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -14225,12 +14187,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", @@ -15836,26 +15792,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -15875,12 +15816,6 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", @@ -16192,9 +16127,9 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "bin": { "jiti": "bin/jiti.js" @@ -16286,9 +16221,9 @@ } }, "node_modules/jsdom/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -16486,9 +16421,9 @@ "dev": true }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", "dev": true }, "node_modules/language-tags": { @@ -16504,9 +16439,9 @@ } }, "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", + "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", "dev": true, "dependencies": { "picocolors": "^1.0.0", @@ -16776,6 +16711,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -17136,9 +17072,9 @@ } }, "node_modules/logform": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", - "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", "dev": true, "dependencies": { "@colors/colors": "1.6.0", @@ -17598,11 +17534,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -17717,15 +17653,15 @@ } }, "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -18008,9 +17944,9 @@ } }, "node_modules/nan": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", "devOptional": true }, "node_modules/nanoid": { @@ -18103,9 +18039,9 @@ } }, "node_modules/node-abi": { - "version": "3.60.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.60.0.tgz", - "integrity": "sha512-zcGgwoXbzw9NczqbGzAWL/ToDYAxv1V8gL1D67ClbdkIfeeDBbY0GelZtC25ayLvVjr2q2cloHeQV1R0QAWqRQ==", + "version": "3.65.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", + "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==", "optional": true, "dependencies": { "semver": "^7.3.5" @@ -18114,26 +18050,11 @@ "node": ">=10" } }, - "node_modules/node-abi/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-abi/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -18141,12 +18062,6 @@ "node": ">=10" } }, - "node_modules/node-abi/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "optional": true - }, "node_modules/node-abort-controller": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", @@ -18401,6 +18316,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -18413,13 +18329,10 @@ } }, "node_modules/node-gyp/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -18551,26 +18464,11 @@ "which": "^2.0.2" } }, - "node_modules/node-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-notifier/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -18587,12 +18485,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/node-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", @@ -18606,15 +18498,16 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/node-sass": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz", "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", + "deprecated": "Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.", "dev": true, "hasInstallScript": true, "dependencies": { @@ -18749,26 +18642,11 @@ "node": ">=10" } }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -18776,12 +18654,6 @@ "node": ">=10" } }, - "node_modules/normalize-package-data/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -18846,6 +18718,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", "dev": true, "dependencies": { "are-we-there-yet": "^3.0.0", @@ -18885,9 +18758,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", - "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", "dev": true }, "node_modules/nyc": { @@ -19126,6 +18999,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -19233,9 +19107,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -19267,6 +19144,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -19438,6 +19316,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-path-templating": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/openapi-path-templating/-/openapi-path-templating-1.6.0.tgz", + "integrity": "sha512-1atBNwOUrZXthTvlvvX8k8ovFEF3iA8mDidYMkdOtvVdndBhTrspbwGXNOzEUaJhm9iUl4Tf5uQaeTLAJvwPig==", + "dependencies": { + "apg-lite": "^1.0.3" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/openapi-server-url-templating": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/openapi-server-url-templating/-/openapi-server-url-templating-1.1.0.tgz", + "integrity": "sha512-dtyTFKx2xVcO0W8JKaluXIHC9l/MLjHeflBaWjiWNMCHp/TBs9dEjQDbj/VFlHR4omFOKjjmqm1pW1aCAhmPBg==", + "dependencies": { + "apg-lite": "^1.0.3" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -19448,17 +19348,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -19816,24 +19716,10 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/patch-package/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/patch-package/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -19868,15 +19754,10 @@ "node": ">= 10.0.0" } }, - "node_modules/patch-package/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/patch-package/node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "bin": { "yaml": "bin.mjs" }, @@ -19978,9 +19859,9 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -20140,14 +20021,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "funding": [ { @@ -20165,7 +20047,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -20480,18 +20362,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/postcss-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/postcss-loader/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -20511,13 +20381,10 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -20525,12 +20392,6 @@ "node": ">=10" } }, - "node_modules/postcss-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", @@ -20888,9 +20749,9 @@ } }, "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz", + "integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==", "dev": true }, "node_modules/postcss-safe-parser": { @@ -21024,9 +20885,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -21501,18 +21362,18 @@ "dev": true }, "node_modules/ramda": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", - "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", + "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/ramda-adjunct": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", - "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.0.1.tgz", + "integrity": "sha512-UTQCcWnoiuYH+ua+jGg3GTktcmCSD2W7OO2++tmv8p2Ze+N9VgVACERg4g36rRfIXklVMtqazyBLBWXfoPKgRQ==", "engines": { "node": ">=0.10.3" }, @@ -21521,7 +21382,7 @@ "url": "https://opencollective.com/ramda-adjunct" }, "peerDependencies": { - "ramda": ">= 0.29.0" + "ramda": ">= 0.30.0" } }, "node_modules/randexp": { @@ -21666,9 +21527,9 @@ } }, "node_modules/rc-util": { - "version": "5.39.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", - "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -21886,7 +21747,8 @@ "node_modules/react-event-observer": { "version": "0.5.11", "resolved": "https://registry.npmjs.org/react-event-observer/-/react-event-observer-0.5.11.tgz", - "integrity": "sha512-mT9eVgsKd5NFrzNWmpOOrNHCglpHGfkkfB2/Jovq4PDQcxHda+ZQYof7tpE+5Z1mbfppfVKSYkl5ZPK5h57W7g==" + "integrity": "sha512-mT9eVgsKd5NFrzNWmpOOrNHCglpHGfkkfB2/Jovq4PDQcxHda+ZQYof7tpE+5Z1mbfppfVKSYkl5ZPK5h57W7g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." }, "node_modules/react-fast-compare": { "version": "2.0.4", @@ -21979,9 +21841,9 @@ } }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/react-lazyload": { "version": "3.2.0", @@ -22008,9 +21870,9 @@ } }, "node_modules/react-onclickoutside": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz", - "integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==", + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.1.tgz", + "integrity": "sha512-LdrrxK/Yh9zbBQdFbMTXPp3dTSN9B+9YJQucdDu3JNKRrbdU+H+/TVONJoWtOwy4II8Sqf1y/DTI6w/vGPYW0w==", "funding": { "type": "individual", "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" @@ -22153,17 +22015,17 @@ } }, "node_modules/react-test-renderer": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", - "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz", + "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==", "dev": true, "dependencies": { - "react-is": "^18.2.0", + "react-is": "^18.3.1", "react-shallow-renderer": "^16.15.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-tracking": { @@ -23152,6 +23014,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -23274,6 +23137,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -23318,6 +23182,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -23488,9 +23353,9 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { "loose-envify": "^1.1.0" } @@ -23843,9 +23708,9 @@ "dev": true }, "node_modules/short-unique-id": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", - "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.2.0.tgz", + "integrity": "sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==", "bin": { "short-unique-id": "bin/short-unique-id", "suid": "bin/short-unique-id" @@ -24072,15 +23937,15 @@ } }, "node_modules/slnodejs/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -24159,6 +24024,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -24284,6 +24150,19 @@ "semver": "bin/semver.js" } }, + "node_modules/slnodejs/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/slnodejs/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -24324,6 +24203,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -24349,6 +24229,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -24640,6 +24521,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -24678,9 +24560,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", "dev": true }, "node_modules/spdy": { @@ -24827,11 +24709,6 @@ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "dev": true }, - "node_modules/stampit": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/stampit/-/stampit-4.3.2.tgz", - "integrity": "sha512-pE2org1+ZWQBnIxRPrBM2gVupkuDD0TTNIo1H6GdT/vO82NXli2z8lRE8cu/nBIHrcOCXFBAHpb9ZldrB2/qOA==" - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -24978,6 +24855,7 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -24995,6 +24873,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -25008,6 +24887,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -25742,25 +25622,27 @@ } }, "node_modules/swagger-client": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.27.0.tgz", - "integrity": "sha512-DyuHrUzHxysUbhsCgPfsWKH3EULDwjD7jkRl0SHvXAd6gtZS3e3RHUZjDBA4cbrcgDiIuC7Ju/YIOkE+rKCutw==", + "version": "3.28.2", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.28.2.tgz", + "integrity": "sha512-g30KCdSVyZlMulWOJnheNo7Ea+L06OZebl0oRU6zHd5Zf5AZKHTqurKRdNOLsMWA3l3bWJiEh7s3JlzFJHRmoQ==", "dependencies": { "@babel/runtime-corejs3": "^7.22.15", - "@swagger-api/apidom-core": ">=0.99.1 <1.0.0", - "@swagger-api/apidom-error": ">=0.99.0 <1.0.0", - "@swagger-api/apidom-json-pointer": ">=0.99.1 <1.0.0", - "@swagger-api/apidom-ns-openapi-3-1": ">=0.99.1 <1.0.0", - "@swagger-api/apidom-reference": ">=0.99.1 <1.0.0", + "@swagger-api/apidom-core": ">=1.0.0-alpha.5 <1.0.0-beta.0", + "@swagger-api/apidom-error": ">=1.0.0-alpha.5 <1.0.0-beta.0", + "@swagger-api/apidom-json-pointer": ">=1.0.0-alpha.5 <1.0.0-beta.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=1.0.0-alpha.5 <1.0.0-beta.0", + "@swagger-api/apidom-reference": ">=1.0.0-alpha.5 <1.0.0-beta.0", "cookie": "~0.6.0", "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", - "is-plain-object": "^5.0.0", "js-yaml": "^4.1.0", "node-abort-controller": "^3.1.1", "node-fetch-commonjs": "^3.3.2", + "openapi-path-templating": "^1.5.1", + "openapi-server-url-templating": "^1.0.0", "qs": "^6.10.2", - "traverse": "~0.6.6" + "ramda-adjunct": "^5.0.0", + "traverse": "=0.6.8" } }, "node_modules/swagger-client/node_modules/argparse": { @@ -25768,14 +25650,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/swagger-client/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/swagger-client/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -25788,9 +25662,9 @@ } }, "node_modules/swagger-client/node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dependencies": { "side-channel": "^1.0.6" }, @@ -25929,15 +25803,15 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -26125,9 +25999,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -26186,9 +26060,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -26337,9 +26211,9 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "dependencies": { "psl": "^1.1.33", @@ -26391,14 +26265,9 @@ } }, "node_modules/traverse": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.9.tgz", - "integrity": "sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==", - "dependencies": { - "gopd": "^1.0.1", - "typedarray.prototype.slice": "^1.0.3", - "which-typed-array": "^1.1.15" - }, + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "engines": { "node": ">= 0.4" }, @@ -26512,9 +26381,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/tty-browserify": { "version": "0.0.0", @@ -26590,6 +26459,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -26603,6 +26473,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -26621,6 +26492,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -26640,6 +26512,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -26675,29 +26548,10 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typedarray.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.3.tgz", - "integrity": "sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-errors": "^1.3.0", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-offset": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/types-ramda": { - "version": "0.29.10", - "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.10.tgz", - "integrity": "sha512-5PJiW/eiTPyXXBYGZOYGezMl6qj7keBiZheRwfjJZY26QPHsNrjfJnz0mru6oeqqoTHOni893Jfd6zyUXfQRWg==", + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.30.1.tgz", + "integrity": "sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==", "dependencies": { "ts-toolbelt": "^9.6.0" } @@ -26711,6 +26565,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -26722,9 +26577,9 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", + "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==", "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -26901,9 +26756,9 @@ "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==" }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -26920,8 +26775,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -26949,13 +26804,16 @@ } }, "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", "dev": true, "dependencies": { "punycode": "^1.4.1", - "qs": "^6.11.2" + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/url-parse": { @@ -26973,9 +26831,9 @@ "integrity": "sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==" }, "node_modules/url/node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -26988,9 +26846,9 @@ } }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -27048,9 +26906,9 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", @@ -27284,9 +27142,9 @@ } }, "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -27295,10 +27153,10 @@ "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -27419,15 +27277,15 @@ } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -27531,15 +27389,15 @@ } }, "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -27585,6 +27443,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -27678,9 +27537,9 @@ } }, "node_modules/webpack/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -27690,9 +27549,9 @@ } }, "node_modules/webpack/node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -27820,6 +27679,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -27832,13 +27692,13 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dev": true, "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -27847,8 +27707,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -27885,6 +27745,7 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -27950,13 +27811,13 @@ } }, "node_modules/winston-transport": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", - "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz", + "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==", "dev": true, "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", + "logform": "^2.6.1", + "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" }, "engines": { @@ -28003,6 +27864,15 @@ "node": ">= 6" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", @@ -28078,9 +27948,9 @@ } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/app/package.json b/app/package.json index 6b79de14e5..a7c2805f66 100644 --- a/app/package.json +++ b/app/package.json @@ -25,7 +25,7 @@ "@formatjs/intl-pluralrules": "1.3.9", "@formatjs/intl-relativetimeformat": "4.5.1", "@formatjs/intl-utils": "1.6.0", - "@reportportal/ui-kit": "^0.0.1-alpha.10", + "@reportportal/ui-kit": "^0.0.1-alpha.15", "axios": "1.6.4", "c3": "0.7.20", "chart.js": "2.9.4", diff --git a/app/src/componentLibrary/modal/index.js b/app/src/componentLibrary/modal/index.js deleted file mode 100644 index 6b93d43b19..0000000000 --- a/app/src/componentLibrary/modal/index.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ModalLayout } from './modalLayout/modalLayout'; -export { ModalContent } from './modalLayout/modalContent'; -export { ModalHeader } from './modalLayout/modalHeader/modalHeader'; -export { ModalFooter } from './modalLayout/modalFooter/modalFooter'; diff --git a/app/src/componentLibrary/modal/modalLayout/README.md b/app/src/componentLibrary/modal/modalLayout/README.md deleted file mode 100644 index 883924a45e..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/README.md +++ /dev/null @@ -1,43 +0,0 @@ -## **Modal layout** - -Default width - 480px, height 100% - -> okButton format: - -``` -{ - text: _string_, // required - danger: _bool_, - onClick: _func_, - disabled: _bool_, - eventInfo: object, // {category: "", action: "", label: ""} - attributes: object, // html attributes f.e. {form: 'formId"} -} -``` - -> cancelButton format: - -``` -{ - text: _string_, // required - eventInfo: object, // {category: "", action: "", label: ""} -} -``` - -### Props : - -- **title**: _string_, optional, default = "" -- **headerNode**: _node_, optional, default = null -- **children**: _node_, optional, default = null -- **footerNode**: _node_, optional, default = null -- **okButton**: _object_, optional, default = null -- **cancelButton**: _object_, optional, default = null -- **className**: _string_, optional, default = "" -- **modalSize**: _string_, optional, default = "default" -- **onClose**: _function_, optional, default = () => {} - -### Variants - -the modal layout comes with different width sizes managed via modalSize prop: -_small_ - 320px, _default_(default) - 480px, _large_ - 720px. -Modal layout styles can be changed using the className props. diff --git a/app/src/componentLibrary/modal/modalLayout/img/close-icon-inline.svg b/app/src/componentLibrary/modal/modalLayout/img/close-icon-inline.svg deleted file mode 100644 index 29f1c386e2..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/img/close-icon-inline.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/src/componentLibrary/modal/modalLayout/modalContent/index.js b/app/src/componentLibrary/modal/modalLayout/modalContent/index.js deleted file mode 100644 index 7229fb64eb..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalContent/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ModalContent } from './modalContent'; diff --git a/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.jsx b/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.jsx deleted file mode 100644 index dcb5454aac..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.jsx +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import PropTypes from 'prop-types'; -import classNames from 'classnames/bind'; -import styles from './modalContent.scss'; - -const cx = classNames.bind(styles); - -export const ModalContent = ({ children }) =>
{children}
; -ModalContent.propTypes = { - children: PropTypes.node, -}; -ModalContent.defaultProps = { - children: null, -}; diff --git a/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.scss b/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.scss deleted file mode 100644 index cc852d6927..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalContent/modalContent.scss +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.modal-content { - width: calc(100% - 34px); - margin-top: 13px; - font-family: $FONT-ROBOTO-REGULAR; - font-size: 13px; - line-height: 20px; - color: $COLOR--almost-black; - white-space: pre-line; - word-break: break-word; -} diff --git a/app/src/componentLibrary/modal/modalLayout/modalFooter/index.js b/app/src/componentLibrary/modal/modalLayout/modalFooter/index.js deleted file mode 100644 index bb574d47d4..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalFooter/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ModalFooter } from './modalFooter'; diff --git a/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.jsx b/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.jsx deleted file mode 100644 index b6c9777de6..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.jsx +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import PropTypes from 'prop-types'; -import classNames from 'classnames/bind'; -import { Button } from '@reportportal/ui-kit'; -import styles from './modalFooter.scss'; - -const cx = classNames.bind(styles); - -export const ModalFooter = ({ okButton, cancelButton, closeHandler, footerNode }) => { - return ( -
- {footerNode && footerNode} -
- {cancelButton && ( -
- -
- )} - {okButton && ( -
- -
- )} -
-
- ); -}; -ModalFooter.propTypes = { - okButton: PropTypes.shape({ - text: PropTypes.string.isRequired, - disabled: PropTypes.bool, - danger: PropTypes.bool, - onClick: PropTypes.func, - attributes: PropTypes.shape({ - type: PropTypes.string, - form: PropTypes.string, - }), - }), - cancelButton: PropTypes.shape({ - text: PropTypes.string.isRequired, - disabled: PropTypes.bool, - }), - closeHandler: PropTypes.func, - footerNode: PropTypes.node, -}; -ModalFooter.defaultProps = { - okButton: null, - cancelButton: null, - closeHandler: () => {}, - footerNode: PropTypes.node, -}; diff --git a/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.scss b/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.scss deleted file mode 100644 index 50eba5d1bb..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalFooter/modalFooter.scss +++ /dev/null @@ -1,36 +0,0 @@ -/*! - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.modal-footer { - position: relative; - width: 100%; - margin-top: 16px; -} - -.buttons-block { - float: right; - white-space: nowrap; -} - -.button-container { - display: inline-block; - min-width: 70px; - margin-right: 10px; - - &:last-child { - margin-right: 0; - } -} diff --git a/app/src/componentLibrary/modal/modalLayout/modalHeader/index.js b/app/src/componentLibrary/modal/modalLayout/modalHeader/index.js deleted file mode 100644 index 52981cb854..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalHeader/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ModalHeader } from './modalHeader'; diff --git a/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.jsx b/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.jsx deleted file mode 100644 index 07eddf9c1b..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.jsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import PropTypes from 'prop-types'; -import classNames from 'classnames/bind'; -import Parser from 'html-react-parser'; -import CloseIcon from '../img/close-icon-inline.svg'; -import styles from './modalHeader.scss'; - -const cx = classNames.bind(styles); - -export const ModalHeader = ({ title, onClose, headerNode }) => ( -
-
- {title && {title}} - {headerNode && headerNode} -
-
- {Parser(CloseIcon)} -
-
-); -ModalHeader.propTypes = { - title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), - onClose: PropTypes.func, - headerNode: PropTypes.node, -}; -ModalHeader.defaultProps = { - title: '', - onClose: () => {}, - headerNode: null, -}; diff --git a/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.scss b/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.scss deleted file mode 100644 index 26619acd4d..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalHeader/modalHeader.scss +++ /dev/null @@ -1,64 +0,0 @@ -/*! - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -.modal-header { - position: relative; - font-family: $FONT-REGULAR; - font-size: 20px; - color: $COLOR--almost-black; - padding-bottom: 24px; -} - -.modal-header-content { - display: flex; - justify-content: stretch; - align-items: center; - width: 100%; - padding-right: 30px; - box-sizing: border-box; -} - -.modal-title { - flex-grow: 1; - line-height: 32px; - vertical-align: middle; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} - -.close-modal-icon { - position: absolute; - top: 6px; - right: 0; - display: block; - width: 16px; - height: 16px; - vertical-align: middle; - cursor: pointer; - - &:hover { - svg { - fill: $COLOR--e-400; - } - } - - &:active { - svg { - fill: $COLOR--topaz-pressed; - } - } -} diff --git a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx b/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx deleted file mode 100644 index eae0fd08f7..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalLayout.jsx +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React, { useEffect, useRef, useState } from 'react'; -import PropTypes from 'prop-types'; -import { Scrollbars } from 'react-custom-scrollbars-2'; -import { motion, AnimatePresence } from 'framer-motion'; -import classNames from 'classnames/bind'; -import { useOnClickOutside, useWindowResize } from 'common/hooks'; -import { ESCAPE_KEY_CODE } from 'common/constants/keyCodes'; -import { ModalContent } from './modalContent'; -import { ModalFooter } from './modalFooter'; -import { ModalHeader } from './modalHeader'; -import styles from './modalLayout.scss'; - -const MODAL_MAX_RATIO = 0.9; -const MODAL_HEADER_AND_FOOTER_HEIGHT = 176; -const cx = classNames.bind(styles); - -export const ModalLayout = ({ - title, - headerNode, - children, - footerNode, - okButton, - cancelButton, - className, - modalSize, - onClose, - overlay, - allowCloseOutside, -}) => { - const [isShown, setShown] = useState(false); - const [modalHeight, setModalHeight] = useState(0); - const modalRef = useRef(); - - const windowSize = useWindowResize(); - const windowHeight = windowSize.height; - const modalMaxHeight = windowHeight * MODAL_MAX_RATIO; - const modalMargin = (windowHeight - modalHeight) / 2; - const contentMaxHeight = modalMaxHeight - MODAL_HEADER_AND_FOOTER_HEIGHT; - - // TODO refactor with flexible modal width - const getContentScrollbarWidth = () => { - switch (modalSize) { - case 'small': - return 258; - case 'large': - return 658; - default: - return 418; - } - }; - - const onKeydown = (e) => { - if (e.keyCode === ESCAPE_KEY_CODE) { - setShown(false); - } - }; - - useEffect(() => { - if (modalRef && modalRef.current) { - const { clientHeight } = modalRef.current; - setModalHeight(clientHeight); - } - }, [children, windowSize]); - - useEffect(() => { - document.addEventListener('keydown', onKeydown, false); - setShown(true); - - return () => document.removeEventListener('keydown', onKeydown, false); - }, []); - - const closeModal = () => { - setShown(false); - }; - - useOnClickOutside(modalRef, allowCloseOutside && closeModal); - - return ( - - {isShown && ( -
-
- modalRef.current?.focus()} - > - - - {children} - - - -
-
- )} -
- ); -}; -ModalLayout.propTypes = { - title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), - headerNode: PropTypes.node, - children: PropTypes.node, - footerNode: PropTypes.node, - okButton: PropTypes.shape({ - text: PropTypes.string.isRequired, - disabled: PropTypes.bool, - danger: PropTypes.bool, - onClick: PropTypes.func, - attributes: PropTypes.object, - }), - cancelButton: PropTypes.shape({ - text: PropTypes.string.isRequired, - }), - className: PropTypes.string, - modalSize: PropTypes.oneOf(['default', 'small', 'large']), - onClose: PropTypes.func, - overlay: PropTypes.string, - allowCloseOutside: PropTypes.bool, -}; -ModalLayout.defaultProps = { - title: '', - headerNode: null, - children: null, - footerNode: null, - okButton: null, - cancelButton: null, - className: '', - modalSize: 'default', - onClose: () => {}, - overlay: 'default', - allowCloseOutside: true, -}; diff --git a/app/src/componentLibrary/modal/modalLayout/modalLayout.scss b/app/src/componentLibrary/modal/modalLayout/modalLayout.scss deleted file mode 100644 index 416af0b4af..0000000000 --- a/app/src/componentLibrary/modal/modalLayout/modalLayout.scss +++ /dev/null @@ -1,88 +0,0 @@ -/*! - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$WIDTH-SMALL: 320px; -$WIDTH-DEFAULT: 480px; -$WIDTH-LARGE: 720px; - -$Z-INDEX-OVERLAY: 2; - -@mixin modalWidth($width) { - width: $width; - - @media (max-width: $width) { - right: 10px; - left: 10px; - transform: none; - width: auto; - } -} - -.modal-layout { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 100%; - text-align: center; -} - -.scrolling-content { - position: fixed; - width: 100%; - height: 100%; - z-index: $Z-INDEX-OVERLAY; -} - -.modal-window { - position: absolute; - left: 50%; - transform: translate(-50%); - display: inline-block; - margin-bottom: 10px; - padding: 32px 48px; - box-sizing: border-box; - background-color: $COLOR--bg-100; - text-align: left; - border-radius: 16px; - box-shadow: $BOX_SHADOW--modal-window; - opacity: 1; - outline: none; - max-height: 90%; -} - -.size-default { - @include modalWidth($WIDTH-DEFAULT); -} - -.size-small { - @include modalWidth($WIDTH-SMALL); -} - -.size-large { - @include modalWidth($WIDTH-LARGE); -} - -.overlay-default { - background-color: rgba($COLOR--e-400, 0.35); - z-index: $Z_INDEX-OVERLAY; -} - -.overlay-light-cyan { - background-color: rgba($COLOR--light-cyan, 0.7); - z-index: $Z_INDEX-OVERLAY; -} diff --git a/app/src/componentLibrary/toggle/README.md b/app/src/componentLibrary/toggle/README.md deleted file mode 100644 index b860c01b2b..0000000000 --- a/app/src/componentLibrary/toggle/README.md +++ /dev/null @@ -1,16 +0,0 @@ -## **Toggle with optional text** - -### Props: - -- **children**: _node_, optional, default = null -- **value**: _bool_, optional, default = false -- **disabled**: _bool_, optional, default = false -- **className**: _string_, optional, default = '' -- **title**: _string_, optional, default = '' -- **dataAutomationId**: _string_, optional, default = '' - -### Events: - -- **onFocus** -- **onBlur** -- **onChange** diff --git a/app/src/componentLibrary/toggle/index.js b/app/src/componentLibrary/toggle/index.js deleted file mode 100644 index 184af1a74d..0000000000 --- a/app/src/componentLibrary/toggle/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { Toggle } from './toggle'; diff --git a/app/src/componentLibrary/toggle/toggle.jsx b/app/src/componentLibrary/toggle/toggle.jsx deleted file mode 100644 index 89d552d2e2..0000000000 --- a/app/src/componentLibrary/toggle/toggle.jsx +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2022 EPAM Systems - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import PropTypes from 'prop-types'; -import classNames from 'classnames/bind'; -import { useRef } from 'react'; -import { ENTER_KEY_CODE, SPACE_KEY_CODE } from 'common/constants/keyCodes'; -import styles from './toggle.scss'; - -const cx = classNames.bind(styles); - -export const Toggle = ({ - children, - value, - onChange, - onFocus, - onBlur, - className, - disabled, - title, - dataAutomationId, -}) => { - const inputRef = useRef(null); - - const handleKeyDown = (event) => { - const { keyCode } = event; - - if (keyCode === SPACE_KEY_CODE) { - event.preventDefault(); - return; - } - - if (keyCode === ENTER_KEY_CODE) { - event.preventDefault(); - inputRef.current.click(); - } - }; - - return ( - // eslint-disable-next-line -
- + ); }; GenerateIndexModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/analyzerContainer/modals/removeIndexModal/removeIndexModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/analyzerContainer/modals/removeIndexModal/removeIndexModal.jsx index 1c9fbe1e46..da10a1f424 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/analyzerContainer/modals/removeIndexModal/removeIndexModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/analyzerContainer/modals/removeIndexModal/removeIndexModal.jsx @@ -28,7 +28,7 @@ import { import { projectIdSelector } from 'controllers/pages'; import { withModal } from 'components/main/modal'; import { hideModalAction } from 'controllers/modal'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; const messages = defineMessages({ removeIndexHeader: { @@ -69,23 +69,23 @@ const RemoveIndexModal = () => { }; const okButton = { - text: formatMessage(messages.removeButtonText), + children: formatMessage(messages.removeButtonText), danger: true, onClick: onClickRemove, }; const cancelButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }; return ( - dispatch(hideModalAction())} > {formatMessage(messages.contentHeaderMessage)} - + ); }; diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/addEditDefectTypeModal/addEditDefectTypeModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/addEditDefectTypeModal/addEditDefectTypeModal.jsx index 0dc3e4438c..8460237a49 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/addEditDefectTypeModal/addEditDefectTypeModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/addEditDefectTypeModal/addEditDefectTypeModal.jsx @@ -21,7 +21,7 @@ import { useDispatch } from 'react-redux'; import className from 'classnames/bind'; import { defineMessages, useIntl } from 'react-intl'; import { withModal } from 'components/main/modal'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import { FieldProvider } from 'components/fields/fieldProvider'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { validate, bindMessageToValidator, composeBoundValidators } from 'common/utils/validation'; @@ -154,7 +154,7 @@ const AddEditDefectTypeModal = ({ }; const okButton = { - text: + children: actionType === MODAL_ACTION_TYPE_ADD ? formatMessage(COMMON_LOCALE_KEYS.CREATE) : formatMessage(COMMON_LOCALE_KEYS.SAVE), @@ -164,7 +164,7 @@ const AddEditDefectTypeModal = ({ }; const cancelButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }; const normalizeColor = (currentColor) => { @@ -172,7 +172,7 @@ const AddEditDefectTypeModal = ({ }; return ( - dispatch(hideModalAction())} allowCloseOutside={!dirty} + scrollable > {actionType === MODAL_ACTION_TYPE_ADD && formatMessage(messages.description)}
@@ -231,7 +232,7 @@ const AddEditDefectTypeModal = ({
-
+ ); }; AddEditDefectTypeModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/deleteDefectTypeModal/deleteDefectTypeModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/deleteDefectTypeModal/deleteDefectTypeModal.jsx index 0292a778d1..ce17488344 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/deleteDefectTypeModal/deleteDefectTypeModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/defectTypes/modals/deleteDefectTypeModal/deleteDefectTypeModal.jsx @@ -18,7 +18,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { defineMessages, useIntl } from 'react-intl'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import { withModal } from 'components/main/modal'; import { hideModalAction } from 'controllers/modal'; import { useDispatch } from 'react-redux'; @@ -44,20 +44,20 @@ const DeleteDefectTypeModal = ({ const dispatch = useDispatch(); return ( - dispatch(hideModalAction())} >
{formatMessage(messages.message, { name })}
-
+ ); }; DeleteDefectTypeModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/elements/ruleList/ruleItem/plain/ruleItem.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/elements/ruleList/ruleItem/plain/ruleItem.jsx index cf609f2237..58782aab5b 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/elements/ruleList/ruleItem/plain/ruleItem.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/elements/ruleList/ruleItem/plain/ruleItem.jsx @@ -17,7 +17,7 @@ import React, { useState } from 'react'; import classNames from 'classnames/bind'; import Parser from 'html-react-parser'; -import { Toggle } from 'componentLibrary/toggle'; +import { Toggle } from '@reportportal/ui-kit'; import PropTypes from 'prop-types'; import { ruleItemPropTypes, ruleItemDefaultProps } from './propTypes'; import styles from './ruleItem.scss'; @@ -68,7 +68,7 @@ export const RuleItem = ({ value={enabled} onChange={(e) => onToggleActive(e.target.checked)} disabled={disabled} - dataAutomationId="enabledToggle" + data-automation-id="enabledToggle" /> )} diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx index f6d84c27e1..f3728a893a 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/addEditNotificationModal/addEditNotificationModal.jsx @@ -21,18 +21,16 @@ import { useDispatch, useSelector } from 'react-redux'; import className from 'classnames/bind'; import { defineMessages, useIntl } from 'react-intl'; import { withModal } from 'components/main/modal'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal, Checkbox, Toggle } from '@reportportal/ui-kit'; import { FieldProvider } from 'components/fields/fieldProvider'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { FIELD } from 'common/constants/dataAutomation'; import { bindMessageToValidator, commonValidators, validate } from 'common/utils/validation'; import { FieldErrorHint } from 'components/fields/fieldErrorHint'; -import { Toggle } from 'componentLibrary/toggle'; import { URLS } from 'common/urls'; import { Dropdown } from 'componentLibrary/dropdown'; import { hideModalAction } from 'controllers/modal'; import { FieldText } from 'componentLibrary/fieldText'; -import { Checkbox } from '@reportportal/ui-kit'; import { AttributeListFormField } from 'components/containers/AttributeListFormField'; import { RadioGroup } from 'componentLibrary/radioGroup'; import { EMAIL } from 'common/constants/pluginNames'; @@ -283,7 +281,7 @@ const AddEditNotificationModal = ({ }; const okButton = { - text: + children: actionType === MODAL_ACTION_TYPE_ADD ? formatMessage(COMMON_LOCALE_KEYS.CREATE) : formatMessage(COMMON_LOCALE_KEYS.SAVE), @@ -293,7 +291,7 @@ const AddEditNotificationModal = ({ }; const cancelButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }; const hasOneAttrOrLess = attributesValue.filter((attribute) => 'key' in attribute).length <= 1; @@ -317,7 +315,7 @@ const AddEditNotificationModal = ({ }; return ( - dispatch(hideModalAction())} allowCloseOutside={!dirty} + scrollable footerNode={ !!value}> - + {formatMessage(messages.active)} @@ -432,7 +431,7 @@ const AddEditNotificationModal = ({ )}
- + ); }; diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/deleteNotificationCaseModal/deleteNotificationCaseModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/deleteNotificationCaseModal/deleteNotificationCaseModal.jsx index 6e913fe572..4229563c90 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/deleteNotificationCaseModal/deleteNotificationCaseModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/modals/deleteNotificationCaseModal/deleteNotificationCaseModal.jsx @@ -19,7 +19,7 @@ import PropTypes from 'prop-types'; import { defineMessages, useIntl } from 'react-intl'; import Parser from 'html-react-parser'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import { withModal } from 'components/main/modal'; import { hideModalAction } from 'controllers/modal'; import { useDispatch } from 'react-redux'; @@ -41,22 +41,22 @@ const DeleteNotificationCaseModal = ({ data: { onSave, type } }) => { const dispatch = useDispatch(); return ( - { onSave(); }, }} cancelButton={{ - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }} onClose={() => dispatch(hideModalAction())} >
{Parser(formatMessage(messages.message))}
-
+ ); }; DeleteNotificationCaseModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/notifications.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/notifications.jsx index 434434088c..6b325d94a0 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/notifications.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/notifications.jsx @@ -34,7 +34,7 @@ import { notificationPluginsSelector } from 'controllers/plugins/selectors'; import { projectNotificationsLoadingSelector } from 'controllers/project/selectors'; import { SpinningPreloader } from 'components/preloaders/spinningPreloader'; import { PROJECT_SETTINGS_NOTIFICATIONS_EVENTS } from 'analyticsEvents/projectSettingsPageEvents'; -import { Toggle } from 'componentLibrary/toggle'; +import { Toggle } from '@reportportal/ui-kit'; import { FieldElement, FormattedDescription } from '../elements'; import { Layout } from '../layout'; import { SettingsPageContent } from '../settingsPageContent'; diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/ruleGroup/ruleGroup.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/ruleGroup/ruleGroup.jsx index 69c384e22c..c7326f3338 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/notifications/ruleGroup/ruleGroup.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/notifications/ruleGroup/ruleGroup.jsx @@ -15,8 +15,7 @@ */ import { Layout } from 'pages/inside/projectSettingsPageContainer/content/layout'; -import { Toggle } from 'componentLibrary/toggle'; -import { Button } from '@reportportal/ui-kit'; +import { Button, Toggle } from '@reportportal/ui-kit'; import addIcon from 'common/img/add-inline.svg'; import React from 'react'; import classNames from 'classnames/bind'; @@ -294,7 +293,7 @@ export const RuleGroup = ({ pluginName, ruleDescription, rules, isPluginEnabled, disabled={isReadOnly} value={isPluginNotificationsEnabled} onChange={(e) => togglePluginNotificationsEnabled(e.target.checked)} - dataAutomationId="enabledToggle" + data-automation-id="enabledToggle" > {pluginName} diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx index 8547a8482c..18bc1d49c4 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/createPatternAnalysisModal/createPatternAnalysisModal.jsx @@ -21,7 +21,7 @@ import classNames from 'classnames/bind'; import { useIntl } from 'react-intl'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { withModal } from 'components/main/modal'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal, Toggle } from '@reportportal/ui-kit'; import { hideModalAction } from 'controllers/modal'; import { PATTERN_TYPES, REGEX_PATTERN } from 'common/constants/patternTypes'; import { commonValidators } from 'common/utils/validation'; @@ -29,7 +29,6 @@ import { formValueSelector, reduxForm } from 'redux-form'; import { FieldProvider } from 'components/fields'; import { Dropdown } from 'componentLibrary/dropdown'; import { FieldText } from 'componentLibrary/fieldText'; -import { Toggle } from 'componentLibrary/toggle'; import { FieldTextFlex } from 'componentLibrary/fieldTextFlex'; import { RegExEditor } from 'components/inputs/regExEditor'; import { FieldErrorHint } from 'components/fields/fieldErrorHint'; @@ -54,15 +53,15 @@ const CreatePatternAnalysisModal = ({ data, handleSubmit, initialize, dirty }) = const { formatMessage } = useIntl(); const okButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CREATE), + children: formatMessage(COMMON_LOCALE_KEYS.CREATE), onClick: () => handleSubmit(onSave)(), }; const cancelButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }; return ( -
- + ); }; CreatePatternAnalysisModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/deletePatternRuleModal/deletePatternRuleModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/deletePatternRuleModal/deletePatternRuleModal.jsx index df0f9935ac..4cdff14018 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/deletePatternRuleModal/deletePatternRuleModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/deletePatternRuleModal/deletePatternRuleModal.jsx @@ -20,7 +20,7 @@ import { useDispatch } from 'react-redux'; import { useIntl } from 'react-intl'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { withModal } from 'components/main/modal'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import { hideModalAction } from 'controllers/modal'; import { messages } from './messages'; @@ -29,23 +29,23 @@ const DeletePatternRuleModal = ({ data }) => { const { formatMessage } = useIntl(); const okButton = { - text: formatMessage(COMMON_LOCALE_KEYS.DELETE), + children: formatMessage(COMMON_LOCALE_KEYS.DELETE), onClick: data.onDelete, danger: true, }; const cancelButton = { - text: formatMessage(COMMON_LOCALE_KEYS.CANCEL), + children: formatMessage(COMMON_LOCALE_KEYS.CANCEL), }; return ( - dispatch(hideModalAction())} > {formatMessage(messages.deletePatternMsg)} - + ); }; DeletePatternRuleModal.propTypes = { diff --git a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/editPatternModal/editPatternModal.jsx b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/editPatternModal/editPatternModal.jsx index e9a99a7cd3..48298c1374 100644 --- a/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/editPatternModal/editPatternModal.jsx +++ b/app/src/pages/inside/projectSettingsPageContainer/content/patternAnalysis/modals/editPatternModal/editPatternModal.jsx @@ -24,7 +24,7 @@ import { FieldErrorHint } from 'components/fields/fieldErrorHint'; import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { commonValidators } from 'common/utils/validation'; import { useDispatch } from 'react-redux'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import { hideModalAction } from 'controllers/modal'; import { useTracking } from 'react-tracking'; import { FieldText } from 'componentLibrary/fieldText'; @@ -57,14 +57,14 @@ const EditPatternModal = ({ data, handleSubmit, initialize, dirty }) => { }; return ( - dispatch(hideModalAction())} allowCloseOutside={!dirty} @@ -79,7 +79,7 @@ const EditPatternModal = ({ data, handleSubmit, initialize, dirty }) => { - + ); }; EditPatternModal.propTypes = { diff --git a/app/src/pages/outside/loginPage/pageBlocks/serviceVersionsBlock/serviceVersionBlockModal/serviceVersionBlockModal.jsx b/app/src/pages/outside/loginPage/pageBlocks/serviceVersionsBlock/serviceVersionBlockModal/serviceVersionBlockModal.jsx index ef280a7bd6..87ec624e21 100644 --- a/app/src/pages/outside/loginPage/pageBlocks/serviceVersionsBlock/serviceVersionBlockModal/serviceVersionBlockModal.jsx +++ b/app/src/pages/outside/loginPage/pageBlocks/serviceVersionsBlock/serviceVersionBlockModal/serviceVersionBlockModal.jsx @@ -16,7 +16,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { ModalLayout } from 'componentLibrary/modal'; +import { Modal } from '@reportportal/ui-kit'; import classNames from 'classnames/bind'; import { BigButton } from 'components/buttons/bigButton'; import { useIntl } from 'react-intl'; @@ -42,14 +42,14 @@ FooterNode.propTypes = { export const ServiceVersionsBlockModal = ({ services, hideModal }) => { return ( - } > - + ); }; ServiceVersionsBlockModal.propTypes = { From 0d6a3167908b6da30debc1f97fe41879dc8b81c3 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:40:01 +0400 Subject: [PATCH 26/29] EPMRPP-92684 || EPMRPP-93124 || EPMRPP-92671 || Jira Cloud Bug fixes (#3942) * EPMRPP-92684 || New option added to Jira Cloud field is not displayed in the list of field options * EPMRPP-93124 || It's not possible to save multi-select field as empty * EPMRPP-92671 || Need to add "None" for not required fields * EPMRPP-92671 || code review fix - 1 * EPMRPP-92671 || code review fix - 2 * EPMRPP-92671 || code review fix - 3 --- .../fields/dynamicFieldsSection/constants.js | 1 + .../fields/dynamicFieldsSection/utils.js | 19 +++++++++++++++++-- .../btsPropertiesForIssueForm.jsx | 3 ++- .../integrationForm/integrationForm.jsx | 7 ++++++- .../modals/postIssueModal/postIssueModal.jsx | 10 ++++++---- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/app/src/components/fields/dynamicFieldsSection/constants.js b/app/src/components/fields/dynamicFieldsSection/constants.js index 412e51bee9..422a5fcfdd 100644 --- a/app/src/components/fields/dynamicFieldsSection/constants.js +++ b/app/src/components/fields/dynamicFieldsSection/constants.js @@ -25,3 +25,4 @@ export const CREATABLE_MULTIPLE_AUTOCOMPLETE_TYPE = 'creatableMultiAutocomplete' export const VALUE_NAME_KEY = 'valueName'; export const VALUE_ID_KEY = 'valueId'; +export const VALUE_NONE = 'None'; diff --git a/app/src/components/fields/dynamicFieldsSection/utils.js b/app/src/components/fields/dynamicFieldsSection/utils.js index 4ade87b258..ec51b477e6 100644 --- a/app/src/components/fields/dynamicFieldsSection/utils.js +++ b/app/src/components/fields/dynamicFieldsSection/utils.js @@ -14,6 +14,7 @@ * limitations under the License. */ +import { omit } from 'common/utils/omit'; import { ARRAY_TYPE, DROPDOWN_TYPE, @@ -25,6 +26,7 @@ import { MULTIPLE_AUTOCOMPLETE_TYPE, CREATABLE_MULTIPLE_AUTOCOMPLETE_TYPE, MULTILINE_TEXT_TYPE, + VALUE_NONE, } from './constants'; import { FIELDS_MAP } from './dynamicFieldMap'; @@ -42,9 +44,12 @@ export const normalizeFieldsWithOptions = (fields, defaultOptionValueKey = VALUE if (!field?.definedValues?.length) { return field; } + if (!field.required && field.fieldType !== ARRAY_TYPE) { + field.definedValues.unshift({ [VALUE_NAME_KEY]: VALUE_NONE }); + } const definedValues = field.definedValues.map(normalizeDefinedValue); let value = field.value; - if (!value?.length) { + if (!value?.length && field.fieldType !== ARRAY_TYPE) { value = [definedValues[0][defaultOptionValueKey]]; } return { ...field, definedValues, value }; @@ -53,7 +58,7 @@ export const normalizeFieldsWithOptions = (fields, defaultOptionValueKey = VALUE export const mergeFields = (savedFields, fetchedFields) => fetchedFields.map((field) => { const savedField = savedFields.find((item) => item.id === field.id); - return savedField ? { ...field, ...savedField } : field; + return savedField ? { ...field, ...omit(savedField, ['definedValues']) } : field; }); export const mapFieldsToValues = (fields, predefinedFieldValue, predefinedFieldKey) => { @@ -88,3 +93,13 @@ export const getFieldComponent = (field) => { return FIELDS_MAP[fieldType]; }; + +export const removeNoneValues = (inputObj) => { + const obj = { ...inputObj }; + Object.keys(obj).forEach((key) => { + if (Array.isArray(obj[key])) { + obj[key] = obj[key].filter((item) => item !== VALUE_NONE); + } + }); + return obj; +}; diff --git a/app/src/components/integrations/elements/bts/btsPropertiesForIssueForm/btsPropertiesForIssueForm.jsx b/app/src/components/integrations/elements/bts/btsPropertiesForIssueForm/btsPropertiesForIssueForm.jsx index 173598b29f..415e254d0a 100644 --- a/app/src/components/integrations/elements/bts/btsPropertiesForIssueForm/btsPropertiesForIssueForm.jsx +++ b/app/src/components/integrations/elements/bts/btsPropertiesForIssueForm/btsPropertiesForIssueForm.jsx @@ -293,7 +293,8 @@ export class BtsPropertiesForIssueForm extends Component { updateFields = (issueTypeValue) => this.fetchFieldsSet(issueTypeValue).then((fetchedFields) => { - const { defectFormFields } = this.props.initialData; + let { defectFormFields = [] } = this.props.initialData; + defectFormFields = normalizeFieldsWithOptions(defectFormFields, this.defaultOptionValueKey); let fields = normalizeFieldsWithOptions(fetchedFields, this.defaultOptionValueKey); let checkedFieldsIds = {}; diff --git a/app/src/components/integrations/elements/integrationSettings/integrationForm/integrationForm.jsx b/app/src/components/integrations/elements/integrationSettings/integrationForm/integrationForm.jsx index f838d795f8..3547d535d0 100644 --- a/app/src/components/integrations/elements/integrationSettings/integrationForm/integrationForm.jsx +++ b/app/src/components/integrations/elements/integrationSettings/integrationForm/integrationForm.jsx @@ -24,6 +24,7 @@ import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { Button } from '@reportportal/ui-kit'; import { isIntegrationSupportsMultipleInstances } from 'components/integrations/utils'; import { PLUGINS_PAGE_EVENTS, SETTINGS_PAGE_EVENTS } from 'components/main/analytics/events'; +import { removeNoneValues } from 'components/fields/dynamicFieldsSection/utils'; import styles from './integrationForm.scss'; const cx = classNames.bind(styles); @@ -94,7 +95,11 @@ export class IntegrationForm extends Component { }; submitIntegration = (formData) => { - this.props.onSubmit(formData, this.submitIntegrationSuccess, this.state.metaData); + this.props.onSubmit( + removeNoneValues(formData), + this.submitIntegrationSuccess, + this.state.metaData, + ); this.props.tracking.trackEvent( (this.props.isGlobal ? PLUGINS_PAGE_EVENTS : SETTINGS_PAGE_EVENTS).pluginConfigureClickSubmit( this.props.data.integrationType.name, diff --git a/app/src/pages/inside/stepPage/modals/postIssueModal/postIssueModal.jsx b/app/src/pages/inside/stepPage/modals/postIssueModal/postIssueModal.jsx index 5a4cec0f0b..7abeee9fbb 100644 --- a/app/src/pages/inside/stepPage/modals/postIssueModal/postIssueModal.jsx +++ b/app/src/pages/inside/stepPage/modals/postIssueModal/postIssueModal.jsx @@ -37,6 +37,7 @@ import { DynamicFieldsSection } from 'components/fields/dynamicFieldsSection'; import { normalizeFieldsWithOptions, mapFieldsToValues, + removeNoneValues, } from 'components/fields/dynamicFieldsSection/utils'; import { projectInfoSelector } from 'controllers/project'; import { FieldProvider } from 'components/fields/fieldProvider'; @@ -273,6 +274,7 @@ export class PostIssueModal extends Component { }; prepareDataToSend = (formData) => { + const refinedData = removeNoneValues(formData); const { getBtsIntegrationBackLink, data: { items }, @@ -283,7 +285,7 @@ export class PostIssueModal extends Component { field.fieldType === AUTOCOMPLETE_TYPE || field.fieldType === MULTIPLE_AUTOCOMPLETE_TYPE || field.fieldType === CREATABLE_MULTIPLE_AUTOCOMPLETE_TYPE; - const formFieldData = formData[field.id]; + const formFieldData = refinedData[field.id]; let preparedFormFieldData = formFieldData; if (!Array.isArray(formFieldData)) { preparedFormFieldData = formFieldData ? [formFieldData] : []; @@ -295,9 +297,9 @@ export class PostIssueModal extends Component { {}, ); const data = { - [INCLUDE_COMMENTS_KEY]: formData[INCLUDE_COMMENTS_KEY], - [INCLUDE_ATTACHMENTS_KEY]: formData[INCLUDE_ATTACHMENTS_KEY], - [INCLUDE_LOGS_KEY]: formData[INCLUDE_LOGS_KEY], + [INCLUDE_COMMENTS_KEY]: refinedData[INCLUDE_COMMENTS_KEY], + [INCLUDE_ATTACHMENTS_KEY]: refinedData[INCLUDE_ATTACHMENTS_KEY], + [INCLUDE_LOGS_KEY]: refinedData[INCLUDE_LOGS_KEY], logQuantity: LOG_QUANTITY, item: items[0].id, fields, From 35ced617d8657c4e32f3be45de0390e140e62b51 Mon Sep 17 00:00:00 2001 From: maria-hambardzumian <164881199+maria-hambardzumian@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:14:25 +0400 Subject: [PATCH 27/29] EPMRPP-92671 || Extra None Values Displayed in Options (#3947) --- app/src/components/fields/dynamicFieldsSection/utils.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/components/fields/dynamicFieldsSection/utils.js b/app/src/components/fields/dynamicFieldsSection/utils.js index ec51b477e6..d34000c8d7 100644 --- a/app/src/components/fields/dynamicFieldsSection/utils.js +++ b/app/src/components/fields/dynamicFieldsSection/utils.js @@ -44,7 +44,10 @@ export const normalizeFieldsWithOptions = (fields, defaultOptionValueKey = VALUE if (!field?.definedValues?.length) { return field; } - if (!field.required && field.fieldType !== ARRAY_TYPE) { + const isNoneValueExist = field.definedValues.some( + (item) => item[VALUE_NAME_KEY] === VALUE_NONE, + ); + if (!field.required && field.fieldType !== ARRAY_TYPE && !isNoneValueExist) { field.definedValues.unshift({ [VALUE_NAME_KEY]: VALUE_NONE }); } const definedValues = field.definedValues.map(normalizeDefinedValue); From 17e5a782af89a53461fa58f697196972ce4438c0 Mon Sep 17 00:00:00 2001 From: Siarhei Iukou Date: Mon, 5 Aug 2024 02:51:31 +0300 Subject: [PATCH 28/29] EPMRPP-93163 || fix import --- .../helpAndService/modal/requestSupportModal.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx b/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx index f8022dbdf7..0bf2ba6da2 100644 --- a/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx +++ b/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx @@ -20,7 +20,7 @@ import { reduxForm } from 'redux-form'; import { useDispatch, useSelector } from 'react-redux'; import { useIntl } from 'react-intl'; import classNames from 'classnames/bind'; -import { Checkbox } from '@reportportal/ui-kit'; +import { Checkbox, Modal } from '@reportportal/ui-kit'; import { commonValidators } from 'common/utils/validation'; import { userEmailSelector } from 'controllers/user'; import { FieldProvider } from 'components/fields/fieldProvider'; @@ -29,7 +29,6 @@ import { COMMON_LOCALE_KEYS } from 'common/constants/localization'; import { NOTIFICATION_TYPES, showNotification } from 'controllers/notification'; import { HELP_AND_SUPPORT_EVENTS } from 'analyticsEvents/helpAndSupportEvents'; import { FieldText } from 'componentLibrary/fieldText'; -import { ModalLayout } from 'componentLibrary/modal'; import { hideModalAction, withModal } from 'controllers/modal'; import OpenIcon from 'common/img/open-in-new-tab-inline.svg'; import { referenceDictionary } from 'common/utils'; @@ -100,7 +99,7 @@ const RequestSupport = ({ handleSubmit, initialize, invalid }) => { }; return ( - {
- + ); }; RequestSupport.propTypes = { From 1aaf7be15626ef7c9fa2aaff5c4b3658effa7709 Mon Sep 17 00:00:00 2001 From: Siarhei Iukou Date: Mon, 5 Aug 2024 15:59:47 +0300 Subject: [PATCH 29/29] EPMRPP-93163 || Use the properties of the new modal component --- .../appSidebar/helpAndService/modal/requestSupportModal.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx b/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx index 0bf2ba6da2..18c7b9ef8d 100644 --- a/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx +++ b/app/src/layouts/common/appSidebar/helpAndService/modal/requestSupportModal.jsx @@ -102,7 +102,7 @@ const RequestSupport = ({ handleSubmit, initialize, invalid }) => { { handleSubmit(onSubmit)(); }, @@ -110,7 +110,7 @@ const RequestSupport = ({ handleSubmit, initialize, invalid }) => { attributes: { type: 'submit', form: REQUEST_FORM_ID }, eventInfo: HELP_AND_SUPPORT_EVENTS.CLICK_SEND_REQUEST_SUPPORT_BUTTON, }} - cancelButton={{ text: formatMessage(COMMON_LOCALE_KEYS.CANCEL) }} + cancelButton={{ children: formatMessage(COMMON_LOCALE_KEYS.CANCEL) }} onClose={hideModal} >