From 29642322cfc44953e2822f34ff3db3b4cf3a02db Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:43:00 +0530 Subject: [PATCH 001/186] feat: add route for approval policy in global configuration --- .../globalConfigurations/GlobalConfiguration.tsx | 15 +++++++++++++++ src/config/routes.ts | 1 + 2 files changed, 16 insertions(+) diff --git a/src/components/globalConfigurations/GlobalConfiguration.tsx b/src/components/globalConfigurations/GlobalConfiguration.tsx index 432d5ab0b3..9069eb3653 100644 --- a/src/components/globalConfigurations/GlobalConfiguration.tsx +++ b/src/components/globalConfigurations/GlobalConfiguration.tsx @@ -66,6 +66,7 @@ const PluginsPolicyV1 = importComponentFromFELibrary('PluginsPolicyV1') const PluginsPolicy = importComponentFromFELibrary('PluginsPolicy', null, 'function') const FilterConditions = importComponentFromFELibrary('FilterConditions') const LockDeploymentConfiguration = importComponentFromFELibrary('LockDeploymentConfiguration', null, 'function') +const ApprovalPolicy = importComponentFromFELibrary('ApprovalPolicy', null, 'function') const CatalogFramework = importComponentFromFELibrary('CatalogFramework') const PullImageDigest = importComponentFromFELibrary('PullImageDigest') const DeploymentWindow = importComponentFromFELibrary('DeploymentWindowComponent') @@ -460,6 +461,15 @@ const NavItem = ({ serverMode }) => {
Deployment Window
)} + {ApprovalPolicy && ( + +
Approval Policy
+
+ )} {window._env_.FEATURE_IMAGE_PROMOTION_ENABLE && ImagePromotion && ( ), + ApprovalPolicy && ( + + + + ), ImagePromotion && ( diff --git a/src/config/routes.ts b/src/config/routes.ts index 466e8afb2f..83340e04c6 100644 --- a/src/config/routes.ts +++ b/src/config/routes.ts @@ -99,6 +99,7 @@ export const URLS = { GLOBAL_CONFIG_PLUGIN_POLICY: '/global-config/plugin-policy', GLOBAL_CONFIG_FILTER_CONDITION: '/global-config/filter-condition', GLOBAL_CONFIG_LOCK_DEPLOYMENT_CONFIGURATION: '/global-config/lock-deployment-configuration', + GLOBAL_CONFIG_APPROVAL_POLICY: '/global-config/approval-policy', GLOBAL_CONFIG_BUILD_INFRA: '/global-config/build-infra', GLOBAL_CONFIG_DEPLOYMENT_WINDOW: '/global-config/deployment-window', GLOBAL_CONFIG_IMAGE_PROMOTION: '/global-config/image-promotion', From 0c4187922e65cdf1aa4a0d9a2d8037f7835d0bb4 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:24:55 +0530 Subject: [PATCH 002/186] chore: bump common --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 03aeb64fa9..27ca3f6f56 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.1.4", + "@devtron-labs/devtron-fe-common-lib": "1.1.4-beta-3", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index c7981b677a..4f004cf182 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.1.4.tgz#039dc9718bf3371336bc56d4a66b7fcc17ead5d5" - integrity sha512-4dY1d3XC9l1yREmBEvlcij2iczlgV6IM42EfCzUWFMfwXV1estHreoy1/gmfSnBOVqyS0ObPJJiMTHLU6bDHeg== +"@devtron-labs/devtron-fe-common-lib@1.1.4-beta-3": + version "1.1.4-beta-3" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.1.4-beta-3.tgz#39d707491075e223d6f2507a1e2a664aa7a8002d" + integrity sha512-fdG6/IjlMpxCGnMd93KHltYxSZM/wyUI52riGLF8CJ0hDlHxOBZbRGP+KJKXhk68YToTu6PuW76dhrS9DjJTdQ== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From b2dd1c1be9491477450c69af1502ee5df42bccda Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:48:29 +0530 Subject: [PATCH 003/186] refactor: comment out the to be removed code --- .../AppConfigurations/AppConfig.types.ts | 2 +- .../AppConfigurations/AppConfig.utils.ts | 14 +++++----- .../MainContent/AppComposeRouter.tsx | 10 +++---- .../Navigation/AppNavigation.tsx | 28 +++++++++---------- .../Details/AppConfigurations/appConfig.scss | 2 +- src/config/routes.ts | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts index 2f8cd529f0..da29e9669d 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts @@ -43,7 +43,7 @@ export enum STAGE_NAME { SECRETS = 'SECRETS', ENV_OVERRIDE = 'ENV_OVERRIDE', EXTERNAL_LINKS = 'EXTERNAL_LINKS', - PROTECT_CONFIGURATION = 'PROTECT_CONFIGURATION', + // PROTECT_CONFIGURATION = 'PROTECT_CONFIGURATION', REDIRECT_ITEM = 'REDIRECT_ITEM', } diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.utils.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.utils.ts index bff69dd1a2..b1e9adb9d5 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.utils.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.utils.ts @@ -16,7 +16,7 @@ import { ResourceKindType, stringComparatorBySortOrder, ConfigResourceType } from '@devtron-labs/devtron-fe-common-lib' -import { URLS, DOCUMENTATION } from '@Config/index' +import { DOCUMENTATION } from '@Config/index' import { AppConfigStatusItemType, EnvConfigDTO } from '../../service.types' import { AppStageUnlockedType, CustomNavItemsType, EnvConfigType, STAGE_NAME } from './AppConfig.types' @@ -270,12 +270,12 @@ export const getNavItems = ( flowCompletionPercent: completedPercent, currentStep: completedSteps, }, - { - title: 'Protect Configuration', - href: `/app/${appId}/edit/${URLS.APP_CONFIG_PROTECTION}`, - stage: STAGE_NAME.PROTECT_CONFIGURATION, - isLocked: false, - }, + // { + // title: 'Protect Configuration', + // href: `/app/${appId}/edit/${URLS.APP_CONFIG_PROTECTION}`, + // stage: STAGE_NAME.PROTECT_CONFIGURATION, + // isLocked: false, + // }, { title: 'Environment Override', href: `/app/${appId}/edit/env-override`, diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx index bf61e6231b..91e4558eec 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx @@ -21,7 +21,7 @@ import { Progressing, EnvResourceType } from '@devtron-labs/devtron-fe-common-li import { ReactComponent as Next } from '@Icons/ic-arrow-forward.svg' import { URLS } from '@Config/index' -import { ErrorBoundary, importComponentFromFELibrary, useAppContext } from '@Components/common' +import { ErrorBoundary, useAppContext } from '@Components/common' import ExternalLinks from '@Components/externalLinks/ExternalLinks' import { CMSecretComponentType } from '@Pages/Shared/ConfigMapSecret/types' import { ConfigMapSecretWrapper } from '@Pages/Shared/ConfigMapSecret/ConfigMapSecret.wrapper' @@ -39,7 +39,7 @@ const WorkflowEdit = lazy(() => import('@Components/workflowEditor/workflowEdito const EnvironmentOverride = lazy(() => import('@Pages/Shared/EnvironmentOverride/EnvironmentOverride')) const UserGitRepoConfiguration = lazy(() => import('@Components/gitOps/UserGitRepConfiguration')) -const ConfigProtectionView = importComponentFromFELibrary('ConfigProtectionView') +// const ConfigProtectionView = importComponentFromFELibrary('ConfigProtectionView') const NextButton: React.FC = ({ isCiPipeline, navItems, currentStageName, isDisabled }) => { const history = useHistory() @@ -84,7 +84,7 @@ const AppComposeRouter = () => { isJobView, isBaseConfigProtected, reloadEnvironments, - configProtectionData, + // configProtectionData, filteredEnvIds, isGitOpsConfigurationRequired, reloadAppConfig, @@ -225,7 +225,7 @@ const AppComposeRouter = () => { /> )} - {isUnlocked.workflowEditor && ConfigProtectionView && ( + {/* {isUnlocked.workflowEditor && ConfigProtectionView && ( { isBaseConfigProtected={isBaseConfigProtected} /> - )} + )} */} {isUnlocked.workflowEditor && [ { // HOOKS @@ -52,7 +52,7 @@ export const AppNavigation = () => { deleteApp, canShowExternalLinks, showCannotDeleteTooltip, - isWorkflowEditorUnlocked, + // isWorkflowEditorUnlocked, toggleRepoSelectionTippy, getRepo, isJobView, @@ -177,17 +177,17 @@ export const AppNavigation = () => { ) } - if (item.stage === STAGE_NAME.PROTECT_CONFIGURATION) { - return ( - isWorkflowEditorUnlocked && - ConfigProtectionView && ( -
- {!canShowExternalLinks &&
} - {renderNavItem(item)} -
- ) - ) - } + // if (item.stage === STAGE_NAME.PROTECT_CONFIGURATION) { + // return ( + // isWorkflowEditorUnlocked && + // ConfigProtectionView && ( + //
+ // {!canShowExternalLinks &&
} + // {renderNavItem(item)} + //
+ // ) + // ) + // } if ( item.stage !== STAGE_NAME.ENV_OVERRIDE || diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/appConfig.scss b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/appConfig.scss index ace4b7516c..2773c5df75 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/appConfig.scss +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/appConfig.scss @@ -249,7 +249,7 @@ .environment-routes-container { width: 100%; - height: calc(100% - 48px); + // height: calc(100% - 48px); overflow: hidden; & > .app-compose__nav-item { diff --git a/src/config/routes.ts b/src/config/routes.ts index 83340e04c6..2c63851a29 100644 --- a/src/config/routes.ts +++ b/src/config/routes.ts @@ -66,7 +66,7 @@ export const URLS = { APP_ENV_OVERRIDE_CONFIG: 'env-override', APP_ENV_CONFIG_COMPARE: 'config-compare', APP_EXTERNAL_LINKS: 'external-links', - APP_CONFIG_PROTECTION: 'config-protection', + // APP_CONFIG_PROTECTION: 'config-protection', APP_CI_CONFIG: 'ci-pipeline', APP_CD_CONFIG: 'cd-pipeline', APP_EXTERNAL_CI_CONFIG: 'external-ci', From 377bdf84517f1174f94777d99b9a24e9af75a0d0 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:40:27 +0530 Subject: [PATCH 004/186] feat: add approvalConfigData in cd pipeline --- src/components/ApplicationGroup/AppGroup.types.ts | 7 ++++++- .../Details/TriggerView/BulkCDTrigger.tsx | 2 ++ .../Details/TriggerView/EnvTriggerView.tsx | 6 ++++-- .../app/details/triggerView/TriggerView.tsx | 4 ++-- .../app/details/triggerView/workflow.service.ts | 13 +++++++++++-- src/components/cdPipeline/BuildCD.tsx | 1 + src/components/cdPipeline/CDPipeline.tsx | 5 +++++ src/components/workflowEditor/Workflow.tsx | 3 +++ 8 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/components/ApplicationGroup/AppGroup.types.ts b/src/components/ApplicationGroup/AppGroup.types.ts index 75a631663d..115590911b 100644 --- a/src/components/ApplicationGroup/AppGroup.types.ts +++ b/src/components/ApplicationGroup/AppGroup.types.ts @@ -29,6 +29,7 @@ import { RuntimeParamsListItemType, UseUrlFiltersReturnType, CommonNodeAttr, + ApprovalConfigDataType, } from '@devtron-labs/devtron-fe-common-lib' import { CDMaterialProps } from '../app/details/triggerView/types' import { EditDescRequest, NodeType, Nodes, OptionType } from '../app/types' @@ -80,6 +81,10 @@ export interface BulkCDDetailType extends BulkTriggerAppDetailType, Pick, } -export type AppEnvLocalStorageKeyType = `${string}__filter` \ No newline at end of file +export type AppEnvLocalStorageKeyType = `${string}__filter` diff --git a/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx b/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx index 5d1229a441..857c2c4b41 100644 --- a/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx +++ b/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx @@ -564,7 +564,9 @@ export default function BulkCDTrigger({ approvalUsers: appListData.approvalUsers, requestedUserId: appListData.requestedUserId, // FIXME: Not using anywhere + // TODO: Remove userApprovalConfig: appListData.userApprovalConfig, + approvalConfigData: appListData.approvalConfigData, appReleaseTagNames: appListData.appReleaseTags, tagsEditable: appListData.tagsEditable, }) diff --git a/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx b/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx index 191bc25eac..e699833e02 100644 --- a/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx +++ b/src/components/ApplicationGroup/Details/TriggerView/EnvTriggerView.tsx @@ -924,7 +924,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou const nodes = workflow.nodes.map((node) => { if (cdNodeId == node.id && node.type === nodeType) { // TODO: Ig not using this, can remove it - node.userApprovalConfig = workflow.approvalConfiguredIdsMap[cdNodeId] + node.approvalConfigData = workflow.approvalConfiguredIdsMap[cdNodeId] _selectedNode = node _workflowId = workflow.id _appID = workflow.appId @@ -981,7 +981,7 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou const _workflows = [...filteredWorkflows].map((workflow) => { const nodes = workflow.nodes.map((node) => { if (node.type === 'CD' && +node.id == cdNodeId) { - node.userApprovalConfig = workflow.approvalConfiguredIdsMap[cdNodeId] + node.approvalConfigData = workflow.approvalConfiguredIdsMap[cdNodeId] _selectedNode = node } return node @@ -1767,7 +1767,9 @@ export default function EnvTriggerView({ filteredAppIds, isVirtualEnv }: AppGrou parentEnvironmentName: _selectedNode.parentEnvironmentName, material: _selectedNode.inputMaterialList, approvalUsers: _selectedNode.approvalUsers, + // TODO: Remove userApprovalConfig: _selectedNode.userApprovalConfig, + approvalConfigData: _selectedNode.approvalConfigData, requestedUserId: _selectedNode.requestedUserId, appReleaseTags: wf.appReleaseTags, tagsEditable: wf.tagsEditable, diff --git a/src/components/app/details/triggerView/TriggerView.tsx b/src/components/app/details/triggerView/TriggerView.tsx index 7ff2713940..e2fb0877f8 100644 --- a/src/components/app/details/triggerView/TriggerView.tsx +++ b/src/components/app/details/triggerView/TriggerView.tsx @@ -764,7 +764,7 @@ class TriggerView extends Component { if (cdNodeId == node.id && node.type === nodeType) { if (node.type === 'CD') { // TODO: Potential bug since removed, data was from api which is now in cdmaterials data.userApprovalConfig ?? workflow.approvalConfiguredIdsMap[cdNodeId] - node.userApprovalConfig = workflow.approvalConfiguredIdsMap[cdNodeId] + node.approvalConfigData = workflow.approvalConfiguredIdsMap[cdNodeId] } } return node @@ -813,7 +813,7 @@ class TriggerView extends Component { const workflows = [...this.state.workflows].map((workflow) => { const nodes = workflow.nodes.map((node) => { if (node.type === 'CD' && +node.id == cdNodeId) { - node.userApprovalConfig = workflow.approvalConfiguredIdsMap[cdNodeId] + node.approvalConfigData = workflow.approvalConfiguredIdsMap[cdNodeId] } return node }) diff --git a/src/components/app/details/triggerView/workflow.service.ts b/src/components/app/details/triggerView/workflow.service.ts index 597d6a2ced..16d940fc0d 100644 --- a/src/components/app/details/triggerView/workflow.service.ts +++ b/src/components/app/details/triggerView/workflow.service.ts @@ -24,6 +24,8 @@ import { getIsManualApprovalConfigured, CiPipeline, CdPipeline, + getIsApprovalPolicyConfigured, + sanitizeApprovalConfigData, } from '@devtron-labs/devtron-fe-common-lib' import { getCDConfig, getCIConfig, getWorkflowList, getWorkflowViewList } from '../../../../services/service' import { @@ -286,10 +288,11 @@ export function processWorkflow( const cdNode = cdPipelineToNode(cdPipeline, dimensions, branch.parentId, branch.isLast) wf.nodes.push(cdNode) - if (getIsManualApprovalConfigured(cdPipeline.userApprovalConfig)) { + if (getIsApprovalPolicyConfigured(cdPipeline.approvalConfigData)) { + // TODO: what does this do? wf.approvalConfiguredIdsMap = { ...wf.approvalConfiguredIdsMap, - [cdPipeline.id]: cdPipeline.userApprovalConfig, + [cdPipeline.id]: cdPipeline.approvalConfigData, } } } @@ -575,6 +578,7 @@ function ciPipelineToNode( showPluginWarning: false, isTriggerBlocked: false, pluginBlockState: getParsedPluginPolicyConsequenceData(), + approvalConfigData: null, } }) const trigger = ciPipeline.isManual ? TriggerType.Manual.toLocaleLowerCase() : TriggerType.Auto.toLocaleLowerCase() @@ -615,6 +619,7 @@ function ciPipelineToNode( showPluginWarning: ciPipeline.isOffendingMandatoryPlugin, isTriggerBlocked: ciPipeline.isCITriggerBlocked, pluginBlockState: getParsedPluginPolicyConsequenceData(ciPipeline.ciBlockState), + approvalConfigData: null, } return ciNode @@ -693,6 +698,7 @@ function cdPipelineToNode( showPluginWarning: cdPipeline.preDeployStage?.isOffendingMandatoryPlugin, isTriggerBlocked: cdPipeline.preDeployStage?.isTriggerBlocked, pluginBlockState: getParsedPluginPolicyConsequenceData(cdPipeline.preDeployStage?.pluginBlockState), + approvalConfigData: null, } stageIndex++ } @@ -734,7 +740,9 @@ function cdPipelineToNode( parentPipelineId: String(cdPipeline.parentPipelineId), parentPipelineType: cdPipeline.parentPipelineType, deploymentAppDeleteRequest: cdPipeline.deploymentAppDeleteRequest, + // Remove this userApprovalConfig: cdPipeline.userApprovalConfig, + approvalConfigData: sanitizeApprovalConfigData(cdPipeline.approvalConfigData), isVirtualEnvironment: cdPipeline.isVirtualEnvironment, deploymentAppType: cdPipeline.deploymentAppType, helmPackageName: cdPipeline?.helmPackageName || '', @@ -787,6 +795,7 @@ function cdPipelineToNode( showPluginWarning: cdPipeline.postDeployStage?.isOffendingMandatoryPlugin, isTriggerBlocked: cdPipeline.postDeployStage?.isTriggerBlocked, pluginBlockState: getParsedPluginPolicyConsequenceData(cdPipeline.postDeployStage?.pluginBlockState), + approvalConfigData: null, } } diff --git a/src/components/cdPipeline/BuildCD.tsx b/src/components/cdPipeline/BuildCD.tsx index 8075e7cb06..82824ed127 100644 --- a/src/components/cdPipeline/BuildCD.tsx +++ b/src/components/cdPipeline/BuildCD.tsx @@ -601,6 +601,7 @@ export default function BuildCD({ } const handleUpdateUserApprovalConfig = (updatedUserApprovalConfig: CDFormType['userApprovalConfig']) => { + // TODO: Remove the validator and this function const _form = structuredClone(formData) const _formDataErrorObj = structuredClone(formDataErrorObj) diff --git a/src/components/cdPipeline/CDPipeline.tsx b/src/components/cdPipeline/CDPipeline.tsx index 9621564097..031dec8107 100644 --- a/src/components/cdPipeline/CDPipeline.tsx +++ b/src/components/cdPipeline/CDPipeline.tsx @@ -190,6 +190,7 @@ export default function CDPipeline({ steps: [], }, // Utilizing the null checks to get default value + // TODO: Remove userApprovalConfig: sanitizeUserApprovalConfig(null), isClusterCdActive: false, deploymentAppCreated: false, @@ -248,6 +249,7 @@ export default function CDPipeline({ steps: [], isValid: true, }, + // TODO: Remove userApprovalConfig: { isValid: true, }, @@ -709,6 +711,7 @@ export default function CDPipeline({ deploymentAppName: formData.deploymentAppName, releaseMode: formData.releaseMode, deploymentAppCreated: formData.deploymentAppCreated, + // TODO: Remove this ...(getUserApprovalConfigPayload ? { userApprovalConfig: getUserApprovalConfigPayload(formData.userApprovalConfig), @@ -972,6 +975,8 @@ export default function CDPipeline({ return } + + // TODO: Remove this const { isValid: isUserApprovalConfigValid = true, message: userApprovalConfigErrorMessage } = formDataErrorObj.userApprovalConfig ?? {} diff --git a/src/components/workflowEditor/Workflow.tsx b/src/components/workflowEditor/Workflow.tsx index cc5fa9c213..7a2e62f9be 100644 --- a/src/components/workflowEditor/Workflow.tsx +++ b/src/components/workflowEditor/Workflow.tsx @@ -144,6 +144,7 @@ export class Workflow extends Component { showPluginWarning: false, isTriggerBlocked: false, pluginBlockState: getParsedPluginPolicyConsequenceData() || null, + approvalConfigData: null, }) } @@ -574,6 +575,7 @@ export class Workflow extends Component { ciPipelineId={workflowCIPipelineId} workflowId={this.props.id} isWebhookCD={isWebhookCD} + showApprovalConfigInfoTippy /> ) } @@ -633,6 +635,7 @@ export class Workflow extends Component { isParallelEdge isWebhookCD={isWebhookCD} leftTooltipContent={leftTooltipContent} + showApprovalConfigInfoTippy />, ) } else { From 9671b8f6b42fb8a49aacde8d67ebd3298bb73ea9 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 14:19:25 +0530 Subject: [PATCH 005/186] feat: add target id to workflow editor container --- src/components/workflowEditor/workflowEditor.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/workflowEditor/workflowEditor.tsx b/src/components/workflowEditor/workflowEditor.tsx index 2fce2e2e35..479cc09ecc 100644 --- a/src/components/workflowEditor/workflowEditor.tsx +++ b/src/components/workflowEditor/workflowEditor.tsx @@ -30,6 +30,7 @@ import { InfoIconTippy, ToastVariantType, ToastManager, + TARGET_IDS, } from '@devtron-labs/devtron-fe-common-lib' import Tippy from '@tippyjs/react' import { ChangeCIPayloadType, PipelineContext, WorkflowEditProps, WorkflowEditState } from './types' @@ -903,7 +904,11 @@ class WorkflowEdit extends Component { } return ( -
+

Workflow Editor

From bc1c763c9a6bf385a8f8954b486cc22236453aaa Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:32:45 +0530 Subject: [PATCH 006/186] fix: parsing issue for approval config data --- src/components/app/details/triggerView/cdMaterial.tsx | 10 +--------- .../app/details/triggerView/workflow.service.ts | 4 ++-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/components/app/details/triggerView/cdMaterial.tsx b/src/components/app/details/triggerView/cdMaterial.tsx index 4b50cbdfb5..c2dd01da4d 100644 --- a/src/components/app/details/triggerView/cdMaterial.tsx +++ b/src/components/app/details/triggerView/cdMaterial.tsx @@ -69,7 +69,6 @@ import { CDMaterialResponseType, CD_MATERIAL_SIDEBAR_TABS, getIsManualApprovalConfigured, - useUserEmail, ToastManager, ToastVariantType, EnvResourceType, @@ -135,11 +134,6 @@ const MaintenanceWindowInfoBar = importComponentFromFELibrary('MaintenanceWindow const DeploymentWindowConfirmationDialog = importComponentFromFELibrary('DeploymentWindowConfirmationDialog') const RuntimeParamTabs = importComponentFromFELibrary('RuntimeParamTabs', null, 'function') const RuntimeParameters = importComponentFromFELibrary('RuntimeParameters', null, 'function') -const getIsImageApproverFromUserApprovalMetaData: ( - email: string, - userApprovalMetadata: UserApprovalMetadataType, -) => boolean = importComponentFromFELibrary('getIsImageApproverFromUserApprovalMetaData', () => false, 'function') -const isFELibAvailable = importComponentFromFELibrary('isFELibAvailable', null, 'function') const getSecurityScan: ({ appId, envId, @@ -200,7 +194,6 @@ const CDMaterial = ({ const { currentAppName } = useAppContext() const appName = selectedAppName || currentAppName - const { email } = useUserEmail() const searchImageTag = searchParams.search @@ -593,8 +586,7 @@ const CDMaterial = ({ const getIsApprovalRequester = (userApprovalMetadata?: UserApprovalMetadataType) => userApprovalMetadata?.requestedUserData && userApprovalMetadata.requestedUserData.userId === requestedUserId - const getIsImageApprover = (userApprovalMetadata?: UserApprovalMetadataType): boolean => - getIsImageApproverFromUserApprovalMetaData(email, userApprovalMetadata) + const getIsImageApprover = (userApprovalMetadata?: UserApprovalMetadataType): boolean => userApprovalMetadata?.hasCurrentUserApproved // NOTE: Pure const getApprovedImageClass = (disableSelection: boolean, isApprovalConfigured: boolean) => { diff --git a/src/components/app/details/triggerView/workflow.service.ts b/src/components/app/details/triggerView/workflow.service.ts index 16d940fc0d..565d127e80 100644 --- a/src/components/app/details/triggerView/workflow.service.ts +++ b/src/components/app/details/triggerView/workflow.service.ts @@ -284,12 +284,12 @@ export function processWorkflow( cdPipeline.parentPipelineId = branch.parentId cdPipeline.parentPipelineType = branch.parentType } + cdPipeline.approvalConfigData = sanitizeApprovalConfigData(cdPipeline.approvalConfigData) const cdNode = cdPipelineToNode(cdPipeline, dimensions, branch.parentId, branch.isLast) wf.nodes.push(cdNode) if (getIsApprovalPolicyConfigured(cdPipeline.approvalConfigData)) { - // TODO: what does this do? wf.approvalConfiguredIdsMap = { ...wf.approvalConfiguredIdsMap, [cdPipeline.id]: cdPipeline.approvalConfigData, @@ -742,7 +742,7 @@ function cdPipelineToNode( deploymentAppDeleteRequest: cdPipeline.deploymentAppDeleteRequest, // Remove this userApprovalConfig: cdPipeline.userApprovalConfig, - approvalConfigData: sanitizeApprovalConfigData(cdPipeline.approvalConfigData), + approvalConfigData: cdPipeline.approvalConfigData, isVirtualEnvironment: cdPipeline.isVirtualEnvironment, deploymentAppType: cdPipeline.deploymentAppType, helmPackageName: cdPipeline?.helmPackageName || '', From 7f9889ed98eda2418df63245aa25bb43e518b6c8 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:55:00 +0530 Subject: [PATCH 007/186] refactor: remove unused code --- .../ApplicationGroup/AppGroup.types.ts | 5 --- .../Details/TriggerView/BulkCDTrigger.tsx | 3 -- .../Details/TriggerView/EnvTriggerView.tsx | 5 +-- .../app/details/appDetails/SourceInfo.tsx | 1 + .../app/details/triggerView/TriggerView.tsx | 1 - .../app/details/triggerView/cdMaterial.tsx | 6 ++-- .../app/details/triggerView/types.ts | 2 -- .../details/triggerView/workflow.service.ts | 2 -- src/components/app/types.ts | 1 + src/components/cdPipeline/BuildCD.tsx | 32 ------------------- src/components/cdPipeline/CDPipeline.tsx | 32 ------------------- src/components/cdPipeline/cdPipeline.types.ts | 2 -- src/components/workflowEditor/types.ts | 2 -- 13 files changed, 7 insertions(+), 87 deletions(-) diff --git a/src/components/ApplicationGroup/AppGroup.types.ts b/src/components/ApplicationGroup/AppGroup.types.ts index 115590911b..39bbd01d6e 100644 --- a/src/components/ApplicationGroup/AppGroup.types.ts +++ b/src/components/ApplicationGroup/AppGroup.types.ts @@ -21,7 +21,6 @@ import { FilterConditionsListType, MODAL_TYPE, ResponseType, - UserApprovalConfigType, WorkflowNodeType, WorkflowType, AppInfoListType, @@ -82,10 +81,6 @@ export interface BulkCDDetailType extends BulkTriggerAppDetailType, Pick { try { + // TODO: Check this one const userApprovalConfig = appDetails?.userApprovalConfig || '{}' const parsedUserApprovalConfig = JSON.parse(userApprovalConfig) return getIsManualApprovalConfigured(parsedUserApprovalConfig) diff --git a/src/components/app/details/triggerView/TriggerView.tsx b/src/components/app/details/triggerView/TriggerView.tsx index e2fb0877f8..b984fbbcfe 100644 --- a/src/components/app/details/triggerView/TriggerView.tsx +++ b/src/components/app/details/triggerView/TriggerView.tsx @@ -763,7 +763,6 @@ class TriggerView extends Component { const nodes = workflow.nodes.map((node) => { if (cdNodeId == node.id && node.type === nodeType) { if (node.type === 'CD') { - // TODO: Potential bug since removed, data was from api which is now in cdmaterials data.userApprovalConfig ?? workflow.approvalConfiguredIdsMap[cdNodeId] node.approvalConfigData = workflow.approvalConfiguredIdsMap[cdNodeId] } } diff --git a/src/components/app/details/triggerView/cdMaterial.tsx b/src/components/app/details/triggerView/cdMaterial.tsx index c2dd01da4d..1608ada7d6 100644 --- a/src/components/app/details/triggerView/cdMaterial.tsx +++ b/src/components/app/details/triggerView/cdMaterial.tsx @@ -77,6 +77,7 @@ import { ResponseType, ApiResponseResultType, CommonNodeAttr, + getIsApprovalPolicyConfigured, } from '@devtron-labs/devtron-fe-common-lib' import Tippy from '@tippyjs/react' import { @@ -271,8 +272,9 @@ const CDMaterial = ({ const resourceFilters = materialsResult?.resourceFilters ?? [] const hideImageTaggingHardDelete = materialsResult?.hideImageTaggingHardDelete ?? false const requestedUserId = materialsResult?.requestedUserId ?? '' - const userApprovalConfig = materialsResult?.userApprovalConfig - const isApprovalConfigured = getIsManualApprovalConfigured(userApprovalConfig) + const isApprovalConfigured = getIsApprovalPolicyConfigured( + materialsResult?.deploymentApprovalInfo?.approvalConfigData, + ) const canApproverDeploy = materialsResult?.canApproverDeploy ?? false const showConfigDiffView = searchParams.mode === 'review-config' && searchParams.deploy diff --git a/src/components/app/details/triggerView/types.ts b/src/components/app/details/triggerView/types.ts index 6f18d5839f..a4cb1b9079 100644 --- a/src/components/app/details/triggerView/types.ts +++ b/src/components/app/details/triggerView/types.ts @@ -20,7 +20,6 @@ import { CDModalTabType, CommonNodeAttr, DeploymentNodeType, - UserApprovalConfigType, CIBuildConfigType, ReleaseTag, ImageComment, @@ -119,7 +118,6 @@ export type CDMaterialProps = { appId?: number pipelineId?: number isFromBulkCD?: boolean - userApprovalConfig?: UserApprovalConfigType requestedUserId?: number triggerType?: string isVirtualEnvironment?: boolean diff --git a/src/components/app/details/triggerView/workflow.service.ts b/src/components/app/details/triggerView/workflow.service.ts index 565d127e80..fc2ef0228b 100644 --- a/src/components/app/details/triggerView/workflow.service.ts +++ b/src/components/app/details/triggerView/workflow.service.ts @@ -740,8 +740,6 @@ function cdPipelineToNode( parentPipelineId: String(cdPipeline.parentPipelineId), parentPipelineType: cdPipeline.parentPipelineType, deploymentAppDeleteRequest: cdPipeline.deploymentAppDeleteRequest, - // Remove this - userApprovalConfig: cdPipeline.userApprovalConfig, approvalConfigData: cdPipeline.approvalConfigData, isVirtualEnvironment: cdPipeline.isVirtualEnvironment, deploymentAppType: cdPipeline.deploymentAppType, diff --git a/src/components/app/types.ts b/src/components/app/types.ts index 9ca6e15d1e..415b5d92e4 100644 --- a/src/components/app/types.ts +++ b/src/components/app/types.ts @@ -102,6 +102,7 @@ export interface AppDetails extends CDModalProps { appId: number deploymentAppType?: DeploymentAppTypes externalCi?: boolean + // TODO: Need to check this one userApprovalConfig?: string ciArtifactId?: number parentArtifactId?: number diff --git a/src/components/cdPipeline/BuildCD.tsx b/src/components/cdPipeline/BuildCD.tsx index 82824ed127..157bc89f25 100644 --- a/src/components/cdPipeline/BuildCD.tsx +++ b/src/components/cdPipeline/BuildCD.tsx @@ -25,11 +25,9 @@ import { TippyTheme, YAMLStringify, CodeEditor, - UserApprovalConfigType, Environment, ReleaseMode, SelectPicker, - CDFormType, ToastVariantType, ToastManager, ComponentSizeType, @@ -60,22 +58,11 @@ import { getGitOpsRepoConfig } from '../../services/service' import { ReactComponent as ICInfo } from '../../assets/icons/ic-info-filled.svg' import PullImageDigestToggle from './PullImageDigestToggle' -import { PipelineFormDataErrorType } from '@Components/workflowEditor/types' import { EnvironmentWithSelectPickerType } from '@Components/CIPipelineN/types' import { BuildCDProps } from './types' const VirtualEnvSelectionInfoText = importComponentFromFELibrary('VirtualEnvSelectionInfoText') const HelmManifestPush = importComponentFromFELibrary('HelmManifestPush') -const getBuildCDManualApproval = importComponentFromFELibrary('getBuildCDManualApproval', null, 'function') -const validateUserApprovalConfig: ( - userApprovalConfig: UserApprovalConfigType, -) => PipelineFormDataErrorType['userApprovalConfig'] = importComponentFromFELibrary( - 'validateUserApprovalConfig', - () => ({ - isValid: true, - }), - 'function', -) const MigrateHelmReleaseBody = importComponentFromFELibrary('MigrateHelmReleaseBody', null, 'function') export default function BuildCD({ @@ -600,18 +587,6 @@ export default function BuildCD({ setFormData(_form) } - const handleUpdateUserApprovalConfig = (updatedUserApprovalConfig: CDFormType['userApprovalConfig']) => { - // TODO: Remove the validator and this function - const _form = structuredClone(formData) - const _formDataErrorObj = structuredClone(formDataErrorObj) - - _form.userApprovalConfig = updatedUserApprovalConfig - _formDataErrorObj.userApprovalConfig = validateUserApprovalConfig(updatedUserApprovalConfig) - - setFormData(_form) - setFormDataErrorObj(_formDataErrorObj) - } - const renderDeploymentAppType = () => { return (
@@ -800,13 +775,6 @@ export default function BuildCD({ !noGitOpsModuleInstalledAndConfigured && renderDeploymentAppType()} {isAdvanced ? renderAdvancedDeploymentStrategy() : renderBasicDeploymentStrategy()} - {isAdvanced && - getBuildCDManualApproval && - getBuildCDManualApproval( - formData.userApprovalConfig, - formDataErrorObj.userApprovalConfig, - handleUpdateUserApprovalConfig, - )} {isAdvanced && ( <> UserApprovalConfigPayloadType = - importComponentFromFELibrary('getUserApprovalConfigPayload', null, 'function') const ReleaseModeTabs = importComponentFromFELibrary('ReleaseModeTabs', null, 'function') export default function CDPipeline({ @@ -191,7 +186,6 @@ export default function CDPipeline({ }, // Utilizing the null checks to get default value // TODO: Remove - userApprovalConfig: sanitizeUserApprovalConfig(null), isClusterCdActive: false, deploymentAppCreated: false, clusterName: '', @@ -249,10 +243,6 @@ export default function CDPipeline({ steps: [], isValid: true, }, - // TODO: Remove - userApprovalConfig: { - isValid: true, - }, }) const [inputVariablesListFromPrevStep, setInputVariablesListFromPrevStep] = useState<{ preBuildStage: Map[] @@ -595,7 +585,6 @@ export default function CDPipeline({ form.deploymentAppType = pipelineConfigFromRes.deploymentAppType || '' form.deploymentAppCreated = pipelineConfigFromRes.deploymentAppCreated || false form.triggerType = pipelineConfigFromRes.triggerType || TriggerType.Auto - form.userApprovalConfig = sanitizeUserApprovalConfig(pipelineConfigFromRes.userApprovalConfig) form.allowedDeploymentTypes = env.allowedDeploymentTypes || [] form.customTag = pipelineConfigFromRes.customTag form.enableCustomTag = pipelineConfigFromRes.enableCustomTag @@ -711,12 +700,6 @@ export default function CDPipeline({ deploymentAppName: formData.deploymentAppName, releaseMode: formData.releaseMode, deploymentAppCreated: formData.deploymentAppCreated, - // TODO: Remove this - ...(getUserApprovalConfigPayload - ? { - userApprovalConfig: getUserApprovalConfigPayload(formData.userApprovalConfig), - } - : {}), triggerType: formData.triggerType, environmentName: formData.environmentName, preStageConfigMapSecretNames: _preStageConfigMapSecretNames, @@ -879,7 +862,6 @@ export default function CDPipeline({ _formDataErrorObj[BuildStageVariable.Build].isValid = _formDataErrorObj.name.isValid && _formDataErrorObj.envNameError.isValid && - _formDataErrorObj.userApprovalConfig?.isValid && isReposAndContainerRegistoryValid } else { const stepsLength = _formData[stageName].steps.length @@ -975,20 +957,6 @@ export default function CDPipeline({ return } - - // TODO: Remove this - const { isValid: isUserApprovalConfigValid = true, message: userApprovalConfigErrorMessage } = - formDataErrorObj.userApprovalConfig ?? {} - - if (!isUserApprovalConfigValid) { - setLoadingData(false) - ToastManager.showToast({ - variant: ToastVariantType.error, - description: userApprovalConfigErrorMessage, - }) - return - } - const request = responseCode() const _form = { ...formData } diff --git a/src/components/cdPipeline/cdPipeline.types.ts b/src/components/cdPipeline/cdPipeline.types.ts index 9de1acf25f..8163ae8941 100644 --- a/src/components/cdPipeline/cdPipeline.types.ts +++ b/src/components/cdPipeline/cdPipeline.types.ts @@ -18,7 +18,6 @@ import { DeploymentStrategy, Environment, SavedDeploymentStrategy, - UserApprovalConfigType, VariableType, } from '@devtron-labs/devtron-fe-common-lib' @@ -70,7 +69,6 @@ export interface PipelineConfig { isClusterCdActive: boolean parentPipelineId: number parentPipelineType: string - userApprovalConfig?: UserApprovalConfigType isDigestEnforcedForEnv?: boolean } diff --git a/src/components/workflowEditor/types.ts b/src/components/workflowEditor/types.ts index 7070aef45d..3af90cebc5 100644 --- a/src/components/workflowEditor/types.ts +++ b/src/components/workflowEditor/types.ts @@ -24,7 +24,6 @@ import { SelectedNode, WorkflowType, PluginDataStoreType, - ValidationResponseType, PipelineFormType, MandatoryPluginDataType, CiPipeline, @@ -251,7 +250,6 @@ export interface PipelineFormDataErrorType { message: string isValid: boolean } - userApprovalConfig?: ValidationResponseType } interface HandleValidateMandatoryPluginsParamsType { From 10d1215fe0ad6971b8a1feff674796d1c07f6371 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 19:32:05 +0530 Subject: [PATCH 008/186] refactor: decouple the isProtected for configurations --- .../Details/AppConfigurations/AppConfig.tsx | 61 +++++++++---------- .../AppConfigurations/AppConfig.types.ts | 34 +++++++---- .../AppConfiguration.provider.tsx | 4 +- .../MainContent/AppComposeRouter.tsx | 34 ++++++++--- .../DeploymentConfigCompare/utils.ts | 6 +- .../Navigation/AppNavigation.tsx | 29 ++++++--- .../Navigation/EnvConfigurationsNav.tsx | 19 +++--- .../Navigation/EnvironmentOverrideRouter.tsx | 7 ++- .../Navigation/Navigation.helper.tsx | 43 +++++++++---- .../AppConfigurations/Navigation/constants.ts | 29 +++++++++ .../Detail/Configurations/Configurations.tsx | 11 +++- .../Releases/Detail/Configurations/types.ts | 6 +- .../EnvironmentOverride.tsx | 21 +++++-- .../EnvironmentOverrides.types.ts | 9 ++- src/assets/icons/ic-check-circle-dots.svg | 4 ++ .../ApplicationGroup/AppGroup.types.ts | 5 +- .../EnvironmentConfig/ApplicationRoutes.tsx | 38 +++++++----- .../Details/EnvironmentConfig/EnvConfig.tsx | 47 ++++++++++---- 18 files changed, 280 insertions(+), 127 deletions(-) create mode 100644 src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/constants.ts create mode 100644 src/assets/icons/ic-check-circle-dots.svg diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx index 303d732437..dde26bc3e5 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx @@ -26,6 +26,8 @@ import { ResourceKindType, ToastManager, ToastVariantType, + ResourceProtectConfigType, + BASE_CONFIGURATION_ENV_ID, } from '@devtron-labs/devtron-fe-common-lib' import { URLS, getAppComposeURL, APP_COMPOSE_STAGE, ViewType } from '../../../../../config' import { importComponentFromFELibrary } from '../../../../../components/common' @@ -38,7 +40,6 @@ import { AppStageUnlockedType, STAGE_NAME, DEFAULT_LANDING_STAGE, - ConfigProtection, } from './AppConfig.types' import { getUserRole } from '../../../../GlobalConfigurations/Authorization/authorization.service' import { isCIPipelineCreated, isCDPipelineCreated, getNavItems, isUnlocked } from './AppConfig.utils' @@ -47,13 +48,16 @@ import { UserRoleType } from '../../../../GlobalConfigurations/Authorization/con import { AppNavigation } from './Navigation/AppNavigation' import { AppConfigStatusItemType } from '../../service.types' import { getAppConfigStatus, getEnvConfig } from '../../service' -import { AppOtherEnvironment } from '../../../../../services/service.types' import { deleteApp } from './AppConfig.service' import { AppConfigurationProvider } from './AppConfiguration.provider' import { ENV_CONFIG_PATH_REG } from './AppConfig.constants' const ConfigProtectionView = importComponentFromFELibrary('ConfigProtectionView') -const getConfigProtections = importComponentFromFELibrary('getConfigProtections', null, 'function') +const getConfigProtections: (appId: number) => Promise = importComponentFromFELibrary( + 'getConfigProtections', + null, + 'function', +) export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigProps) => { // HOOKS @@ -79,8 +83,8 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr canDeleteApp: false, workflowsRes: null, environmentList: [], - isBaseConfigProtected: false, - configProtectionData: [], + // isBaseConfigProtected: false, + envProtectionConfig: {} as ResourceProtectConfigType, envConfig: { isLoading: true, config: null, @@ -110,43 +114,37 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr * - `configProtections`: An array of configuration protection objects. */ const fetchEnvironments = (): Promise<{ - updatedEnvs: AppOtherEnvironment['result'] + updatedEnvs: AppConfigState['environmentList'] isBaseConfigProtectionEnabled: boolean - configProtections: ConfigProtection[] + envProtectionConfig: ResourceProtectConfigType }> => Promise.all([ isJob ? getJobOtherEnvironmentMin(appId) : getAppOtherEnvironmentMin(appId), typeof getConfigProtections === 'function' && !isJob ? getConfigProtections(Number(appId)) : null, - ]).then(([envResult, configProtectionsResp]) => { - let envProtectMap: Record = {} - - if (configProtectionsResp?.result) { - envProtectMap = configProtectionsResp.result.reduce((acc, config) => { - acc[config.envId] = config.state === 1 - return acc - }, {}) - } + ]).then(([envResult, envProtectionConfig]) => { + // let envProtectMap: Record = {} + + // if (configProtectionConfig) { + // envProtectMap = configProtectionConfig.result.reduce((acc, config) => { + // // TODO: + // acc[config.envId] = config.state === 1 + // return acc + // }, {}) + // } const filteredEnvMap = filteredEnvIds?.split(',').reduce((agg, curr) => agg.set(+curr, true), new Map()) - const updatedEnvs = + const updatedEnvs: AppConfigState['environmentList'] = envResult.result ?.filter((env) => !filteredEnvMap || filteredEnvMap.get(env.environmentId)) - .map((env) => { - const envData = { ...env, isProtected: false } - if (envProtectMap[env.environmentId]) { - envData.isProtected = true - } - return envData - }) ?.sort((envA, envB) => envA.environmentName.localeCompare(envB.environmentName)) || [] - const isBaseConfigProtectionEnabled = envProtectMap[-1] ?? false + const isBaseConfigProtectionEnabled = envProtectionConfig[BASE_CONFIGURATION_ENV_ID]?.isProtected ?? false return { updatedEnvs, isBaseConfigProtectionEnabled, - configProtections: configProtectionsResp?.result ?? [], + envProtectionConfig, } }) @@ -294,8 +292,7 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr useEffect(() => { if (appConfigData) { // SET APP CONFIG DATA IN STATE - const [configStatusRes, workflowRes, { updatedEnvs, configProtections, isBaseConfigProtectionEnabled }] = - appConfigData + const [configStatusRes, workflowRes, { updatedEnvs, envProtectionConfig }] = appConfigData const { navItems, isCDPipeline, isCiPipeline, configs, redirectUrl, lastConfiguredStage } = processConfigStatusData(configStatusRes.result) @@ -314,8 +311,8 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr canDeleteApp: workflowRes.result.workflows.length === 0, workflowsRes: workflowRes.result, environmentList: updatedEnvs, - isBaseConfigProtected: isBaseConfigProtectionEnabled, - configProtectionData: configProtections, + // isBaseConfigProtected: isBaseConfigProtectionEnabled, + envProtectionConfig, }) if (location.pathname === match.url) { history.replace(redirectUrl) @@ -394,12 +391,12 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr const reloadEnvironments = () => { fetchEnvironments() - .then(({ updatedEnvs, isBaseConfigProtectionEnabled, configProtections }) => { + .then(({ updatedEnvs, isBaseConfigProtectionEnabled, envProtectionConfig }) => { setState((prevState) => ({ ...prevState, environmentList: updatedEnvs, isBaseConfigProtected: isBaseConfigProtectionEnabled, - configProtectionData: configProtections, + envProtectionConfig, })) }) .catch((errors) => { diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts index da29e9669d..2db878a170 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts @@ -20,6 +20,7 @@ import { AppEnvDeploymentConfigType, EnvResourceType, AppEnvironment, + ResourceProtectConfigType, } from '@devtron-labs/devtron-fe-common-lib' import { ViewType } from '@Config/constants' @@ -92,10 +93,13 @@ export interface AppConfigState { workflowsRes?: WorkflowResult /** Array containing environments data. */ environmentList?: AppEnvironment[] - /** Boolean indicating if the base configuration is protected. */ - isBaseConfigProtected?: boolean - /** Array of configuration protection data which denotes which env is in protected state. */ - configProtectionData?: ConfigProtection[] + // /** + // * Boolean indicating if the base configuration is protected. + // * + // * @deprecated Maybe + // * */ + // isBaseConfigProtected?: boolean + envProtectionConfig: ResourceProtectConfigType /** The environment config containing the loading state, configState and title of deployment template, configmaps & secrets. */ envConfig: EnvConfigurationState } @@ -145,6 +149,9 @@ export enum ProtectionState { DISABLED = 2, } +/** + * @deprecated + */ export type ConfigProtection = { appId: number envId: number @@ -169,17 +176,22 @@ interface CommonAppConfigurationProps { fetchEnvConfig: (envId: number) => void } -export interface AppConfigurationContextType extends CommonAppConfigurationProps { +export interface AppConfigurationContextType + extends CommonAppConfigurationProps, + Pick { isUnlocked: AppStageUnlockedType navItems: CustomNavItemsType[] isCiPipeline: boolean isCDPipeline: boolean - environments: AppEnvironment[] + environments: AppConfigState['environmentList'] workflowsRes: WorkflowResult setRepoState: React.Dispatch> isJobView: boolean - isBaseConfigProtected: boolean - configProtectionData: ConfigProtection[] + // /** + // * @deprecated maybe + // */ + // isBaseConfigProtected: boolean + envProtectionConfig: ResourceProtectConfigType lastUnlockedStage: string isWorkflowEditorUnlocked: boolean getRepo: string @@ -214,13 +226,13 @@ export enum EnvConfigObjectKey { export interface EnvironmentOptionType { name: string id: number - isProtected?: boolean + // isProtected?: boolean } -export interface EnvConfigurationsNavProps { +export interface EnvConfigurationsNavProps extends Pick { envConfig: EnvConfigurationState fetchEnvConfig: (envId: number) => void - isBaseConfigProtected?: boolean + // isBaseConfigProtected?: boolean environments: EnvironmentOptionType[] paramToCheck?: 'appId' | 'envId' goBackURL: string diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfiguration.provider.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfiguration.provider.tsx index 456f0f862f..00255abc87 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfiguration.provider.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfiguration.provider.tsx @@ -59,7 +59,7 @@ export const AppConfigurationProvider = (props: AppConfigurationProviderProps) = hideConfigHelp, workflowsRes: state.workflowsRes, getWorkflows, - isBaseConfigProtected: state.isBaseConfigProtected, + // isBaseConfigProtected: state.isBaseConfigProtected, reloadEnvironments, isGitOpsConfigurationRequired, isUnlocked: state.isUnlocked, @@ -69,7 +69,7 @@ export const AppConfigurationProvider = (props: AppConfigurationProviderProps) = environments: state.environmentList, userRole, setRepoState: setShowRepoOnDelete, - configProtectionData: state.configProtectionData, + envProtectionConfig: state.envProtectionConfig, filteredEnvIds, reloadAppConfig, lastUnlockedStage: state.redirectionUrl, diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx index 91e4558eec..2c9c6c792c 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx @@ -17,7 +17,13 @@ import React, { lazy, Suspense } from 'react' import { useRouteMatch, useHistory, Route, Switch, Redirect, useLocation, generatePath } from 'react-router-dom' -import { Progressing, EnvResourceType } from '@devtron-labs/devtron-fe-common-lib' +import { + Progressing, + EnvResourceType, + BASE_CONFIGURATION_ENV_ID, + ApprovalConfigDataKindType, + getIsApprovalPolicyConfigured, +} from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as Next } from '@Icons/ic-arrow-forward.svg' import { URLS } from '@Config/index' @@ -82,7 +88,7 @@ const AppComposeRouter = () => { toggleRepoSelectionTippy, setRepoState, isJobView, - isBaseConfigProtected, + // isBaseConfigProtected, reloadEnvironments, // configProtectionData, filteredEnvIds, @@ -91,9 +97,12 @@ const AppComposeRouter = () => { lastUnlockedStage, envConfig, fetchEnvConfig, + envProtectionConfig, } = useAppConfigurationContext() const { currentAppName } = useAppContext() + const approvalConfigForBaseConfiguration = envProtectionConfig[BASE_CONFIGURATION_ENV_ID]?.approvalConfigurationMap + const renderJobViewRoutes = (): JSX.Element => ( // currently the logic for redirection to next unlocked stage is in respondOnSuccess function can be done for MaterialList also @@ -165,6 +174,7 @@ const AppComposeRouter = () => { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL={lastUnlockedStage} appName={currentAppName} + appEnvProtectionConfig={envProtectionConfig} /> )} , @@ -205,7 +215,9 @@ const AppComposeRouter = () => { respondOnSuccess={respondOnSuccess} isUnSet={!isUnlocked.workflowEditor} isCiPipeline={isCiPipeline} - isProtected={isBaseConfigProtected} + isProtected={getIsApprovalPolicyConfigured( + approvalConfigForBaseConfiguration?.[ApprovalConfigDataKindType.deploymentTemplate], + )} reloadEnvironments={reloadEnvironments} fetchEnvConfig={fetchEnvConfig} /> @@ -253,7 +265,9 @@ const AppComposeRouter = () => { , { , { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL={lastUnlockedStage} appName={currentAppName} + appEnvProtectionConfig={envProtectionConfig} /> )} , @@ -311,12 +328,13 @@ const AppComposeRouter = () => { ({ + environments={environments.map(({ environmentId, environmentName }) => ({ id: environmentId, - isProtected, + // isProtected, name: environmentName, }))} - isBaseConfigProtected={isBaseConfigProtected} + // TODO: Fix this + // isBaseConfigProtected={approvalConfigForBaseConfiguration} goBackURL={goBackURL} getNavItemHref={(resourceType, resourceName) => `${generatePath(match.path, { ...match.params, resourceType, resourceName })}${location.search}` diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts index d4863ba8df..7f065eb195 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts @@ -48,10 +48,14 @@ export const getEnvironmentIdByEnvironmentName = (environments: EnvironmentOptio environments.find(({ name: _name }) => name === _name)?.id ?? BASE_CONFIGURATIONS.id export const isEnvProtected = ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars environments: EnvironmentOptionType[], + // eslint-disable-next-line @typescript-eslint/no-unused-vars envName: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars isBaseConfigProtected?: boolean, -) => environments.find(({ name }) => name === envName)?.isProtected ?? isBaseConfigProtected +) => true +// ) => environments.find(({ name }) => name === envName)?.isProtected ?? isBaseConfigProtected /** * Returns the application and environment IDs for comparison based on the given parameters. diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx index 7247fe3642..730a61555f 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx @@ -57,13 +57,14 @@ export const AppNavigation = () => { getRepo, isJobView, hideConfigHelp, - isBaseConfigProtected, + // isBaseConfigProtected, isGitOpsConfigurationRequired, environments, envConfig, fetchEnvConfig, isUnlocked, lastUnlockedStage, + envProtectionConfig, } = useAppConfigurationContext() // CONSTANTS @@ -137,18 +138,25 @@ export const AppNavigation = () => { key={`env-configurations-nav-${match.params.envId}`} envConfig={envConfig} fetchEnvConfig={fetchEnvConfig} - environments={environments.map(({ environmentName, environmentId, isProtected }) => ({ - id: environmentId, - isProtected, - name: environmentName, - }))} - isBaseConfigProtected={isBaseConfigProtected} + environments={environments.map( + ({ + environmentName, + environmentId, + // isProtected + }) => ({ + id: environmentId, + // isProtected, + name: environmentName, + }), + )} + // isBaseConfigProtected={isBaseConfigProtected} showBaseConfigurations showDeploymentTemplate={!isJobView} goBackURL={getValidBackURL()} compareWithURL={`${path}/:envId(\\d+)?`} showComparison={!isJobView && isUnlocked.workflowEditor} isCMSecretLocked={!isUnlocked.workflowEditor} + envProtectionConfig={envProtectionConfig} /> )} @@ -199,7 +207,12 @@ export const AppNavigation = () => { condition={showCannotDeleteTooltip && item.stage === STAGE_NAME.CI_CONFIG} wrap={getEnvOverrideTippy} > - {item.required && renderNavItem(item, isBaseConfigProtected)} + {item.required && + renderNavItem( + item, + false, + // isBaseConfigProtected + )} ) } diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx index 8692f0aa58..ee90c5fdc6 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx @@ -24,7 +24,7 @@ import { ReactComponent as ICAdd } from '@Icons/ic-add.svg' import { ReactComponent as ICLocked } from '@Icons/ic-locked.svg' import { ReactComponent as ICFileCode } from '@Icons/ic-file-code.svg' import { URLS } from '@Config/routes' -import { ReactComponent as ProtectedIcon } from '@Icons/ic-shield-protect-fill.svg' +// import { ReactComponent as ProtectedIcon } from '@Icons/ic-shield-protect-fill.svg' import { ResourceConfigState } from '@Pages/Applications/DevtronApps/service.types' import { BASE_CONFIGURATIONS } from '../AppConfig.constants' @@ -43,7 +43,7 @@ export const EnvConfigurationsNav = ({ showDeploymentTemplate, envConfig, fetchEnvConfig, - isBaseConfigProtected, + // isBaseConfigProtected, environments, goBackURL, paramToCheck = 'envId', @@ -51,6 +51,7 @@ export const EnvConfigurationsNav = ({ isCMSecretLocked, hideEnvSelector, compareWithURL, + envProtectionConfig, }: EnvConfigurationsNavProps) => { // HOOKS const history = useHistory() @@ -77,7 +78,7 @@ export const EnvConfigurationsNav = ({ ? { name: BASE_CONFIGURATIONS.name, id: BASE_CONFIGURATIONS.id, - isProtected: isBaseConfigProtected, + // isProtected: isBaseConfigProtected, } : null) const resourceType = resourceTypeBasedOnPath(pathname) @@ -122,10 +123,10 @@ export const EnvConfigurationsNav = ({ useEffect(() => { if (!isLoading && config) { - const newEnvConfig = getEnvConfiguration(config, path, params, environmentData.isProtected) + const newEnvConfig = getEnvConfiguration(config, path, params, envProtectionConfig?.[envId]) setUpdatedEnvConfig(isCreate ? addUnnamedNavLink(newEnvConfig) : newEnvConfig) } - }, [isLoading, config, pathname]) + }, [isLoading, config, pathname, envProtectionConfig]) useEffect(() => { if (!isLoading && config) { @@ -244,7 +245,7 @@ export const EnvConfigurationsNav = ({ { label: BASE_CONFIGURATIONS.name, value: BASE_CONFIGURATIONS.id, - endIcon: isBaseConfigProtected ? : null, + // endIcon: isBaseConfigProtected ? : null, }, ] : [] @@ -253,10 +254,10 @@ export const EnvConfigurationsNav = ({ ...baseEnvOption, { label: paramToCheck === 'envId' ? 'Environments' : 'Applications', - options: environments.map(({ name, id, isProtected }) => ({ + options: environments.map(({ name, id }) => ({ label: name, value: id, - endIcon: isProtected ? : null, + // endIcon: isProtected ? : null, })), }, ] @@ -316,7 +317,7 @@ export const EnvConfigurationsNav = ({ showSelectedOptionIcon={false} />
- {environmentData?.isProtected && } + {/* {environmentData?.isProtected && } */}
) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx index cd053f8b23..ad88202c03 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx @@ -58,6 +58,7 @@ const EnvOverridesHelpNote = () => (
) +// TODO: need to verify this const JobEnvOverrideRoute = ({ envOverride, ciPipelines, reload, isEnvProtected }: JobEnvOverrideRouteProps) => { const { url } = useRouteMatch() const { appId, workflowsRes } = useAppConfigurationContext() @@ -321,16 +322,16 @@ const EnvironmentOverrideRouter = () => { envOverride={env} ciPipelines={ciPipelines} reload={reloadEnvData} - isEnvProtected={env.isProtected} + // isEnvProtected={env.isProtected} /> ) : ( renderNavItem( { title: env.environmentName, - isProtectionAllowed: env.isProtected, + // isProtectionAllowed: env.isProtected, href: `${URLS.APP_ENV_OVERRIDE_CONFIG}/${env.environmentId}/${EnvResourceType.DeploymentTemplate}`, }, - env.isProtected, + // env.isProtected, ) )} diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx index 9134abd00f..2d46f297b3 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx @@ -1,11 +1,16 @@ import { NavLink, generatePath } from 'react-router-dom' -import { CollapsibleListItem, EnvResourceType } from '@devtron-labs/devtron-fe-common-lib' +import { + ApprovalConfigDataKindType, + ApprovalConfigDataType, + CollapsibleListItem, + EnvResourceType, + getIsApprovalPolicyConfigured, + ResourceProtectConfigType, +} from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as Lock } from '@Icons/ic-locked.svg' import { ReactComponent as ProtectedIcon } from '@Icons/ic-shield-protect-fill.svg' -import { ReactComponent as ICStamp } from '@Icons/ic-stamp.svg' -import { ReactComponent as ICEditFile } from '@Icons/ic-edit-file.svg' import { ResourceConfigStage, ResourceConfigState } from '@Pages/Applications/DevtronApps/service.types' import { @@ -15,12 +20,14 @@ import { ExtendedCollapsibleListItem, EnvConfigObjectKey, } from '../AppConfig.types' +import { RESOURCE_CONFIG_STATE_TO_ICON_CONFIG_MAP } from './constants' const renderNavItemIcon = (isLocked: boolean, isProtected: boolean, dataTestId: string) => { if (isLocked) { return } if (!isLocked && isProtected) { + // TODO: Check and update/remove return } return null @@ -71,19 +78,23 @@ export const getNavigationPath = ( */ const getIcon = ( configState: ResourceConfigState, - isProtected: boolean, + approvalConfig: ApprovalConfigDataType, ): CollapsibleListItem<'navLink'>['iconConfig'] => { - if (isProtected && configState !== ResourceConfigState.Published && configState !== ResourceConfigState.Unnamed) { + const isApprovalPolicyConfigured = getIsApprovalPolicyConfigured(approvalConfig) + + if (isApprovalPolicyConfigured && configState !== ResourceConfigState.Unnamed) { + const { Icon, tippyContent } = RESOURCE_CONFIG_STATE_TO_ICON_CONFIG_MAP[configState] + return { - Icon: configState === ResourceConfigState.ApprovalPending ? ICStamp : ICEditFile, + Icon, tooltipProps: { - content: configState === ResourceConfigState.ApprovalPending ? 'Approval pending' : 'Draft', + content: tippyContent, placement: 'right', arrow: false, className: 'default-tt', }, props: { - className: `p-2 ${configState === ResourceConfigState.Draft ? 'scn-6' : ''}`, + className: `p-2 ${configState === ResourceConfigState.Draft ? 'scv-5' : ''}`, }, } } @@ -102,7 +113,7 @@ export const getEnvConfiguration = ( envConfig: EnvConfigType, basePath: string, params: EnvConfigRouteParams, - isProtected: boolean, + approvalConfigurationMapForEnv: ResourceProtectConfigType[number]['approvalConfigurationMap'], ): { deploymentTemplate: ExtendedCollapsibleListItem configmaps: ExtendedCollapsibleListItem[] @@ -118,7 +129,10 @@ export const getEnvConfiguration = ( title: 'Deployment Template', subtitle: SUBTITLE[envConfig[curr].configStage], href: getNavigationPath(basePath, params, EnvResourceType.DeploymentTemplate), - iconConfig: getIcon(envConfig[curr].configState, isProtected), + iconConfig: getIcon( + envConfig[curr].configState, + approvalConfigurationMapForEnv?.[ApprovalConfigDataKindType.deploymentTemplate], + ), } : envConfig[curr].map(({ configState, name, configStage }) => ({ configState, @@ -131,7 +145,14 @@ export const getEnvConfiguration = ( : EnvResourceType.Secret, name, ), - iconConfig: getIcon(configState, isProtected), + iconConfig: getIcon( + configState, + approvalConfigurationMapForEnv?.[ + curr === EnvConfigObjectKey.ConfigMap + ? ApprovalConfigDataKindType.configMap + : ApprovalConfigDataKindType.configSecret + ], + ), subtitle: SUBTITLE[configStage], })), }), diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/constants.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/constants.ts new file mode 100644 index 0000000000..dc4719a219 --- /dev/null +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/constants.ts @@ -0,0 +1,29 @@ +import { CollapsibleListItem } from '@devtron-labs/devtron-fe-common-lib' +import { ResourceConfigState } from '@Pages/Applications/DevtronApps/service.types' +import { ReactComponent as ICStamp } from '@Icons/ic-stamp.svg' +import { ReactComponent as ICEditFile } from '@Icons/ic-edit-file.svg' +import { ReactComponent as ICCheckCircleDots } from '@Icons/ic-check-circle-dots.svg' + +export const RESOURCE_CONFIG_STATE_TO_ICON_CONFIG_MAP: Record< + ResourceConfigState, + Pick['iconConfig'], 'Icon'> & { + tippyContent: CollapsibleListItem<'navLink'>['iconConfig']['tooltipProps']['content'] + } +> = { + [ResourceConfigState.ApprovalPending]: { + Icon: ICCheckCircleDots, + tippyContent: 'Approval Pending', + }, + [ResourceConfigState.Draft]: { + Icon: ICEditFile, + tippyContent: 'In-draft', + }, + [ResourceConfigState.Published]: { + Icon: ICStamp, + tippyContent: 'Approval required for configuration change', + }, + [ResourceConfigState.Unnamed]: { + Icon: null, + tippyContent: null, + }, +} as const diff --git a/src/Pages/Releases/Detail/Configurations/Configurations.tsx b/src/Pages/Releases/Detail/Configurations/Configurations.tsx index 5cc30439af..bc87c61e64 100644 --- a/src/Pages/Releases/Detail/Configurations/Configurations.tsx +++ b/src/Pages/Releases/Detail/Configurations/Configurations.tsx @@ -44,6 +44,7 @@ export const Configurations = () => { reloadEnvironments, isAppListLoading, isEnvListLoading, + envProtectionConfig, }: ReleaseConfigurationContextType = useReleaseConfigurationContext() // ASYNC CALLS @@ -81,6 +82,7 @@ export const Configurations = () => { showDeploymentTemplate showComparison hideEnvSelector + envProtectionConfig={envProtectionConfig} /> @@ -93,7 +95,8 @@ export const Configurations = () => { { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL="" reloadEnvironments={reloadEnvironments} - isProtected={selectedEnv.isProtected} + // isProtected={selectedEnv.isProtected} + isProtected clusterId={null} />
@@ -124,7 +128,8 @@ export const Configurations = () => { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL="" reloadEnvironments={reloadEnvironments} - isProtected={selectedEnv.isProtected} + // isProtected={selectedEnv.isProtected} + isProtected clusterId={null} />
diff --git a/src/Pages/Releases/Detail/Configurations/types.ts b/src/Pages/Releases/Detail/Configurations/types.ts index a3a4ef5183..19dcd551d3 100644 --- a/src/Pages/Releases/Detail/Configurations/types.ts +++ b/src/Pages/Releases/Detail/Configurations/types.ts @@ -1,6 +1,9 @@ import { SelectPickerOptionType } from '@devtron-labs/devtron-fe-common-lib' -import { EnvironmentOptionType } from '@Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types' +import { + AppConfigState, + EnvironmentOptionType, +} from '@Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types' interface AppOptionType extends Omit, 'label'> { label: string @@ -12,4 +15,5 @@ export interface ReleaseConfigurationContextType { reloadEnvironments: () => void isAppListLoading: boolean isEnvListLoading: boolean + envProtectionConfig: AppConfigState['envProtectionConfig'] } diff --git a/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx b/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx index 880385ee93..dd8eae2df9 100644 --- a/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx +++ b/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx @@ -16,7 +16,7 @@ import { useState, useEffect } from 'react' -import { Reload } from '@devtron-labs/devtron-fe-common-lib' +import { ApprovalConfigDataKindType, getIsApprovalPolicyConfigured, Reload } from '@devtron-labs/devtron-fe-common-lib' import { useParams, useRouteMatch, @@ -47,6 +47,7 @@ const EnvironmentOverride = ({ onErrorRedirectURL, envConfig, fetchEnvConfig, + appEnvProtectionConfig, }: EnvironmentOverrideComponentProps) => { const params = useParams<{ appId: string; envId: string }>() const [viewState, setViewState] = useState(null) @@ -55,10 +56,12 @@ const EnvironmentOverride = ({ const location = useLocation() const { environmentId, setEnvironmentId } = useAppContext() const [isDeploymentOverride, setIsDeploymentOverride] = useState(false) + const environmentsMap = mapByKey(environments || [], 'environmentId') const appMap = mapByKey(appList || [], 'id') - const isProtected = - environmentsMap.get(+params.envId)?.isProtected ?? appMap.get(+params.appId)?.isProtected ?? false + const protectionConfig = (appEnvProtectionConfig[+params.envId] ?? appEnvProtectionConfig[+params.appId]) + ?.approvalConfigurationMap + useEffect(() => { if (params.envId) { setEnvironmentId(+params.envId) @@ -153,7 +156,9 @@ const EnvironmentOverride = ({ = { export interface EnvironmentOverrideComponentProps { appList?: ConfigAppList[] - environments: AppEnvironment[] + environments: AppConfigState['environmentList'] reloadEnvironments: () => void envName?: string appName?: string @@ -58,6 +60,7 @@ export interface EnvironmentOverrideComponentProps { onErrorRedirectURL: string envConfig: EnvConfigurationState fetchEnvConfig: (envId: number) => void + appEnvProtectionConfig: AppConfigState['envProtectionConfig'] } export interface CommonEnvironmentOverridesProps { diff --git a/src/assets/icons/ic-check-circle-dots.svg b/src/assets/icons/ic-check-circle-dots.svg new file mode 100644 index 0000000000..bfd7d75143 --- /dev/null +++ b/src/assets/icons/ic-check-circle-dots.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/ApplicationGroup/AppGroup.types.ts b/src/components/ApplicationGroup/AppGroup.types.ts index 39bbd01d6e..2acf379c73 100644 --- a/src/components/ApplicationGroup/AppGroup.types.ts +++ b/src/components/ApplicationGroup/AppGroup.types.ts @@ -35,7 +35,7 @@ import { EditDescRequest, NodeType, Nodes, OptionType } from '../app/types' import { MultiValue } from 'react-select' import { AppFilterTabs, BulkResponseStatus } from './Constants' import { WorkloadCheckType } from '../v2/appDetails/sourceInfo/scaleWorkloads/scaleWorkloadsModal.type' -import { EnvConfigurationState } from '@Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types' +import { AppConfigState, EnvConfigurationState } from '@Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types' import { WebhookPayloadType } from '@Components/app/details/triggerView/types' import { TIME_STAMP_ORDER } from '@Components/app/details/triggerView/Constants' @@ -202,7 +202,7 @@ export interface WorkflowAppSelectionType { export interface ConfigAppList { id: number name: string - isProtected?: boolean + // isProtected?: boolean } export interface EnvApp { @@ -252,6 +252,7 @@ export interface ApplicationRouteType { envAppList: ConfigAppList[] envConfig: EnvConfigurationState fetchEnvConfig: () => void + appApprovalConfigMap: AppConfigState['envProtectionConfig'] } export interface AppGroupFilterConfig diff --git a/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx b/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx index d74d119ef3..9c4cc7f17f 100644 --- a/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx +++ b/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx @@ -24,7 +24,7 @@ import { renderNavItem } from '@Pages/Applications/DevtronApps/Details/AppConfig import { ApplicationRouteType } from '../../AppGroup.types' -const ApplicationRoute = ({ envAppList, envConfig, fetchEnvConfig }: ApplicationRouteType) => { +const ApplicationRoute = ({ envAppList, envConfig, fetchEnvConfig, appApprovalConfigMap }: ApplicationRouteType) => { const { url, params: { envId }, @@ -37,12 +37,16 @@ const ApplicationRoute = ({ envAppList, envConfig, fetchEnvConfig }: Application ({ ...env, isProtected: env.isProtected || false }))} + environments={envAppList.map((env) => ({ + ...env, + // isProtected: env.isProtected || false + }))} goBackURL={generatePath(path, { envId })} showDeploymentTemplate paramToCheck="appId" compareWithURL={path} showComparison + envProtectionConfig={appApprovalConfigMap} /> @@ -55,18 +59,24 @@ const ApplicationRoute = ({ envAppList, envConfig, fetchEnvConfig }: Application
- {envAppList.map(({ name, isProtected, id }) => ( - - {renderNavItem( - { - title: name, - isProtectionAllowed: isProtected, - href: `${url}/${id}/${EnvResourceType.DeploymentTemplate}`, - }, - isProtected, - )} - - ))} + {envAppList.map( + ({ + name, + // isProtected, + id, + }) => ( + + {renderNavItem( + { + title: name, + // isProtectionAllowed: isProtected, + href: `${url}/${id}/${EnvResourceType.DeploymentTemplate}`, + }, + // isProtected, + )} + + ), + )}
diff --git a/src/components/ApplicationGroup/Details/EnvironmentConfig/EnvConfig.tsx b/src/components/ApplicationGroup/Details/EnvironmentConfig/EnvConfig.tsx index 659016333d..c32c508cb5 100644 --- a/src/components/ApplicationGroup/Details/EnvironmentConfig/EnvConfig.tsx +++ b/src/components/ApplicationGroup/Details/EnvironmentConfig/EnvConfig.tsx @@ -17,7 +17,15 @@ import { useEffect, useMemo } from 'react' import { generatePath, Route, Switch, useHistory, useLocation, useRouteMatch } from 'react-router-dom' -import { EnvResourceType, GenericEmptyState, Progressing, noop, useAsync } from '@devtron-labs/devtron-fe-common-lib' +import { + BASE_CONFIGURATION_ENV_ID, + EnvResourceType, + GenericEmptyState, + Progressing, + ResourceProtectConfigType, + noop, + useAsync, +} from '@devtron-labs/devtron-fe-common-lib' import { URLS } from '@Config/routes' import { importComponentFromFELibrary } from '@Components/common' @@ -30,7 +38,11 @@ import { getConfigAppList } from '../../AppGroup.service' import { AppGroupDetailDefaultType, ConfigAppList } from '../../AppGroup.types' import ApplicationRoute from './ApplicationRoutes' -const getEnvConfigProtections = importComponentFromFELibrary('getEnvConfigProtections', null, 'function') +const getEnvConfigProtections: (envId: number) => Promise = importComponentFromFELibrary( + 'getEnvConfigProtections', + null, + 'function', +) const EnvConfig = ({ filteredAppIds, envName }: AppGroupDetailDefaultType) => { // HOOKS @@ -44,9 +56,7 @@ const EnvConfig = ({ filteredAppIds, envName }: AppGroupDetailDefaultType) => { () => Promise.allSettled([ getConfigAppList(+envId, filteredAppIds), - typeof getEnvConfigProtections === 'function' - ? getEnvConfigProtections(Number(envId)) - : { result: null }, + typeof getEnvConfigProtections === 'function' ? getEnvConfigProtections(Number(envId)) : null, ]), [filteredAppIds], ) @@ -61,23 +71,32 @@ const EnvConfig = ({ filteredAppIds, envName }: AppGroupDetailDefaultType) => { } // CONSTANTS - const envAppList = useMemo(() => { + const { envAppList, appApprovalConfigMap } = useMemo<{ + envAppList: ConfigAppList[] + appApprovalConfigMap: ResourceProtectConfigType + }>(() => { if ( initDataResults?.[0].status === 'fulfilled' && initDataResults?.[1].status === 'fulfilled' && initDataResults[0].value?.result?.length ) { - const configProtectionMap = initDataResults[1].value?.result ?? {} - const _appList = initDataResults[0].value.result.map((appData) => ({ - ...appData, - isProtected: configProtectionMap[appData.id] ?? false, - })) + const _appApprovalConfigMap = initDataResults[1].value + const _appList = initDataResults[0].value.result _appList.sort((a, b) => a.name.localeCompare(b.name)) - return _appList + + return { + envAppList: _appList, + appApprovalConfigMap: _appApprovalConfigMap, + } } - return [] + return { + envAppList: [], + appApprovalConfigMap: { + [BASE_CONFIGURATION_ENV_ID]: null, + }, + } }, [initDataResults]) const isAppNotPresentInEnv = useMemo( @@ -138,6 +157,7 @@ const EnvConfig = ({ filteredAppIds, envName }: AppGroupDetailDefaultType) => { envAppList={envAppList} envConfig={envConfig} fetchEnvConfig={refetch} + appApprovalConfigMap={appApprovalConfigMap} />
{appId ? ( @@ -150,6 +170,7 @@ const EnvConfig = ({ filteredAppIds, envName }: AppGroupDetailDefaultType) => { envConfig={envConfig} fetchEnvConfig={refetch} onErrorRedirectURL={generatePath(path, { envId })} + appEnvProtectionConfig={appApprovalConfigMap} /> ) : ( From f4abdb34f08826b14518cc44ba72835aed2ffbc5 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 28 Nov 2024 23:26:38 +0530 Subject: [PATCH 009/186] refactor: rename isProtected to isApprovalApplicable --- .../Details/AppConfigurations/AppConfig.tsx | 10 +----- .../AppConfigurations/AppConfig.types.ts | 26 +++++++--------- .../MainContent/AppComposeRouter.tsx | 25 ++++----------- .../MainContent/ConfigToolbar.tsx | 17 ++++++---- .../DeploymentConfigCompare.tsx | 12 ++++--- .../DeploymentConfigCompare/utils.ts | 19 +++++++----- .../DeploymentTemplate/DeploymentTemplate.tsx | 22 ++++++------- .../deploymentTemplateReducer.ts | 6 ++-- .../MainContent/DeploymentTemplate/types.ts | 2 +- .../AppConfigurations/MainContent/types.ts | 4 +-- .../AppConfigurations/MainContent/utils.tsx | 4 +-- .../Navigation/AppNavigation.tsx | 18 +++-------- .../Navigation/EnvConfigurationsNav.tsx | 6 ---- .../Navigation/EnvironmentOverrideRouter.tsx | 17 +++++----- .../Navigation/Navigation.helper.tsx | 9 +++--- .../Detail/Configurations/Configurations.tsx | 19 ++++++++---- .../ConfigMapSecretContainer.tsx | 16 +++++----- .../ConfigMapSecret/ConfigMapSecretForm.tsx | 4 +-- .../ConfigMapSecretProtected.tsx | 2 +- src/Pages/Shared/ConfigMapSecret/types.ts | 6 ++-- .../EnvironmentOverride.tsx | 6 ++-- src/assets/icons/ic-shield-protect-fill.svg | 19 ------------ .../ApplicationGroup/AppGroup.types.ts | 1 - .../EnvironmentConfig/ApplicationRoutes.tsx | 31 +++++++------------ .../Details/EnvironmentConfig/EnvConfig.tsx | 1 + 25 files changed, 131 insertions(+), 171 deletions(-) delete mode 100644 src/assets/icons/ic-shield-protect-fill.svg diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx index dde26bc3e5..b0eb6e5dc8 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.tsx @@ -27,7 +27,6 @@ import { ToastManager, ToastVariantType, ResourceProtectConfigType, - BASE_CONFIGURATION_ENV_ID, } from '@devtron-labs/devtron-fe-common-lib' import { URLS, getAppComposeURL, APP_COMPOSE_STAGE, ViewType } from '../../../../../config' import { importComponentFromFELibrary } from '../../../../../components/common' @@ -110,12 +109,10 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr * * The promise resolves to an object with the following properties: * - `updatedEnvs`: An array of updated environment configurations, each marked with a protection status. - * - `isBaseConfigProtectionEnabled`: A boolean flag indicating if the base configuration protection is enabled. * - `configProtections`: An array of configuration protection objects. */ const fetchEnvironments = (): Promise<{ updatedEnvs: AppConfigState['environmentList'] - isBaseConfigProtectionEnabled: boolean envProtectionConfig: ResourceProtectConfigType }> => Promise.all([ @@ -139,11 +136,8 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr ?.filter((env) => !filteredEnvMap || filteredEnvMap.get(env.environmentId)) ?.sort((envA, envB) => envA.environmentName.localeCompare(envB.environmentName)) || [] - const isBaseConfigProtectionEnabled = envProtectionConfig[BASE_CONFIGURATION_ENV_ID]?.isProtected ?? false - return { updatedEnvs, - isBaseConfigProtectionEnabled, envProtectionConfig, } }) @@ -311,7 +305,6 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr canDeleteApp: workflowRes.result.workflows.length === 0, workflowsRes: workflowRes.result, environmentList: updatedEnvs, - // isBaseConfigProtected: isBaseConfigProtectionEnabled, envProtectionConfig, }) if (location.pathname === match.url) { @@ -391,11 +384,10 @@ export const AppConfig = ({ appName, resourceKind, filteredEnvIds }: AppConfigPr const reloadEnvironments = () => { fetchEnvironments() - .then(({ updatedEnvs, isBaseConfigProtectionEnabled, envProtectionConfig }) => { + .then(({ updatedEnvs, envProtectionConfig }) => { setState((prevState) => ({ ...prevState, environmentList: updatedEnvs, - isBaseConfigProtected: isBaseConfigProtectionEnabled, envProtectionConfig, })) }) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts index 2db878a170..49a74d511d 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts @@ -226,7 +226,6 @@ export enum EnvConfigObjectKey { export interface EnvironmentOptionType { name: string id: number - // isProtected?: boolean } export interface EnvConfigurationsNavProps extends Pick { @@ -270,24 +269,23 @@ export interface DeploymentConfigParams { resourceName: string } -export type DeploymentConfigCompareProps = { +export type DeploymentConfigCompareProps = Pick & { environments: EnvironmentOptionType[] goBackURL?: string - isBaseConfigProtected?: boolean getNavItemHref: (resourceType: EnvResourceType, resourceName: string) => string overwriteNavHeading?: string } & ( - | { - type: 'appGroup' - envName: string - appName?: never - } - | { - type: 'app' - appName: string - envName?: never - } -) + | { + type: 'appGroup' + envName: string + appName?: never + } + | { + type: 'app' + appName: string + envName?: never + } + ) export enum AppEnvDeploymentConfigQueryParams { CONFIG_TYPE = 'configType', diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx index 2c9c6c792c..fc725f23c2 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/AppComposeRouter.tsx @@ -141,7 +141,7 @@ const AppComposeRouter = () => { { { respondOnSuccess={respondOnSuccess} isUnSet={!isUnlocked.workflowEditor} isCiPipeline={isCiPipeline} - isProtected={getIsApprovalPolicyConfigured( + isApprovalPolicyConfigured={getIsApprovalPolicyConfigured( approvalConfigForBaseConfiguration?.[ApprovalConfigDataKindType.deploymentTemplate], )} reloadEnvironments={reloadEnvironments} @@ -237,17 +237,6 @@ const AppComposeRouter = () => { /> )} - {/* {isUnlocked.workflowEditor && ConfigProtectionView && ( - - - - )} */} {isUnlocked.workflowEditor && [ { , { , { appName={currentAppName} environments={environments.map(({ environmentId, environmentName }) => ({ id: environmentId, - // isProtected, name: environmentName, }))} - // TODO: Fix this - // isBaseConfigProtected={approvalConfigForBaseConfiguration} goBackURL={goBackURL} getNavItemHref={(resourceType, resourceName) => `${generatePath(match.path, { ...match.params, resourceType, resourceName })}${location.search}` } + envProtectionConfig={envProtectionConfig} /> ) }} diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/ConfigToolbar.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/ConfigToolbar.tsx index 5e4c23fa2e..defdb873dc 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/ConfigToolbar.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/ConfigToolbar.tsx @@ -93,7 +93,7 @@ const ConfigToolbar = ({ resolveScopedVariables, configHeaderTab, - isProtected = false, + isApprovalPolicyConfigured = false, isApprovalPending, isDraftPresent, approvalUsers, @@ -112,7 +112,7 @@ const ConfigToolbar = ({ } const isCompareView = !!( - isProtected && + isApprovalPolicyConfigured && configHeaderTab === ConfigHeaderTabType.VALUES && selectedProtectionViewTab === ProtectConfigTabsType.COMPARE ) @@ -120,17 +120,22 @@ const ConfigToolbar = ({ const isPublishedValuesView = !!( configHeaderTab === ConfigHeaderTabType.VALUES && selectedProtectionViewTab === ProtectConfigTabsType.PUBLISHED && - isProtected && + isApprovalPolicyConfigured && isDraftPresent ) const isEditView = !!( configHeaderTab === ConfigHeaderTabType.VALUES && - (isProtected && isDraftPresent ? selectedProtectionViewTab === ProtectConfigTabsType.EDIT_DRAFT : true) + (isApprovalPolicyConfigured && isDraftPresent + ? selectedProtectionViewTab === ProtectConfigTabsType.EDIT_DRAFT + : true) ) const showProtectedTabs = - isProtected && isDraftPresent && configHeaderTab === ConfigHeaderTabType.VALUES && !!ProtectionViewTabGroup + isApprovalPolicyConfigured && + isDraftPresent && + configHeaderTab === ConfigHeaderTabType.VALUES && + !!ProtectionViewTabGroup const getLHSActionNodes = (): JSX.Element => { if (configHeaderTab === ConfigHeaderTabType.INHERITED) { @@ -197,7 +202,7 @@ const ConfigToolbar = ({ const shouldRenderCommentsView = !!isDraftPresent const hasNothingToRender = !shouldRenderApproverInfoTippy && !shouldRenderCommentsView - if (!isProtected || hasNothingToRender) { + if (!isApprovalPolicyConfigured || hasNothingToRender) { return null } diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/DeploymentConfigCompare.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/DeploymentConfigCompare.tsx index dcd57500a3..c4ee3ed43d 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/DeploymentConfigCompare.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/DeploymentConfigCompare.tsx @@ -50,9 +50,11 @@ export const DeploymentConfigCompare = ({ type = 'app', goBackURL = '', overwriteNavHeading, - isBaseConfigProtected = false, getNavItemHref, + // envProtectionConfig, }: DeploymentConfigCompareProps) => { + // TODO: Need to be fixed + const isBaseConfigProtected = false // HOOKS const { push } = useHistory() const { path, params } = useRouteMatch() @@ -391,7 +393,7 @@ export const DeploymentConfigCompare = ({ id: `environment-config-type-selector-${isCompare ? 'compare' : 'current'}`, options: getEnvironmentConfigTypeOptions( isCompare ? compareEnvOptions?.previousDeployments : currentEnvOptions?.previousDeployments, - isEnvProtected(environments, isCompare ? compareWith : compareTo, isBaseConfigProtected), + isEnvProtected({ environments, envName: isCompare ? compareWith : compareTo, isBaseConfigProtected }), isManifestView, ), placeholder: 'Select State', @@ -404,7 +406,7 @@ export const DeploymentConfigCompare = ({ value: getSelectPickerOptionByValue( getEnvironmentConfigTypeOptions( isCompare ? compareEnvOptions?.previousDeployments : currentEnvOptions?.previousDeployments, - isEnvProtected(environments, isCompare ? compareWith : compareTo, isBaseConfigProtected), + isEnvProtected({ environments, envName: isCompare ? compareWith : compareTo, isBaseConfigProtected }), isManifestView, ), !isCompare @@ -431,7 +433,7 @@ export const DeploymentConfigCompare = ({ }, ...(compareWithConfigType !== AppEnvDeploymentConfigType.DEFAULT_VERSION && (compareEnvOptions?.previousDeployments.length || - isEnvProtected(environments, compareWith, isBaseConfigProtected)) + isEnvProtected({ environments, envName: compareWith, isBaseConfigProtected })) ? [ { id: `environment-config-type-selector-compare`, @@ -448,7 +450,7 @@ export const DeploymentConfigCompare = ({ text: compareTo || BASE_CONFIGURATIONS.name, }, ...((currentEnvOptions?.previousDeployments.length || - isEnvProtected(environments, compareTo, isBaseConfigProtected) + isEnvProtected({ environments, envName: compareTo, isBaseConfigProtected }) ? [ { id: `environment-config-type-selector-current`, diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts index 7f065eb195..7a0add09e5 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentConfigCompare/utils.ts @@ -47,14 +47,19 @@ export const getPreviousDeploymentValue = (value: string) => { export const getEnvironmentIdByEnvironmentName = (environments: EnvironmentOptionType[], name: string) => environments.find(({ name: _name }) => name === _name)?.id ?? BASE_CONFIGURATIONS.id -export const isEnvProtected = ( +// TODO: need to be updated +export const isEnvProtected = ({ // eslint-disable-next-line @typescript-eslint/no-unused-vars - environments: EnvironmentOptionType[], + environments, // eslint-disable-next-line @typescript-eslint/no-unused-vars - envName: string, + envName, // eslint-disable-next-line @typescript-eslint/no-unused-vars - isBaseConfigProtected?: boolean, -) => true + isBaseConfigProtected, +}: { + environments: EnvironmentOptionType[] + envName: string + isBaseConfigProtected?: boolean +}) => true // ) => environments.find(({ name }) => name === envName)?.isProtected ?? isBaseConfigProtected /** @@ -218,7 +223,7 @@ export const getCompareEnvironmentSelectorOptions = ( */ export const getEnvironmentConfigTypeOptions = ( previousDeploymentsList: TemplateListDTO[] = [], - isProtected = false, + isApprovalPolicyConfigured = false, isManifestView = false, ): OptionsOrGroups> => [ { @@ -226,7 +231,7 @@ export const getEnvironmentConfigTypeOptions = ( value: AppEnvDeploymentConfigType.PUBLISHED_ONLY, description: 'Configurations that will be deployed in the next deployment', }, - ...(isProtected + ...(isApprovalPolicyConfigured ? [ { label: 'Drafts only', diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/DeploymentTemplate.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/DeploymentTemplate.tsx index 9303d6d287..ae8406cd3d 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/DeploymentTemplate.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/DeploymentTemplate.tsx @@ -114,7 +114,7 @@ const DeploymentTemplate = ({ respondOnSuccess = noop, isUnSet = false, isCiPipeline = false, - isProtected, + isApprovalPolicyConfigured, reloadEnvironments, environmentName, clusterId, @@ -169,7 +169,7 @@ const DeploymentTemplate = ({ const isDryRunView = configHeaderTab === ConfigHeaderTabType.DRY_RUN const isInheritedView = configHeaderTab === ConfigHeaderTabType.INHERITED - const isDraftAvailable = isProtected && !!draftTemplateData?.latestDraft + const isDraftAvailable = isApprovalPolicyConfigured && !!draftTemplateData?.latestDraft const isPublishedValuesView = !!( isDraftAvailable && @@ -178,7 +178,7 @@ const DeploymentTemplate = ({ (isDryRunView && dryRunEditorMode === DryRunEditorMode.PUBLISHED_VALUES)) ) const isCompareView = !!( - isProtected && + isApprovalPolicyConfigured && configHeaderTab === ConfigHeaderTabType.VALUES && selectedProtectionViewTab === ProtectConfigTabsType.COMPARE ) @@ -216,7 +216,7 @@ const DeploymentTemplate = ({ const isEditMode = configHeaderTab === ConfigHeaderTabType.VALUES && - (!isProtected || selectedProtectionViewTab === ProtectConfigTabsType.EDIT_DRAFT) + (!isApprovalPolicyConfigured || selectedProtectionViewTab === ProtectConfigTabsType.EDIT_DRAFT) const isGuiSupported = isEditMode && !showDeleteOverrideDraftEmptyState @@ -808,7 +808,7 @@ const DeploymentTemplate = ({ ? structuredClone(lockedKeysConfigResponse.value.result) : structuredClone(DEFAULT_LOCKED_KEYS_CONFIG) - const shouldFetchDraftDetails = isProtected && typeof getDraftByResourceName === 'function' + const shouldFetchDraftDetails = isApprovalPolicyConfigured && typeof getDraftByResourceName === 'function' if (shouldFetchDraftDetails) { await handleLoadProtectedDeploymentTemplate(chartRefsData, lockedKeysConfig) @@ -964,7 +964,7 @@ const DeploymentTemplate = ({ } } - if (isProtected) { + if (isApprovalPolicyConfigured) { dispatch({ type: DeploymentTemplateActionType.SHOW_PROTECTED_SAVE_MODAL, }) @@ -976,7 +976,7 @@ const DeploymentTemplate = ({ } const handleTriggerSaveFromLockedModal = async () => { - if (isProtected) { + if (isApprovalPolicyConfigured) { dispatch({ type: DeploymentTemplateActionType.SHOW_PROTECTED_SAVE_MODAL, }) @@ -1141,7 +1141,7 @@ const DeploymentTemplate = ({ dispatch({ type: DeploymentTemplateActionType.SHOW_DELETE_OVERRIDE_DIALOG, payload: { - isProtected, + isApprovalPolicyConfigured, }, }) return @@ -1249,7 +1249,7 @@ const DeploymentTemplate = ({ handleDiscardDraft: handleOpenDiscardDraftPopup, handleShowEditHistory, showDeleteOverrideDraftEmptyState, - isProtected, + isApprovalPolicyConfigured, isDeleteOverrideDraftPresent: isDeleteOverrideDraft, }), popupNodeType, @@ -1388,7 +1388,7 @@ const DeploymentTemplate = ({ const isDisabled = isLoadingSideEffects || resolveScopedVariables || !!currentEditorTemplateData.parsingError - if (isProtected && ProtectedDeploymentTemplateCTA) { + if (isApprovalPolicyConfigured && ProtectedDeploymentTemplateCTA) { return ( + payload: Pick } | { type: DeploymentTemplateActionType.SAVE_ERROR @@ -667,8 +667,8 @@ export const deploymentTemplateReducer = ( case DeploymentTemplateActionType.SHOW_DELETE_OVERRIDE_DIALOG: return { ...state, - showDeleteDraftOverrideDialog: action.payload.isProtected, - showDeleteOverrideDialog: !action.payload.isProtected, + showDeleteDraftOverrideDialog: action.payload.isApprovalPolicyConfigured, + showDeleteOverrideDialog: !action.payload.isApprovalPolicyConfigured, } case DeploymentTemplateActionType.DELETE_LOCAL_OVERRIDE: diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/types.ts index 94c16c2ea9..810bcd06bf 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/DeploymentTemplate/types.ts @@ -45,7 +45,7 @@ type EnvOverrideDeploymentTemplateProps = { } export type DeploymentTemplateProps = { - isProtected: boolean + isApprovalPolicyConfigured: boolean reloadEnvironments: () => void fetchEnvConfig: (environmentId: number) => void } & (BaseDeploymentTemplateProps | EnvOverrideDeploymentTemplateProps) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/types.ts index 672e58da83..77cd14f482 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/types.ts @@ -113,7 +113,7 @@ export type ConfigToolbarProps = { /** * @default false */ - isProtected?: boolean + isApprovalPolicyConfigured?: boolean /** * @default false */ @@ -166,7 +166,7 @@ export interface GetConfigToolbarPopupConfigProps { isLoading: boolean isDraftAvailable: boolean handleShowEditHistory: () => void - isProtected?: boolean + isApprovalPolicyConfigured?: boolean isDeletable?: boolean isDeleteOverrideDraftPresent?: boolean } diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/utils.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/utils.tsx index a24144457a..dc6570f41d 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/utils.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/MainContent/utils.tsx @@ -113,7 +113,7 @@ export const getConfigToolbarPopupConfig = ({ isLoading, isDraftAvailable, handleShowEditHistory, - isProtected = false, + isApprovalPolicyConfigured = false, isDeletable = false, isDeleteOverrideDraftPresent = false, }: GetConfigToolbarPopupConfigProps): ConfigToolbarProps['popupConfig']['menuConfig'] => { @@ -164,7 +164,7 @@ export const getConfigToolbarPopupConfig = ({ if (isDeletable && configHeaderTab === ConfigHeaderTabType.VALUES) { secondConfigSegment.push({ - text: `Delete${isProtected ? '...' : ''}`, + text: `Delete${isApprovalPolicyConfigured ? '...' : ''}`, onClick: handleDelete, dataTestId: 'delete-config-map-secret', disabled: isLoading, diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx index 730a61555f..4e00bbac0f 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/AppNavigation.tsx @@ -138,18 +138,10 @@ export const AppNavigation = () => { key={`env-configurations-nav-${match.params.envId}`} envConfig={envConfig} fetchEnvConfig={fetchEnvConfig} - environments={environments.map( - ({ - environmentName, - environmentId, - // isProtected - }) => ({ - id: environmentId, - // isProtected, - name: environmentName, - }), - )} - // isBaseConfigProtected={isBaseConfigProtected} + environments={environments.map(({ environmentName, environmentId }) => ({ + id: environmentId, + name: environmentName, + }))} showBaseConfigurations showDeploymentTemplate={!isJobView} goBackURL={getValidBackURL()} @@ -217,7 +209,7 @@ export const AppNavigation = () => { ) } - return + return })} {isJobView &&
}
diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx index ee90c5fdc6..0ff6b87ce7 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx @@ -24,7 +24,6 @@ import { ReactComponent as ICAdd } from '@Icons/ic-add.svg' import { ReactComponent as ICLocked } from '@Icons/ic-locked.svg' import { ReactComponent as ICFileCode } from '@Icons/ic-file-code.svg' import { URLS } from '@Config/routes' -// import { ReactComponent as ProtectedIcon } from '@Icons/ic-shield-protect-fill.svg' import { ResourceConfigState } from '@Pages/Applications/DevtronApps/service.types' import { BASE_CONFIGURATIONS } from '../AppConfig.constants' @@ -43,7 +42,6 @@ export const EnvConfigurationsNav = ({ showDeploymentTemplate, envConfig, fetchEnvConfig, - // isBaseConfigProtected, environments, goBackURL, paramToCheck = 'envId', @@ -78,7 +76,6 @@ export const EnvConfigurationsNav = ({ ? { name: BASE_CONFIGURATIONS.name, id: BASE_CONFIGURATIONS.id, - // isProtected: isBaseConfigProtected, } : null) const resourceType = resourceTypeBasedOnPath(pathname) @@ -245,7 +242,6 @@ export const EnvConfigurationsNav = ({ { label: BASE_CONFIGURATIONS.name, value: BASE_CONFIGURATIONS.id, - // endIcon: isBaseConfigProtected ? : null, }, ] : [] @@ -257,7 +253,6 @@ export const EnvConfigurationsNav = ({ options: environments.map(({ name, id }) => ({ label: name, value: id, - // endIcon: isProtected ? : null, })), }, ] @@ -317,7 +312,6 @@ export const EnvConfigurationsNav = ({ showSelectedOptionIcon={false} />
- {/* {environmentData?.isProtected && } */}
) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx index ad88202c03..b7310000de 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvironmentOverrideRouter.tsx @@ -29,6 +29,7 @@ import { ToastManager, SelectPicker, } from '@devtron-labs/devtron-fe-common-lib' +import { ReactComponent as ICStamp } from '@Icons/ic-stamp.svg' import { URLS, DOCUMENTATION } from '../../../../../../config' import { usePrevious, createClusterEnvGroup } from '../../../../../../components/common' import { addJobEnvironment, deleteJobEnvironment, getCIConfig } from '../../../../../../services/service' @@ -36,9 +37,8 @@ import { ReactComponent as Help } from '../../../../../../assets/icons/ic-help.s import { ReactComponent as Add } from '../../../../../../assets/icons/ic-add.svg' import { ReactComponent as More } from '../../../../../../assets/icons/ic-more-option.svg' import { ReactComponent as DeleteIcon } from '../../../../../../assets/icons/ic-delete-interactive.svg' -import { ReactComponent as ProtectedIcon } from '../../../../../../assets/icons/ic-shield-protect-fill.svg' import warn from '../../../../../../assets/icons/ic-warning.svg' -import { JobEnvOverrideRouteProps } from '../AppConfig.types' +import { AppConfigState, JobEnvOverrideRouteProps } from '../AppConfig.types' import { RESOURCE_ACTION_MENU } from '../../../../../../components/ResourceBrowser/Constants' import { renderNavItem } from './Navigation.helper' import { useAppConfigurationContext } from '../AppConfiguration.provider' @@ -197,7 +197,7 @@ const JobEnvOverrideRoute = ({ envOverride, ciPipelines, reload, isEnvProtected to={`${URLS.APP_ENV_OVERRIDE_CONFIG}/${envOverride.environmentId}/${EnvResourceType.ConfigMap}`} > {envOverride.environmentName} - {isEnvProtected && } + {isEnvProtected && }
{deletePopUpMenu()} {showDelete && showDeleteDialog(deletePipeline)} @@ -205,7 +205,7 @@ const JobEnvOverrideRoute = ({ envOverride, ciPipelines, reload, isEnvProtected ) } -const EnvironmentOverrideRouter = () => { +const EnvironmentOverrideRouter = ({ envProtectionConfig }: Pick) => { const { pathname } = useLocation() const { appId } = useParams<{ appId: string }>() const previousPathName = usePrevious(pathname) @@ -322,16 +322,19 @@ const EnvironmentOverrideRouter = () => { envOverride={env} ciPipelines={ciPipelines} reload={reloadEnvData} - // isEnvProtected={env.isProtected} + isEnvProtected={ + envProtectionConfig?.[env.environmentId]?.isApprovalApplicable + } /> ) : ( renderNavItem( { title: env.environmentName, - // isProtectionAllowed: env.isProtected, + isProtectionAllowed: + envProtectionConfig?.[env.environmentId]?.isApprovalApplicable, href: `${URLS.APP_ENV_OVERRIDE_CONFIG}/${env.environmentId}/${EnvResourceType.DeploymentTemplate}`, }, - // env.isProtected, + envProtectionConfig?.[env.environmentId]?.isApprovalApplicable, ) )} diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx index 2d46f297b3..21c154d3f7 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/Navigation.helper.tsx @@ -10,7 +10,7 @@ import { } from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as Lock } from '@Icons/ic-locked.svg' -import { ReactComponent as ProtectedIcon } from '@Icons/ic-shield-protect-fill.svg' +import { ReactComponent as ICStamp } from '@Icons/ic-stamp.svg' import { ResourceConfigStage, ResourceConfigState } from '@Pages/Applications/DevtronApps/service.types' import { @@ -22,13 +22,12 @@ import { } from '../AppConfig.types' import { RESOURCE_CONFIG_STATE_TO_ICON_CONFIG_MAP } from './constants' -const renderNavItemIcon = (isLocked: boolean, isProtected: boolean, dataTestId: string) => { +const renderNavItemIcon = (isLocked: boolean, isApprovalPolicyConfigured: boolean, dataTestId: string) => { if (isLocked) { return } - if (!isLocked && isProtected) { - // TODO: Check and update/remove - return + if (!isLocked && isApprovalPolicyConfigured) { + return } return null } diff --git a/src/Pages/Releases/Detail/Configurations/Configurations.tsx b/src/Pages/Releases/Detail/Configurations/Configurations.tsx index bc87c61e64..c06e4738de 100644 --- a/src/Pages/Releases/Detail/Configurations/Configurations.tsx +++ b/src/Pages/Releases/Detail/Configurations/Configurations.tsx @@ -2,9 +2,11 @@ import { useMemo } from 'react' import { generatePath, Redirect, Route, Switch, useRouteMatch } from 'react-router-dom' import { + ApprovalConfigDataKindType, DeploymentHistoryBaseParamsType, EnvResourceType, GenericEmptyState, + getIsApprovalPolicyConfigured, Progressing, useAsync, } from '@devtron-labs/devtron-fe-common-lib' @@ -67,6 +69,7 @@ export const Configurations = () => { () => (environments ? environments.find(({ id }) => +envId === id) : null), [environments, envId, isEnvListLoading], ) + const approvalConfigForEnv = envProtectionConfig[selectedEnv?.id]?.approvalConfigurationMap const showConfig = !!selectedApp && !!selectedEnv // RENDERERS @@ -95,8 +98,9 @@ export const Configurations = () => { { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL="" reloadEnvironments={reloadEnvironments} - // isProtected={selectedEnv.isProtected} - isProtected + isApprovalPolicyConfigured={getIsApprovalPolicyConfigured( + approvalConfigForEnv?.[ApprovalConfigDataKindType.configMap], + )} clusterId={null} /> @@ -128,8 +133,9 @@ export const Configurations = () => { fetchEnvConfig={fetchEnvConfig} onErrorRedirectURL="" reloadEnvironments={reloadEnvironments} - // isProtected={selectedEnv.isProtected} - isProtected + isApprovalPolicyConfigured={getIsApprovalPolicyConfigured( + approvalConfigForEnv?.[ApprovalConfigDataKindType.configSecret], + )} clusterId={null} /> @@ -164,6 +170,7 @@ export const Configurations = () => { getNavItemHref={(resourceType, resourceName) => `${generatePath(match.path, { ...match.params, resourceType, resourceName })}${location.search}` } + envProtectionConfig={envProtectionConfig} /> ) : ( diff --git a/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretContainer.tsx b/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretContainer.tsx index aa2204a3e7..d9f27918c2 100644 --- a/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretContainer.tsx +++ b/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretContainer.tsx @@ -78,7 +78,7 @@ export const ConfigMapSecretContainer = ({ isJob = false, clusterId, envConfig, - isProtected, + isApprovalPolicyConfigured, fetchEnvConfig, onErrorRedirectURL, envName, @@ -197,7 +197,7 @@ export const ConfigMapSecretContainer = ({ }) : null, // Fetch Draft Configuration - isProtected + isApprovalPolicyConfigured ? getConfigMapSecretConfigDraftData({ appId: +appId, envId: envId ? +envId : -1, @@ -412,7 +412,7 @@ export const ConfigMapSecretContainer = ({ const toggleDraftComments = () => setShowComments(!showComments) - const handleDelete = () => setOpenDeleteModal(isProtected ? 'protectedDeleteModal' : 'deleteModal') + const handleDelete = () => setOpenDeleteModal(isApprovalPolicyConfigured ? 'protectedDeleteModal' : 'deleteModal') const handleDeleteOverride = () => { handleDelete() @@ -513,7 +513,7 @@ export const ConfigMapSecretContainer = ({ const onSubmit: ConfigMapSecretFormProps['onSubmit'] = async (formData) => { const payloadData = getConfigMapSecretPayload(resolvedScopeVariables ? formDataRef.current : formData) - if (isProtected) { + if (isApprovalPolicyConfigured) { setDraftPayload({ id: id ?? 0, appId: +appId, @@ -588,7 +588,7 @@ export const ConfigMapSecretContainer = ({ menuConfig: getConfigToolbarPopupConfig({ configHeaderTab, isOverridden: cmSecretStateLabel === CM_SECRET_STATE.OVERRIDDEN, - isProtected, + isApprovalPolicyConfigured, isPublishedValuesView: selectedProtectionViewTab === ProtectConfigTabsType.PUBLISHED, isPublishedConfigPresent: !!configMapSecretData, unableToParseData: !!parsingError, @@ -620,7 +620,7 @@ export const ConfigMapSecretContainer = ({ // RENDERERS const renderForm = ({ onCancel }: Pick) => - isProtected && draftData ? ( + isApprovalPolicyConfigured && draftData ? ( + variant={ButtonVariantType.secondary} + size={ComponentSizeType.medium} + style={ButtonStyleType.neutral} + /> {!exportingData && errorExportingData && ( - + size={ComponentSizeType.medium} + /> )} ) @@ -154,28 +153,28 @@ export default function ExportToCsv({ } return ( -
- ( - - {children} - - )} - > - - +
+
- - - Cancel - +
- - - Cancel - +
{!isAddMode && ( -
- -
+
diff --git a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/AddEdit/UserForm.tsx b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/AddEdit/UserForm.tsx index 4527f25bef..a5ef21235e 100644 --- a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/AddEdit/UserForm.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/AddEdit/UserForm.tsx @@ -315,15 +315,16 @@ const UserForm = ({ isAddMode }: { isAddMode: boolean }) => { /> )} {!isAddMode && ( - + /> )}
)} From bdd544a953ed1d6cbb2b1dd66fdc602addc71d48 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 19 Dec 2024 19:10:44 +0530 Subject: [PATCH 071/186] refactor: replace select for permission group selector --- ...UserPermissionGroupsSelector.component.tsx | 81 +++++++------------ 1 file changed, 27 insertions(+), 54 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/UserPermissionGroupsSelector/UserPermissionGroupsSelector.component.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/UserPermissionGroupsSelector/UserPermissionGroupsSelector.component.tsx index 4427a6e9a5..de408a1337 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/UserPermissionGroupsSelector/UserPermissionGroupsSelector.component.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/UserPermissionGroupsSelector/UserPermissionGroupsSelector.component.tsx @@ -16,29 +16,23 @@ import { useEffect } from 'react' import { - MultiValueChipContainer, - Option, useAsync, UserRoleGroupsTable, - GenericSectionErrorState, - LoadingIndicator, - OptionType, UserStatus, UserRoleGroup, + SelectPicker, + SelectPickerOptionType, + ComponentSizeType, } from '@devtron-labs/devtron-fe-common-lib' -import Select from 'react-select' import { PermissionGroup, User } from '../../../types' import { importComponentFromFELibrary, mapByKey } from '../../../../../../components/common' import { getPermissionGroupList } from '../../../authorization.service' import { usePermissionConfiguration } from '../PermissionConfigurationForm' -import { authorizationSelectStyles } from '../../../constants' import { getDefaultStatusAndTimeout } from '../../../libUtils' const StatusHeaderCell = importComponentFromFELibrary('StatusHeaderCell', null, 'function') const UserStatusUpdate = importComponentFromFELibrary('UserStatusUpdate', null, 'function') -const MultiValueContainer = (props) => - const UserPermissionGroupsSelector = () => { const { userRoleGroups, setUserRoleGroups, data: userData, userStatus, showStatus } = usePermissionConfiguration() const [isLoading, result, error, reloadGroupList] = useAsync(() => @@ -63,24 +57,21 @@ const UserPermissionGroupsSelector = () => { const userGroupsMap = mapByKey>(userGroupsList, 'name') - const groupOptions = userGroupsList?.map((group) => ({ value: group.name, label: group.name })) + const groupOptions: SelectPickerOptionType[] = userGroupsList?.map((group) => ({ + value: group.name, + label: group.name, + description: group.description, + })) const selectedValue = userRoleGroups.map((userGroup) => ({ value: userGroup.name, label: userGroup.name })) - const formatChartGroupOptionLabel = ({ value, label }) => ( -
- {label} - {userGroupsMap.has(value) ? userGroupsMap.get(value).description : ''} -
- ) - - const handleChange = (selectedOptions: OptionType[]) => { + const handleChange = (selectedOptions: SelectPickerOptionType[]) => { const alreadyAddedGroupsMap = mapByKey(userRoleGroups, 'name') const selectedOptionsMap = mapByKey(selectedOptions, 'value') const filteredOptions: User['userRoleGroups'] = selectedOptions .filter((selectedOption) => !alreadyAddedGroupsMap.has(selectedOption.value)) .map((selectedOption) => { - const { id, name, description } = userGroupsMap.get(selectedOption.value) + const { id, name, description } = userGroupsMap.get(selectedOption.value as string) return { id, @@ -121,41 +112,23 @@ const UserPermissionGroupsSelector = () => { return (
-
-

Permission Groups

- ({ label: project.name, value: project.name }))} + options={projectOptions} onChange={handleDirectPermissionChange} - components={{ - ClearIndicator: null, - IndicatorSeparator: null, - Option: singleOption, - ValueContainer: ProjectValueContainer, - }} - menuPlacement="auto" - styles={projectSelectStyles} - formatOptionLabel={formatOptionLabelProject} - inputValue={projectInput} - onBlur={() => { - setProjectInput('') - }} - onInputChange={(value, action) => { - if (action.action === ReactSelectInputAction.inputChange) { - setProjectInput(value) - } - }} + size={ComponentSizeType.large} /> {permission.accessType === ACCESS_TYPE_MAP.HELM_APPS ? (
diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx index 67035196d8..f70c7c1546 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx @@ -23,6 +23,7 @@ import { GroupHeading } from '../../../../../../components/v2/common/ReactSelect import { SELECT_ALL_VALUE } from '../../../../../../config' import { ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE, DirectPermissionFieldName } from './constants' +// TODO: Clean this file export const WorkflowGroupHeading = (props) => export const AppOption = ({ props, permission }) => { @@ -120,19 +121,3 @@ export const ClusterValueContainer = (props) => { ) } - -export const ProjectValueContainer = (props) => { - const value = props.getValue() - return ( - - {value[0] ? ( - <> - {!props.selectProps.menuIsOpen && value[0].value} - {React.cloneElement(props.children[1])} - - ) : ( - props.children - )} - - ) -} diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/constants.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/constants.ts index 08c7a5ba7a..9b6b5aad59 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/constants.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/constants.ts @@ -71,14 +71,6 @@ export enum DirectPermissionFieldName { status = 'status', } -export const projectSelectStyles = { - ...authorizationSelectStyles, - valueContainer: (base) => ({ - ...authorizationSelectStyles.valueContainer(base), - display: 'flex', - }), -} - export const roleSelectStyles = { ...authorizationSelectStyles, valueContainer: (base) => ({ From 902967bd3e23630e92959e05bbd0acf64c0b089f Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Fri, 20 Dec 2024 13:49:56 +0530 Subject: [PATCH 077/186] feat: add animation on deploy button in cd modal --- .env | 1 + config.md | 1 + package.json | 2 +- src/assets/icons/ic-play-media.svg | 19 ----- src/assets/icons/ic-play-outline.svg | 3 + src/assets/icons/misc/arrow-solid-right.svg | 21 ----- .../Details/TriggerView/BulkCDTrigger.tsx | 39 +++++---- .../Details/TriggerView/BulkCITrigger.tsx | 2 +- .../app/details/triggerView/cdMaterial.tsx | 79 +++++++++++-------- .../app/details/triggerView/ciMaterial.tsx | 5 +- .../app/list/DevtronAppListContainer.tsx | 2 +- src/components/common/helpers/Helpers.tsx | 16 +--- src/components/material/MaterialList.tsx | 4 +- src/index.tsx | 1 + yarn.lock | 12 +-- 15 files changed, 82 insertions(+), 125 deletions(-) delete mode 100644 src/assets/icons/ic-play-media.svg create mode 100644 src/assets/icons/ic-play-outline.svg delete mode 100644 src/assets/icons/misc/arrow-solid-right.svg diff --git a/.env b/.env index f39c1bf0c2..36643a2b4a 100644 --- a/.env +++ b/.env @@ -67,3 +67,4 @@ FEATURE_BULK_RESTART_WORKLOADS_FROM_RB=deployment,rollout,daemonset,statefulset FEATURE_DEFAULT_MERGE_STRATEGY= FEATURE_CLUSTER_MAP_ENABLE=false FEATURE_DEFAULT_LANDING_RB_ENABLE=false +FEATURE_ACTION_AUDIOS_ENABLE=true diff --git a/config.md b/config.md index 519fe7bfd7..d42e2d515f 100644 --- a/config.md +++ b/config.md @@ -50,5 +50,6 @@ | TRIGGER_API_TIMEOUT | 60000 | Default timeout for all API requests for Trigger calls (Deploy artifacts, charts) in DASHBOARD | | FEATURE_STEP_WISE_LOGS_ENABLE | true | Would segregate logs into tasks | | FEATURE_HIDE_USER_DIRECT_PERMISSIONS_FOR_NON_SUPER_ADMINS | "true" | Would hide the user direct permissions for non-super admin users in User Permissions | +| FEATURE_ACTION_AUDIOS_ENABLE | true | Would enable audios in dashboard | # DASHBOARD CONFIG SECRET diff --git a/package.json b/package.json index 8cf8a52944..5d2e03305e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.0", + "@devtron-labs/devtron-fe-common-lib": "1.3.0-beta-9", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/assets/icons/ic-play-media.svg b/src/assets/icons/ic-play-media.svg deleted file mode 100644 index 1bb7649b9c..0000000000 --- a/src/assets/icons/ic-play-media.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/src/assets/icons/ic-play-outline.svg b/src/assets/icons/ic-play-outline.svg new file mode 100644 index 0000000000..fc92127602 --- /dev/null +++ b/src/assets/icons/ic-play-outline.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/icons/misc/arrow-solid-right.svg b/src/assets/icons/misc/arrow-solid-right.svg deleted file mode 100644 index 597f94f7bd..0000000000 --- a/src/assets/icons/misc/arrow-solid-right.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - diff --git a/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx b/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx index 3d5cc618a5..3e9f44aeac 100644 --- a/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx +++ b/src/components/ApplicationGroup/Details/TriggerView/BulkCDTrigger.tsx @@ -44,11 +44,14 @@ import { RuntimePluginVariables, uploadCDPipelineFile, UploadFileProps, + Button, + ComponentSizeType, + AnimatedDeployButton, } from '@devtron-labs/devtron-fe-common-lib' import { useHistory, useLocation } from 'react-router-dom' import { ReactComponent as Close } from '../../../../assets/icons/ic-cross.svg' import { ReactComponent as DeployIcon } from '../../../../assets/icons/ic-nav-rocket.svg' -import { ReactComponent as PlayIcon } from '../../../../assets/icons/ic-play-medium.svg' +import { ReactComponent as PlayIcon } from '@Icons/ic-play-outline.svg' import { ReactComponent as Error } from '../../../../assets/icons/ic-warning.svg' import { ReactComponent as UnAuthorized } from '../../../../assets/icons/ic-locked.svg' import { ReactComponent as Tag } from '../../../../assets/icons/ic-tag.svg' @@ -837,29 +840,23 @@ export default function BulkCDTrigger({ } const renderFooterSection = (): JSX.Element => { + const isDeployButtonDisabled: boolean = isDeployDisabled() return (
- + {!isDeployButtonDisabled && stage === DeploymentNodeType.CD && !isLoading ? ( + + ) : ( +
) diff --git a/src/components/ApplicationGroup/Details/TriggerView/BulkCITrigger.tsx b/src/components/ApplicationGroup/Details/TriggerView/BulkCITrigger.tsx index e7af60b953..a271a35bc9 100644 --- a/src/components/ApplicationGroup/Details/TriggerView/BulkCITrigger.tsx +++ b/src/components/ApplicationGroup/Details/TriggerView/BulkCITrigger.tsx @@ -47,7 +47,7 @@ import { import Tippy from '@tippyjs/react' import { getCIPipelineURL, getParsedBranchValuesForPlugin, importComponentFromFELibrary } from '../../../common' import { ReactComponent as Close } from '../../../../assets/icons/ic-close.svg' -import { ReactComponent as PlayIcon } from '../../../../assets/icons/misc/arrow-solid-right.svg' +import { ReactComponent as PlayIcon } from '@Icons/ic-play-outline.svg' import { ReactComponent as Warning } from '../../../../assets/icons/ic-warning.svg' import { ReactComponent as ICError } from '../../../../assets/icons/ic-alert-triangle.svg' import { ReactComponent as Storage } from '../../../../assets/icons/ic-storage.svg' diff --git a/src/components/app/details/triggerView/cdMaterial.tsx b/src/components/app/details/triggerView/cdMaterial.tsx index 9bd01b3ce3..60f172c36a 100644 --- a/src/components/app/details/triggerView/cdMaterial.tsx +++ b/src/components/app/details/triggerView/cdMaterial.tsx @@ -79,6 +79,10 @@ import { CommonNodeAttr, RuntimePluginVariables, uploadCDPipelineFile, + Button, + ComponentSizeType, + ButtonStyleType, + AnimatedDeployButton, } from '@devtron-labs/devtron-fe-common-lib' import Tippy from '@tippyjs/react' import { @@ -99,10 +103,10 @@ import { ReactComponent as InfoIcon } from '../../../../assets/icons/info-filled import { ReactComponent as InfoOutline } from '../../../../assets/icons/ic-info-outline.svg' import { ReactComponent as SearchIcon } from '../../../../assets/icons/ic-search.svg' import { ReactComponent as RefreshIcon } from '../../../../assets/icons/ic-arrows_clockwise.svg' -import { ReactComponent as PlayIC } from '../../../../assets/icons/misc/arrow-solid-right.svg' +import { ReactComponent as PlayIC } from '@Icons/ic-play-outline.svg' import noArtifact from '../../../../assets/img/no-artifact@2x.png' -import { getCTAClass, importComponentFromFELibrary, useAppContext } from '../../../common' +import { importComponentFromFELibrary, useAppContext } from '../../../common' import { CDButtonLabelMap, TriggerViewContext } from './config' import { triggerCDNode } from '../../service' import { getModuleInfo } from '../../../v2/devtronStackManager/DevtronStackManager.service' @@ -1620,17 +1624,19 @@ const CDMaterial = ({ if (deploymentWindowMetadata.userActionState === ACTION_STATE.BLOCKED) { return null } else if (stageType !== STAGE_TYPE.CD) { - return ( - - ) + return } - return ( - - ) + return + } + + const getDeployButtonStyle = (userActionState: string): ButtonStyleType => { + if (userActionState === ACTION_STATE.BLOCKED) { + return ButtonStyleType.negative + } + if (userActionState === ACTION_STATE.PARTIAL) { + return ButtonStyleType.warning + } + return ButtonStyleType.default } const onClickDeploy = (e, disableDeployButton: boolean) => { @@ -1653,30 +1659,33 @@ const CDMaterial = ({ } } - const renderTriggerDeployButton = (disableDeployButton: boolean) => ( - - ) + : CDButtonLabelMap[stageType] + }${isVirtualEnvironment ? ' to isolated env' : ''}`} + endIcon={deploymentWindowMetadata.userActionState === ACTION_STATE.BLOCKED ? : null} + onClick={(e) => onClickDeploy(e, disableDeployButton)} + size={ComponentSizeType.large} + style={getDeployButtonStyle(deploymentWindowMetadata.userActionState)} + disabled={disableDeployButton} + /> + ) + } const renderTriggerModalCTA = (isApprovalConfigured: boolean) => { const disableDeployButton = diff --git a/src/components/app/details/triggerView/ciMaterial.tsx b/src/components/app/details/triggerView/ciMaterial.tsx index bf2fccc0b7..55e1110e1a 100644 --- a/src/components/app/details/triggerView/ciMaterial.tsx +++ b/src/components/app/details/triggerView/ciMaterial.tsx @@ -31,11 +31,10 @@ import { noop, } from '@devtron-labs/devtron-fe-common-lib' import { CIMaterialProps, CIMaterialState, RegexValueType } from './types' -import { ReactComponent as Play } from '../../../../assets/icons/misc/arrow-solid-right.svg' +import { ReactComponent as Play } from '@Icons/ic-play-outline.svg' import { ReactComponent as Info } from '../../../../assets/icons/info-filled.svg' import { ReactComponent as Storage } from '../../../../assets/icons/ic-storage.svg' import { ReactComponent as OpenInNew } from '../../../../assets/icons/ic-open-in-new.svg' -import { ReactComponent as RunIcon } from '../../../../assets/icons/ic-play-media.svg' import { getCIPipelineURL, importComponentFromFELibrary } from '../../../common' import { DOCUMENTATION, SOURCE_NOT_CONFIGURED, DEFAULT_ROUTE_PROMPT_MESSAGE } from '../../../../config' import { getModuleConfigured } from '../appDetails/appDetails.service' @@ -224,7 +223,7 @@ class CIMaterial extends Component { isLoading={this.props.isLoading} onClick={isCTAActionable ? this.handleStartBuildAction : noop} size={ComponentSizeType.large} - startIcon={this.props.isJobView || this.props.isJobCI ? : } + startIcon={} /> ) diff --git a/src/components/app/list/DevtronAppListContainer.tsx b/src/components/app/list/DevtronAppListContainer.tsx index 69b9e58153..24864f4cee 100644 --- a/src/components/app/list/DevtronAppListContainer.tsx +++ b/src/components/app/list/DevtronAppListContainer.tsx @@ -35,6 +35,7 @@ import { import ContentCard from '@Components/common/ContentCard/ContentCard' import { HELM_GUIDED_CONTENT_CARDS_TEXTS } from '@Components/onboardingGuide/OnboardingGuide.constants' import { CardLinkIconPlacement } from '@Components/common/ContentCard/ContentCard.types' +import { ReactComponent as PlayMedia } from '@Icons/ic-play-outline.svg' import { appListModal, getDevtronAppListPayload } from './appList.modal' import { App, DevtronAppExpandedState, DevtronAppListProps } from './types' import { DEVTRON_NODE_DEPLOY_VIDEO, Routes, URLS } from '../../../config' @@ -42,7 +43,6 @@ import { getAppList } from '../service' import './list.scss' import { AppListSortableKeys } from '../list-new/AppListType' import NodeAppThumbnail from '../../../assets/img/node-app-thumbnail.png' -import { ReactComponent as PlayMedia } from '../../../assets/icons/ic-play-media.svg' import DeployCICD from '../../../assets/img/guide-onboard.png' import { appListLoadingArray, APP_LIST_HEADERS } from '../list-new/Constants' import { ReactComponent as ArrowRight } from '../../../assets/icons/ic-arrow-right.svg' diff --git a/src/components/common/helpers/Helpers.tsx b/src/components/common/helpers/Helpers.tsx index 037de1e7e9..cac5be317e 100644 --- a/src/components/common/helpers/Helpers.tsx +++ b/src/components/common/helpers/Helpers.tsx @@ -1105,8 +1105,6 @@ export const getDeploymentAppType = ( return allowedDeploymentTypes[0] } - - export const getNonEditableChartRepoText = (name: string): string => { return `Cannot edit chart repo "${name}". Some charts from this repository are being used by helm apps.` } @@ -1139,18 +1137,6 @@ export const getApprovalModalTypeFromURL = (url: string): APPROVAL_MODAL_TYPE => return APPROVAL_MODAL_TYPE.CONFIG } -export const getCTAClass = (userActionState: string, disableDeployButton?: boolean): string => { - let className = 'cta small flex ml-auto' - if (disableDeployButton) { - className += ' disabled-opacity' - } else if (userActionState === ACTION_STATE.BLOCKED) { - className += ' danger' - } else if (userActionState === ACTION_STATE.PARTIAL) { - className += ' warning' - } - return className -} - export const getPluginIdsFromBuildStage = ( stage: PipelineBuildStageType, ): PluginDetailServiceParamsType['pluginIds'] => { @@ -1244,7 +1230,7 @@ export const getParsedBranchValuesForPlugin = (branchName: string): string => { */ export const checkIfPathIsMatching = (currentPathName: string, customMessage = ''): PromptProps['message'] => - ({ pathname }: { pathname: string }) => + ({ pathname }: { pathname: string }) => currentPathName === pathname || customMessage || UNSAVED_CHANGES_PROMPT_MESSAGE export const getAppFilterLocalStorageKey = (filterParentType: FilterParentType): AppEnvLocalStorageKeyType => diff --git a/src/components/material/MaterialList.tsx b/src/components/material/MaterialList.tsx index 1f95b59038..c1f1ce82e3 100644 --- a/src/components/material/MaterialList.tsx +++ b/src/components/material/MaterialList.tsx @@ -29,7 +29,7 @@ import { CreateMaterial } from './CreateMaterial' import { UpdateMaterial } from './UpdateMaterial' import { MaterialListProps, MaterialListState } from './material.types' import { ReactComponent as GitHub } from '../../assets/icons/ic-sample-app.svg' -import { ReactComponent as PlayMedia } from '../../assets/icons/ic-play-media.svg' +import { ReactComponent as PlayMedia } from '../../assets/icons/ic-play-outline.svg' import { ReactComponent as Folder } from '../../assets/icons/ic-folder-filled.svg' import './material.scss' @@ -181,7 +181,7 @@ class MaterialList extends Component { className="flex left dc__link" href={DEVTRON_NODE_DEPLOY_VIDEO} > - + Watch how to configure sample application
diff --git a/src/index.tsx b/src/index.tsx index 35908e1da7..484eea78b4 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -169,6 +169,7 @@ if (!window || !window._env_) { FEATURE_DEFAULT_MERGE_STRATEGY: OverrideMergeStrategyType.PATCH, FEATURE_DEFAULT_LANDING_RB_ENABLE: false, FEATURE_CLUSTER_MAP_ENABLE: false, + FEATURE_ACTION_AUDIOS_ENABLE: true, } } diff --git a/yarn.lock b/yarn.lock index c7ad753c88..55997f8f14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.0.tgz#ec8cb38f30ae8a416163287ae03f618e676f4058" - integrity sha512-Qq2F/xADUBIZRbIn19mJQzJ/omTSIT3orRNM0Dv/kLKxK7rGCr+V894qkOAqDKneBw1b9pcvvjeZ4Iu5KnEuKg== +"@devtron-labs/devtron-fe-common-lib@1.3.0-beta-9": + version "1.3.0-beta-9" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.0-beta-9.tgz#e60df172d72430a8af22df0f3a8a831b02ec37db" + integrity sha512-SNk1Wj4rr3YYJSuwawdPAJfqPYS+id/WH0i/OhYoPrSF6dyc7TYms0/xDh09TWkbczcgyF81U+Ai7OQ5CJp4SA== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -4838,12 +4838,12 @@ fs.realpath@^1.0.0: fsevents@2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: From 32c3c8375b2074a203a6601f58fb06dda4b4a4eb Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 20 Dec 2024 14:16:17 +0530 Subject: [PATCH 078/186] chore: variable name updated --- src/components/ClusterNodes/ClusterSelectionList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ClusterNodes/ClusterSelectionList.tsx b/src/components/ClusterNodes/ClusterSelectionList.tsx index 0dc63881b3..61bbf0eeaf 100644 --- a/src/components/ClusterNodes/ClusterSelectionList.tsx +++ b/src/components/ClusterNodes/ClusterSelectionList.tsx @@ -259,7 +259,7 @@ const ClusterSelectionList: React.FC = ({ isLoading={clusterListLoader} filteredList={filteredList} clusterListLoader={clusterListLoader} - isPropotional + isProportional /> )} {!filteredList.length ? ( From 525a5a8def6348be4eef64795a63453aaccd3bd0 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 20 Dec 2024 14:20:24 +0530 Subject: [PATCH 079/186] chore: version bump 1.3.0-beta-11 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8cf8a52944..6a3e2b8b94 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.0", + "@devtron-labs/devtron-fe-common-lib": "1.3.0-beta-11", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", From 0323ceda907651103448faea71ada1f03327ad9a Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 20 Dec 2024 16:24:31 +0530 Subject: [PATCH 080/186] chore: Merge 'feat/cluster-map-v2' to 'develop' --- package.json | 2 +- .../ClusterNodes/ClusterOverview.tsx | 2 +- .../ClusterNodes/ClusterSelectionList.tsx | 2 +- .../ClusterNodes/ClusterTerminal.tsx | 3 +- src/components/ClusterNodes/NodeDetails.tsx | 2 +- src/components/ClusterNodes/types.ts | 53 +++---------------- src/components/ClusterNodes/utils.tsx | 2 +- .../ResourceBrowser/ResourceBrowser.tsx | 2 +- src/components/ResourceBrowser/Types.ts | 4 +- src/components/cluster/cluster.util.ts | 2 +- src/index.tsx | 2 +- vite.config.mts | 2 +- yarn.lock | 12 ++--- 13 files changed, 28 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 6a3e2b8b94..604d098a54 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.0-beta-11", + "@devtron-labs/devtron-fe-common-lib": "1.3.0-beta-13", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/components/ClusterNodes/ClusterOverview.tsx b/src/components/ClusterNodes/ClusterOverview.tsx index 193ba8af0f..67fd6b352c 100644 --- a/src/components/ClusterNodes/ClusterOverview.tsx +++ b/src/components/ClusterNodes/ClusterOverview.tsx @@ -25,6 +25,7 @@ import { ResourceKindType, getUrlWithSearchParams, showError, + ClusterCapacityType, } from '@devtron-labs/devtron-fe-common-lib' import { ClusterErrorType, @@ -32,7 +33,6 @@ import { DescriptionDataType, ERROR_TYPE, ClusterDetailsType, - ClusterCapacityType, ClusterDescriptionResponse, ClusterCapacityResponse, } from './types' diff --git a/src/components/ClusterNodes/ClusterSelectionList.tsx b/src/components/ClusterNodes/ClusterSelectionList.tsx index 61bbf0eeaf..53fb923744 100644 --- a/src/components/ClusterNodes/ClusterSelectionList.tsx +++ b/src/components/ClusterNodes/ClusterSelectionList.tsx @@ -24,6 +24,7 @@ import { ClusterFiltersType, ALL_NAMESPACE_OPTION, SortableTableHeaderCell, + ClusterDetail, } from '@devtron-labs/devtron-fe-common-lib' import dayjs, { Dayjs } from 'dayjs' import { importComponentFromFELibrary } from '@Components/common' @@ -32,7 +33,6 @@ import NoClusterEmptyState from '@Images/no-cluster-empty-state.png' import { AddClusterButton } from '@Components/ResourceBrowser/PageHeader.buttons' import { ReactComponent as Error } from '@Icons/ic-error-exclamation.svg' import { ReactComponent as TerminalIcon } from '@Icons/ic-terminal-fill.svg' -import { ClusterDetail } from './types' import ClusterNodeEmptyState from './ClusterNodeEmptyStates' import { ClusterSelectionType } from '../ResourceBrowser/Types' import { AppDetailsTabs } from '../v2/appDetails/appDetails.store' diff --git a/src/components/ClusterNodes/ClusterTerminal.tsx b/src/components/ClusterNodes/ClusterTerminal.tsx index 0237512bfe..9cf170a0a1 100644 --- a/src/components/ClusterNodes/ClusterTerminal.tsx +++ b/src/components/ClusterNodes/ClusterTerminal.tsx @@ -27,6 +27,7 @@ import { TabGroup, ComponentSizeType, TabProps, + NodeTaintType, } from '@devtron-labs/devtron-fe-common-lib' import { useLocation, useParams, useHistory } from 'react-router-dom' import { BUSYBOX_LINK, DEFAULT_CONTAINER_NAME, NETSHOOT_LINK, shellTypes } from '../../config/constants' @@ -43,7 +44,7 @@ import { menuComponentForImage, Option } from '../v2/common/ReactSelect.utils' import { clusterImageDescription, convertToOptionsList } from '../common' import ClusterManifest, { ManifestPopupMenu } from './ClusterManifest' import ClusterEvents from './ClusterEvents' -import { ClusterTerminalType, NodeTaintType } from './types' +import { ClusterTerminalType } from './types' import { AUTO_SELECT, clusterImageSelect, diff --git a/src/components/ClusterNodes/NodeDetails.tsx b/src/components/ClusterNodes/NodeDetails.tsx index 1087bea836..034bc34320 100644 --- a/src/components/ClusterNodes/NodeDetails.tsx +++ b/src/components/ClusterNodes/NodeDetails.tsx @@ -34,6 +34,7 @@ import { ToastManager, ToastVariantType, TOAST_ACCESS_DENIED, + ResourceDetail, } from '@devtron-labs/devtron-fe-common-lib' import { useParams, useLocation, useHistory } from 'react-router-dom' import YAML from 'yaml' @@ -61,7 +62,6 @@ import { NodeDetail, NodeDetailResponse, PodType, - ResourceDetail, TEXT_COLOR_CLASS, UpdateNodeRequestBody, } from './types' diff --git a/src/components/ClusterNodes/types.ts b/src/components/ClusterNodes/types.ts index a803ef9852..36d6e6b02f 100644 --- a/src/components/ClusterNodes/types.ts +++ b/src/components/ClusterNodes/types.ts @@ -14,7 +14,14 @@ * limitations under the License. */ -import { ResponseType, ClusterStatusType, K8sResourceDetailDataType } from '@devtron-labs/devtron-fe-common-lib' +import { + ResponseType, + K8sResourceDetailDataType, + ResourceDetail, + ClusterCapacityType, + ClusterDetail, + NodeTaintType, +} from '@devtron-labs/devtron-fe-common-lib' import { UpdateTabUrlParamsType } from '@Components/common/DynamicTabs/Types' import { LabelTag, OptionType } from '../app/types' import { CLUSTER_PAGE_TAB } from './constants' @@ -33,44 +40,6 @@ export enum EFFECT_TYPE { NoExecute = 'NoExecute', } -export interface ResourceDetail { - name: string - capacity: string - allocatable: string - usage: string - request: string - limit: string - usagePercentage: string - requestPercentage: string - limitPercentage: string -} - -export interface NodeDetailsType { - nodeName: string - nodeGroup: string - taints?: NodeTaintType[] -} - -export interface ClusterCapacityType { - name: string - nodeCount: number - nodeK8sVersions: string[] - cpu: ResourceDetail - memory: ResourceDetail - serverVersion: string - nodeDetails?: NodeDetailsType[] - nodeErrors: Record[] - status?: ClusterStatusType - isProd: boolean -} - -export interface ClusterDetail extends ClusterCapacityType { - id: number - errorInNodeListing: string - nodeNames?: string[] - isVirtualCluster?: boolean -} - export interface ClusterDescriptionType { clusterId: number clusterName: string @@ -170,12 +139,6 @@ export interface ClusterAboutPropType { isSuperAdmin: boolean } -export interface NodeTaintType { - effect: string - key: string - value: string -} - export interface SelectGroupType { label: string options: OptionType[] diff --git a/src/components/ClusterNodes/utils.tsx b/src/components/ClusterNodes/utils.tsx index fea9ba4c81..2b6f390ecd 100644 --- a/src/components/ClusterNodes/utils.tsx +++ b/src/components/ClusterNodes/utils.tsx @@ -1,11 +1,11 @@ import { + ClusterDetail, numberComparatorBySortOrder, SortingOrder, stringComparatorBySortOrder, versionComparatorBySortOrder, } from '@devtron-labs/devtron-fe-common-lib' import { CLUSTER_PROD_TYPE, ClusterMapListSortableKeys } from './constants' -import { ClusterDetail } from './types' export const getSortedClusterList = ( updatedClusterOptions: ClusterDetail[], diff --git a/src/components/ResourceBrowser/ResourceBrowser.tsx b/src/components/ResourceBrowser/ResourceBrowser.tsx index 50a14bfd9e..3bb32bb842 100644 --- a/src/components/ResourceBrowser/ResourceBrowser.tsx +++ b/src/components/ResourceBrowser/ResourceBrowser.tsx @@ -22,12 +22,12 @@ import { PageHeader, ErrorScreenManager, getIsRequestAborted, + ClusterDetail, } from '@devtron-labs/devtron-fe-common-lib' import { DEFAULT_CLUSTER_ID } from '@Components/cluster/cluster.type' import { sortObjectArrayAlphabetically } from '../common' import ClusterSelectionList from '../ClusterNodes/ClusterSelectionList' import { getClusterList, getClusterListMin } from '../ClusterNodes/clusterNodes.service' -import { ClusterDetail } from '../ClusterNodes/types' import { AddClusterButton } from './PageHeader.buttons' const ResourceBrowser: React.FC = () => { diff --git a/src/components/ResourceBrowser/Types.ts b/src/components/ResourceBrowser/Types.ts index 04e6c15e08..99fa23fb0d 100644 --- a/src/components/ResourceBrowser/Types.ts +++ b/src/components/ResourceBrowser/Types.ts @@ -25,9 +25,11 @@ import { K8sResourceDetailType, K8sResourceDetailDataType, ALL_NAMESPACE_OPTION, + ClusterDetail, + ResourceDetail, } from '@devtron-labs/devtron-fe-common-lib' import { LogSearchTermType, SelectedResourceType } from '../v2/appDetails/appDetails.type' -import { ClusterDetail, ResourceDetail, ClusterListType } from '../ClusterNodes/types' +import { ClusterListType } from '../ClusterNodes/types' import { useTabs } from '../common/DynamicTabs' import { BaseResourceListProps } from './ResourceList/types' diff --git a/src/components/cluster/cluster.util.ts b/src/components/cluster/cluster.util.ts index 83592decac..1580d912cf 100644 --- a/src/components/cluster/cluster.util.ts +++ b/src/components/cluster/cluster.util.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { NodeTaintType } from '@devtron-labs/devtron-fe-common-lib' import { OptionType } from '../app/types' -import { NodeTaintType } from '../ClusterNodes/types' import { ClusterComponentType, ClusterComponentStatusType, diff --git a/src/index.tsx b/src/index.tsx index 35908e1da7..4199c8f547 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -168,7 +168,7 @@ if (!window || !window._env_) { FEATURE_PROMO_EMBEDDED_IFRAME_URL: '', FEATURE_DEFAULT_MERGE_STRATEGY: OverrideMergeStrategyType.PATCH, FEATURE_DEFAULT_LANDING_RB_ENABLE: false, - FEATURE_CLUSTER_MAP_ENABLE: false, + FEATURE_CLUSTER_MAP_ENABLE: true, } } diff --git a/vite.config.mts b/vite.config.mts index 1d6ef67d3c..67a4bdd368 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -30,7 +30,7 @@ import { VitePWA } from 'vite-plugin-pwa' import tsconfigPaths from 'vite-tsconfig-paths' const WRONG_CODE = `import { bpfrpt_proptype_WindowScroller } from "../WindowScroller.js";` -const TARGET_URL = 'https://preview.devtron.ai/' +const TARGET_URL = 'https://staging.devtron.info/' function reactVirtualized(): PluginOption { return { diff --git a/yarn.lock b/yarn.lock index c7ad753c88..6815d82823 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.0.tgz#ec8cb38f30ae8a416163287ae03f618e676f4058" - integrity sha512-Qq2F/xADUBIZRbIn19mJQzJ/omTSIT3orRNM0Dv/kLKxK7rGCr+V894qkOAqDKneBw1b9pcvvjeZ4Iu5KnEuKg== +"@devtron-labs/devtron-fe-common-lib@1.3.0-beta-13": + version "1.3.0-beta-13" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.0-beta-13.tgz#438b6b5fe02595bc1b8961e09b81fa32b5149e0b" + integrity sha512-cb7A3c8jaSIXx84ZIXoYG9PS58IWK+CTG9JzoVNpGF3/FiSfp/UNw3ufD4VWtg+ReyVUftVs9Kmpea+3KBljpw== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -4838,12 +4838,12 @@ fs.realpath@^1.0.0: fsevents@2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: From d61ec65f655f5dcbe2cd9a227ae7999c99162ec3 Mon Sep 17 00:00:00 2001 From: Amrit Kashyap Borah Date: Fri, 20 Dec 2024 16:30:45 +0530 Subject: [PATCH 081/186] refactor: replace useAsync in external flux app details --- .../ExternalFlux/ExternalFluxAppDetails.tsx | 116 ++++++++++-------- .../ExternalArgoAppDetail.tsx | 5 +- 2 files changed, 66 insertions(+), 55 deletions(-) diff --git a/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx b/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx index 64c7b4fc25..b13ce19e06 100644 --- a/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx +++ b/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx @@ -18,12 +18,12 @@ import { AppType, ErrorScreenManager, IndexStore, - useAsync, useMainContext, - noop, DeploymentAppTypes, - Progressing, showError, + ResponseType, + noop, + ERROR_STATUS_CODE, } from '@devtron-labs/devtron-fe-common-lib' import { useEffect, useState } from 'react' import { useParams } from 'react-router-dom' @@ -38,29 +38,13 @@ let initTimer = null const ExternalFluxAppDetails = () => { const { clusterId, appName, namespace, templateType } = useParams() - const [isPublishing, setIsPublishing] = useState(true) const { isSuperAdmin } = useMainContext() const isKustomization = templateType === FluxCDTemplateType.KUSTOMIZATION - const [isReloadResourceTreeInProgress, setIsReloadResourceTreeInProgress] = useState(false) + const [initialLoading, setInitialLoading] = useState(true) + const [isReloadResourceTreeInProgress, setIsReloadResourceTreeInProgress] = useState(true) + const [appDetailsError, setAppDetailsError] = useState(null) - const [isAppDetailsLoading, appDetailsResult, appDetailsError, reloadAppDetails] = useAsync( - () => getExternalFluxCDAppDetails(clusterId, namespace, appName, isKustomization), - [clusterId, appName, namespace, templateType], - isSuperAdmin, - { - resetOnChange: false, - }, - ) - - useEffect( - () => () => { - IndexStore.clearAppDetails() - clearTimeout(initTimer) - }, - [], - ) - - const handleUpdateIndexStoreWithDetails = (response: typeof appDetailsResult) => { + const handleUpdateIndexStoreWithDetails = (response: ResponseType) => { const genericAppDetail: AppDetails = { ...response.result, appStatus: getAppStatus(response.result.appStatus), @@ -69,50 +53,78 @@ const ExternalFluxAppDetails = () => { } IndexStore.publishAppDetails(genericAppDetail, AppType.EXTERNAL_FLUX_APP) + setAppDetailsError(null) } - useEffect(() => { - if (appDetailsResult && !appDetailsError) { - initTimer = setTimeout(reloadAppDetails, window._env_.EA_APP_DETAILS_POLLING_INTERVAL || 30000) - handleUpdateIndexStoreWithDetails(appDetailsResult) - setIsPublishing(false) - } - }, [appDetailsResult]) - - const handleReloadResourceTree = () => { - setIsReloadResourceTreeInProgress(true) - - getExternalFluxCDAppDetails(clusterId, namespace, appName, isKustomization) - .then(handleUpdateIndexStoreWithDetails) - .catch((error) => { - showError(error) - }) - .finally(() => { - setIsReloadResourceTreeInProgress(false) + const handleFetchExternalFluxCDAppDetails = (isReload?: boolean) => + // NOTE: returning a promise so that we can trigger the next timeout after this api call completes + new Promise((resolve) => { + if (isReload) { + setIsReloadResourceTreeInProgress(true) + } else { + setInitialLoading(true) + } + + getExternalFluxCDAppDetails(clusterId, namespace, appName, isKustomization) + .then(handleUpdateIndexStoreWithDetails) + .catch((error) => { + if (isReload) { + showError(error) + } else { + setAppDetailsError(error) + } + }) + .finally(() => { + setIsReloadResourceTreeInProgress(false) + setInitialLoading(false) + resolve() + }) + }) + + const _init = (isReload = true) => { + handleFetchExternalFluxCDAppDetails(isReload) + .then(() => { + // NOTE: using timeouts instead of intervals due since we want api calls after the last one finishes + // https://stackoverflow.com/questions/729921/whats-the-difference-between-recursive-settimeout-versus-setinterval + initTimer = setTimeout(_init, window._env_.EA_APP_DETAILS_POLLING_INTERVAL || 30000) }) + .catch(noop) } - if (!isSuperAdmin) { - return + const handleReloadResourceTree = async () => { + await handleFetchExternalFluxCDAppDetails(true) } - if (appDetailsError) { - return + const handleReloadPageOnError = async () => { + await handleFetchExternalFluxCDAppDetails() } - // To show loader on first render only - const isLoadingOnMount = isAppDetailsLoading && !appDetailsResult + useEffect(() => { + if (isSuperAdmin) { + _init(false) + } - if (isLoadingOnMount || isPublishing) { - return + return () => { + IndexStore.clearAppDetails() + clearTimeout(initTimer) + } + }, [clusterId, appName, namespace, templateType, isSuperAdmin]) + + if (appDetailsError || !isSuperAdmin) { + return ( + + ) } return ( diff --git a/src/components/externalArgoApps/ExternalArgoAppDetail.tsx b/src/components/externalArgoApps/ExternalArgoAppDetail.tsx index e213d5cd58..069e033cd9 100644 --- a/src/components/externalArgoApps/ExternalArgoAppDetail.tsx +++ b/src/components/externalArgoApps/ExternalArgoAppDetail.tsx @@ -80,15 +80,14 @@ const ExternalArgoAppDetail = ({ appName, clusterId, isExternalApp, namespace }: } IndexStore.publishAppDetails(genericAppDetail, AppType.EXTERNAL_ARGO_APP) setErrorResponseCode(undefined) - setIsLoading(false) }) .catch((errors: ServerErrors) => { showError(errors) setErrorResponseCode(errors.code) - setIsLoading(false) - isAPICallInProgress = false }) .finally(() => { + setIsLoading(false) + isAPICallInProgress = false setIsReloadResourceTreeInProgress(false) }) } From 54b2effed92aed0fe6ed07ad00e520fc77c704b3 Mon Sep 17 00:00:00 2001 From: Amrit Kashyap Borah Date: Fri, 20 Dec 2024 17:02:38 +0530 Subject: [PATCH 082/186] chore: remove prop to _init & rename the _init --- .../ExternalFlux/ExternalFluxAppDetails.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx b/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx index b13ce19e06..9ddf383e7a 100644 --- a/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx +++ b/src/Pages/App/Details/ExternalFlux/ExternalFluxAppDetails.tsx @@ -81,12 +81,12 @@ const ExternalFluxAppDetails = () => { }) }) - const _init = (isReload = true) => { - handleFetchExternalFluxCDAppDetails(isReload) + const initializePageDetails = () => { + handleFetchExternalFluxCDAppDetails(false) .then(() => { - // NOTE: using timeouts instead of intervals due since we want api calls after the last one finishes + // NOTE: using timeouts instead of intervals since we want the next api call after the last one finishes // https://stackoverflow.com/questions/729921/whats-the-difference-between-recursive-settimeout-versus-setinterval - initTimer = setTimeout(_init, window._env_.EA_APP_DETAILS_POLLING_INTERVAL || 30000) + initTimer = setTimeout(initializePageDetails, window._env_.EA_APP_DETAILS_POLLING_INTERVAL || 30000) }) .catch(noop) } @@ -101,7 +101,7 @@ const ExternalFluxAppDetails = () => { useEffect(() => { if (isSuperAdmin) { - _init(false) + initializePageDetails() } return () => { @@ -122,7 +122,9 @@ const ExternalFluxAppDetails = () => { return ( Date: Fri, 20 Dec 2024 17:31:27 +0530 Subject: [PATCH 083/186] refactor: update the select for apps and jobs --- .../AppPermissions/DirectPermission.tsx | 42 ++++++------------- .../components/AppPermissions/constants.ts | 5 ++- .../Shared/components/AppPermissions/utils.ts | 24 ++++++++++- 3 files changed, 38 insertions(+), 33 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx index f2a17b3091..fb229cb299 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx @@ -43,7 +43,7 @@ import { ARTIFACT_PROMOTER_ACTION, TERMINAL_EXEC_ACTION, } from '../../../constants' -import { AppOption, ClusterValueContainer, ValueContainer, WorkflowGroupHeading } from './common' +import { ClusterValueContainer, ValueContainer, WorkflowGroupHeading } from './common' import { allApplicationsOption, ALL_ENVIRONMENTS_OPTION, @@ -56,6 +56,7 @@ import { DirectPermissionRow } from './types' import { usePermissionConfiguration } from '../PermissionConfigurationForm' import { DirectPermissionsRoleFilter } from '../../../types' import { getIsStatusDropdownDisabled } from '../../../libUtils' +import { getAppOrJobDisplayText } from './utils' const ApproverPermission = importComponentFromFELibrary('ApproverPermission') const UserStatusUpdate = importComponentFromFELibrary('UserStatusUpdate', null, 'function') @@ -104,7 +105,6 @@ const DirectPermission = ({ const [applications, setApplications] = useState([]) const [clusterInput, setClusterInput] = useState('') const [envInput, setEnvInput] = useState('') - const [appInput, setAppInput] = useState('') const [workflowInput, setWorkflowInput] = useState('') const [workflowList, setWorkflowList] = useState({ loading: false, options: [] }) @@ -282,7 +282,7 @@ const DirectPermission = ({ ? _applications : sortBySelected(permission.entityName, _applications, 'value'), ) - }, [openMenu, permission.environment, permission.entityName, projectId]) + }, [openMenu, permission.environment, projectId]) const formatOptionLabelClusterEnv = (option, { inputValue }) => (
)}
- onFocus(DirectPermissionFieldName.workflow)} - onMenuClose={onMenuClose} placeholder="Select workflow" - options={[ - { label: '', options: [{ label: 'All Workflows', value: SELECT_ALL_VALUE }] }, - ...workflowList.options, - ]} - className="basic-multi-select" - menuPlacement="auto" - hideSelectedOptions={false} - styles={authorizationSelectStyles} + options={[{ label: 'All Workflows', value: SELECT_ALL_VALUE }, ...workflowList.options]} isLoading={workflowList.loading} isDisabled={!permission.team || workflowList.loading} - components={{ - ClearIndicator: null, - ValueContainer, - IndicatorSeparator: null, - Option, - GroupHeading: WorkflowGroupHeading, - LoadingIndicator, - }} onChange={(value, actionMeta) => { handleDirectPermissionChange(value, actionMeta, workflowList) }} - inputValue={workflowInput} - onBlur={() => { - setWorkflowInput('') - }} - onInputChange={(value, action) => { - if (action.action === ReactSelectInputAction.inputChange) { - setWorkflowInput(value) - } + error={permission.workflowError} + multiSelectProps={{ + customDisplayText: getDisplayTextByName( + DirectPermissionFieldName.workflow, + [{ label: 'All Workflows', value: SELECT_ALL_VALUE }, ...workflowList.options], + permission.workflow, + ), }} /> - {permission.workflowError && {permission.workflowError}}
)}
diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx index f70c7c1546..a728c04097 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx @@ -16,50 +16,11 @@ /* eslint-disable react/destructuring-assignment */ /* eslint-disable react/prop-types */ -import { Checkbox, CHECKBOX_VALUE, noop, EntityTypes } from '@devtron-labs/devtron-fe-common-lib' import React from 'react' import { components } from 'react-select' -import { GroupHeading } from '../../../../../../components/v2/common/ReactSelect.utils' import { SELECT_ALL_VALUE } from '../../../../../../config' import { ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE, DirectPermissionFieldName } from './constants' -// TODO: Clean this file -export const WorkflowGroupHeading = (props) => - -export const AppOption = ({ props, permission }) => { - const { selectOption, data } = props - - const _selectOption = () => { - selectOption(data) - } - - return ( -
- -
- - {data.value === SELECT_ALL_VALUE && ( - - {`Allow access to existing and new ${ - permission.entity === EntityTypes.JOB ? 'jobs' : 'apps' - } for this project`} - - )} -
-
- ) -} - export const ValueContainer = (props) => { const { length } = props.getValue() let optionLength = props.options.length diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts index 3f4bc519f0..1e7145bbc0 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts @@ -15,6 +15,7 @@ */ import { OptionType, ACCESS_TYPE_MAP, EntityTypes, SelectPickerOptionType } from '@devtron-labs/devtron-fe-common-lib' +import { OptionsOrGroups, GroupBase } from 'react-select' import { DEFAULT_ENV } from '../../../../../../components/app/details/triggerView/Constants' import { createClusterEnvGroup } from '../../../../../../components/common' import { SELECT_ALL_VALUE, SERVER_MODE } from '../../../../../../config' @@ -150,13 +151,20 @@ export const getEnvironmentOptions = (environmentsList, entity: DirectPermission return envOptions } -export const getAppOrJobDisplayText = ( - name: string, - options: SelectPickerOptionType[], +export const getDisplayTextByName = ( + name: DirectPermissionFieldName, + options: OptionsOrGroups>[], selectedOptions: SelectPickerOptionType[], ) => { const selectedOptionsLength = selectedOptions?.length - const count = selectedOptionsLength === options?.length ? 'All' : selectedOptionsLength + const optionsLength = + options?.reduce( + (acc, option) => + acc + (('options' in option && Array.isArray(option.options) ? option.options?.length : 1) ?? 0), + 0, + ) ?? 0 + + const count = selectedOptionsLength === optionsLength ? 'All' : selectedOptionsLength let Item if (name === DirectPermissionFieldName.apps) { From e9d160f71227324d28b161a05c41a2779502258c Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Fri, 20 Dec 2024 18:19:54 +0530 Subject: [PATCH 086/186] chore: update yarn lock --- yarn.lock | 2066 +++++++++++++++++++---------------------------------- 1 file changed, 718 insertions(+), 1348 deletions(-) diff --git a/yarn.lock b/yarn.lock index 54d135814d..0b45d5f5ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,7 +24,7 @@ jsonpointer "^5.0.0" leven "^3.1.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.24.7": 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== @@ -37,7 +37,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.24.5", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": +"@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.24.4", "@babel/core@^7.24.5": version "7.25.2" resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz" integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== @@ -58,7 +58,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": +"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6": version "7.25.6" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz" integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== @@ -160,7 +160,7 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz" integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== @@ -241,7 +241,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": version "7.25.6" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz" integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== @@ -299,13 +299,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" @@ -362,13 +355,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -425,13 +411,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" @@ -950,14 +929,14 @@ resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.25.7" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz" integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": +"@babel/template@^7.24.7", "@babel/template@^7.25.0": version "7.25.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz" integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== @@ -979,7 +958,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": version "7.25.6" resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz" integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== @@ -988,11 +967,6 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" @@ -1000,9 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@file:../devtron-fe-common-lib": +"@devtron-labs/devtron-fe-common-lib@1.3.0-beta-15": version "1.3.0-beta-15" - resolved "file:../devtron-fe-common-lib" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.0-beta-15.tgz#8958cd9049260edd6fae2832d9ff2305b1423ffc" + integrity sha512-+krj9VldCTk7zhWsoh/UHsMdRskjQF47wK1Kg9hVpICMdyY2fTZYqQKr/y6Gl0IObjmsd+UDJBjeHWiys+X2uw== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -1017,21 +992,16 @@ sass "^1.69.7" tslib "2.7.0" -"@devtron-labs/devtron-fe-lib@file:../devtron-fe-lib": - version "1.2.9" - resolved "file:../devtron-fe-lib" +"@emnapi/runtime@^1.2.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== dependencies: - fast-json-patch "^3.1.1" - jsonpath-plus "^10.0.0" - moment-timezone "^0.5.45" - react-ga4 "^1.4.1" - react-grid-layout "^1.5.0" - sass "^1.69.7" - tslib "2.7.0" + tslib "^2.4.0" -"@emotion/babel-plugin@^11.11.0": +"@emotion/babel-plugin@^11.11.0", "@emotion/babel-plugin@^11.13.5": version "11.13.5" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" @@ -1057,11 +1027,45 @@ "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" +"@emotion/cache@^11.13.5": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/css@^11.11.2": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" + integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== + dependencies: + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.13.5" + "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/hash@^0.9.2": version "0.9.2" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz" integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== +"@emotion/is-prop-valid@^0.8.2": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== + dependencies: + "@emotion/memoize" "0.7.4" + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + "@emotion/memoize@^0.9.0": version "0.9.0" resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz" @@ -1127,11 +1131,121 @@ resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz" integrity sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw== +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + "@esbuild/darwin-arm64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -1210,149 +1324,111 @@ optionalDependencies: "@img/sharp-libvips-darwin-arm64" "1.0.4" +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-darwin-arm64@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz" integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== "@jest/schemas@^28.1.3": version "28.1.3" @@ -1368,57 +1444,7 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.0.0", "@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.0.0", "@jest/types@^29.6.3": +"@jest/types@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== @@ -1472,14 +1498,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" @@ -1488,6 +1506,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jsep-plugin/assignment@^1.2.1": version "1.2.1" resolved "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.2.1.tgz" @@ -1505,6 +1531,59 @@ dependencies: "@types/mdx" "^2.0.0" +"@motionone/animation@^10.12.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.18.0.tgz#868d00b447191816d5d5cf24b1cafa144017922b" + integrity sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw== + dependencies: + "@motionone/easing" "^10.18.0" + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/dom@10.12.0": + version "10.12.0" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.12.0.tgz#ae30827fd53219efca4e1150a5ff2165c28351ed" + integrity sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw== + dependencies: + "@motionone/animation" "^10.12.0" + "@motionone/generators" "^10.12.0" + "@motionone/types" "^10.12.0" + "@motionone/utils" "^10.12.0" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.18.0.tgz#7b82f6010dfee3a1bb0ee83abfbaff6edae0c708" + integrity sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg== + dependencies: + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/generators@^10.12.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.18.0.tgz#fe09ab5cfa0fb9a8884097feb7eb60abeb600762" + integrity sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg== + dependencies: + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/types@^10.12.0", "@motionone/types@^10.17.1": + version "10.17.1" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.1.tgz#cf487badbbdc9da0c2cb86ffc1e5d11147c6e6fb" + integrity sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A== + +"@motionone/utils@^10.12.0", "@motionone/utils@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.18.0.tgz#a59ff8932ed9009624bca07c56b28ef2bb2f885e" + integrity sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw== + dependencies: + "@motionone/types" "^10.17.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -1513,7 +1592,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1554,7 +1633,7 @@ nanoid "^3.3.7" prop-types "^15.8.1" -"@rjsf/utils@^5.13.3", "@rjsf/utils@^5.18.x": +"@rjsf/utils@^5.13.3": version "5.18.5" resolved "https://registry.npmjs.org/@rjsf/utils/-/utils-5.18.5.tgz" integrity sha512-b39ZSPv2lpH+VXUKrVsPnPyOKcTa9P08h50J0A1+7xHj6dm4KG1KY/mY4QCaNavZVXsQoieHOe8kmdFDlXirzA== @@ -1630,11 +1709,101 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/rollup-android-arm-eabi@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz#7f4c4d8cd5ccab6e95d6750dbe00321c1f30791e" + integrity sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ== + +"@rollup/rollup-android-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz#17ea71695fb1518c2c324badbe431a0bd1879f2d" + integrity sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA== + "@rollup/rollup-darwin-arm64@4.28.1": version "4.28.1" resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz" integrity sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ== +"@rollup/rollup-darwin-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz#8f63baa1d31784904a380d2e293fa1ddf53dd4a2" + integrity sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ== + +"@rollup/rollup-freebsd-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz#30ed247e0df6e8858cdc6ae4090e12dbeb8ce946" + integrity sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA== + +"@rollup/rollup-freebsd-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz#57846f382fddbb508412ae07855b8a04c8f56282" + integrity sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz#378ca666c9dae5e6f94d1d351e7497c176e9b6df" + integrity sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA== + +"@rollup/rollup-linux-arm-musleabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz#a692eff3bab330d5c33a5d5813a090c15374cddb" + integrity sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg== + +"@rollup/rollup-linux-arm64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz#6b1719b76088da5ac1ae1feccf48c5926b9e3db9" + integrity sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA== + +"@rollup/rollup-linux-arm64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz#865baf5b6f5ff67acb32e5a359508828e8dc5788" + integrity sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A== + +"@rollup/rollup-linux-loongarch64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz#23c6609ba0f7fa7a7f2038b6b6a08555a5055a87" + integrity sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz#652ef0d9334a9f25b9daf85731242801cb0fc41c" + integrity sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A== + +"@rollup/rollup-linux-riscv64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz#1eb6651839ee6ebca64d6cc64febbd299e95e6bd" + integrity sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA== + +"@rollup/rollup-linux-s390x-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz#015c52293afb3ff2a293cf0936b1d43975c1e9cd" + integrity sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg== + +"@rollup/rollup-linux-x64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz#b83001b5abed2bcb5e2dbeec6a7e69b194235c1e" + integrity sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw== + +"@rollup/rollup-linux-x64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz#6cc7c84cd4563737f8593e66f33b57d8e228805b" + integrity sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g== + +"@rollup/rollup-win32-arm64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz#631ffeee094d71279fcd1fe8072bdcf25311bc11" + integrity sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A== + +"@rollup/rollup-win32-ia32-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz#06d1d60d5b9f718e8a6c4a43f82e3f9e3254587f" + integrity sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA== + +"@rollup/rollup-win32-x64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz#4dff5c4259ebe6c5b4a8f2c5bc3829b7a8447ff0" + integrity sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA== + "@sentry-internal/feedback@7.119.1": version "7.119.1" resolved "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.119.1.tgz" @@ -1692,6 +1861,36 @@ resolved "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.32.1.tgz" integrity sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw== +"@sentry/cli-linux-arm64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.32.1.tgz#785a5d5d3d2919c581bf5b4efc638c3695d8c3bf" + integrity sha512-hsGqHYuecUl1Yhq4MhiRejfh1gNlmhyNPcQEoO/DDRBnGnJyEAdiDpKXJcc2e/lT9k40B55Ob2CP1SeY040T2w== + +"@sentry/cli-linux-arm@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.32.1.tgz#7f9e8292850311bab263e7b84800eb407ff37998" + integrity sha512-m0lHkn+o4YKBq8KptGZvpT64FAwSl9mYvHZO9/ChnEGIJ/WyJwiN1X1r9JHVaW4iT5lD0Y5FAyq3JLkk0m0XHg== + +"@sentry/cli-linux-i686@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.32.1.tgz#8e85fa58dee042e6a4642e960d226788f8e7288b" + integrity sha512-SuMLN1/ceFd3Q/B0DVyh5igjetTAF423txiABAHASenEev0lG0vZkRDXFclfgDtDUKRPmOXW7VDMirM3yZWQHQ== + +"@sentry/cli-linux-x64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.32.1.tgz#b68ed9c4ba163b6730d386dbeca828114f1c979b" + integrity sha512-x4FGd6xgvFddz8V/dh6jii4wy9qjWyvYLBTz8Fhi9rIP+b8wQ3oxwHIdzntareetZP7C1ggx+hZheiYocNYVwA== + +"@sentry/cli-win32-i686@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.32.1.tgz#e2532893f87f5d180f6e56f49904d4ac141c8788" + integrity sha512-i6aZma9mFzR+hqMY5VliQZEX6ypP/zUjPK0VtIMYWs5cC6PsQLRmuoeJmy3Z7d4nlh0CdK5NPC813Ej6RY6/vg== + +"@sentry/cli-win32-x64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.32.1.tgz#6b60607cbba243f3708779443cd3f16e09d4289c" + integrity sha512-B58w/lRHLb4MUSjJNfMMw2cQykfimDCMLMmeK+1EiT2RmSeNQliwhhBxYcKk82a8kszH6zg3wT2vCea7LyPUyA== + "@sentry/cli@^2.2.0": version "2.32.1" resolved "https://registry.npmjs.org/@sentry/cli/-/cli-2.32.1.tgz" @@ -1800,20 +1999,6 @@ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - "@storybook/addon-a11y@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.2.tgz" @@ -1822,7 +2007,7 @@ "@storybook/addon-highlight" "8.4.2" axe-core "^4.2.0" -"@storybook/addon-actions@^8.4.2", "@storybook/addon-actions@8.4.2": +"@storybook/addon-actions@8.4.2", "@storybook/addon-actions@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.2.tgz" integrity sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g== @@ -1935,7 +2120,7 @@ dependencies: memoizerific "^1.11.3" -"@storybook/blocks@^8.4.2", "@storybook/blocks@8.4.2": +"@storybook/blocks@8.4.2", "@storybook/blocks@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.2.tgz" integrity sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA== @@ -2044,7 +2229,7 @@ resolve "^1.22.8" tsconfig-paths "^4.2.0" -"@storybook/react@^8.4.2", "@storybook/react@8.4.2": +"@storybook/react@8.4.2", "@storybook/react@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/react/-/react-8.4.2.tgz" integrity sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q== @@ -2056,7 +2241,7 @@ "@storybook/react-dom-shim" "8.4.2" "@storybook/theming" "8.4.2" -"@storybook/test@^8.4.2", "@storybook/test@8.4.2": +"@storybook/test@8.4.2", "@storybook/test@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/test/-/test-8.4.2.tgz" integrity sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA== @@ -2139,7 +2324,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@^6.0.0", "@svgr/core@^6.5.1": +"@svgr/core@^6.5.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== @@ -2168,34 +2353,47 @@ "@svgr/hast-util-to-babel-ast" "^6.5.1" svg-parser "^2.0.4" -"@testing-library/dom@^8.0.0": - version "8.20.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== +"@testing-library/dom@10.4.0": + version "10.4.0" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" + integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.1.3" + aria-query "5.3.0" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/dom@>=7.21.4", "@testing-library/dom@10.4.0": - version "10.4.0" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" - integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.3.0" + aria-query "5.1.3" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" +"@testing-library/jest-dom@6.5.0": + version "6.5.0" + resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" + integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== + dependencies: + "@adobe/css-tools" "^4.4.0" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.6.3" + lodash "^4.17.21" + redent "^3.0.0" + "@testing-library/jest-dom@^5.16.2": version "5.17.0" resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz" @@ -2211,19 +2409,6 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/jest-dom@6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" - integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== - dependencies: - "@adobe/css-tools" "^4.4.0" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.6.3" - lodash "^4.17.21" - redent "^3.0.0" - "@testing-library/react@^12.1.4": version "12.1.5" resolved "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz" @@ -2288,7 +2473,7 @@ resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9", "@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": +"@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -2314,7 +2499,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0": +"@types/babel__traverse@*", "@types/babel__traverse@^7.18.0": version "7.20.6" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== @@ -2384,16 +2569,16 @@ resolved "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== -"@types/estree@^1.0.0", "@types/estree@1.0.6": - version "1.0.6" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@1.0.6", "@types/estree@^1.0.0": + version "1.0.6" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/glob@^7.1.3": version "7.2.0" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" @@ -2402,19 +2587,12 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - "@types/history@^4.7.11": version "4.7.11" resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== @@ -2461,7 +2639,7 @@ resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@20.11.0": +"@types/node@*", "@types/node@20.11.0": version "20.11.0" resolved "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz" integrity sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ== @@ -2485,13 +2663,29 @@ dependencies: "@types/react" "*" -"@types/react-dom@<18.0.0", "@types/react-dom@17.0.13": +"@types/react-dates@^21.8.6": + version "21.8.6" + resolved "https://registry.yarnpkg.com/@types/react-dates/-/react-dates-21.8.6.tgz#ec9314b59e9d8e1ad71ccf021a7634e8afd26135" + integrity sha512-fDF322SOXAxstapv0/oruiPx9kY4DiiaEHYAVvXdPfQhi/hdaONsA9dFw5JBNPAWz7Niuwk+UUhxPU98h70TjA== + dependencies: + "@types/react" "*" + "@types/react-outside-click-handler" "*" + moment "^2.26.0" + +"@types/react-dom@17.0.13", "@types/react-dom@<18.0.0": version "17.0.13" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz" integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ== dependencies: "@types/react" "*" +"@types/react-outside-click-handler@*": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/react-outside-click-handler/-/react-outside-click-handler-1.3.4.tgz#999e61057a3a23c6dfc9159b28f96378749d6c42" + integrity sha512-kLuYIa9nWk1n0ywJPbVWqOEIRg0mh3vumriCHbz6LUObJw4rXYx9inDm8G579BtnH8vC0wKfrTq5c2y/K/Xzww== + dependencies: + "@types/react" "*" + "@types/react-router-dom@^5.3.3": version "5.3.3" resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" @@ -2516,7 +2710,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@>=16", "@types/react@>=16 <= 18", "@types/react@17.0.39": +"@types/react@*", "@types/react@17.0.39": version "17.0.39" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -2541,16 +2735,16 @@ "@types/prop-types" "*" "@types/react" "*" -"@types/resolve@^1.20.2": - version "1.20.6" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" - integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== - "@types/resolve@1.20.2": version "1.20.2" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== +"@types/resolve@^1.20.2": + version "1.20.6" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" + integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== + "@types/scheduler@*": version "0.23.0" resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz" @@ -2561,11 +2755,6 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - "@types/testing-library__jest-dom@^5.9.1": version "5.14.9" resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz" @@ -2610,7 +2799,7 @@ natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@8.3.0": +"@typescript-eslint/parser@8.3.0": version "8.3.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz" integrity sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ== @@ -2684,6 +2873,16 @@ semver "^7.6.0" ts-api-utils "^1.3.0" +"@typescript-eslint/utils@8.3.0": + version "8.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" + integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.3.0" + "@typescript-eslint/types" "8.3.0" + "@typescript-eslint/typescript-estree" "8.3.0" + "@typescript-eslint/utils@^5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" @@ -2696,17 +2895,7 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/typescript-estree" "5.62.0" eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/utils@8.3.0": - version "8.3.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" - integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/typescript-estree" "8.3.0" + semver "^7.3.7" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -2750,7 +2939,7 @@ chai "^5.1.1" tinyrainbow "^1.2.0" -"@vitest/pretty-format@^2.0.5", "@vitest/pretty-format@2.0.5": +"@vitest/pretty-format@2.0.5", "@vitest/pretty-format@^2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz" integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ== @@ -2788,15 +2977,6 @@ dependencies: tinyspy "^3.0.0" -"@vitest/utils@^2.1.1": - version "2.1.4" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" - integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== - dependencies: - "@vitest/pretty-format" "2.1.4" - loupe "^3.1.2" - tinyrainbow "^1.2.0" - "@vitest/utils@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz" @@ -2807,6 +2987,15 @@ loupe "^3.1.1" tinyrainbow "^1.2.0" +"@vitest/utils@^2.1.1": + version "2.1.4" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" + integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== + dependencies: + "@vitest/pretty-format" "2.1.4" + loupe "^3.1.2" + tinyrainbow "^1.2.0" + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -2819,7 +3008,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: version "8.14.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -2871,7 +3060,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0, ajv@>=8: +ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0: version "8.16.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== @@ -2886,7 +3075,7 @@ ansi-colors@^4.1.3: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -2927,7 +3116,12 @@ ansi-styles@^6.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@^3.0.3, anymatch@~3.1.2: +ansi_up@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-5.2.1.tgz#9437082c7ad4975c15ec57d30a6b55da295bee36" + integrity sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g== + +anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -2940,38 +3134,24 @@ arg@^4.1.0: resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.0.0, aria-query@5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -aria-query@~5.1.3: +aria-query@5.1.3, aria-query@~5.1.3: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== +aria-query@5.3.0, aria-query@^5.0.0: + version "5.3.0" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: - deep-equal "^2.0.5" + dequal "^2.0.3" array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" @@ -3139,40 +3319,6 @@ axobject-query@~3.1.1: dependencies: deep-equal "^2.0.5" -babel-jest@^29.0.0, babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" @@ -3206,35 +3352,6 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.2" -babel-preset-current-node-syntax@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -3289,7 +3406,7 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.23.1, browserslist@^4.23.3, "browserslist@>= 4.21.0": +browserslist@^4.23.1, browserslist@^4.23.3: version "4.24.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -3306,13 +3423,6 @@ bs-logger@^0.2.6: dependencies: fast-json-stable-stringify "2.x" -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" @@ -3344,11 +3454,6 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" @@ -3395,11 +3500,6 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - check-error@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz" @@ -3425,10 +3525,10 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -cjs-module-lexer@^1.0.0: - version "1.4.1" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz" - integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== +classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clean-stack@^2.0.0: version "2.2.0" @@ -3458,15 +3558,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - clsx@^1.0.4, clsx@^1.1.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" @@ -3477,16 +3568,6 @@ clsx@^2.0.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -3501,16 +3582,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -3646,27 +3727,14 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5: version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" @@ -3727,7 +3795,7 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3": +"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -3749,7 +3817,7 @@ d3-ease@^3.0.1: resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== -d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3": +"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -3786,7 +3854,7 @@ d3-shape@^3.1.0: dependencies: d3-time "1 - 3" -d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3": +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== @@ -3830,11 +3898,18 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -dayjs@^1.11.8: +dayjs@^1.11.13, dayjs@^1.11.8: version "1.11.13" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6: + version "4.3.7" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -3842,13 +3917,6 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@4: - version "4.3.7" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decimal.js-light@^2.4.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" @@ -3859,11 +3927,6 @@ decode-uri-component@^0.2.2: resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz" @@ -3941,11 +4004,6 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - diff-sequences@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" @@ -3956,16 +4014,16 @@ diff-sequences@^28.1.1: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - diff@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -4069,11 +4127,6 @@ electron-to-chromium@^1.5.41: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz" integrity sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ== -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -4258,7 +4311,7 @@ esbuild-register@^3.5.0: dependencies: debug "^4.3.4" -esbuild@*, "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3, "esbuild@>=0.12 <1": +"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3: version "0.21.5" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz" integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== @@ -4287,7 +4340,7 @@ esbuild@*, "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23 "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" -escalade@^3.1.1, escalade@^3.2.0: +escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -4297,11 +4350,6 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" @@ -4326,7 +4374,7 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@*, eslint-config-prettier@^9.1.0: +eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== @@ -4360,7 +4408,7 @@ eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" -eslint-plugin-import@*, eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.29.1: +eslint-plugin-import@^2.29.1: version "2.29.1" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== @@ -4383,7 +4431,7 @@ eslint-plugin-import@*, eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25 semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.8.0: +eslint-plugin-jsx-a11y@^6.8.0: version "6.9.0" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz" integrity sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g== @@ -4413,12 +4461,12 @@ eslint-plugin-prettier@^5.1.2: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0: +eslint-plugin-react-hooks@^4.6.0: 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== -eslint-plugin-react@^7.28.0, eslint-plugin-react@^7.33.2: +eslint-plugin-react@^7.33.2: version "7.34.3" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz" integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA== @@ -4473,7 +4521,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.32.0 || ^8.2.0", "eslint@^8.57.0 || ^9.0.0", eslint@^8.57.1, eslint@>=6, eslint@>=7.0.0, eslint@>=8.0.0: +eslint@^8.57.1: version "8.57.1" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz" integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== @@ -4526,7 +4574,7 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@^4.0.0, esprima@~4.0.0: +esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -4592,7 +4640,7 @@ eventsource@^2.0.2: resolved "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz" integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== -execa@^5.0.0, execa@^5.1.1: +execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -4622,22 +4670,6 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -4669,7 +4701,7 @@ fast-json-patch@^3.1.1: resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz" integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -4693,13 +4725,6 @@ faye-websocket@^0.11.4: dependencies: websocket-driver ">=0.5.1" -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - fdir@^6.4.2: version "6.4.2" resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz" @@ -4736,22 +4761,6 @@ find-root@^1.1.0: resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -4791,6 +4800,27 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +framer-motion@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" + integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== + dependencies: + "@motionone/dom" "10.12.0" + framesync "6.0.1" + hey-listen "^1.0.8" + popmotion "11.0.3" + style-value-types "5.0.0" + tslib "^2.1.0" + optionalDependencies: + "@emotion/is-prop-valid" "^0.8.2" + +framesync@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" + integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== + dependencies: + tslib "^2.1.0" + fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -4806,16 +4836,16 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - fsevents@2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -4841,11 +4871,6 @@ gensync@^1.0.0-beta.2: resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" @@ -4862,11 +4887,6 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" @@ -4914,7 +4934,7 @@ glob-promise@^4.2.0: dependencies: "@types/glob" "^7.1.3" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -5034,6 +5054,11 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + history@^4.9.0: version "4.10.1" resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" @@ -5053,11 +5078,6 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react- dependencies: react-is "^16.7.0" -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -5101,16 +5121,16 @@ immediate@~3.0.5: resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== -immutable@^4.0.0: - version "4.3.6" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== - immutable@3.7.x: version "3.7.6" resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== +immutable@^4.0.0: + version "4.3.6" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" + integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -5119,14 +5139,6 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" @@ -5145,7 +5157,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.3, inherits@^2.0.4, inherits@2: +inherits@2, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5279,11 +5291,6 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" @@ -5423,74 +5430,21 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - 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== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" @@ -5512,86 +5466,6 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - jest-diff@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" @@ -5600,57 +5474,17 @@ jest-diff@^27.5.1: chalk "^4.0.0" diff-sequences "^27.5.1" jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^28.0.0: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" + pretty-format "^27.5.1" -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== +jest-diff@^28.0.0: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" jest-extended@^2.0.0: version "2.1.0" @@ -5665,40 +5499,11 @@ jest-get-type@^27.5.1: resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^28.0.0: - version "28.0.2" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== - -jest-get-type@^28.0.2: +jest-get-type@^28.0.0, jest-get-type@^28.0.2: version "28.0.2" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - jest-junit@^13.0.0: version "13.2.0" resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz" @@ -5709,14 +5514,6 @@ jest-junit@^13.0.0: uuid "^8.3.2" xml "^1.0.1" -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - jest-matcher-utils@^27.0.0: version "27.5.1" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" @@ -5727,155 +5524,7 @@ jest-matcher-utils@^27.0.0: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@*, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: +jest-util@^29.0.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== @@ -5887,65 +5536,11 @@ jest-util@^29.0.0, jest-util@^29.7.0: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.0.0, jest@>=27.2.5: - version "29.7.0" - resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" @@ -5958,7 +5553,7 @@ jsdoc-type-pratt-parser@^4.0.0: resolved "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz" integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== -jsep@^0.4.0||^1.0.0, jsep@^1.3.9: +jsep@^1.3.9: version "1.3.9" resolved "https://registry.npmjs.org/jsep/-/jsep-1.3.9.tgz" integrity sha512-i1rBX5N7VPl0eYb6+mHNp52sEuaS2Wi8CDYx1X5sn9naevL78+265XJqy1qENEk7mRKwS06NHpUqiBwR7qeodw== @@ -6076,11 +5671,6 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - language-subtag-registry@^0.3.20: version "0.3.23" resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz" @@ -6164,13 +5754,6 @@ localforage@^1.8.1: dependencies: lie "3.1.1" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -6256,39 +5839,18 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.30.0: - version "0.30.11" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" - integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -magic-string@^0.30.10: +magic-string@^0.30.0, magic-string@^0.30.10: version "0.30.11" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - map-or-similar@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz" @@ -6299,6 +5861,11 @@ markdown-to-jsx@^7.4.1: resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz" integrity sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg== +marked@^13.0.3: + version "13.0.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-13.0.3.tgz#5c5b4a5d0198060c7c9bc6ef9420a7fed30f822d" + integrity sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA== + mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -6354,7 +5921,7 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6390,12 +5957,12 @@ mock-socket@^9.2.1: resolved "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz" integrity sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw== -moment@^2.18.1, moment@^2.29.4, moment@>=1.6.0: +moment@>=1.6.0, moment@^2.26.0, moment@^2.29.4: version "2.30.1" resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -monaco-editor@^0.44.0, monaco-editor@>=0.30.0, monaco-editor@>=0.36, monaco-editor@0.44.0: +monaco-editor@0.44.0: version "0.44.0" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz" integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== @@ -6449,9 +6016,9 @@ ms@^2.1.1, ms@^2.1.3: resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.7: +nanoid@^3.3.7, nanoid@^3.3.8: version "3.3.8" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== natural-compare@^1.4.0: @@ -6466,11 +6033,6 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - node-releases@^2.0.18: version "2.0.18" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" @@ -6623,27 +6185,13 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -6658,11 +6206,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -6670,7 +6213,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.0.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -6710,9 +6253,9 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@^1.7.0: +path-to-regexp@^1.7.0, path-to-regexp@^1.9.0: version "1.9.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -6747,7 +6290,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -"picomatch@^3 || ^4", picomatch@^4.0.2: +picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -6757,18 +6300,6 @@ pidtree@^0.5.0: resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - playwright-core@1.45.0: version "1.45.0" resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz" @@ -6790,6 +6321,16 @@ polished@^4.2.2: dependencies: "@babel/runtime" "^7.17.8" +popmotion@11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" + integrity sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA== + dependencies: + framesync "6.0.1" + hey-listen "^1.0.8" + style-value-types "5.0.0" + tslib "^2.1.0" + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" @@ -6816,16 +6357,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -"prettier@^2 || ^3", prettier@^3.1.1, prettier@>=3.0.0: - version "3.3.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - prettier@^2.0.0: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.1.1: + version "3.3.2" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== + pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" @@ -6855,15 +6396,6 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" @@ -6874,14 +6406,6 @@ progress@^2.0.3: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - prop-types-exact@^1.2.0: version "1.2.4" resolved "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.4.tgz" @@ -6912,11 +6436,6 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - query-string@^7.1.1: version "7.1.3" resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" @@ -6951,11 +6470,6 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -react-addons-test-utils@^15.0.0, react-addons-test-utils@15.x.x: - version "15.6.2" - resolved "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.6.2.tgz" - integrity sha512-6IUCnLp7jQRBftm2anf8rP8W+8M2PsC7GPyMFe2Wef3Wfml7j2KybVL//Ty7bRDBqLh8AG4m/zNZbFlwulldFw== - react-csv@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz" @@ -6982,6 +6496,17 @@ react-dates@^21.8.0: react-with-styles "^4.1.0" react-with-styles-interface-css "^6.0.0" +react-diff-viewer-continued@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/react-diff-viewer-continued/-/react-diff-viewer-continued-3.4.0.tgz#0501ffb2b5ab740f88b9ae5f18771aa90d3803c2" + integrity sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg== + dependencies: + "@emotion/css" "^11.11.2" + classnames "^2.3.2" + diff "^5.1.0" + memoize-one "^6.0.0" + prop-types "^15.8.1" + react-docgen-typescript@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz" @@ -7003,7 +6528,7 @@ react-docgen@^7.0.0: resolve "^1.22.1" strip-indent "^4.0.0" -"react-dom@^0.14 || ^15 || ^16", "react-dom@^0.14 || ^15.5.4 || ^16.1.1", "react-dom@^0.14 || >=15", "react-dom@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", react-dom@^15.4.2, "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react-dom@^17.0.0, react-dom@^17.0.2, react-dom@<18.0.0, "react-dom@>= 16.3.0", react-dom@>=16.6.0, react-dom@>=16.8: +"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -7040,12 +6565,7 @@ react-is@^17.0.1: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - 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== - -react-is@^18.2.0: +react-is@^18.0.0, react-is@^18.2.0: 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== @@ -7067,6 +6587,13 @@ react-moment-proptypes@^1.6.0: dependencies: moment ">=1.6.0" +react-monaco-editor@^0.54.0: + version "0.54.0" + resolved "https://registry.yarnpkg.com/react-monaco-editor/-/react-monaco-editor-0.54.0.tgz#ec9293249a991b08264be723c1ec0ca3a6d480d8" + integrity sha512-9JwO69851mfpuhYLHlKbae7omQWJ/2ICE2lbL0VHyNyZR8rCOH7440u+zAtDgiOMpLwmYdY1sEZCdRefywX6GQ== + dependencies: + prop-types "^15.8.1" + react-monaco-editor@^0.55.0: version "0.55.0" resolved "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.55.0.tgz" @@ -7207,7 +6734,7 @@ react-with-styles-interface-css@^6.0.0: array.prototype.flat "^1.2.1" global-cache "^1.2.1" -"react-with-styles@^3.0.0 || ^4.0.0", react-with-styles@^4.1.0: +react-with-styles@^4.1.0: version "4.2.0" resolved "https://registry.npmjs.org/react-with-styles/-/react-with-styles-4.2.0.tgz" integrity sha512-tZCTY27KriRNhwHIbg1NkSdTTOSfXDg6Z7s+Q37mtz0Ym7Sc7IOr3PzVt4qJhJMW6Nkvfi3g34FuhtiGAJCBQA== @@ -7218,7 +6745,7 @@ react-with-styles-interface-css@^6.0.0: prop-types "^15.7.2" react-with-direction "^1.3.1" -"react@^0.14 || ^15 || ^16", "react@^0.14 || ^15.0.0 || ^16.0.0-alpha", "react@^0.14 || ^15.5.4 || ^16.1.1", "react@^0.14 || >=15", react@^15.0.0, "react@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react@^16.14.0 || >=17", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react@^17.0.0, react@^17.0.2, react@<18.0.0, "react@>= 0.14.0", "react@>= 16.3.0", react@>=0.14, react@>=15, react@>=16, "react@>=16 <= 18", react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@15.x.x, react@17.0.2: +"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -7350,11 +6877,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" @@ -7370,23 +6892,11 @@ requires-port@^1.0.0: resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" @@ -7397,12 +6907,7 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve.exports@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz" - integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== - -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -7468,16 +6973,9 @@ rollup-pluginutils@^2.8.1: dependencies: estree-walker "^0.6.1" -"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.0.0||^3.0.0||^4.0.0, rollup@^2.43.1, rollup@^2.78.0||^3.0.0||^4.0.0: - version "2.79.2" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz" - integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== - optionalDependencies: - fsevents "~2.3.2" - -rollup@^4.20.0: +rollup@^2.43.1, rollup@^4.20.0, rollup@^4.22.4: version "4.28.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.1.tgz#7718ba34d62b449dfc49adbfd2f312b4fe0df4de" integrity sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg== dependencies: "@types/estree" "1.0.6" @@ -7527,7 +7025,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.1.0, safe-buffer@>=5.1.0: +safe-buffer@>=5.1.0, safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7541,7 +7039,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@*, sass@^1.69.7: +sass@^1.69.7: version "1.77.6" resolved "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz" integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q== @@ -7563,32 +7061,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.5.3: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.5.4: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.0: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.2: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.3: +semver@^7.3.7, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -7678,7 +7151,7 @@ siginfo@^2.0.0: resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7695,11 +7168,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -7747,7 +7215,7 @@ sockjs-client@1.6.1: inherits "^2.0.4" url-parse "^1.5.10" -source-map-js@^1.0.1, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -7760,20 +7228,12 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -7795,18 +7255,6 @@ split-on-first@^1.0.0: resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -7824,7 +7272,7 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -"storybook@^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0", storybook@^8.4.2: +storybook@^8.4.2: version "8.4.2" resolved "https://registry.npmjs.org/storybook/-/storybook-8.4.2.tgz" integrity sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA== @@ -7841,15 +7289,7 @@ string-argv@^0.3.1: resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7949,11 +7389,6 @@ strip-bom@^3.0.0: resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-comments@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" @@ -7988,6 +7423,14 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-value-types@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" + integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== + dependencies: + hey-listen "^1.0.8" + tslib "^2.1.0" + stylis@4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" @@ -8007,13 +7450,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-color@^9.2.2: version "9.4.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz" @@ -8070,7 +7506,7 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -terser@^5.17.4, terser@^5.4.0: +terser@^5.17.4: version "5.36.0" resolved "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz" integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== @@ -8080,15 +7516,6 @@ terser@^5.17.4, terser@^5.4.0: commander "^2.20.0" source-map-support "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -8144,11 +7571,6 @@ tippy.js@^6.3.1, tippy.js@^6.3.7: dependencies: "@popperjs/core" "^2.9.0" -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -8198,7 +7620,7 @@ ts-jest@29.2.5: semver "^7.6.3" yargs-parser "^21.1.1" -ts-node@>=9.0.0, ts-node@10.9.2: +ts-node@10.9.2: version "10.9.2" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -8241,20 +7663,20 @@ tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@2.7.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== -tslib@^1.9.3: +tslib@^1.8.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: - version "2.7.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== +tslib@^2.3.1, tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsutils@^3.21.0: version "3.21.0" @@ -8270,11 +7692,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - type-fest@^0.16.0: version "0.16.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" @@ -8339,7 +7756,7 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@^5.0.0, "typescript@>= 4.2.x", "typescript@>= 4.3.x", typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.2.0, "typescript@>=4.3 <6", typescript@5.5.4: +typescript@5.5.4: version "5.5.4" resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== @@ -8461,15 +7878,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-to-istanbul@^9.0.1: - 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== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - validate.io-array@^1.0.1, validate.io-array@^1.0.3: version "1.0.6" resolved "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz" @@ -8589,7 +7997,7 @@ vite-tsconfig-paths@5.0.1: globrex "^0.1.2" tsconfck "^3.0.3" -vite@*, "vite@^2.6.0 || 3 || 4", "vite@^3.0.0 || ^4.0.0 || ^5.0.0", "vite@^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "vite@^4.0.0 || ^5.0.0", "vite@^4.2.0 || ^5.0.0", vite@^5.0.0, vite@>=3, vite@5.4.11: +vite@5.4.11, vite@^5.0.0: version "5.4.11" resolved "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz" integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== @@ -8643,7 +8051,7 @@ vscode-languageserver-textdocument@^1.0.0: resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz" integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== -vscode-languageserver-types@^3.0.0, vscode-languageserver-types@3.17.5: +vscode-languageserver-types@3.17.5, vscode-languageserver-types@^3.0.0: version "3.17.5" resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz" integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== @@ -8653,13 +8061,6 @@ vscode-uri@^3.0.0: resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" @@ -8926,7 +8327,7 @@ workbox-sw@7.3.0: resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.3.0.tgz" integrity sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA== -workbox-window@^7.3.0, workbox-window@7.3.0: +workbox-window@7.3.0, workbox-window@^7.3.0: version "7.3.0" resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-7.3.0.tgz" integrity sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA== @@ -8957,14 +8358,6 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - ws@^8.2.3: version "8.18.0" resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" @@ -8992,27 +8385,17 @@ xterm-webfont@^2.0.0: dependencies: fontfaceobserver "2.*" -xterm@^4.0.0, xterm@^4.19.0: +xterm@^4.19.0: version "4.19.0" resolved "https://registry.npmjs.org/xterm/-/xterm-4.19.0.tgz" integrity sha512-c3Cp4eOVsYY5Q839dR5IejghRPpxciGmLWWaP9g+ppfMeBChMeLa1DCA+pmX/jyDZ+zxFOmlJL/82qVdayVoGQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^1.10.2: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -9027,19 +8410,6 @@ yargs-parser@^21.1.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" From 492398c74be9fd3d89c42a209aa24559739783ba Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Sat, 21 Dec 2024 14:58:21 +0530 Subject: [PATCH 087/186] feat: add support for isolated env in animated deploy button --- src/components/app/details/triggerView/cdMaterial.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app/details/triggerView/cdMaterial.tsx b/src/components/app/details/triggerView/cdMaterial.tsx index a8585e867f..c067c099dc 100644 --- a/src/components/app/details/triggerView/cdMaterial.tsx +++ b/src/components/app/details/triggerView/cdMaterial.tsx @@ -1667,7 +1667,7 @@ const CDMaterial = ({ (userActionState ? userActionState === ACTION_STATE.ALLOWED : true) && !(deploymentLoading || isSaveLoading) ) { - return + return } return ( + text={exportingData ? 'Cancel' : 'Close'} + dataTestId="close-export-csv-button" + /> {!exportingData && errorExportingData && ( - + text="Retry" + dataTestId="retry-export-csv-button" + /> )} -
+ ) } - const initiateDownload = () => { - csvRef.current.link.click() - } - const renderExportStatus = () => { + if (isConfigurationAvailable && showConfiguration) { + return ( + + ) + } + + if (errorExportingData) { + return ( +
+ + Unable to export data + + Encountered an error while trying to export. Please try again. If error persists then try after + some time. + +
+ ) + } + + if (exportingData) { + return ( + + Please do not reload or press the browser back button. + + ) + } + return ( -
- {exportingData && !errorExportingData && ( - - Please do not reload or press the browser back button. - - )} - {errorExportingData && ( -
- - Unable to export data - - Encountered an error while trying to export. Please try again. If error persists then try - after some time. - -
- )} - {!exportingData && !errorExportingData && ( -
- - Your export is ready - If download does not start automatically, - - click here to download manually. - -
- )} +
+ + Your export is ready + If download does not start automatically, + + click here to download manually. +
) } return ( -
- ( - - {children} - - )} - > - - +
+
From d3ad765b39fd91ebb6b041c7d6367e36ba537701 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:47:37 +0530 Subject: [PATCH 096/186] feat: add deleted column to csv --- .../UserPermissions/List/ExportUserPermissionsToCsv.tsx | 1 + src/components/common/ExportToCsv/ExportConfiguration.tsx | 2 +- src/components/common/ExportToCsv/constants.ts | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx index c8745922e5..32f83420ac 100644 --- a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx @@ -74,6 +74,7 @@ const ExportUserPermissionsToCsv = ({ : '-', updatedOn, deletedOn: _user.isDeleted ? updatedOn : '-', + isDeleted: _user.isDeleted, } : {}), lastLoginTime: diff --git a/src/components/common/ExportToCsv/ExportConfiguration.tsx b/src/components/common/ExportToCsv/ExportConfiguration.tsx index 7dfba6ad65..2a5aa7900f 100644 --- a/src/components/common/ExportToCsv/ExportConfiguration.tsx +++ b/src/components/common/ExportToCsv/ExportConfiguration.tsx @@ -54,7 +54,7 @@ export const ExportConfiguration = ({ name={value} dataTestId={`check-${label}`} id={value} - isChecked={selectedConfig[value]} + isChecked={selectedConfig[value] ?? false} onChange={handleConfigSelectionChange} rootClassName="m-0 w-20 h-20" /> diff --git a/src/components/common/ExportToCsv/constants.ts b/src/components/common/ExportToCsv/constants.ts index 840d9bbc2e..d4284fdd06 100644 --- a/src/components/common/ExportToCsv/constants.ts +++ b/src/components/common/ExportToCsv/constants.ts @@ -54,9 +54,10 @@ export const USER_EXPORT_HEADERS = [ ...(showStatus ? [ { label: 'Permission Status', key: 'permissionStatus' }, + { label: 'Deleted', key: 'isDeleted' }, + { label: 'Deleted on', key: 'deletedOn' }, { label: 'Added on', key: 'createdOn' }, { label: 'Updated on', key: 'updatedOn' }, - { label: 'Deleted on', key: 'deletedOn' }, ] : []), ] @@ -79,9 +80,10 @@ export const USER_EXPORT_HEADER_ROW = { ...(showStatus ? { permissionStatus: 'Permission Status', + isDeleted: 'Deleted', + deletedOn: 'Deleted on', createdOn: 'Added on', updatedOn: 'Updated on', - deletedOn: 'Deleted on', } : {}), } From 864b2d72bd4744437b9aa3776ec25a862804634d Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:37:45 +0530 Subject: [PATCH 097/186] fix: update the cell order --- src/components/common/ExportToCsv/constants.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/components/common/ExportToCsv/constants.ts b/src/components/common/ExportToCsv/constants.ts index d4284fdd06..599862de79 100644 --- a/src/components/common/ExportToCsv/constants.ts +++ b/src/components/common/ExportToCsv/constants.ts @@ -43,7 +43,12 @@ export const APPLIST_EXPORT_HEADERS = [ export const USER_EXPORT_HEADERS = [ { label: 'Email address', key: 'emailId' }, { label: 'User ID', key: 'userId' }, - ...(showStatus ? [{ label: 'User status', key: 'status' }] : []), + ...(showStatus + ? [ + { label: 'User status', key: 'status' }, + { label: 'Deleted', key: 'isDeleted' }, + ] + : []), { label: 'Last login time', key: 'lastLoginTime' }, { label: 'Super admin', key: 'superAdmin' }, { label: 'Group permissions', key: 'group' }, @@ -54,10 +59,9 @@ export const USER_EXPORT_HEADERS = [ ...(showStatus ? [ { label: 'Permission Status', key: 'permissionStatus' }, - { label: 'Deleted', key: 'isDeleted' }, - { label: 'Deleted on', key: 'deletedOn' }, { label: 'Added on', key: 'createdOn' }, { label: 'Updated on', key: 'updatedOn' }, + { label: 'Deleted on', key: 'deletedOn' }, ] : []), ] @@ -68,6 +72,7 @@ export const USER_EXPORT_HEADER_ROW = { ...(showStatus ? { status: 'User status', + isDeleted: 'Deleted', } : {}), lastLoginTime: 'Last login time', @@ -80,10 +85,9 @@ export const USER_EXPORT_HEADER_ROW = { ...(showStatus ? { permissionStatus: 'Permission Status', - isDeleted: 'Deleted', - deletedOn: 'Deleted on', createdOn: 'Added on', updatedOn: 'Updated on', + deletedOn: 'Deleted on', } : {}), } From a89a09b5b52cff639688377bf5b5223655da9345 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 16:21:54 +0530 Subject: [PATCH 098/186] refactor: update the select for environments --- .../AppPermissions/DirectPermission.tsx | 239 +++++------------- .../components/AppPermissions/common.tsx | 84 ------ .../Shared/components/AppPermissions/utils.ts | 26 ++ 3 files changed, 93 insertions(+), 256 deletions(-) delete mode 100644 src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx index 572824379a..1297269dfc 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx @@ -19,34 +19,26 @@ import React, { useState, useEffect, useRef, useMemo } from 'react' import { showError, - Option, getIsRequestAborted, - ReactSelectInputAction, ACCESS_TYPE_MAP, EntityTypes, SelectPicker, ComponentSizeType, SelectPickerOptionType, + Button, + ButtonVariantType, + ButtonStyleType, } from '@devtron-labs/devtron-fe-common-lib' import Select, { components } from 'react-select' -import Tippy from '@tippyjs/react' -import { sortBySelected, importComponentFromFELibrary } from '../../../../../../components/common' +import { importComponentFromFELibrary } from '../../../../../../components/common' import { getAllWorkflowsForAppNames } from '../../../../../../services/service' import { HELM_APP_UNASSIGNED_PROJECT, SELECT_ALL_VALUE } from '../../../../../../config' import { ReactComponent as TrashIcon } from '../../../../../../assets/icons/ic-delete-interactive.svg' -import { GroupHeading } from '../../../../../../components/v2/common/ReactSelect.utils' import { useAuthorizationContext } from '../../../AuthorizationProvider' -import { - CONFIG_APPROVER_ACTION, - authorizationSelectStyles, - ARTIFACT_PROMOTER_ACTION, - TERMINAL_EXEC_ACTION, -} from '../../../constants' -import { ClusterValueContainer, ValueContainer } from './common' +import { CONFIG_APPROVER_ACTION, ARTIFACT_PROMOTER_ACTION, TERMINAL_EXEC_ACTION } from '../../../constants' import { allApplicationsOption, ALL_ENVIRONMENTS_OPTION, - ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE, DirectPermissionFieldName, roleSelectStyles, } from './constants' @@ -55,7 +47,7 @@ import { DirectPermissionRow } from './types' import { usePermissionConfiguration } from '../PermissionConfigurationForm' import { DirectPermissionsRoleFilter } from '../../../types' import { getIsStatusDropdownDisabled } from '../../../libUtils' -import { getDisplayTextByName } from './utils' +import { getDisplayTextByName, getEnvironmentDisplayText } from './utils' const ApproverPermission = importComponentFromFELibrary('ApproverPermission') const UserStatusUpdate = importComponentFromFELibrary('UserStatusUpdate', null, 'function') @@ -100,10 +92,8 @@ const DirectPermission = ({ terminalExec: doesTerminalAccessRoleExist || permission.action.terminalExec, } - const [openMenu, setOpenMenu] = useState('') + // const [openMenu] = useState('') const [applications, setApplications] = useState([]) - const [clusterInput, setClusterInput] = useState('') - const [envInput, setEnvInput] = useState('') const [workflowList, setWorkflowList] = useState({ loading: false, options: [] }) const abortControllerRef = useRef(new AbortController()) @@ -270,76 +260,17 @@ const DirectPermission = ({ } }, [appsList, appsListHelmApps, projectId, jobsList]) - useEffect(() => { - if (openMenu || !projectId || (environments && environments.length === 0) || applications.length === 0) { - return - } - - setApplications((_applications) => - openMenu === DirectPermissionFieldName.apps || openMenu === DirectPermissionFieldName.jobs - ? _applications - : sortBySelected(permission.entityName, _applications, 'value'), - ) - }, [openMenu, permission.environment, projectId]) + // useEffect(() => { + // if (openMenu || !projectId || (environments && environments.length === 0) || applications.length === 0) { + // return + // } - const formatOptionLabelClusterEnv = (option, { inputValue }) => ( -
- {!inputValue ? ( - <> - {option.label} - - {option.clusterName + - (option.clusterName && option.namespace ? '/' : '') + - (option.namespace || '')} - - - ) : ( - <> - `${highlighted}`, - ), - }} - /> - {option.clusterName && option.namespace && ( - `${highlighted}`, - ), - }} - /> - )} - - )} -
- ) - - const customFilter = (option, searchText: string) => - option.data.label?.toLowerCase().includes(searchText?.toLowerCase()) || - option.data.clusterName?.toLowerCase().includes(searchText?.toLowerCase()) || - option.data.namespace?.toLowerCase().includes(searchText?.toLowerCase()) - - const onFocus = (name: DirectPermissionFieldName) => { - setOpenMenu(name) - } - - const onMenuClose = () => { - setOpenMenu('') - } + // setApplications((_applications) => + // openMenu === DirectPermissionFieldName.apps || openMenu === DirectPermissionFieldName.jobs + // ? _applications + // : sortBySelected(permission.entityName, _applications, 'value'), + // ) + // }, [permission.environment, projectId]) const handleStatusChange = ( status: DirectPermissionsRoleFilter['status'], @@ -379,82 +310,47 @@ const DirectPermission = ({ onChange={handleDirectPermissionChange} size={ComponentSizeType.large} /> - {permission.accessType === ACCESS_TYPE_MAP.HELM_APPS ? ( -
- onFocus(DirectPermissionFieldName.environment)} - onMenuClose={onMenuClose} - placeholder="Select environments" - options={[{ label: '', options: [ALL_ENVIRONMENTS_OPTION] }, ...environments]} - menuPlacement="auto" - hideSelectedOptions={false} - styles={authorizationSelectStyles} - components={{ - ClearIndicator: null, - ValueContainer, - IndicatorSeparator: null, - Option, - GroupHeading, - }} - isDisabled={!permission.team} - onChange={handleDirectPermissionChange} - inputValue={envInput} - onBlur={() => { - setEnvInput('') - }} - onInputChange={(value, action) => { - if (action.action === ReactSelectInputAction.inputChange) { - setEnvInput(value) - } - }} - /> - {permission.environmentError && {permission.environmentError}} -
- )} + +
+ ({ + label: groupOption.label, + options: groupOption.options.map((option) => ({ + label: option.label, + value: option.value, + description: + option.clusterName + + (option.clusterName && option.namespace ? '/' : '') + + (option.namespace || ''), + })), + })), + multiSelectProps: { + customDisplayText: getEnvironmentDisplayText(envClusters, permission.environment), + }, + } + : { + options: [ALL_ENVIRONMENTS_OPTION, ...environments], + multiSelectProps: { + customDisplayText: getDisplayTextByName( + DirectPermissionFieldName.environment, + [ALL_ENVIRONMENTS_OPTION, ...environments], + permission.environment, + ), + }, + })} + /> +
)} - - - + variant={ButtonVariantType.borderLess} + style={ButtonStyleType.negativeGrey} + /> +
) } diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx deleted file mode 100644 index a728c04097..0000000000 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/common.tsx +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2024. Devtron Inc. - * - * 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. - */ - -/* eslint-disable react/destructuring-assignment */ -/* eslint-disable react/prop-types */ -import React from 'react' -import { components } from 'react-select' -import { SELECT_ALL_VALUE } from '../../../../../../config' -import { ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE, DirectPermissionFieldName } from './constants' - -export const ValueContainer = (props) => { - const { length } = props.getValue() - let optionLength = props.options.length - if ( - props.selectProps.name === DirectPermissionFieldName.environment || - props.selectProps.name === DirectPermissionFieldName.workflow - ) { - optionLength = props.options.reduce((acc, option) => acc + (option.options?.length ?? 0), 0) - } - - const count = length === optionLength ? 'All' : length - - let Item - if (props.selectProps.name === DirectPermissionFieldName.apps) { - Item = 'application' - } else if (props.selectProps.name === DirectPermissionFieldName.jobs) { - Item = 'job' - } else { - Item = props.selectProps.name - } - - return ( - - {length > 0 ? ( - <> - {/* Count of selected options */} - {!props.selectProps.menuIsOpen && `${count} ${Item}${length !== 1 ? 's' : ''}`} - {React.cloneElement(props.children[1])} - - ) : ( - props.children - )} - - ) -} - -export const ClusterValueContainer = (props) => { - const { length } = props - .getValue() - .filter( - (opt) => - opt.value && - !opt.value.startsWith(ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE) && - !opt.value.startsWith(SELECT_ALL_VALUE), - ) - let count = '' - // 2 represents all existing cluster option and all existing + future cluster option - const totalEnv = props.options.reduce((len, cluster) => len + (cluster.options.length - 2), 0) - if (length === totalEnv) { - count = 'All environments' - } else { - count = `${length} environment${length !== 1 ? 's' : ''}` - } - - return ( - - {!props.selectProps.menuIsOpen && (length > 0 ? count : props.selectProps.placeholder)} - {React.cloneElement(props.children[1])} - - ) -} diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts index 1e7145bbc0..a6e5ea1e37 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts @@ -177,3 +177,29 @@ export const getDisplayTextByName = ( return `${count} ${Item}${selectedOptionsLength !== 1 ? 's' : ''}` } + +export const getEnvironmentDisplayText = ( + options: OptionsOrGroups>[], + selectedOptions: SelectPickerOptionType[], +) => { + const selectedOptionsLength = selectedOptions.filter( + (opt) => + opt.value && + !(opt.value as string).startsWith(ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE) && + !(opt.value as string).startsWith(SELECT_ALL_VALUE), + ).length + let count = '' + // 2 represents all existing cluster option and all existing + future cluster option + const totalEnvironments = options.reduce( + (len, cluster) => + len + ('options' in cluster && Array.isArray(cluster.options) ? cluster.options.length - 2 : 1), + 0, + ) + if (selectedOptionsLength === totalEnvironments) { + count = 'All environments' + } else { + count = `${selectedOptionsLength} environment${selectedOptionsLength !== 1 ? 's' : ''}` + } + + return count +} From a998b3ab6319b2e6024f4c2167f2a2ac6027e0b5 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Mon, 23 Dec 2024 16:47:50 +0530 Subject: [PATCH 099/186] chore: deployment history navigation from app detail support added for app group --- .../ApplicationGroup/AppGroup.utils.ts | 18 ++++++++- .../app/details/triggerView/types.ts | 2 +- .../workflow/nodes/triggerCDNode.tsx | 40 ++++++++++--------- .../workflow/nodes/triggerPrePostCDNode.tsx | 17 +++----- 4 files changed, 45 insertions(+), 32 deletions(-) diff --git a/src/components/ApplicationGroup/AppGroup.utils.ts b/src/components/ApplicationGroup/AppGroup.utils.ts index c77c888344..7b7aee5f09 100644 --- a/src/components/ApplicationGroup/AppGroup.utils.ts +++ b/src/components/ApplicationGroup/AppGroup.utils.ts @@ -25,7 +25,8 @@ import { CIMaterialType, SourceTypeMap, } from '@devtron-labs/devtron-fe-common-lib' -import { DEFAULT_GIT_BRANCH_VALUE, DOCKER_FILE_ERROR_TITLE, SOURCE_NOT_CONFIGURED } from '../../config' +import { getParsedBranchValuesForPlugin } from '@Components/common' +import { DEFAULT_GIT_BRANCH_VALUE, DOCKER_FILE_ERROR_TITLE, SOURCE_NOT_CONFIGURED, URLS } from '../../config' import { getEnvAppList } from './AppGroup.service' import { AppGroupUrlFilters, @@ -33,7 +34,6 @@ import { CIWorkflowStatusType, ProcessWorkFlowStatusType, } from './AppGroup.types' -import { getParsedBranchValuesForPlugin } from '@Components/common' let timeoutId @@ -295,3 +295,17 @@ export const processConsequenceData = (data: BlockedStateData): ConsequenceType export const parseSearchParams = (searchParams: URLSearchParams) => ({ [AppGroupUrlFilters.cluster]: searchParams.getAll(AppGroupUrlFilters.cluster), }) + +export const getAppGroupDeploymentHistoryLink = ( + appId: number, + pipelineId: string, + envId: string, + redirectToAppGroup: boolean = true, +) => { + if (redirectToAppGroup) { + // It will redirect to application group deployment history in case of same environment + return `${URLS.APPLICATION_GROUP}/${envId}/${URLS.APP_CD_DETAILS}/${appId}/${pipelineId}/` + } + // It will redirect to application deployment history in case of other environments + return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}/` +} diff --git a/src/components/app/details/triggerView/types.ts b/src/components/app/details/triggerView/types.ts index cb0b322125..b53b470ee9 100644 --- a/src/components/app/details/triggerView/types.ts +++ b/src/components/app/details/triggerView/types.ts @@ -246,7 +246,7 @@ interface InputMaterials { } export interface TriggerCDNodeProps - extends RouteComponentProps<{ appId: string }>, + extends RouteComponentProps<{ appId: string; envId?: string }>, Partial> { x: number y: number diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx index 441561b7b0..df2d08efbc 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx @@ -33,6 +33,7 @@ import NoGitOpsRepoConfiguredWarning, { ReloadNoGitOpsRepoConfiguredModal, } from '../../../../../workflowEditor/NoGitOpsRepoConfiguredWarning' import { gitOpsRepoNotConfiguredWithEnforcedEnv } from '../../../../../gitOps/constants' +import { getAppGroupDeploymentHistoryLink } from '@Components/ApplicationGroup/AppGroup.utils' export class TriggerCDNode extends Component { constructor(props) { @@ -48,15 +49,20 @@ export class TriggerCDNode extends Component {statusText} - {!this.props.fromAppGrouping && ( - <> - {statusText && /} - - Details - - - )} + <> + {statusText && /} + + Details + +
) } diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx index d7d82da487..ebb0e3bbce 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx @@ -44,9 +44,6 @@ export class TriggerPrePostCDNode extends Component {this.props.status} - {!this.props.fromAppGrouping && ( - <> - {this.props.status && /} - - Details - - - )} + <> + {this.props.status && /} + + Details + +
) } From 061caed10c819f8d510c8866113b44ff5d3aee03 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 17:03:38 +0530 Subject: [PATCH 100/186] fix: misc changes --- .../AppPermissions/AppPermissions.component.tsx | 4 ++-- .../Shared/components/AppPermissions/DirectPermission.tsx | 5 +++-- .../Shared/components/AppPermissions/types.ts | 2 +- .../Shared/components/AppPermissions/utils.ts | 8 ++++---- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissions.component.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissions.component.tsx index d927cb1a83..1cc2491c91 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissions.component.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissions.component.tsx @@ -62,7 +62,7 @@ import { getNavLinksConfig, } from './utils' import { getWorkflowOptions, validateDirectPermissionForm } from '../../../utils' -import { AppPermissionsDetailType, DirectPermissionRow } from './types' +import { AppPermissionsDetailType, DirectPermissionRowProps } from './types' import { APIRoleFilter, ChartGroupPermissionsFilter, DirectPermissionsRoleFilter } from '../../../types' import { getDefaultStatusAndTimeout } from '../../../libUtils' import { JobList } from '../../../../../../components/Jobs/Types' @@ -120,7 +120,7 @@ const AppPermissions = () => { const environmentClusterOptions = getEnvironmentClusterOptions(envClustersList) - const _getEnvironmentOptions = (entity: DirectPermissionRow['permission']['entity']) => + const _getEnvironmentOptions = (entity: DirectPermissionRowProps['permission']['entity']) => getEnvironmentOptions(environmentsList, entity) const appPermissionDetailConfig = getAppPermissionDetailConfig(path, serverMode) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx index 1297269dfc..bafb877c64 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/DirectPermission.tsx @@ -43,7 +43,7 @@ import { roleSelectStyles, } from './constants' import { getPrimaryRoleIndex, getWorkflowOptions, parseData } from '../../../utils' -import { DirectPermissionRow } from './types' +import { DirectPermissionRowProps } from './types' import { usePermissionConfiguration } from '../PermissionConfigurationForm' import { DirectPermissionsRoleFilter } from '../../../types' import { getIsStatusDropdownDisabled } from '../../../libUtils' @@ -64,7 +64,7 @@ const DirectPermission = ({ getEnvironmentOptions, environmentClusterOptions: envClusters, getListForAccessType, -}: DirectPermissionRow) => { +}: DirectPermissionRowProps) => { const { customRoles } = useAuthorizationContext() const { showStatus, userStatus } = usePermissionConfiguration() const projectId = @@ -402,6 +402,7 @@ const DirectPermission = ({ permission.workflow, ), }} + size={ComponentSizeType.large} />
)} diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/types.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/types.ts index 359a394a47..e557f4c1dd 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/types.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/types.ts @@ -40,7 +40,7 @@ export interface AppPermissionsDetailType { getListForAccessType: (accessType: ACCESS_TYPE_MAP) => AppsList | JobsList } -export interface DirectPermissionRow +export interface DirectPermissionRowProps extends Pick< AppPermissionsDetailType, | 'appsList' diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts index a6e5ea1e37..0b463286c2 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/utils.ts @@ -20,7 +20,7 @@ import { DEFAULT_ENV } from '../../../../../../components/app/details/triggerVie import { createClusterEnvGroup } from '../../../../../../components/common' import { SELECT_ALL_VALUE, SERVER_MODE } from '../../../../../../config' import { ALL_EXISTING_AND_FUTURE_ENVIRONMENTS_VALUE, DirectPermissionFieldName } from './constants' -import { DirectPermissionRow } from './types' +import { DirectPermissionRowProps } from './types' export const getNavLinksConfig = (serverMode: SERVER_MODE, superAdmin: boolean) => [ @@ -120,7 +120,7 @@ export const getEnvironmentClusterOptions = (envClustersList) => isVirtualEnvironment: cluster?.isVirtualCluster, })) -export const getEnvironmentOptions = (environmentsList, entity: DirectPermissionRow['permission']['entity']) => { +export const getEnvironmentOptions = (environmentsList, entity: DirectPermissionRowProps['permission']['entity']) => { const envOptions = createClusterEnvGroup( environmentsList, 'cluster_name', @@ -153,7 +153,7 @@ export const getEnvironmentOptions = (environmentsList, entity: DirectPermission export const getDisplayTextByName = ( name: DirectPermissionFieldName, - options: OptionsOrGroups>[], + options: OptionsOrGroups>, selectedOptions: SelectPickerOptionType[], ) => { const selectedOptionsLength = selectedOptions?.length @@ -179,7 +179,7 @@ export const getDisplayTextByName = ( } export const getEnvironmentDisplayText = ( - options: OptionsOrGroups>[], + options: OptionsOrGroups>, selectedOptions: SelectPickerOptionType[], ) => { const selectedOptionsLength = selectedOptions.filter( From 9ca7f6f71517b9c0c15223163b1a87d1f9341737 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 17:53:38 +0530 Subject: [PATCH 101/186] refactor: replace select in k8s permission --- .../K8sObjectPermissions/K8sListItemCard.tsx | 319 +++++++----------- .../K8sObjectPermissions/constants.ts | 34 -- .../components/K8sObjectPermissions/utils.tsx | 27 +- .../v2/common/ReactSelect.utils.tsx | 29 -- 4 files changed, 123 insertions(+), 286 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/K8sListItemCard.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/K8sListItemCard.tsx index 9f68bd3ee8..b2b017dcc9 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/K8sListItemCard.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/K8sListItemCard.tsx @@ -17,23 +17,21 @@ /* eslint-disable no-param-reassign */ /* eslint-disable @typescript-eslint/no-floating-promises */ import { useEffect, useState } from 'react' -import ReactSelect from 'react-select' import { showError, InfoColourBar, - ClearIndicator, - Option, - MultiValueRemove, - MultiValueChipContainer, OptionType, - LoadingIndicator, GVKType, getK8sResourceList, EntityTypes, ApiResourceGroupType, + Button, + ComponentSizeType, + SelectPicker, + ButtonVariantType, + ButtonStyleType, } from '@devtron-labs/devtron-fe-common-lib' -import CreatableSelect from 'react-select/creatable' -import Tippy from '@tippyjs/react' +import { K8S_EMPTY_GROUP } from '@Components/ResourceBrowser/Constants' import { processK8SObjects, convertToOptionsList, @@ -47,19 +45,15 @@ import { namespaceListByClusterId, } from '../../../../../../components/ResourceBrowser/ResourceBrowser.service' import { K8SObjectType, ResourceListPayloadType } from '../../../../../../components/ResourceBrowser/Types' -import { - CustomValueContainer, - formatOptionLabel, - menuComponent, -} from '../../../../../../components/v2/common/ReactSelect.utils' +import { formatOptionLabel } from '../../../../../../components/v2/common/ReactSelect.utils' import { ReactComponent as Clone } from '../../../../../../assets/icons/ic-copy.svg' import { ReactComponent as Delete } from '../../../../../../assets/icons/ic-delete-interactive.svg' import { ReactComponent as InfoIcon } from '../../../../../../assets/icons/info-filled.svg' -import { formatResourceKindOptionLabel, k8sRoleSelectionStyle, multiSelectAllState } from './utils' +import { multiSelectAllState } from './utils' import { useAuthorizationContext } from '../../../AuthorizationProvider' import { parseData } from '../../../utils' -import { authorizationSelectStyles, ALL_NAMESPACE } from '../../../constants' -import { K8sPermissionActionType, K8S_PERMISSION_INFO_MESSAGE, resourceSelectStyles } from './constants' +import { ALL_NAMESPACE } from '../../../constants' +import { K8sPermissionActionType, K8S_PERMISSION_INFO_MESSAGE } from './constants' import { SELECT_ALL_VALUE } from '../../../../../../config' import { K8sItemCardLoadingState, K8sListItemCardType } from './types' import { usePermissionConfiguration } from '../PermissionConfigurationForm' @@ -373,13 +367,10 @@ const K8sListItemCard = ({ handleK8sPermission(action, index) } - const getIsK8sMultiValueContainer = (type: string) => - k8sPermission[type].some((item) => item.value === SELECT_ALL_VALUE) - const k8sOptions = parseData(customRoles.customRoles, EntityTypes.CLUSTER).map((role) => ({ label: role.roleDisplayName, value: role.roleName, - infoText: role.roleDescription, + description: role.roleDescription, })) const handleUserStatusUpdate = ( @@ -401,168 +392,107 @@ const K8sListItemCard = ({ } return ( -
-
+
+
Cluster {!selectedPermissionAction && ( - - -
- -
-
- -
- -
-
+ +
-
- -
+ {k8sPermission?.cluster && ( <> -
Namespace
-
- ( - - ), - ClearIndicator, - MultiValueRemove, - Option, - MenuList: menuComponent, - LoadingIndicator, - }} - isLoading={isNamespaceListLoading} - menuPlacement="auto" - menuPosition="fixed" - closeMenuOnSelect={false} - isMulti - hideSelectedOptions={false} - styles={resourceSelectStyles} - // @ts-expect-error fix this with custom typing or custom select - text="namespace" + +
+ -
-
-
-
API Group
-
- -
-
-
-
Kind
-
- -
-
-
-
Resource name
-
- ( - - ), - ClearIndicator, - MultiValueRemove, - Option, - MenuList: menuComponent, - LoadingIndicator, - }} - closeMenuOnSelect={false} - isMulti - hideSelectedOptions={false} - styles={resourceSelectStyles} - isLoading={isResourceListLoading} - menuPlacement="auto" - menuPosition="fixed" - // @ts-expect-error fix this with custom typing or custom select - text="resource name" + ({ + ...option, + description: + option.value !== SELECT_ALL_VALUE + ? ('gvk' in option && (option.gvk as GVKType)?.Group) || K8S_EMPTY_GROUP + : null, + }))} + isDisabled={!k8sPermission.group} + value={k8sPermission.kind} + onChange={onKindSelect} + name="kind" + label="Kind" + size={ComponentSizeType.large} />
+ {K8S_PERMISSION_INFO_MESSAGE[k8sPermission?.kind?.label] && ( )} -
Role
-
- +
{showStatus && ( - <> -
Status
-
- -
- +
+ +
)} )} diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/constants.ts b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/constants.ts index da9a2da047..b6516074ab 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/constants.ts +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/constants.ts @@ -15,7 +15,6 @@ */ import { Nodes } from '../../../../../../components/app/types' -import { authorizationSelectStyles } from '../../../constants' export enum K8sPermissionActionType { add = 'add', @@ -41,36 +40,3 @@ export const K8S_PERMISSION_INFO_MESSAGE = { [Nodes.StatefulSet]: 'Specified role will be provided for child Pod(s) of selected StatefulSet(s).', [Nodes.DaemonSet]: 'Specified role will be provided for child Pod(s) of selected DaemonSet(s).', } - -export const resourceSelectStyles = { - ...authorizationSelectStyles, - control: (base, state) => ({ - ...authorizationSelectStyles.control(base, state), - height: 'auto', - minHeight: '36px', - maxHeight: '300px', - }), - valueContainer: (base) => ({ - ...authorizationSelectStyles.valueContainer(base), - display: 'flex', - columnGap: '8px', - rowGap: '4px', - overflow: 'scroll', - maxHeight: '290px', - padding: '0 8px', - }), - multiValue: (base) => ({ - ...base, - border: '1px solid var(--N200)', - borderRadius: '4px', - background: 'white', - height: '24px', - padding: '2px 6px', - fontSize: '12px', - lineHeight: '20px', - }), - clearIndicator: (base) => ({ - ...base, - padding: 0, - }), -} diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/utils.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/utils.tsx index 68018e95c0..69b2690085 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/utils.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/K8sObjectPermissions/utils.tsx @@ -16,10 +16,9 @@ import { ReactSelectInputAction, EntityTypes } from '@devtron-labs/devtron-fe-common-lib' import { SELECT_ALL_VALUE } from '../../../../../../config' -import { ActionTypes, ACTION_LABEL, authorizationSelectStyles } from '../../../constants' +import { ActionTypes, ACTION_LABEL } from '../../../constants' import { K8sPermissionFilter } from '../../../types' import { getDefaultStatusAndTimeout } from '../../../libUtils' -import { K8S_EMPTY_GROUP } from '../../../../../../components/ResourceBrowser/Constants' export const apiGroupAll = (permission, isLabel = false) => { if (permission === '') { @@ -36,7 +35,7 @@ export const HEADER_OPTIONS = ['CLUSTER', 'API GROUP', 'KIND', 'NAMESPACE', 'RES export const multiSelectAllState = (selected, actionMeta, setState, options) => { if (actionMeta.action === ReactSelectInputAction.selectOption && actionMeta.option.value === SELECT_ALL_VALUE) { - setState(options) + setState(options.filter((option) => option.value === SELECT_ALL_VALUE)) } else if ( (actionMeta.action === ReactSelectInputAction.deselectOption && actionMeta.option.value === SELECT_ALL_VALUE) || (actionMeta.action === ReactSelectInputAction.removeValue && actionMeta.removedValue.value === SELECT_ALL_VALUE) @@ -50,7 +49,7 @@ export const multiSelectAllState = (selected, actionMeta, setState, options) => } else if (selected.length >= options.length - 1 && actionMeta.action !== 'create-option') { setState(options) } else { - setState(selected) + setState(selected.filter((option) => option.value !== SELECT_ALL_VALUE)) } } @@ -83,27 +82,7 @@ export const getPermissionObject = (idx = 0, k8sPermission?: K8sPermissionFilter } } -export const k8sRoleSelectionStyle = { - ...authorizationSelectStyles, - option: (base, state) => ({ - ...authorizationSelectStyles.option(base, state), - marginRight: '8px', - }), - valueContainer: (base, state) => ({ - ...authorizationSelectStyles.valueContainer(base), - display: 'flex', - color: state.selectProps.menuIsOpen ? 'var(--N500)' : base.color, - }), -} - export const excludeKeyAndClusterValue = ({ cluster, ...rest }: K8sPermissionFilter): K8sPermissionFilter => ({ cluster: { label: cluster.label, value: cluster.label }, ...rest, }) - -export const formatResourceKindOptionLabel = (option): JSX.Element => ( -
- {option.label} - {option.value !== SELECT_ALL_VALUE && {option.gvk?.Group || K8S_EMPTY_GROUP}} -
-) diff --git a/src/components/v2/common/ReactSelect.utils.tsx b/src/components/v2/common/ReactSelect.utils.tsx index 02de4013eb..b0c49678cc 100644 --- a/src/components/v2/common/ReactSelect.utils.tsx +++ b/src/components/v2/common/ReactSelect.utils.tsx @@ -196,22 +196,6 @@ export const formatOptionLabel = (option): JSX.Element => { ) } -export const CustomValueContainer = (props): JSX.Element => { - return ( - - {(!props.selectProps.menuIsOpen || !props.selectProps.inputValue) && - (props.selectProps.value?.label ? ( - - {props.selectProps.value.label} - - ) : ( - {props.selectProps.placeholder} - ))} - {React.cloneElement(props.children[1])} - - ) -} - export const menuComponentForImage = (props) => { return ( @@ -223,19 +207,6 @@ export const menuComponentForImage = (props) => { ) } -export const menuComponent = (props) => { - /* FIXME: not good practice but can be solved once & for all by unifying react-select */ - const { text } = props.selectProps - return ( - -
- {`Type to enter custom ${text}`} -
- {props.children} -
- ) -} - export const GroupHeading = (props) => { const { data, hideClusterName } = props if (!data.label) { From 182a0b0c1cbcd9017f902ded12d68459e2e079f5 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 17:56:58 +0530 Subject: [PATCH 102/186] refactor: replace select in chart permissions --- .../ChartPermission.component.tsx | 33 +++++-------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/ChartPermission/ChartPermission.component.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/ChartPermission/ChartPermission.component.tsx index 9decddeebf..5132cd7516 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/ChartPermission/ChartPermission.component.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/ChartPermission/ChartPermission.component.tsx @@ -16,17 +16,15 @@ import React, { useMemo } from 'react' import { - Option, - MultiValueContainer, - MultiValueRemove, OptionType, Checkbox, noop, CHECKBOX_VALUE, + SelectPicker, + ComponentSizeType, } from '@devtron-labs/devtron-fe-common-lib' -import Select from 'react-select' import { usePermissionConfiguration } from '../PermissionConfigurationForm' -import { authorizationSelectStyles, ActionTypes } from '../../../constants' +import { ActionTypes } from '../../../constants' import { ChartPermissionRow } from './types' import { ChartPermissionValues, CHART_PERMISSION_OPTIONS } from './constants' @@ -114,39 +112,24 @@ const ChartPermission = React.memo(({ chartGroupsList }: ChartPermissionRow) => rootClassName="mb-0" value={CHECKBOX_VALUE.CHECKED} /> - )}
From c2ac65fefb0033b97ed11566f4add365d69cf6d8 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 18:08:13 +0530 Subject: [PATCH 103/186] refactor: use common util --- .../List/ExportUserPermissionsToCsv.tsx | 14 ++++---------- .../common/ExportToCsv/ExportConfiguration.tsx | 14 +++++++++----- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx index 32f83420ac..d494e2e48e 100644 --- a/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/UserPermissions/List/ExportUserPermissionsToCsv.tsx @@ -14,10 +14,8 @@ * limitations under the License. */ -import moment from 'moment' -import { UserTypeToFetchType } from '@devtron-labs/devtron-fe-common-lib' +import { getFormattedUTCTimeForExport, UserTypeToFetchType } from '@devtron-labs/devtron-fe-common-lib' import { ExportToCsvProps } from '@Components/common/ExportToCsv/types' -import { Moment12HourExportFormat } from '../../../../../config' import { UserPermissionListHeaderProps } from './types' import ExportToCsv from '../../../../../components/common/ExportToCsv/ExportToCsv' @@ -58,9 +56,7 @@ const ExportUserPermissionsToCsv = ({ isRowAdded = true } - const updatedOn = _user.updatedOn - ? `${moment(_user.updatedOn).utc().format(Moment12HourExportFormat)} (UTC)` - : '-' + const updatedOn = getFormattedUTCTimeForExport(_user.updatedOn) const _userData = { emailId: _user.emailId, @@ -69,9 +65,7 @@ const ExportUserPermissionsToCsv = ({ ? { status: getStatusExportText(_user.userStatus, _user.timeToLive), permissionStatus: '-', - createdOn: _user.createdOn - ? `${moment(_user.createdOn).utc().format(Moment12HourExportFormat)} (UTC)` - : '-', + createdOn: getFormattedUTCTimeForExport(_user.createdOn), updatedOn, deletedOn: _user.isDeleted ? updatedOn : '-', isDeleted: _user.isDeleted, @@ -80,7 +74,7 @@ const ExportUserPermissionsToCsv = ({ lastLoginTime: _user.lastLoginTime === LAST_LOGIN_TIME_NULL_STATE ? _user.lastLoginTime - : `${moment(_user.lastLoginTime).utc().format(Moment12HourExportFormat)} (UTC)`, + : getFormattedUTCTimeForExport(_user.lastLoginTime), superAdmin: _user.superAdmin, group: '-', project: '-', diff --git a/src/components/common/ExportToCsv/ExportConfiguration.tsx b/src/components/common/ExportToCsv/ExportConfiguration.tsx index 2a5aa7900f..b99e824b2c 100644 --- a/src/components/common/ExportToCsv/ExportConfiguration.tsx +++ b/src/components/common/ExportToCsv/ExportConfiguration.tsx @@ -15,7 +15,7 @@ */ import { ChangeEvent, useEffect } from 'react' -import { Checkbox, CHECKBOX_VALUE } from '@devtron-labs/devtron-fe-common-lib' +import { Checkbox, CHECKBOX_VALUE, Tooltip } from '@devtron-labs/devtron-fe-common-lib' import { ExportConfigurationProps } from './types' export const ExportConfiguration = ({ @@ -59,11 +59,15 @@ export const ExportConfiguration = ({ rootClassName="m-0 w-20 h-20" />

- {label} + + {label} + {description && ( - - {description} - + + + {description} + + )}

From 77bd3ce9e97398efdbd61f1d8f7f39a4b88b3314 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 18:20:01 +0530 Subject: [PATCH 104/186] refactor: code clean up --- .../common/ExportToCsv/ExportToCsv.tsx | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/components/common/ExportToCsv/ExportToCsv.tsx b/src/components/common/ExportToCsv/ExportToCsv.tsx index c4c81e9529..080100905a 100644 --- a/src/components/common/ExportToCsv/ExportToCsv.tsx +++ b/src/components/common/ExportToCsv/ExportToCsv.tsx @@ -24,12 +24,12 @@ import { ComponentSizeType, ButtonStyleType, logExceptionToSentry, + GenericSectionErrorState, } from '@devtron-labs/devtron-fe-common-lib' import moment from 'moment' import { ReactComponent as ExportIcon } from '@Icons/ic-arrow-line-down.svg' import { ReactComponent as Success } from '@Icons/ic-success.svg' import { ReactComponent as ICDownload } from '@Icons/ic-download.svg' -import { ReactComponent as Error } from '@Icons/ic-error-exclamation.svg' import { CSV_HEADERS, FILE_NAMES } from './constants' import { Moment12HourExportFormat } from '../../../config' import { ExportToCsvProps } from './types' @@ -179,14 +179,13 @@ const ExportToCsv = ({ if (errorExportingData) { return ( -
- - Unable to export data - - Encountered an error while trying to export. Please try again. If error persists then try after - some time. - -
+ ) } @@ -199,13 +198,17 @@ const ExportToCsv = ({ } return ( -
+
Your export is ready If download does not start automatically, - - click here to download manually. - +
) } From 5eaa969753d2f906a556670bd5d33751591ad402 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Mon, 23 Dec 2024 19:07:47 +0530 Subject: [PATCH 105/186] fix: redirection for history link to correct app id --- .../ClusterEnvironmentDrawer.tsx | 2 +- src/components/ApplicationGroup/AppGroup.utils.ts | 9 +++++++-- src/components/app/details/triggerView/types.ts | 1 + .../app/details/triggerView/workflow/Workflow.tsx | 1 + .../triggerView/workflow/nodes/triggerCDNode.tsx | 13 +++++-------- .../workflow/nodes/triggerPrePostCDNode.tsx | 7 +++---- 6 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx index fc1fb3a6bf..8bebde5c39 100644 --- a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx +++ b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx @@ -238,7 +238,7 @@ export const ClusterEnvironmentDrawer = ({
diff --git a/src/components/ApplicationGroup/AppGroup.utils.ts b/src/components/ApplicationGroup/AppGroup.utils.ts index 7b7aee5f09..91fa792d5e 100644 --- a/src/components/ApplicationGroup/AppGroup.utils.ts +++ b/src/components/ApplicationGroup/AppGroup.utils.ts @@ -298,14 +298,19 @@ export const parseSearchParams = (searchParams: URLSearchParams) => ({ export const getAppGroupDeploymentHistoryLink = ( appId: number, - pipelineId: string, envId: string, + pipelineId: string, redirectToAppGroup: boolean = true, + status: string = '', ) => { + if (status === 'Progressing') { + //If deployment is in progress then it will redirect to app details page + return `${URLS.APP}/${appId}/${URLS.APP_DETAILS}/${envId}/` + } if (redirectToAppGroup) { // It will redirect to application group deployment history in case of same environment return `${URLS.APPLICATION_GROUP}/${envId}/${URLS.APP_CD_DETAILS}/${appId}/${pipelineId}/` + // It will redirect to application deployment history in case of other environments } - // It will redirect to application deployment history in case of other environments return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}/` } diff --git a/src/components/app/details/triggerView/types.ts b/src/components/app/details/triggerView/types.ts index b53b470ee9..61ee7340ab 100644 --- a/src/components/app/details/triggerView/types.ts +++ b/src/components/app/details/triggerView/types.ts @@ -310,6 +310,7 @@ export interface TriggerPrePostCDNodeProps isGitOpsRepoNotConfigured?: boolean deploymentAppType: DeploymentAppTypes isDeploymentBlocked?: boolean + appId: number } export interface TriggerPrePostCDNodeState { showGitOpsRepoConfiguredWarning: boolean diff --git a/src/components/app/details/triggerView/workflow/Workflow.tsx b/src/components/app/details/triggerView/workflow/Workflow.tsx index 0e9f4b8892..e71a5203c4 100644 --- a/src/components/app/details/triggerView/workflow/Workflow.tsx +++ b/src/components/app/details/triggerView/workflow/Workflow.tsx @@ -296,6 +296,7 @@ export class Workflow extends Component { index={this.props.index} isGitOpsRepoNotConfigured={node.isGitOpsRepoNotConfigured} deploymentAppType={node.deploymentAppType} + appId={this.props.appId} isDeploymentBlocked={node.isDeploymentBlocked} isTriggerBlocked={node.isTriggerBlocked} /> diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx index df2d08efbc..54c0718ad1 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerCDNode.tsx @@ -23,10 +23,11 @@ import { triggerStatus, statusColor, statusIcon, + URLS, } from '@devtron-labs/devtron-fe-common-lib' import { TriggerCDNodeProps, TriggerCDNodeState } from '../../types' import { ReactComponent as Rollback } from '../../../../../../assets/icons/ic-rollback.svg' -import { URLS, DEFAULT_STATUS } from '../../../../../../config' +import { DEFAULT_STATUS } from '../../../../../../config' import { TriggerViewContext } from '../../config' import { envDescriptionTippy, getNodeSideHeadingAndClass } from './workflow.utils' import NoGitOpsRepoConfiguredWarning, { @@ -38,7 +39,6 @@ import { getAppGroupDeploymentHistoryLink } from '@Components/ApplicationGroup/A export class TriggerCDNode extends Component { constructor(props) { super(props) - this.redirectToCDDetails = this.redirectToCDDetails.bind(this) this.state = { showGitOpsRepoConfiguredWarning: false, gitopsConflictLoading: false, @@ -48,13 +48,14 @@ export class TriggerCDNode extends Component { if (this.props.fromAppGrouping) { return getAppGroupDeploymentHistoryLink( this.props.appId, - this.props.id, this.props.environmentId, + this.props.id, this.props.match.params.envId === this.props.environmentId.toString(), + this.props.status, ) } return `${this.props.match.url.split('/').slice(0, -1).join('/')}/${URLS.APP_DETAILS}/${ @@ -62,10 +63,6 @@ export class TriggerCDNode extends Component, prevState: Readonly): void { if (prevProps.isGitOpsRepoNotConfigured !== this.props.isGitOpsRepoNotConfigured) { this.setState({ diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx index ebb0e3bbce..c19426bb22 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx @@ -31,19 +31,18 @@ export class TriggerPrePostCDNode extends Component { this.props.history.push(this.getCDDetailsURL()) } @@ -106,7 +105,7 @@ export class TriggerPrePostCDNode extends Component { if (isClickable) { - this.redirectToCDDetails(e) + this.redirectToCDDetails() } }} > From 9ab79973262168d57c5411e50d105e0b1fa258c2 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Mon, 23 Dec 2024 19:49:44 +0530 Subject: [PATCH 106/186] fix: padding and state issues --- .../common/ExportToCsv/ExportConfiguration.tsx | 5 +++-- src/components/common/ExportToCsv/ExportToCsv.tsx | 5 +++-- src/components/common/ExportToCsv/utils.ts | 13 +++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/components/common/ExportToCsv/utils.ts diff --git a/src/components/common/ExportToCsv/ExportConfiguration.tsx b/src/components/common/ExportToCsv/ExportConfiguration.tsx index b99e824b2c..64039cabc7 100644 --- a/src/components/common/ExportToCsv/ExportConfiguration.tsx +++ b/src/components/common/ExportToCsv/ExportConfiguration.tsx @@ -17,6 +17,7 @@ import { ChangeEvent, useEffect } from 'react' import { Checkbox, CHECKBOX_VALUE, Tooltip } from '@devtron-labs/devtron-fe-common-lib' import { ExportConfigurationProps } from './types' +import { getDefaultValueFromConfiguration } from './utils' export const ExportConfiguration = ({ selectedConfig, @@ -34,7 +35,7 @@ export const ExportConfiguration = ({ useEffect( () => () => { - setSelectedConfig({} as Record) + setSelectedConfig(getDefaultValueFromConfiguration(configuration)) }, [], ) @@ -45,7 +46,7 @@ export const ExportConfiguration = ({
{options.map(({ label, value, description }) => (
-
- - + variant={ButtonVariantType.secondary} + style={ButtonStyleType.neutral} + dataTestId="k8s-permission-cancel" + /> +
From 068c299d8f4a22ad5850870dcd95da1ae2bba364 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Tue, 24 Dec 2024 13:58:40 +0530 Subject: [PATCH 127/186] fix: dep array --- .../PermissionConfigurationFormProvider.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/PermissionConfigurationForm/PermissionConfigurationFormProvider.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/PermissionConfigurationForm/PermissionConfigurationFormProvider.tsx index de00f1036d..f6c08b2824 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/PermissionConfigurationForm/PermissionConfigurationFormProvider.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/PermissionConfigurationForm/PermissionConfigurationFormProvider.tsx @@ -149,7 +149,6 @@ export const PermissionConfigurationFormProvider = ({ data, showStatus, isSaveDisabled, - setIsSaveDisabled, ], ) From 9dd3794e3186419a935b7be24b9be52036199d08 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Tue, 24 Dec 2024 14:09:30 +0530 Subject: [PATCH 128/186] chore: bump common --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 04191253f4..80a79f6d14 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.2-beta-1", + "@devtron-labs/devtron-fe-common-lib": "1.3.3", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index 01b17b7661..017eb443eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.2-beta-1": - version "1.3.2-beta-1" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.2-beta-1.tgz#a5d986ee3095490cabd88a31905e823cb5883fff" - integrity sha512-lf0fzqJtpkeVt9g8uHHdiHJv7pPoPh++styxju1NkGOHb7Y8FtcjqPrnmxzD6O+27rfH5mKIogzy6AND5tFG3Q== +"@devtron-labs/devtron-fe-common-lib@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.3.tgz#6471aef5d3ade3c0b2339a1f121581473054ec58" + integrity sha512-PJs310nrDJazfx6PPFvwA4p60yInUKULlSeFDpP/weoIi9bVRsaK2pMHDYl49LcpbpuQiLotMS5uSGVPaN5C+A== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From 30cc7955d74f6f720ec96be71db913803aef74e3 Mon Sep 17 00:00:00 2001 From: Rohit Raj Date: Tue, 24 Dec 2024 15:04:13 +0530 Subject: [PATCH 129/186] fix: VariableDataTable - file uploading loading state not visible fix, choices not clearing when changing format fix --- .../VariableDataTable/ValueConfigOverlay.tsx | 8 ++++++-- .../VariableDataTable.component.tsx | 20 +++++++++++++------ .../CIPipelineN/VariableDataTable/types.ts | 13 +++++++++--- .../CIPipelineN/VariableDataTable/utils.tsx | 4 ++++ 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/components/CIPipelineN/VariableDataTable/ValueConfigOverlay.tsx b/src/components/CIPipelineN/VariableDataTable/ValueConfigOverlay.tsx index f0cd3f41ec..a9e3efc19d 100644 --- a/src/components/CIPipelineN/VariableDataTable/ValueConfigOverlay.tsx +++ b/src/components/CIPipelineN/VariableDataTable/ValueConfigOverlay.tsx @@ -1,4 +1,4 @@ -import { ChangeEvent, useState } from 'react' +import { ChangeEvent, useEffect, useState } from 'react' import { Button, @@ -34,7 +34,7 @@ export const ValueConfigOverlay = ({ row, handleRowUpdateAction }: ConfigOverlay const { choices: initialChoices, askValueAtRuntime, blockCustomValue, fileInfo } = customState // STATES - const [choices, setChoices] = useState(initialChoices.map((choice, id) => ({ id, value: choice, error: '' }))) + const [choices, setChoices] = useState([]) const [fileSize, setFileSize] = useState({ value: fileInfo.maxUploadSize, error: '' }) // CONSTANTS @@ -46,6 +46,10 @@ export const ValueConfigOverlay = ({ row, handleRowUpdateAction }: ConfigOverlay const hasFileMountError = !fileInfo.fileMountDir const showIconDot = !!choices.length || askValueAtRuntime || blockCustomValue || isFormatFile + useEffect(() => { + setChoices(initialChoices.map((choice, id) => ({ id, value: choice, error: '' }))) + }, [data.format.value]) + // METHODS const handleAddChoices = () => { setChoices([{ value: '', id: choices.length + 1, error: '' }, ...choices]) diff --git a/src/components/CIPipelineN/VariableDataTable/VariableDataTable.component.tsx b/src/components/CIPipelineN/VariableDataTable/VariableDataTable.component.tsx index 31eaabe5bb..e7fb88c56f 100644 --- a/src/components/CIPipelineN/VariableDataTable/VariableDataTable.component.tsx +++ b/src/components/CIPipelineN/VariableDataTable/VariableDataTable.component.tsx @@ -1,4 +1,4 @@ -import { useContext, useMemo } from 'react' +import { useContext, useMemo, useRef } from 'react' import { Button, @@ -106,6 +106,9 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa isInputPluginVariable ? 'inputVariables' : 'outputVariables' ] + // FILE UPLOADING STATUS REF (Record of rowIds and status) + const isFileUploading = useRef>({}) + // TABLE ROWS const rows = useMemo( () => @@ -119,6 +122,7 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa selectedTaskIndex, inputVariablesListFromPrevStep, isCdPipeline, + isFileUploading: isFileUploading.current, }), [ioVariables], ) @@ -256,7 +260,7 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa case VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO: if (selectedRow && selectedRow.data.val.type === DynamicDataTableRowDataType.FILE_UPLOAD) { selectedRow.data.val.value = rowAction.actionValue.fileName - selectedRow.data.val.props.isLoading = rowAction.actionValue.isLoading + selectedRow.data.val.props.isLoading = isFileUploading.current[selectedRow.id] selectedRow.customState.fileInfo.fileReferenceId = rowAction.actionValue.fileReferenceId } break @@ -347,6 +351,7 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa selectedRow.data.val = getValColumnRowProps({ ...defaultRowValColumnParams, format: rowAction.actionValue, + valueConstraint: null, }) selectedRow.customState = { ...customState, @@ -418,15 +423,16 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa ) { handleRowUpdateAction({ actionType: VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO, - actionValue: { fileReferenceId: null, isLoading: false, fileName: value }, + actionValue: { fileReferenceId: null, fileName: value }, rowId: updatedRow.id, }) if (extraData.files.length) { try { + isFileUploading.current[updatedRow.id] = true handleRowUpdateAction({ actionType: VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO, - actionValue: { fileReferenceId: null, isLoading: true, fileName: value }, + actionValue: { fileReferenceId: null, fileName: value }, rowId: updatedRow.id, }) @@ -439,15 +445,17 @@ export const VariableDataTable = ({ type, isCustomTask = false }: VariableDataTa }), }) + isFileUploading.current[updatedRow.id] = false handleRowUpdateAction({ actionType: VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO, - actionValue: { fileReferenceId: id, isLoading: false, fileName: name }, + actionValue: { fileReferenceId: id, fileName: name }, rowId: updatedRow.id, }) } catch { + isFileUploading.current[updatedRow.id] = false handleRowUpdateAction({ actionType: VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO, - actionValue: { fileReferenceId: null, isLoading: false, fileName: '' }, + actionValue: { fileReferenceId: null, fileName: '' }, rowId: updatedRow.id, }) } diff --git a/src/components/CIPipelineN/VariableDataTable/types.ts b/src/components/CIPipelineN/VariableDataTable/types.ts index 9c027b4b35..665b9dca7e 100644 --- a/src/components/CIPipelineN/VariableDataTable/types.ts +++ b/src/components/CIPipelineN/VariableDataTable/types.ts @@ -83,7 +83,6 @@ type VariableDataTableActionPropsMap = { [VariableDataTableActionType.UPDATE_FILE_UPLOAD_INFO]: { actionValue: Pick & { fileName: string - isLoading: boolean } } @@ -148,16 +147,24 @@ export type GetValColumnRowPropsType = Pick< Pick< VariableType, 'format' | 'value' | 'refVariableName' | 'refVariableStage' | 'valueConstraint' | 'description' | 'variableType' - > & { type: PluginVariableType } + > & { type: PluginVariableType; isFileUploading?: boolean } export interface GetVariableDataTableInitialRowsProps extends Omit< GetValColumnRowPropsType, - 'description' | 'format' | 'variableType' | 'value' | 'refVariableName' | 'refVariableStage' | 'valueConstraint' + | 'description' + | 'format' + | 'variableType' + | 'value' + | 'refVariableName' + | 'refVariableStage' + | 'valueConstraint' + | 'isFileUploading' > { ioVariables: VariableType[] type: PluginVariableType isCustomTask: boolean + isFileUploading: Record } export type GetValidateCellProps = { diff --git a/src/components/CIPipelineN/VariableDataTable/utils.tsx b/src/components/CIPipelineN/VariableDataTable/utils.tsx index 8bbf26d1e2..80a1d6b2d8 100644 --- a/src/components/CIPipelineN/VariableDataTable/utils.tsx +++ b/src/components/CIPipelineN/VariableDataTable/utils.tsx @@ -242,6 +242,7 @@ export const getValColumnRowProps = ({ isCdPipeline, selectedTaskIndex, inputVariablesListFromPrevStep, + isFileUploading, }: GetValColumnRowPropsType): VariableDataRowType['data']['format'] => { if (type === PluginVariableType.INPUT) { if (format === VariableTypeFormat.FILE) { @@ -249,6 +250,7 @@ export const getValColumnRowProps = ({ type: DynamicDataTableRowDataType.FILE_UPLOAD, value, props: { + isLoading: isFileUploading, fileTypes: valueConstraint?.constraint?.fileProperty?.allowedExtensions || [], }, } @@ -371,6 +373,7 @@ export const getVariableDataTableRows = ({ ioVariables, type, isCustomTask, + isFileUploading, ...restProps }: GetVariableDataTableInitialRowsProps): VariableDataRowType[] => (ioVariables || []).map( @@ -401,6 +404,7 @@ export const getVariableDataTableRows = ({ refVariableName, refVariableStage, valueConstraint, + isFileUploading: isFileUploading[id], }) return { From 3c148c7a8285bcd13d72139df471116a2c36138e Mon Sep 17 00:00:00 2001 From: Arun Jain Date: Tue, 24 Dec 2024 15:25:50 +0530 Subject: [PATCH 130/186] chore: version bump --- package.json | 2 +- yarn.lock | 2127 ++++++++++++++++++-------------------------------- 2 files changed, 748 insertions(+), 1381 deletions(-) diff --git a/package.json b/package.json index 80a79f6d14..ff469ca56f 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.3", + "@devtron-labs/devtron-fe-common-lib": "1.3.4", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index c18371b709..82ef11b422 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,7 +24,7 @@ jsonpointer "^5.0.0" leven "^3.1.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.24.7": 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== @@ -37,7 +37,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.24.5", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": +"@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.24.4", "@babel/core@^7.24.5": version "7.25.2" resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz" integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== @@ -58,7 +58,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": +"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6": version "7.25.6" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz" integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== @@ -160,7 +160,7 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz" integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== @@ -241,7 +241,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": version "7.25.6" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz" integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== @@ -299,13 +299,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" @@ -362,13 +355,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -425,13 +411,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.9" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" @@ -950,14 +929,14 @@ resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.25.7" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz" integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": +"@babel/template@^7.24.7", "@babel/template@^7.25.0": version "7.25.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz" integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== @@ -979,7 +958,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": version "7.25.6" resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz" integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== @@ -988,11 +967,6 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" @@ -1000,9 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@file:../devtron-fe-common-lib": +"@devtron-labs/devtron-fe-common-lib@1.3.4": version "1.3.4" - resolved "file:../devtron-fe-common-lib" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.4.tgz#def073c5b2db04a09b88a9dddadb80eba7f05fe1" + integrity sha512-aaOuTUu+Ofl22+7OGdEDv4Ub2CsClTVMVR96CPQPiVDk1b6VMIqB8BOeIXdi4vQ0jbRlVom0MHOaI+Jg7259pg== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -1017,21 +992,16 @@ sass "^1.69.7" tslib "2.7.0" -"@devtron-labs/devtron-fe-lib@file:../devtron-fe-lib": - version "1.3.0" - resolved "file:../devtron-fe-lib" +"@emnapi/runtime@^1.2.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" + integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== dependencies: - fast-json-patch "^3.1.1" - jsonpath-plus "^10.0.0" - moment-timezone "^0.5.45" - react-ga4 "^1.4.1" - react-grid-layout "^1.5.0" - sass "^1.69.7" - tslib "2.7.0" + tslib "^2.4.0" -"@emotion/babel-plugin@^11.11.0": +"@emotion/babel-plugin@^11.11.0", "@emotion/babel-plugin@^11.13.5": version "11.13.5" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" @@ -1057,11 +1027,45 @@ "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" +"@emotion/cache@^11.13.5": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/css@^11.11.2": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" + integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== + dependencies: + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.13.5" + "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/hash@^0.9.2": version "0.9.2" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz" integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== +"@emotion/is-prop-valid@^0.8.2": + version "0.8.8" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== + dependencies: + "@emotion/memoize" "0.7.4" + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + "@emotion/memoize@^0.9.0": version "0.9.0" resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz" @@ -1127,11 +1131,121 @@ resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz" integrity sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw== +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + "@esbuild/darwin-arm64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -1210,149 +1324,111 @@ optionalDependencies: "@img/sharp-libvips-darwin-arm64" "1.0.4" +"@img/sharp-darwin-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" + integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-darwin-arm64@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz" integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" +"@img/sharp-libvips-darwin-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" + integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@img/sharp-libvips-linux-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" + integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" +"@img/sharp-libvips-linux-s390x@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" + integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" +"@img/sharp-libvips-linux-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" + integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" +"@img/sharp-libvips-linuxmusl-arm64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" + integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" +"@img/sharp-libvips-linuxmusl-x64@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" + integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" +"@img/sharp-linux-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" + integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.0.4" -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== +"@img/sharp-linux-s390x@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" + integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.0.4" + +"@img/sharp-linux-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" + integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.0.4" + +"@img/sharp-linuxmusl-arm64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" + integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + +"@img/sharp-linuxmusl-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" + integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + +"@img/sharp-wasm32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" + integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" + "@emnapi/runtime" "^1.2.0" + +"@img/sharp-win32-ia32@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" + integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== + +"@img/sharp-win32-x64@0.33.5": + version "0.33.5" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" + integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== "@jest/schemas@^28.1.3": version "28.1.3" @@ -1368,57 +1444,7 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.0.0", "@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.0.0", "@jest/types@^29.6.3": +"@jest/types@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== @@ -1472,14 +1498,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" @@ -1488,6 +1506,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jsep-plugin/assignment@^1.2.1": version "1.2.1" resolved "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.2.1.tgz" @@ -1505,6 +1531,59 @@ dependencies: "@types/mdx" "^2.0.0" +"@motionone/animation@^10.12.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.18.0.tgz#868d00b447191816d5d5cf24b1cafa144017922b" + integrity sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw== + dependencies: + "@motionone/easing" "^10.18.0" + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/dom@10.12.0": + version "10.12.0" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.12.0.tgz#ae30827fd53219efca4e1150a5ff2165c28351ed" + integrity sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw== + dependencies: + "@motionone/animation" "^10.12.0" + "@motionone/generators" "^10.12.0" + "@motionone/types" "^10.12.0" + "@motionone/utils" "^10.12.0" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.18.0.tgz#7b82f6010dfee3a1bb0ee83abfbaff6edae0c708" + integrity sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg== + dependencies: + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/generators@^10.12.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.18.0.tgz#fe09ab5cfa0fb9a8884097feb7eb60abeb600762" + integrity sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg== + dependencies: + "@motionone/types" "^10.17.1" + "@motionone/utils" "^10.18.0" + tslib "^2.3.1" + +"@motionone/types@^10.12.0", "@motionone/types@^10.17.1": + version "10.17.1" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.1.tgz#cf487badbbdc9da0c2cb86ffc1e5d11147c6e6fb" + integrity sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A== + +"@motionone/utils@^10.12.0", "@motionone/utils@^10.18.0": + version "10.18.0" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.18.0.tgz#a59ff8932ed9009624bca07c56b28ef2bb2f885e" + integrity sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw== + dependencies: + "@motionone/types" "^10.17.1" + hey-listen "^1.0.8" + tslib "^2.3.1" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -1513,7 +1592,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1554,7 +1633,7 @@ nanoid "^3.3.7" prop-types "^15.8.1" -"@rjsf/utils@^5.13.3", "@rjsf/utils@^5.18.x": +"@rjsf/utils@^5.13.3": version "5.18.5" resolved "https://registry.npmjs.org/@rjsf/utils/-/utils-5.18.5.tgz" integrity sha512-b39ZSPv2lpH+VXUKrVsPnPyOKcTa9P08h50J0A1+7xHj6dm4KG1KY/mY4QCaNavZVXsQoieHOe8kmdFDlXirzA== @@ -1630,10 +1709,100 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-darwin-arm64@4.29.1": - version "4.29.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz" - integrity sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw== +"@rollup/rollup-android-arm-eabi@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz#7f4c4d8cd5ccab6e95d6750dbe00321c1f30791e" + integrity sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ== + +"@rollup/rollup-android-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz#17ea71695fb1518c2c324badbe431a0bd1879f2d" + integrity sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA== + +"@rollup/rollup-darwin-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz" + integrity sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ== + +"@rollup/rollup-darwin-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz#8f63baa1d31784904a380d2e293fa1ddf53dd4a2" + integrity sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ== + +"@rollup/rollup-freebsd-arm64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz#30ed247e0df6e8858cdc6ae4090e12dbeb8ce946" + integrity sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA== + +"@rollup/rollup-freebsd-x64@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz#57846f382fddbb508412ae07855b8a04c8f56282" + integrity sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ== + +"@rollup/rollup-linux-arm-gnueabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz#378ca666c9dae5e6f94d1d351e7497c176e9b6df" + integrity sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA== + +"@rollup/rollup-linux-arm-musleabihf@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz#a692eff3bab330d5c33a5d5813a090c15374cddb" + integrity sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg== + +"@rollup/rollup-linux-arm64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz#6b1719b76088da5ac1ae1feccf48c5926b9e3db9" + integrity sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA== + +"@rollup/rollup-linux-arm64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz#865baf5b6f5ff67acb32e5a359508828e8dc5788" + integrity sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A== + +"@rollup/rollup-linux-loongarch64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz#23c6609ba0f7fa7a7f2038b6b6a08555a5055a87" + integrity sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz#652ef0d9334a9f25b9daf85731242801cb0fc41c" + integrity sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A== + +"@rollup/rollup-linux-riscv64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz#1eb6651839ee6ebca64d6cc64febbd299e95e6bd" + integrity sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA== + +"@rollup/rollup-linux-s390x-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz#015c52293afb3ff2a293cf0936b1d43975c1e9cd" + integrity sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg== + +"@rollup/rollup-linux-x64-gnu@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz#b83001b5abed2bcb5e2dbeec6a7e69b194235c1e" + integrity sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw== + +"@rollup/rollup-linux-x64-musl@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz#6cc7c84cd4563737f8593e66f33b57d8e228805b" + integrity sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g== + +"@rollup/rollup-win32-arm64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz#631ffeee094d71279fcd1fe8072bdcf25311bc11" + integrity sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A== + +"@rollup/rollup-win32-ia32-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz#06d1d60d5b9f718e8a6c4a43f82e3f9e3254587f" + integrity sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA== + +"@rollup/rollup-win32-x64-msvc@4.28.1": + version "4.28.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz#4dff5c4259ebe6c5b4a8f2c5bc3829b7a8447ff0" + integrity sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA== "@sentry-internal/feedback@7.119.1": version "7.119.1" @@ -1692,6 +1861,36 @@ resolved "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.32.1.tgz" integrity sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw== +"@sentry/cli-linux-arm64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.32.1.tgz#785a5d5d3d2919c581bf5b4efc638c3695d8c3bf" + integrity sha512-hsGqHYuecUl1Yhq4MhiRejfh1gNlmhyNPcQEoO/DDRBnGnJyEAdiDpKXJcc2e/lT9k40B55Ob2CP1SeY040T2w== + +"@sentry/cli-linux-arm@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.32.1.tgz#7f9e8292850311bab263e7b84800eb407ff37998" + integrity sha512-m0lHkn+o4YKBq8KptGZvpT64FAwSl9mYvHZO9/ChnEGIJ/WyJwiN1X1r9JHVaW4iT5lD0Y5FAyq3JLkk0m0XHg== + +"@sentry/cli-linux-i686@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.32.1.tgz#8e85fa58dee042e6a4642e960d226788f8e7288b" + integrity sha512-SuMLN1/ceFd3Q/B0DVyh5igjetTAF423txiABAHASenEev0lG0vZkRDXFclfgDtDUKRPmOXW7VDMirM3yZWQHQ== + +"@sentry/cli-linux-x64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.32.1.tgz#b68ed9c4ba163b6730d386dbeca828114f1c979b" + integrity sha512-x4FGd6xgvFddz8V/dh6jii4wy9qjWyvYLBTz8Fhi9rIP+b8wQ3oxwHIdzntareetZP7C1ggx+hZheiYocNYVwA== + +"@sentry/cli-win32-i686@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.32.1.tgz#e2532893f87f5d180f6e56f49904d4ac141c8788" + integrity sha512-i6aZma9mFzR+hqMY5VliQZEX6ypP/zUjPK0VtIMYWs5cC6PsQLRmuoeJmy3Z7d4nlh0CdK5NPC813Ej6RY6/vg== + +"@sentry/cli-win32-x64@2.32.1": + version "2.32.1" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.32.1.tgz#6b60607cbba243f3708779443cd3f16e09d4289c" + integrity sha512-B58w/lRHLb4MUSjJNfMMw2cQykfimDCMLMmeK+1EiT2RmSeNQliwhhBxYcKk82a8kszH6zg3wT2vCea7LyPUyA== + "@sentry/cli@^2.2.0": version "2.32.1" resolved "https://registry.npmjs.org/@sentry/cli/-/cli-2.32.1.tgz" @@ -1800,20 +1999,6 @@ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - "@storybook/addon-a11y@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.2.tgz" @@ -1822,7 +2007,7 @@ "@storybook/addon-highlight" "8.4.2" axe-core "^4.2.0" -"@storybook/addon-actions@^8.4.2", "@storybook/addon-actions@8.4.2": +"@storybook/addon-actions@8.4.2", "@storybook/addon-actions@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.2.tgz" integrity sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g== @@ -1935,7 +2120,7 @@ dependencies: memoizerific "^1.11.3" -"@storybook/blocks@^8.4.2", "@storybook/blocks@8.4.2": +"@storybook/blocks@8.4.2", "@storybook/blocks@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.2.tgz" integrity sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA== @@ -2044,7 +2229,7 @@ resolve "^1.22.8" tsconfig-paths "^4.2.0" -"@storybook/react@^8.4.2", "@storybook/react@8.4.2": +"@storybook/react@8.4.2", "@storybook/react@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/react/-/react-8.4.2.tgz" integrity sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q== @@ -2056,7 +2241,7 @@ "@storybook/react-dom-shim" "8.4.2" "@storybook/theming" "8.4.2" -"@storybook/test@^8.4.2", "@storybook/test@8.4.2": +"@storybook/test@8.4.2", "@storybook/test@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/test/-/test-8.4.2.tgz" integrity sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA== @@ -2139,7 +2324,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@^6.0.0", "@svgr/core@^6.5.1": +"@svgr/core@^6.5.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== @@ -2168,34 +2353,47 @@ "@svgr/hast-util-to-babel-ast" "^6.5.1" svg-parser "^2.0.4" -"@testing-library/dom@^8.0.0": - version "8.20.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== +"@testing-library/dom@10.4.0": + version "10.4.0" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" + integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.1.3" + aria-query "5.3.0" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/dom@>=7.21.4", "@testing-library/dom@10.4.0": - version "10.4.0" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" - integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.3.0" + aria-query "5.1.3" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" +"@testing-library/jest-dom@6.5.0": + version "6.5.0" + resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" + integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== + dependencies: + "@adobe/css-tools" "^4.4.0" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.6.3" + lodash "^4.17.21" + redent "^3.0.0" + "@testing-library/jest-dom@^5.16.2": version "5.17.0" resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz" @@ -2211,19 +2409,6 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/jest-dom@6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" - integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== - dependencies: - "@adobe/css-tools" "^4.4.0" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.6.3" - lodash "^4.17.21" - redent "^3.0.0" - "@testing-library/react@^12.1.4": version "12.1.5" resolved "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz" @@ -2288,7 +2473,7 @@ resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9", "@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": +"@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -2314,7 +2499,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0": +"@types/babel__traverse@*", "@types/babel__traverse@^7.18.0": version "7.20.6" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== @@ -2343,10 +2528,7 @@ dependencies: "@types/d3-color" "*" -"@types/d3-path@*": - version "3.1.0" - -"@types/d3-path@^1": +"@types/d3-path@*", "@types/d3-path@^1": version "1.0.11" resolved "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.11.tgz" integrity sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw== @@ -2387,16 +2569,16 @@ resolved "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== -"@types/estree@^1.0.0", "@types/estree@1.0.6": - version "1.0.6" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@1.0.6", "@types/estree@^1.0.0": + version "1.0.6" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/glob@^7.1.3": version "7.2.0" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" @@ -2405,19 +2587,12 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - "@types/history@^4.7.11": version "4.7.11" resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== @@ -2464,7 +2639,7 @@ resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@20.11.0": +"@types/node@*", "@types/node@20.11.0": version "20.11.0" resolved "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz" integrity sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ== @@ -2488,13 +2663,29 @@ dependencies: "@types/react" "*" -"@types/react-dom@<18.0.0", "@types/react-dom@17.0.13": +"@types/react-dates@^21.8.6": + version "21.8.6" + resolved "https://registry.yarnpkg.com/@types/react-dates/-/react-dates-21.8.6.tgz#ec9314b59e9d8e1ad71ccf021a7634e8afd26135" + integrity sha512-fDF322SOXAxstapv0/oruiPx9kY4DiiaEHYAVvXdPfQhi/hdaONsA9dFw5JBNPAWz7Niuwk+UUhxPU98h70TjA== + dependencies: + "@types/react" "*" + "@types/react-outside-click-handler" "*" + moment "^2.26.0" + +"@types/react-dom@17.0.13", "@types/react-dom@<18.0.0": version "17.0.13" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz" integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ== dependencies: "@types/react" "*" +"@types/react-outside-click-handler@*": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/react-outside-click-handler/-/react-outside-click-handler-1.3.4.tgz#999e61057a3a23c6dfc9159b28f96378749d6c42" + integrity sha512-kLuYIa9nWk1n0ywJPbVWqOEIRg0mh3vumriCHbz6LUObJw4rXYx9inDm8G579BtnH8vC0wKfrTq5c2y/K/Xzww== + dependencies: + "@types/react" "*" + "@types/react-router-dom@^5.3.3": version "5.3.3" resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" @@ -2519,7 +2710,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@>=16", "@types/react@>=16 <= 18", "@types/react@17.0.39": +"@types/react@*", "@types/react@17.0.39": version "17.0.39" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -2544,16 +2735,16 @@ "@types/prop-types" "*" "@types/react" "*" -"@types/resolve@^1.20.2": - version "1.20.6" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" - integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== - "@types/resolve@1.20.2": version "1.20.2" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== +"@types/resolve@^1.20.2": + version "1.20.6" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" + integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== + "@types/scheduler@*": version "0.23.0" resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz" @@ -2564,11 +2755,6 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - "@types/testing-library__jest-dom@^5.9.1": version "5.14.9" resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz" @@ -2613,7 +2799,7 @@ natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@8.3.0": +"@typescript-eslint/parser@8.3.0": version "8.3.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz" integrity sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ== @@ -2687,6 +2873,16 @@ semver "^7.6.0" ts-api-utils "^1.3.0" +"@typescript-eslint/utils@8.3.0": + version "8.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" + integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.3.0" + "@typescript-eslint/types" "8.3.0" + "@typescript-eslint/typescript-estree" "8.3.0" + "@typescript-eslint/utils@^5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" @@ -2701,16 +2897,6 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.3.0": - version "8.3.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" - integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/typescript-estree" "8.3.0" - "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" @@ -2753,7 +2939,7 @@ chai "^5.1.1" tinyrainbow "^1.2.0" -"@vitest/pretty-format@^2.0.5", "@vitest/pretty-format@2.0.5": +"@vitest/pretty-format@2.0.5", "@vitest/pretty-format@^2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz" integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ== @@ -2784,21 +2970,12 @@ magic-string "^0.30.10" pathe "^1.1.2" -"@vitest/spy@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz" - integrity sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA== - dependencies: - tinyspy "^3.0.0" - -"@vitest/utils@^2.1.1": - version "2.1.4" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" - integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== +"@vitest/spy@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz" + integrity sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA== dependencies: - "@vitest/pretty-format" "2.1.4" - loupe "^3.1.2" - tinyrainbow "^1.2.0" + tinyspy "^3.0.0" "@vitest/utils@2.0.5": version "2.0.5" @@ -2810,6 +2987,15 @@ loupe "^3.1.1" tinyrainbow "^1.2.0" +"@vitest/utils@^2.1.1": + version "2.1.4" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" + integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== + dependencies: + "@vitest/pretty-format" "2.1.4" + loupe "^3.1.2" + tinyrainbow "^1.2.0" + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -2822,7 +3008,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: version "8.14.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -2874,7 +3060,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0, ajv@>=8: +ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0: version "8.16.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== @@ -2889,7 +3075,7 @@ ansi-colors@^4.1.3: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -2930,7 +3116,12 @@ ansi-styles@^6.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@^3.0.3, anymatch@~3.1.2: +ansi_up@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-5.2.1.tgz#9437082c7ad4975c15ec57d30a6b55da295bee36" + integrity sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g== + +anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -2943,38 +3134,24 @@ arg@^4.1.0: resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.0.0, aria-query@5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -aria-query@~5.1.3: +aria-query@5.1.3, aria-query@~5.1.3: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== +aria-query@5.3.0, aria-query@^5.0.0: + version "5.3.0" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: - deep-equal "^2.0.5" + dequal "^2.0.3" array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" @@ -3142,40 +3319,6 @@ axobject-query@~3.1.1: dependencies: deep-equal "^2.0.5" -babel-jest@^29.0.0, babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" @@ -3209,35 +3352,6 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.2" -babel-preset-current-node-syntax@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -3292,7 +3406,7 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.23.1, browserslist@^4.23.3, "browserslist@>= 4.21.0": +browserslist@^4.23.1, browserslist@^4.23.3: version "4.24.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -3309,13 +3423,6 @@ bs-logger@^0.2.6: dependencies: fast-json-stable-stringify "2.x" -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" @@ -3347,11 +3454,6 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" @@ -3398,11 +3500,6 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - check-error@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz" @@ -3428,10 +3525,10 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -cjs-module-lexer@^1.0.0: - version "1.4.1" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz" - integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== +classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== clean-stack@^2.0.0: version "2.2.0" @@ -3461,15 +3558,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - clsx@^1.0.4, clsx@^1.1.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" @@ -3480,16 +3568,6 @@ clsx@^2.0.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -3504,16 +3582,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -3649,27 +3727,14 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5: version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" @@ -3730,7 +3795,7 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3": +"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -3752,7 +3817,7 @@ d3-ease@^3.0.1: resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== -d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3": +"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -3789,7 +3854,7 @@ d3-shape@^3.1.0: dependencies: d3-time "1 - 3" -d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3": +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== @@ -3833,11 +3898,18 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -dayjs@^1.11.8: +dayjs@^1.11.13, dayjs@^1.11.8: version "1.11.13" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6: + version "4.3.7" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -3845,13 +3917,6 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@4: - version "4.3.7" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decimal.js-light@^2.4.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" @@ -3862,11 +3927,6 @@ decode-uri-component@^0.2.2: resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz" @@ -3944,11 +4004,6 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - diff-sequences@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" @@ -3959,16 +4014,16 @@ diff-sequences@^28.1.1: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - diff@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -4072,11 +4127,6 @@ electron-to-chromium@^1.5.41: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.51.tgz" integrity sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg== -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -4261,7 +4311,7 @@ esbuild-register@^3.5.0: dependencies: debug "^4.3.4" -esbuild@*, "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3, "esbuild@>=0.12 <1": +"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3: version "0.21.5" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz" integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== @@ -4290,7 +4340,7 @@ esbuild@*, "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23 "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" -escalade@^3.1.1, escalade@^3.2.0: +escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -4300,11 +4350,6 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" @@ -4329,7 +4374,7 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@*, eslint-config-prettier@^9.1.0: +eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== @@ -4363,7 +4408,7 @@ eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" -eslint-plugin-import@*, eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.29.1: +eslint-plugin-import@^2.29.1: version "2.29.1" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== @@ -4386,7 +4431,7 @@ eslint-plugin-import@*, eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25 semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.8.0: +eslint-plugin-jsx-a11y@^6.8.0: version "6.9.0" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz" integrity sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g== @@ -4416,12 +4461,12 @@ eslint-plugin-prettier@^5.1.2: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0: +eslint-plugin-react-hooks@^4.6.0: 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== -eslint-plugin-react@^7.28.0, eslint-plugin-react@^7.33.2: +eslint-plugin-react@^7.33.2: version "7.34.3" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz" integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA== @@ -4476,7 +4521,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.32.0 || ^8.2.0", "eslint@^8.57.0 || ^9.0.0", eslint@^8.57.1, eslint@>=6, eslint@>=7.0.0, eslint@>=8.0.0: +eslint@^8.57.1: version "8.57.1" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz" integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== @@ -4529,7 +4574,7 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@^4.0.0, esprima@~4.0.0: +esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -4595,7 +4640,7 @@ eventsource@^2.0.2: resolved "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz" integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== -execa@^5.0.0, execa@^5.1.1: +execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -4625,22 +4670,6 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -4672,7 +4701,7 @@ fast-json-patch@^3.1.1: resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz" integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -4696,13 +4725,6 @@ faye-websocket@^0.11.4: dependencies: websocket-driver ">=0.5.1" -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - fdir@^6.4.2: version "6.4.2" resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz" @@ -4739,22 +4761,6 @@ find-root@^1.1.0: resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -4794,6 +4800,27 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +framer-motion@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" + integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== + dependencies: + "@motionone/dom" "10.12.0" + framesync "6.0.1" + hey-listen "^1.0.8" + popmotion "11.0.3" + style-value-types "5.0.0" + tslib "^2.1.0" + optionalDependencies: + "@emotion/is-prop-valid" "^0.8.2" + +framesync@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" + integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== + dependencies: + tslib "^2.1.0" + fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -4809,16 +4836,16 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - fsevents@2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -4844,11 +4871,6 @@ gensync@^1.0.0-beta.2: resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" @@ -4865,11 +4887,6 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" @@ -4917,7 +4934,7 @@ glob-promise@^4.2.0: dependencies: "@types/glob" "^7.1.3" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -5037,6 +5054,11 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + history@^4.9.0: version "4.10.1" resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" @@ -5056,11 +5078,6 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react- dependencies: react-is "^16.7.0" -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -5104,16 +5121,16 @@ immediate@~3.0.5: resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== -immutable@^4.0.0: - version "4.3.6" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== - immutable@3.7.x: version "3.7.6" resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== +immutable@^4.0.0: + version "4.3.6" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" + integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -5122,14 +5139,6 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" @@ -5148,7 +5157,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.3, inherits@^2.0.4, inherits@2: +inherits@2, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5282,11 +5291,6 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" @@ -5426,74 +5430,21 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - 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== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" @@ -5515,86 +5466,6 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - jest-diff@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" @@ -5603,57 +5474,17 @@ jest-diff@^27.5.1: chalk "^4.0.0" diff-sequences "^27.5.1" jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^28.0.0: - version "28.1.3" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" + pretty-format "^27.5.1" -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== +jest-diff@^28.0.0: + version "28.1.3" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" jest-extended@^2.0.0: version "2.1.0" @@ -5668,40 +5499,11 @@ jest-get-type@^27.5.1: resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^28.0.0: - version "28.0.2" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== - -jest-get-type@^28.0.2: +jest-get-type@^28.0.0, jest-get-type@^28.0.2: version "28.0.2" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - jest-junit@^13.0.0: version "13.2.0" resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz" @@ -5712,14 +5514,6 @@ jest-junit@^13.0.0: uuid "^8.3.2" xml "^1.0.1" -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - jest-matcher-utils@^27.0.0: version "27.5.1" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" @@ -5730,155 +5524,7 @@ jest-matcher-utils@^27.0.0: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@*, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: +jest-util@^29.0.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== @@ -5890,65 +5536,11 @@ jest-util@^29.0.0, jest-util@^29.7.0: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.0.0, jest@>=27.2.5: - version "29.7.0" - resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" @@ -5961,7 +5553,7 @@ jsdoc-type-pratt-parser@^4.0.0: resolved "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz" integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== -jsep@^0.4.0||^1.0.0, jsep@^1.3.9: +jsep@^1.3.9: version "1.3.9" resolved "https://registry.npmjs.org/jsep/-/jsep-1.3.9.tgz" integrity sha512-i1rBX5N7VPl0eYb6+mHNp52sEuaS2Wi8CDYx1X5sn9naevL78+265XJqy1qENEk7mRKwS06NHpUqiBwR7qeodw== @@ -6079,11 +5671,6 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - language-subtag-registry@^0.3.20: version "0.3.23" resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz" @@ -6167,13 +5754,6 @@ localforage@^1.8.1: dependencies: lie "3.1.1" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -6259,39 +5839,18 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.30.0: - version "0.30.11" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" - integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -magic-string@^0.30.10: +magic-string@^0.30.0, magic-string@^0.30.10: version "0.30.11" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - map-or-similar@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz" @@ -6302,6 +5861,11 @@ markdown-to-jsx@^7.4.1: resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz" integrity sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg== +marked@^13.0.3: + version "13.0.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-13.0.3.tgz#5c5b4a5d0198060c7c9bc6ef9420a7fed30f822d" + integrity sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA== + mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -6357,7 +5921,7 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6393,12 +5957,12 @@ mock-socket@^9.2.1: resolved "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz" integrity sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw== -moment@^2.18.1, moment@^2.29.4, moment@>=1.6.0: +moment@>=1.6.0, moment@^2.26.0, moment@^2.29.4: version "2.30.1" resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -monaco-editor@^0.44.0, monaco-editor@>=0.30.0, monaco-editor@>=0.36, monaco-editor@0.44.0: +monaco-editor@0.44.0: version "0.44.0" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz" integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== @@ -6452,9 +6016,9 @@ ms@^2.1.1, ms@^2.1.3: resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.7: +nanoid@^3.3.7, nanoid@^3.3.8: version "3.3.8" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== natural-compare@^1.4.0: @@ -6469,11 +6033,6 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - node-releases@^2.0.18: version "2.0.18" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" @@ -6626,27 +6185,13 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -6661,11 +6206,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -6673,7 +6213,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.0.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -6713,9 +6253,9 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@^1.7.0: +path-to-regexp@^1.7.0, path-to-regexp@^1.9.0: version "1.9.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -6750,7 +6290,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -"picomatch@^3 || ^4", picomatch@^4.0.2: +picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -6760,18 +6300,6 @@ pidtree@^0.5.0: resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - playwright-core@1.45.0: version "1.45.0" resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz" @@ -6793,6 +6321,16 @@ polished@^4.2.2: dependencies: "@babel/runtime" "^7.17.8" +popmotion@11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" + integrity sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA== + dependencies: + framesync "6.0.1" + hey-listen "^1.0.8" + style-value-types "5.0.0" + tslib "^2.1.0" + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" @@ -6819,16 +6357,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -"prettier@^2 || ^3", prettier@^3.1.1, prettier@>=3.0.0: - version "3.3.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - prettier@^2.0.0: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.1.1: + version "3.3.2" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== + pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" @@ -6858,15 +6396,6 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" @@ -6877,14 +6406,6 @@ progress@^2.0.3: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - prop-types-exact@^1.2.0: version "1.2.4" resolved "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.4.tgz" @@ -6915,11 +6436,6 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - query-string@^7.1.1: version "7.1.3" resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" @@ -6954,11 +6470,6 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -react-addons-test-utils@^15.0.0, react-addons-test-utils@15.x.x: - version "15.6.2" - resolved "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.6.2.tgz" - integrity sha512-6IUCnLp7jQRBftm2anf8rP8W+8M2PsC7GPyMFe2Wef3Wfml7j2KybVL//Ty7bRDBqLh8AG4m/zNZbFlwulldFw== - react-csv@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz" @@ -6985,6 +6496,17 @@ react-dates@^21.8.0: react-with-styles "^4.1.0" react-with-styles-interface-css "^6.0.0" +react-diff-viewer-continued@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/react-diff-viewer-continued/-/react-diff-viewer-continued-3.4.0.tgz#0501ffb2b5ab740f88b9ae5f18771aa90d3803c2" + integrity sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg== + dependencies: + "@emotion/css" "^11.11.2" + classnames "^2.3.2" + diff "^5.1.0" + memoize-one "^6.0.0" + prop-types "^15.8.1" + react-docgen-typescript@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz" @@ -7006,7 +6528,7 @@ react-docgen@^7.0.0: resolve "^1.22.1" strip-indent "^4.0.0" -"react-dom@^0.14 || ^15 || ^16", "react-dom@^0.14 || ^15.5.4 || ^16.1.1", "react-dom@^0.14 || >=15", "react-dom@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", react-dom@^15.4.2, "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react-dom@^17.0.0, react-dom@^17.0.2, react-dom@<18.0.0, "react-dom@>= 16.3.0", react-dom@>=16.6.0, react-dom@>=16.8: +"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -7043,12 +6565,7 @@ react-is@^17.0.1: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - 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== - -react-is@^18.2.0: +react-is@^18.0.0, react-is@^18.2.0: 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== @@ -7070,6 +6587,13 @@ react-moment-proptypes@^1.6.0: dependencies: moment ">=1.6.0" +react-monaco-editor@^0.54.0: + version "0.54.0" + resolved "https://registry.yarnpkg.com/react-monaco-editor/-/react-monaco-editor-0.54.0.tgz#ec9293249a991b08264be723c1ec0ca3a6d480d8" + integrity sha512-9JwO69851mfpuhYLHlKbae7omQWJ/2ICE2lbL0VHyNyZR8rCOH7440u+zAtDgiOMpLwmYdY1sEZCdRefywX6GQ== + dependencies: + prop-types "^15.8.1" + react-monaco-editor@^0.55.0: version "0.55.0" resolved "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.55.0.tgz" @@ -7210,7 +6734,7 @@ react-with-styles-interface-css@^6.0.0: array.prototype.flat "^1.2.1" global-cache "^1.2.1" -"react-with-styles@^3.0.0 || ^4.0.0", react-with-styles@^4.1.0: +react-with-styles@^4.1.0: version "4.2.0" resolved "https://registry.npmjs.org/react-with-styles/-/react-with-styles-4.2.0.tgz" integrity sha512-tZCTY27KriRNhwHIbg1NkSdTTOSfXDg6Z7s+Q37mtz0Ym7Sc7IOr3PzVt4qJhJMW6Nkvfi3g34FuhtiGAJCBQA== @@ -7221,7 +6745,7 @@ react-with-styles-interface-css@^6.0.0: prop-types "^15.7.2" react-with-direction "^1.3.1" -"react@^0.14 || ^15 || ^16", "react@^0.14 || ^15.0.0 || ^16.0.0-alpha", "react@^0.14 || ^15.5.4 || ^16.1.1", "react@^0.14 || >=15", react@^15.0.0, "react@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react@^16.14.0 || >=17", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react@^17.0.0, react@^17.0.2, react@<18.0.0, "react@>= 0.14.0", "react@>= 16.3.0", react@>=0.14, react@>=15, react@>=16, "react@>=16 <= 18", react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@15.x.x, react@17.0.2: +"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -7353,11 +6877,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" @@ -7373,23 +6892,11 @@ requires-port@^1.0.0: resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" @@ -7400,12 +6907,7 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve.exports@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz" - integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== - -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -7471,39 +6973,32 @@ rollup-pluginutils@^2.8.1: dependencies: estree-walker "^0.6.1" -"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.0.0||^3.0.0||^4.0.0, rollup@^2.43.1, rollup@^2.78.0||^3.0.0||^4.0.0: - version "2.79.2" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz" - integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== - optionalDependencies: - fsevents "~2.3.2" - -rollup@^4.20.0: - version "4.29.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz" - integrity sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw== +rollup@^2.43.1, rollup@^4.20.0, rollup@^4.22.4: + version "4.28.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.1.tgz#7718ba34d62b449dfc49adbfd2f312b4fe0df4de" + integrity sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.29.1" - "@rollup/rollup-android-arm64" "4.29.1" - "@rollup/rollup-darwin-arm64" "4.29.1" - "@rollup/rollup-darwin-x64" "4.29.1" - "@rollup/rollup-freebsd-arm64" "4.29.1" - "@rollup/rollup-freebsd-x64" "4.29.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.29.1" - "@rollup/rollup-linux-arm-musleabihf" "4.29.1" - "@rollup/rollup-linux-arm64-gnu" "4.29.1" - "@rollup/rollup-linux-arm64-musl" "4.29.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.29.1" - "@rollup/rollup-linux-powerpc64le-gnu" "4.29.1" - "@rollup/rollup-linux-riscv64-gnu" "4.29.1" - "@rollup/rollup-linux-s390x-gnu" "4.29.1" - "@rollup/rollup-linux-x64-gnu" "4.29.1" - "@rollup/rollup-linux-x64-musl" "4.29.1" - "@rollup/rollup-win32-arm64-msvc" "4.29.1" - "@rollup/rollup-win32-ia32-msvc" "4.29.1" - "@rollup/rollup-win32-x64-msvc" "4.29.1" + "@rollup/rollup-android-arm-eabi" "4.28.1" + "@rollup/rollup-android-arm64" "4.28.1" + "@rollup/rollup-darwin-arm64" "4.28.1" + "@rollup/rollup-darwin-x64" "4.28.1" + "@rollup/rollup-freebsd-arm64" "4.28.1" + "@rollup/rollup-freebsd-x64" "4.28.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.28.1" + "@rollup/rollup-linux-arm-musleabihf" "4.28.1" + "@rollup/rollup-linux-arm64-gnu" "4.28.1" + "@rollup/rollup-linux-arm64-musl" "4.28.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.28.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.28.1" + "@rollup/rollup-linux-riscv64-gnu" "4.28.1" + "@rollup/rollup-linux-s390x-gnu" "4.28.1" + "@rollup/rollup-linux-x64-gnu" "4.28.1" + "@rollup/rollup-linux-x64-musl" "4.28.1" + "@rollup/rollup-win32-arm64-msvc" "4.28.1" + "@rollup/rollup-win32-ia32-msvc" "4.28.1" + "@rollup/rollup-win32-x64-msvc" "4.28.1" fsevents "~2.3.2" run-parallel@^1.1.9: @@ -7530,7 +7025,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.1.0, safe-buffer@>=5.1.0: +safe-buffer@>=5.1.0, safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7544,7 +7039,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@*, sass@^1.69.7: +sass@^1.69.7: version "1.77.6" resolved "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz" integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q== @@ -7566,32 +7061,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.5.3: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.5.4: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.0: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.2: - version "7.6.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -semver@^7.6.3: +semver@^7.3.7, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -7681,7 +7151,7 @@ siginfo@^2.0.0: resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7698,11 +7168,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -7750,7 +7215,7 @@ sockjs-client@1.6.1: inherits "^2.0.4" url-parse "^1.5.10" -source-map-js@^1.0.1, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -7763,20 +7228,12 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -7798,18 +7255,6 @@ split-on-first@^1.0.0: resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -7827,7 +7272,7 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -"storybook@^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0", storybook@^8.4.2: +storybook@^8.4.2: version "8.4.2" resolved "https://registry.npmjs.org/storybook/-/storybook-8.4.2.tgz" integrity sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA== @@ -7844,15 +7289,7 @@ string-argv@^0.3.1: resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7952,11 +7389,6 @@ strip-bom@^3.0.0: resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-comments@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" @@ -7991,6 +7423,14 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-value-types@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" + integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== + dependencies: + hey-listen "^1.0.8" + tslib "^2.1.0" + stylis@4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" @@ -8010,13 +7450,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-color@^9.2.2: version "9.4.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz" @@ -8073,7 +7506,7 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -terser@^5.17.4, terser@^5.4.0: +terser@^5.17.4: version "5.36.0" resolved "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz" integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== @@ -8083,15 +7516,6 @@ terser@^5.17.4, terser@^5.4.0: commander "^2.20.0" source-map-support "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -8147,11 +7571,6 @@ tippy.js@^6.3.1, tippy.js@^6.3.7: dependencies: "@popperjs/core" "^2.9.0" -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -8201,7 +7620,7 @@ ts-jest@29.2.5: semver "^7.6.3" yargs-parser "^21.1.1" -ts-node@>=9.0.0, ts-node@10.9.2: +ts-node@10.9.2: version "10.9.2" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -8244,20 +7663,20 @@ tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@2.7.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== -tslib@^1.9.3: +tslib@^1.8.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: - version "2.7.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== +tslib@^2.3.1, tslib@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsutils@^3.21.0: version "3.21.0" @@ -8273,11 +7692,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - type-fest@^0.16.0: version "0.16.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" @@ -8342,7 +7756,7 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@^5.0.0, "typescript@>= 4.2.x", "typescript@>= 4.3.x", typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.2.0, "typescript@>=4.3 <6", typescript@5.5.4: +typescript@5.5.4: version "5.5.4" resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== @@ -8464,15 +7878,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-to-istanbul@^9.0.1: - 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== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - validate.io-array@^1.0.1, validate.io-array@^1.0.3: version "1.0.6" resolved "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz" @@ -8592,7 +7997,7 @@ vite-tsconfig-paths@5.0.1: globrex "^0.1.2" tsconfck "^3.0.3" -vite@*, "vite@^2.6.0 || 3 || 4", "vite@^3.0.0 || ^4.0.0 || ^5.0.0", "vite@^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "vite@^4.0.0 || ^5.0.0", "vite@^4.2.0 || ^5.0.0", vite@^5.0.0, vite@>=3, vite@5.4.11: +vite@5.4.11, vite@^5.0.0: version "5.4.11" resolved "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz" integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== @@ -8646,7 +8051,7 @@ vscode-languageserver-textdocument@^1.0.0: resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz" integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== -vscode-languageserver-types@^3.0.0, vscode-languageserver-types@3.17.5: +vscode-languageserver-types@3.17.5, vscode-languageserver-types@^3.0.0: version "3.17.5" resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz" integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== @@ -8656,13 +8061,6 @@ vscode-uri@^3.0.0: resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" @@ -8929,7 +8327,7 @@ workbox-sw@7.3.0: resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.3.0.tgz" integrity sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA== -workbox-window@^7.3.0, workbox-window@7.3.0: +workbox-window@7.3.0, workbox-window@^7.3.0: version "7.3.0" resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-7.3.0.tgz" integrity sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA== @@ -8960,14 +8358,6 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - ws@^8.2.3: version "8.18.0" resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" @@ -8995,27 +8385,17 @@ xterm-webfont@^2.0.0: dependencies: fontfaceobserver "2.*" -xterm@^4.0.0, xterm@^4.19.0: +xterm@^4.19.0: version "4.19.0" resolved "https://registry.npmjs.org/xterm/-/xterm-4.19.0.tgz" integrity sha512-c3Cp4eOVsYY5Q839dR5IejghRPpxciGmLWWaP9g+ppfMeBChMeLa1DCA+pmX/jyDZ+zxFOmlJL/82qVdayVoGQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^1.10.2: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -9030,19 +8410,6 @@ yargs-parser@^21.1.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" From 3e8f96c26899a1116a9c10accc2b0b5d74687abe Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:54:32 +0530 Subject: [PATCH 131/186] refactor: remove inline function --- .../components/AppPermissions/AppPermissionDetail.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissionDetail.tsx b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissionDetail.tsx index 22bdd8bfd1..6687661841 100644 --- a/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissionDetail.tsx +++ b/src/Pages/GlobalConfigurations/Authorization/Shared/components/AppPermissions/AppPermissionDetail.tsx @@ -36,6 +36,10 @@ const AppPermissionDetail = ({ const isAccessTypeJob = accessType === ACCESS_TYPE_MAP.JOBS const rowClass = getPermissionDetailRowClass(accessType, showStatus) + const handleAddPermission = () => { + addNewPermissionRow(accessType) + } + return ( <>
@@ -86,7 +90,7 @@ const AppPermissionDetail = ({ @@ -138,11 +132,11 @@ export const SecurityVulnerabilityCard = ({ ) } - if (cardLoading || scanDetailsLoading) { + if (cardLoading || scanResultLoading) { return } - if (scanDetailsResponse && !scanDetailsResponse.result.scanned) { + if (scanResultResponse && !scanResultResponse.result.scanned) { return null } @@ -150,7 +144,7 @@ export const SecurityVulnerabilityCard = ({
diff --git a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts index ecdd7fe1fe..eb035f956f 100644 --- a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts +++ b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { DeploymentAppTypes } from '@devtron-labs/devtron-fe-common-lib' +import { DeploymentAppTypes, useMainContext } from '@devtron-labs/devtron-fe-common-lib' import { ChartValuesType, ChartVersionType } from '../../../charts/charts.types' import { ChartValuesViewAction, ChartValuesViewActionTypes, ChartValuesViewState } from './ChartValuesView.type' @@ -24,8 +24,10 @@ export const initState = ( installedConfigFromParent: any, chartVersionsDataFromParent: ChartVersionType[], deploymentAppType: DeploymentAppTypes, - isManifestScanningEnabled: boolean, ): ChartValuesViewState => { + + const {isManifestScanningEnabled} = useMainContext() + return { isLoading: true, isLodingGUIForm: false, diff --git a/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx b/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx index 39a04efa4d..7bed8c3393 100644 --- a/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx +++ b/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx @@ -38,7 +38,6 @@ import { ConfigurationType, ToastManager, ToastVariantType, - useAsync, } from '@devtron-labs/devtron-fe-common-lib' import YAML from 'yaml' import Tippy from '@tippyjs/react' @@ -144,8 +143,6 @@ import { AUTO_GENERATE_GITOPS_REPO, CHART_VALUE_ID } from './constant' const GeneratedHelmDownload = importComponentFromFELibrary('GeneratedHelmDownload') const getDownloadManifestUrl = importComponentFromFELibrary('getDownloadManifestUrl', null, 'function') const ToggleSecurityScan = importComponentFromFELibrary('ToggleSecurityScan', null, 'function') -const getEnvironmentData: () => Promise> = - importComponentFromFELibrary('getEnvironmentData', null, 'function') const ChartValuesView = ({ appId, @@ -167,7 +164,7 @@ const ChartValuesView = ({ presetValueId: string envId: string }>() - const { serverMode } = useMainContext() + const { serverMode, isManifestScanningEnabled } = useMainContext() const { handleDownload } = useDownload() const chartValuesAbortRef = useRef(new AbortController()) const [chartValuesList, setChartValuesList] = useState(chartValuesListFromParent || []) @@ -186,10 +183,6 @@ const ChartValuesView = ({ const [showRepoSelector, setShowRepoSelector] = useState(false) const [shouldShowPrompt, setShouldShowPrompt] = useState(true) - const [, envVariablesResponse] = useAsync(getEnvironmentData, [], !!getEnvironmentData) - - const isManifestScanningEnabled: boolean = envVariablesResponse?.result.isManifestScanningEnabled || false - const [commonState, dispatch] = useReducer( chartValuesReducer, initState( @@ -204,7 +197,6 @@ const ChartValuesView = ({ installedConfigFromParent, chartVersionsDataFromParent, appDetails?.deploymentAppType, - isManifestScanningEnabled, ), ) From d6d11a597611598799fa460c8b0f1108a4e375fb Mon Sep 17 00:00:00 2001 From: Rohit Raj Date: Thu, 26 Dec 2024 16:17:00 +0530 Subject: [PATCH 142/186] chore: common-lib version bump --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a33883bee1..1251a8a459 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.5-beta-1", + "@devtron-labs/devtron-fe-common-lib": "1.3.5-beta-3", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index 91e629b027..b4fba60252 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.5-beta-1": - version "1.3.5-beta-1" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.5-beta-1.tgz#bee0a714af9baafd3826f715cccb4f1dd706a82c" - integrity sha512-5wIZXHu1UQBM88RK61dc0T+HHZU9/ETvKzSVy3ATvrsvRqYzuPp/HuXPdKOVHGn+6ASMArX1e3UKAOmWpfrnIA== +"@devtron-labs/devtron-fe-common-lib@1.3.5-beta-3": + version "1.3.5-beta-3" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.5-beta-3.tgz#d6158a44d16d7538b660f512b4a4712a261b56fe" + integrity sha512-zEWUQXumK8csm/XPRH3haf+cAhuQal0radJ5pClGQEMmCvkytpnzauJSf6rjqwbrrHGlp64pQibU3ztRsTQ0YQ== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From bc6683929f8790652c2b8bc8770685ced8d2dbd2 Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Thu, 26 Dec 2024 17:44:31 +0530 Subject: [PATCH 143/186] feat: add checks on security card --- .../app/details/appDetails/SecurityVulnerabilityCard.tsx | 6 ++++-- src/components/app/details/cIDetails/CIDetails.tsx | 2 +- .../environmentStatus/EnvironmentStatus.component.tsx | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 1b4eb329e0..f5e1b7da4c 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -40,10 +40,12 @@ export const SecurityVulnerabilityCard = ({ const { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult, severityCount } = useGetAppSecurityDetails({ appId: +appId, envId: +envId, installedAppId }) - const imageScanProgressing: boolean = scanResultResponse?.result.imageScan?.vulnerability?.list.some( + const imageScanVulnerabilities = scanResultResponse?.result.imageScan?.vulnerability + const imageScanList = imageScanVulnerabilities?.list ?? [] + const imageScanProgressing: boolean = imageScanList.some( (image) => image.status === 'Running' || image.status === 'Progressing', ) - const imageScanFailed: boolean = scanResultResponse?.result.imageScan?.vulnerability?.list[0].status === 'Failed' + const imageScanFailed: boolean = imageScanList[0]?.status === 'Failed' const handleOnCardClick = () => { if (!cardLoading && !scanResultLoading && !scanResultError && !showScanDetailsModal) { diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index 80118fc943..a40670ed10 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -716,7 +716,7 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu return } if (scanResultResponse && !scanResultResponse.result.scanned) { - if (!scanResultResponse?.result.isImageScanEnabled) { + if (!scanResultResponse.result.isImageScanEnabled) { return } return diff --git a/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx b/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx index 181e41ad36..b96c7f6bdc 100644 --- a/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx +++ b/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx @@ -25,7 +25,7 @@ import { useRouteMatch, useHistory, useParams } from 'react-router-dom' import NotesDrawer from './NotesDrawer' import { getInstalledChartNotesDetail } from '../../appDetails.api' import { importComponentFromFELibrary } from '../../../../common' -import { DeploymentAppTypes, useAsync } from '@devtron-labs/devtron-fe-common-lib' +import { DeploymentAppTypes, useAsync, useMainContext } from '@devtron-labs/devtron-fe-common-lib' import { EnvironmentStatusComponentType } from '../environment.type' import HelmAppConfigApplyStatusCard from './HelmAppConfigApplyStatusCard' import AppStatusCard from '../../../../app/details/appDetails/AppStatusCard' @@ -39,7 +39,6 @@ import IssuesListingModal from '../../../../app/details/appDetails/IssuesListing import SecurityVulnerabilityCard from '../../../../app/details/appDetails/SecurityVulnerabilityCard' const AppDetailsDownloadCard = importComponentFromFELibrary('AppDetailsDownloadCard') -const isFELibAvailable = importComponentFromFELibrary('isFELibAvailable', null, 'function') const EnvironmentStatusComponent = ({ loadingDetails, @@ -48,6 +47,7 @@ const EnvironmentStatusComponent = ({ isVirtualEnvironment, refetchDeploymentStatus, }: EnvironmentStatusComponentType) => { + const { isManifestScanningEnabled } = useMainContext() const [appDetails] = useSharedState(IndexStore.getAppDetails(), IndexStore.getAppDetailsObservable()) const [showAppStatusDetail, setShowAppStatusDetail] = useState(false) const [showNotes, setShowNotes] = useState(false) @@ -183,7 +183,7 @@ const EnvironmentStatusComponent = ({ {renderHelmConfigApplyStatusBlock()} {renderLastUpdatedBlock()} {renderChartUsedBlock()} - {isFELibAvailable && appDetails?.appType === AppType.DEVTRON_HELM_CHART && ( + {isManifestScanningEnabled && appDetails?.appType === AppType.DEVTRON_HELM_CHART && ( Date: Thu, 26 Dec 2024 18:19:01 +0530 Subject: [PATCH 144/186] chore: update devtron-fe-common-lib to version 1.3.6 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 637e5301cd..bd8621c515 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.5", + "@devtron-labs/devtron-fe-common-lib": "1.3.6", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index a80753e369..cf816e23b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.5.tgz#8fdceac081f41a3a2f6e3bca1daf225fc0edd8c8" - integrity sha512-4ISwoqQRaSBPHBZJAG0xawmeR76aBn65TglS5TLVFW8Uh8yMoSSw9f3tla79s6Quknb2WSI9pd5M1oFQJapwGw== +"@devtron-labs/devtron-fe-common-lib@1.3.6": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.6.tgz#d4fb1d6169e1aaa4bb8f1be6e700aaedd3cb6ec2" + integrity sha512-7KjeP0kt+oVm4OZDF3RPHGmcUumASQ+Fl+S3/62iw7ssZ53kgCrgHtHH6tI0kOw9VJQkSlOS8mCEFLR+IImMWg== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From 8498112100d74998dbf4f60c1dcf198587d5f54f Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Thu, 26 Dec 2024 18:24:38 +0530 Subject: [PATCH 145/186] feat: use common util for scan tool, severity count and total count --- .../app/details/appDetails/AppSecurity.tsx | 15 +-------------- .../appDetails/SecurityVulnerabilityCard.tsx | 13 ++++++++----- .../app/details/appDetails/appDetails.type.ts | 10 +--------- .../app/details/cIDetails/CIDetails.tsx | 17 ++--------------- 4 files changed, 12 insertions(+), 43 deletions(-) diff --git a/src/components/app/details/appDetails/AppSecurity.tsx b/src/components/app/details/appDetails/AppSecurity.tsx index 5c5f3a640f..003ffc338e 100644 --- a/src/components/app/details/appDetails/AppSecurity.tsx +++ b/src/components/app/details/appDetails/AppSecurity.tsx @@ -1,10 +1,4 @@ -import { - getSeverityCountFromSummary, - getTotalSeverityCount, - SeverityCount, - useAsync, - getSecurityScan, -} from '@devtron-labs/devtron-fe-common-lib' +import { useAsync, getSecurityScan } from '@devtron-labs/devtron-fe-common-lib' import { UseGetAppSecurityDetailsProps, UseGetAppSecurityDetailsReturnType } from './appDetails.type' export const useGetAppSecurityDetails = ({ @@ -18,17 +12,10 @@ export const useGetAppSecurityDetails = ({ (!!appId && !!envId) || !!installedAppId, ) - const severities = scanResultResponse?.result.imageScan?.vulnerability?.summary.severities - const severityCount: SeverityCount = getSeverityCountFromSummary(severities) - - const totalCount = getTotalSeverityCount(severityCount) - return { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult, - severityCount, - totalCount, } } diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index f5e1b7da4c..2206dbbb28 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -16,7 +16,7 @@ import React, { useState } from 'react' import Tippy from '@tippyjs/react' -import { getTotalSeverityCount, SecurityModal } from '@devtron-labs/devtron-fe-common-lib' +import { getScanToolAndSeverityCount, SecurityModal } from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as Question } from '../../../../assets/icons/ic-help-outline.svg' import { ReactComponent as Bug } from '../../../../assets/icons/ic-nav-bug.svg' import { ReactComponent as Secure } from '../../../../assets/icons/ic-secure.svg' @@ -37,8 +37,13 @@ export const SecurityVulnerabilityCard = ({ const handleModalClose = () => setShowScanDetailsModal(false) - const { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult, severityCount } = - useGetAppSecurityDetails({ appId: +appId, envId: +envId, installedAppId }) + const { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult } = useGetAppSecurityDetails({ + appId: +appId, + envId: +envId, + installedAppId, + }) + + const { severityCount, totalCount } = getScanToolAndSeverityCount(scanResultResponse?.result) const imageScanVulnerabilities = scanResultResponse?.result.imageScan?.vulnerability const imageScanList = imageScanVulnerabilities?.list ?? [] @@ -54,8 +59,6 @@ export const SecurityVulnerabilityCard = ({ } } - const totalCount = getTotalSeverityCount(severityCount) - const getIcon = () => { if (scanResultError || imageScanFailed || imageScanProgressing || totalCount) { return diff --git a/src/components/app/details/appDetails/appDetails.type.ts b/src/components/app/details/appDetails/appDetails.type.ts index c5983f08eb..8adfed19f1 100644 --- a/src/components/app/details/appDetails/appDetails.type.ts +++ b/src/components/app/details/appDetails/appDetails.type.ts @@ -14,13 +14,7 @@ * limitations under the License. */ -import { - ACTION_STATE, - ResponseType, - ScanResultDTO, - ServerErrors, - SeverityCount, -} from '@devtron-labs/devtron-fe-common-lib' +import { ACTION_STATE, ResponseType, ScanResultDTO, ServerErrors } from '@devtron-labs/devtron-fe-common-lib' import { fetchAppDetailsInTime } from '@Components/app/service' import { AggregatedNodes, OptionType } from '../../types' import { SyncErrorType, AppDetails } from '../../../v2/appDetails/appDetails.type' @@ -274,6 +268,4 @@ export interface UseGetAppSecurityDetailsReturnType { scanResultResponse: ResponseType scanResultError: ServerErrors reloadScanResult: () => void - severityCount: SeverityCount - totalCount: number } diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index a40670ed10..c7bddba5d9 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -43,13 +43,9 @@ import { SecuritySummaryCard, TabGroup, TRIGGER_STATUS_PROGRESSING, - SCAN_TOOL_ID_TRIVY, ErrorScreenManager, getSecurityScan, - SeverityCount, - getSeverityCountFromSummary, - getTotalSeverityCount, - SCAN_TOOL_ID_CLAIR, + getScanToolAndSeverityCount, } from '@devtron-labs/devtron-fe-common-lib' import { Switch, Route, Redirect, useRouteMatch, useParams, useHistory, generatePath } from 'react-router-dom' import { @@ -703,11 +699,7 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu ) } - const severityCount: SeverityCount = getSeverityCountFromSummary( - scanResultResponse?.result.imageScan?.vulnerability?.summary.severities, - ) - - const totalCount = getTotalSeverityCount(severityCount) + const {scanToolId, severityCount, totalCount } = getScanToolAndSeverityCount(scanResultResponse?.result) if (scanResultLoading) { return @@ -722,11 +714,6 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu return } - const scanToolId = - scanResultResponse?.result.imageScan?.vulnerability?.list[0].scanToolName === 'TRIVY' - ? SCAN_TOOL_ID_TRIVY - : SCAN_TOOL_ID_CLAIR - if (artifactId && !totalCount) { return } From 0f2bfc8c0f9698a2eee250b0902cab284c087a28 Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Thu, 26 Dec 2024 18:51:35 +0530 Subject: [PATCH 146/186] feat: uplife return statements --- .../appDetails/SecurityVulnerabilityCard.tsx | 16 ++++++++-------- .../app/details/cIDetails/CIDetails.tsx | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 2206dbbb28..c569683d52 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -43,6 +43,14 @@ export const SecurityVulnerabilityCard = ({ installedAppId, }) + if (cardLoading || scanResultLoading) { + return + } + + if (scanResultResponse && (!scanResultResponse.result.scanned || !scanResultResponse.result.isImageScanEnabled)) { + return null + } + const { severityCount, totalCount } = getScanToolAndSeverityCount(scanResultResponse?.result) const imageScanVulnerabilities = scanResultResponse?.result.imageScan?.vulnerability @@ -137,14 +145,6 @@ export const SecurityVulnerabilityCard = ({ ) } - if (cardLoading || scanResultLoading) { - return - } - - if (scanResultResponse && !scanResultResponse.result.scanned) { - return null - } - return ( -
+
+

{id ? 'Edit Environment' : 'Add Environment'}

+ +
+
+

{id ? 'Edit Environment' : 'Add Environment'}

+ +
+ {showDeleteConfirmation && ( Date: Fri, 27 Dec 2024 13:59:56 +0530 Subject: [PATCH 154/186] feat: use app security hook in ci detials --- .../ConfigMapSecret/ConfigMapSecretDryRun.tsx | 8 +- .../app/details/appDetails/AppSecurity.tsx | 3 +- .../app/details/appDetails/appDetails.type.ts | 3 +- .../app/details/cIDetails/CIDetails.tsx | 12 +- .../common/navigation/Navigation.tsx | 3 +- .../common/navigation/NavigationRoutes.tsx | 47 +- src/components/common/navigation/types.ts | 43 - .../__mocks__/terminalWrapper.mock.tsx | 3 +- .../ChartValuesView.reducer.ts | 3 +- yarn.lock | 2054 +++++++++++------ 10 files changed, 1373 insertions(+), 806 deletions(-) delete mode 100644 src/components/common/navigation/types.ts diff --git a/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretDryRun.tsx b/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretDryRun.tsx index 24a2f18f4c..29962a96ce 100644 --- a/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretDryRun.tsx +++ b/src/Pages/Shared/ConfigMapSecret/ConfigMapSecretDryRun.tsx @@ -236,13 +236,7 @@ export const ConfigMapSecretDryRun = ({ }} >
- +
diff --git a/src/components/app/details/appDetails/AppSecurity.tsx b/src/components/app/details/appDetails/AppSecurity.tsx index 003ffc338e..8ce0791c2f 100644 --- a/src/components/app/details/appDetails/AppSecurity.tsx +++ b/src/components/app/details/appDetails/AppSecurity.tsx @@ -4,10 +4,11 @@ import { UseGetAppSecurityDetailsProps, UseGetAppSecurityDetailsReturnType } fro export const useGetAppSecurityDetails = ({ appId, envId, + artifactId, installedAppId, }: UseGetAppSecurityDetailsProps): UseGetAppSecurityDetailsReturnType => { const [scanResultLoading, scanResultResponse, scanResultError, reloadScanResult] = useAsync( - () => getSecurityScan({ appId, envId, installedAppId }), + () => getSecurityScan({ appId, envId, artifactId, installedAppId }), [appId, envId, installedAppId], (!!appId && !!envId) || !!installedAppId, ) diff --git a/src/components/app/details/appDetails/appDetails.type.ts b/src/components/app/details/appDetails/appDetails.type.ts index 8adfed19f1..55f9e4fc83 100644 --- a/src/components/app/details/appDetails/appDetails.type.ts +++ b/src/components/app/details/appDetails/appDetails.type.ts @@ -260,8 +260,9 @@ export interface LastUpdatedCardType { export interface UseGetAppSecurityDetailsProps { appId: number - envId: number + envId?: number installedAppId?: number + artifactId?: number } export interface UseGetAppSecurityDetailsReturnType { scanResultLoading: boolean diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index bc90dd6b29..173137e4d5 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -44,7 +44,6 @@ import { TabGroup, TRIGGER_STATUS_PROGRESSING, ErrorScreenManager, - getSecurityScan, getScanToolAndSeverityCount, } from '@devtron-labs/devtron-fe-common-lib' import { Switch, Route, Redirect, useRouteMatch, useParams, useHistory, generatePath } from 'react-router-dom' @@ -66,6 +65,7 @@ import { ReactComponent as NoVulnerability } from '../../../../assets/img/ic-vul import { CIPipelineBuildType } from '../../../ciPipeline/types' import { renderCIListHeader, renderDeploymentHistoryTriggerMetaText } from '../cdDetails/utils' import { importComponentFromFELibrary } from '@Components/common' +import { useGetAppSecurityDetails } from '../appDetails/AppSecurity' const SecurityModalSidebar = importComponentFromFELibrary('SecurityModalSidebar', null, 'function') const terminalStatus = new Set(['succeeded', 'failed', 'error', 'cancelled', 'nottriggered', 'notbuilt']) @@ -670,10 +670,10 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu const computedAppId = appId ?? appIdFromParent - const [scanResultLoading, scanResultResponse, scanResultError, reloadScanResult] = useAsync( - () => getSecurityScan({ artifactId, appId }), - [artifactId, appId], - ) + const { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult } = useGetAppSecurityDetails({ + appId: +appId, + artifactId, + }) const redirectToCreate = () => { if (!ciPipelineId) { @@ -712,7 +712,7 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu return } - const {scanToolId, severityCount, totalCount } = getScanToolAndSeverityCount(scanResultResponse?.result) + const { scanToolId, severityCount, totalCount } = getScanToolAndSeverityCount(scanResultResponse?.result) if (artifactId && !totalCount) { return diff --git a/src/components/common/navigation/Navigation.tsx b/src/components/common/navigation/Navigation.tsx index 2f9d62cf8e..ac6b285b0b 100644 --- a/src/components/common/navigation/Navigation.tsx +++ b/src/components/common/navigation/Navigation.tsx @@ -17,7 +17,7 @@ import React, { Component } from 'react' import { NavLink, RouteComponentProps } from 'react-router-dom' import ReactGA from 'react-ga4' -import { URLS as CommonURLS } from '@devtron-labs/devtron-fe-common-lib' +import { URLS as CommonURLS, MainContext } from '@devtron-labs/devtron-fe-common-lib' import { ModuleNameMap, MODULE_STATUS_POLLING_INTERVAL, @@ -46,7 +46,6 @@ import { getModuleInfo } from '../../v2/devtronStackManager/DevtronStackManager. import { ReactComponent as ResourceWatcherIcon } from '../../../assets/icons/ic-monitoring.svg' import { importComponentFromFELibrary } from '../helpers/Helpers' import { OrganizationFrame, OrganizationTextLogo } from '../../../Pages/Shared' -import { MainContext } from './types' const hideResourceWatcher = !importComponentFromFELibrary('ResourceWatcherRouter') const hideSoftwareDistributionHub = !importComponentFromFELibrary('SoftwareDistributionHub', null, 'function') diff --git a/src/components/common/navigation/NavigationRoutes.tsx b/src/components/common/navigation/NavigationRoutes.tsx index d6f88725eb..fbafb61e16 100644 --- a/src/components/common/navigation/NavigationRoutes.tsx +++ b/src/components/common/navigation/NavigationRoutes.tsx @@ -29,6 +29,7 @@ import { AppListConstants, MODES, DEVTRON_BASE_MAIN_ID, + MainContext, } from '@devtron-labs/devtron-fe-common-lib' import { Route, Switch, useRouteMatch, useHistory, useLocation } from 'react-router-dom' import * as Sentry from '@sentry/browser' @@ -58,7 +59,6 @@ import { AppRouterType } from '../../../services/service.types' import { getUserRole } from '../../../Pages/GlobalConfigurations/Authorization/authorization.service' import { LOGIN_COUNT, MAX_LOGIN_COUNT } from '../../onboardingGuide/onboarding.utils' import { HelmAppListResponse } from '../../app/list-new/AppListType' -import { MainContext } from './types' import { ExternalFluxAppDetailsRoute } from '../../../Pages/App/Details/ExternalFlux' // Monaco Editor worker dependency @@ -268,29 +268,17 @@ export default function NavigationRoutes() { } } - async function getManifestScanningEnabled() { + async function getEnvironmentDataValues() { try { const { result } = await getEnvironmentData() + setIsAirGapped(result.isAirGapEnvironment) setIsManifestScanningEnabled(result.isManifestScanningEnabled) - } catch (err) { - setIsManifestScanningEnabled(false) - } - } - - async function getAirGapEnvironmentValue() { - if (typeof Storage === 'undefined' || !localStorage.getItem('isAirGapped')) { - try { - const { result } = await getEnvironmentData() - setIsAirGapped(result.isAirGapEnvironment) - if (typeof Storage !== 'undefined') { - localStorage.setItem('isAirGapped', result.isAirGapEnvironment) - } - } catch (err) { - setIsAirGapped(false) + if (typeof Storage !== 'undefined') { + localStorage.setItem('isAirGapped', result.isAirGapEnvironment) } - } else { - const isAirGap = JSON.parse(localStorage.getItem('isAirGapped')) - setIsAirGapped(isAirGap) + } catch { + setIsAirGapped(false) + setIsManifestScanningEnabled(false) } } @@ -302,8 +290,7 @@ export default function NavigationRoutes() { } else { getServerMode() if (getEnvironmentData) { - getAirGapEnvironmentValue() - getManifestScanningEnabled() + getEnvironmentDataValues() } getCurrentServerInfo() } @@ -475,7 +462,7 @@ export default function NavigationRoutes() { > @@ -496,13 +483,13 @@ export default function NavigationRoutes() { : []), ...(currentServerInfo.serverInfo?.installationType !== 'enterprise' ? [ - - - + + + , ] : []), diff --git a/src/components/common/navigation/types.ts b/src/components/common/navigation/types.ts deleted file mode 100644 index 312e29f00a..0000000000 --- a/src/components/common/navigation/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2024. Devtron Inc. - * - * 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 { MutableRefObject } from 'react' -import { SERVER_MODE } from '../../../config' -import { ServerInfo } from '../../v2/devtronStackManager/DevtronStackManager.type' - -export interface MainContext { - serverMode: SERVER_MODE - setServerMode: (serverMode: SERVER_MODE) => void - isHelpGettingStartedClicked: boolean - setPageOverflowEnabled: (isPageOverflowEnabled: boolean) => void - showCloseButtonAfterGettingStartedClicked: () => void - loginCount: number - setLoginCount: (loginCount: number) => void - showGettingStartedCard: boolean - setShowGettingStartedCard: (showGettingStartedCard: boolean) => void - isGettingStartedClicked: boolean - setGettingStartedClicked: (isGettingStartedClicked: boolean) => void - moduleInInstallingState: string - setModuleInInstallingState: (moduleInInstallingState: string) => void - installedModuleMap: MutableRefObject> - currentServerInfo: { - serverInfo: ServerInfo - fetchingServerInfo: boolean - } - isAirgapped: boolean - isSuperAdmin: boolean - isManifestScanningEnabled: boolean -} diff --git a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__mocks__/terminalWrapper.mock.tsx b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__mocks__/terminalWrapper.mock.tsx index 6f3d1d899b..8bd578a5be 100644 --- a/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__mocks__/terminalWrapper.mock.tsx +++ b/src/components/v2/appDetails/k8Resource/nodeDetail/NodeDetailTabs/terminal/__mocks__/terminalWrapper.mock.tsx @@ -15,10 +15,9 @@ */ import { useRef } from 'react' -import { MainContextProvider } from '@devtron-labs/devtron-fe-common-lib' +import { MainContextProvider, MainContext } from '@devtron-labs/devtron-fe-common-lib' import { SERVER_MODE } from '../../../../../../../../config' import { nodeSelect, SocketConnectionType } from '../../../../../../../ClusterNodes/constants' -import { MainContext } from '../../../../../../../common/navigation/types' import { TerminalWrapperType, TERMINAL_TEXT } from '../constants' import { TerminalSelectionListDataType } from '../terminal.type' diff --git a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts index eb035f956f..30740bd988 100644 --- a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts +++ b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts @@ -25,8 +25,7 @@ export const initState = ( chartVersionsDataFromParent: ChartVersionType[], deploymentAppType: DeploymentAppTypes, ): ChartValuesViewState => { - - const {isManifestScanningEnabled} = useMainContext() + const { isManifestScanningEnabled } = useMainContext() return { isLoading: true, diff --git a/yarn.lock b/yarn.lock index 0e5d3b9a3c..db08c0cd4e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,7 +24,7 @@ jsonpointer "^5.0.0" leven "^3.1.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.24.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": 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== @@ -37,7 +37,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== -"@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.24.4", "@babel/core@^7.24.5": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.9", "@babel/core@^7.19.6", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.24.5", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": version "7.25.2" resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz" integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== @@ -58,7 +58,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6": +"@babel/generator@^7.22.5", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6", "@babel/generator@^7.7.2": version "7.25.6" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz" integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== @@ -160,7 +160,7 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz" integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== @@ -241,7 +241,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": version "7.25.6" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz" integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== @@ -299,6 +299,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" @@ -355,6 +362,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" @@ -411,6 +425,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.25.9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" @@ -929,14 +950,14 @@ resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.25.7" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz" integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.25.0": +"@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": version "7.25.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz" integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== @@ -958,7 +979,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.25.6" resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz" integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== @@ -967,6 +988,11 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" @@ -974,10 +1000,9 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.9": - version "1.3.9" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.9.tgz#3a33cae645a77f632daeeaf9d50cc0f2d8497ccb" - integrity sha512-s42RJhVVgcH9LeSMD0OC0d9sqCbSpzTKdJk3IPDW1JvRFvznYmxZyXVnfazG1ZRor8B9MChg7fXm6zCi+lyisw== +"@devtron-labs/devtron-fe-common-lib@file:../devtron-fe-common-lib": + version "1.3.9-beta-1" + resolved "file:../devtron-fe-common-lib" dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -993,16 +1018,21 @@ sass "^1.69.7" tslib "2.7.0" -"@emnapi/runtime@^1.2.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" - integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== +"@devtron-labs/devtron-fe-lib@file:../devtron-fe-lib": + version "1.3.0" + resolved "file:../devtron-fe-lib" dependencies: - tslib "^2.4.0" + fast-json-patch "^3.1.1" + jsonpath-plus "^10.0.0" + moment-timezone "^0.5.45" + react-ga4 "^1.4.1" + react-grid-layout "^1.5.0" + sass "^1.69.7" + tslib "2.7.0" -"@emotion/babel-plugin@^11.11.0", "@emotion/babel-plugin@^11.13.5": +"@emotion/babel-plugin@^11.11.0": version "11.13.5" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz" integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" @@ -1028,45 +1058,11 @@ "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" -"@emotion/cache@^11.13.5": - version "11.14.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" - integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== - dependencies: - "@emotion/memoize" "^0.9.0" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.2" - "@emotion/weak-memoize" "^0.4.0" - stylis "4.2.0" - -"@emotion/css@^11.11.2": - version "11.13.5" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" - integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== - dependencies: - "@emotion/babel-plugin" "^11.13.5" - "@emotion/cache" "^11.13.5" - "@emotion/serialize" "^1.3.3" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.2" - "@emotion/hash@^0.9.2": version "0.9.2" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz" integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== -"@emotion/is-prop-valid@^0.8.2": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== - dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== - "@emotion/memoize@^0.9.0": version "0.9.0" resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz" @@ -1132,121 +1128,11 @@ resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz" integrity sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw== -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== - -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== - -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== - "@esbuild/darwin-arm64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz" integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== - -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== - -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== - -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== - -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== - -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== - -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== - -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== - -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== - -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== - -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== - -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== - -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== - -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== - -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== - -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== - -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== - "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -1325,111 +1211,149 @@ optionalDependencies: "@img/sharp-libvips-darwin-arm64" "1.0.4" -"@img/sharp-darwin-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" - integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== - optionalDependencies: - "@img/sharp-libvips-darwin-x64" "1.0.4" - "@img/sharp-libvips-darwin-arm64@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz" integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== -"@img/sharp-libvips-darwin-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" - integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== - -"@img/sharp-libvips-linux-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" - integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== - -"@img/sharp-libvips-linux-arm@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" - integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== - -"@img/sharp-libvips-linux-s390x@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" - integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== - -"@img/sharp-libvips-linux-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" - integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== - -"@img/sharp-libvips-linuxmusl-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" - integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== - -"@img/sharp-libvips-linuxmusl-x64@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" - integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" -"@img/sharp-linux-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" - integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== - optionalDependencies: - "@img/sharp-libvips-linux-arm64" "1.0.4" +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@img/sharp-linux-arm@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" - integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== - optionalDependencies: - "@img/sharp-libvips-linux-arm" "1.0.5" +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" -"@img/sharp-linux-s390x@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" - integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== - optionalDependencies: - "@img/sharp-libvips-linux-s390x" "1.0.4" +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" -"@img/sharp-linux-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" - integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== - optionalDependencies: - "@img/sharp-libvips-linux-x64" "1.0.4" +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" -"@img/sharp-linuxmusl-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" - integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" -"@img/sharp-linuxmusl-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" - integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" -"@img/sharp-wasm32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" - integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: - "@emnapi/runtime" "^1.2.0" + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@img/sharp-win32-ia32@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" - integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" -"@img/sharp-win32-x64@0.33.5": - version "0.33.5" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" - integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" "@jest/schemas@^28.1.3": version "28.1.3" @@ -1445,7 +1369,57 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/types@^29.6.3": +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.0.0", "@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.0.0", "@jest/types@^29.6.3": version "29.6.3" resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== @@ -1499,6 +1473,14 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" @@ -1507,14 +1489,6 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@jsep-plugin/assignment@^1.2.1": version "1.2.1" resolved "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.2.1.tgz" @@ -1532,59 +1506,6 @@ dependencies: "@types/mdx" "^2.0.0" -"@motionone/animation@^10.12.0": - version "10.18.0" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.18.0.tgz#868d00b447191816d5d5cf24b1cafa144017922b" - integrity sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw== - dependencies: - "@motionone/easing" "^10.18.0" - "@motionone/types" "^10.17.1" - "@motionone/utils" "^10.18.0" - tslib "^2.3.1" - -"@motionone/dom@10.12.0": - version "10.12.0" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.12.0.tgz#ae30827fd53219efca4e1150a5ff2165c28351ed" - integrity sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw== - dependencies: - "@motionone/animation" "^10.12.0" - "@motionone/generators" "^10.12.0" - "@motionone/types" "^10.12.0" - "@motionone/utils" "^10.12.0" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.18.0": - version "10.18.0" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.18.0.tgz#7b82f6010dfee3a1bb0ee83abfbaff6edae0c708" - integrity sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg== - dependencies: - "@motionone/utils" "^10.18.0" - tslib "^2.3.1" - -"@motionone/generators@^10.12.0": - version "10.18.0" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.18.0.tgz#fe09ab5cfa0fb9a8884097feb7eb60abeb600762" - integrity sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg== - dependencies: - "@motionone/types" "^10.17.1" - "@motionone/utils" "^10.18.0" - tslib "^2.3.1" - -"@motionone/types@^10.12.0", "@motionone/types@^10.17.1": - version "10.17.1" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.1.tgz#cf487badbbdc9da0c2cb86ffc1e5d11147c6e6fb" - integrity sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A== - -"@motionone/utils@^10.12.0", "@motionone/utils@^10.18.0": - version "10.18.0" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.18.0.tgz#a59ff8932ed9009624bca07c56b28ef2bb2f885e" - integrity sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw== - dependencies: - "@motionone/types" "^10.17.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -1593,7 +1514,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1634,7 +1555,7 @@ nanoid "^3.3.7" prop-types "^15.8.1" -"@rjsf/utils@^5.13.3": +"@rjsf/utils@^5.13.3", "@rjsf/utils@^5.18.x": version "5.18.5" resolved "https://registry.npmjs.org/@rjsf/utils/-/utils-5.18.5.tgz" integrity sha512-b39ZSPv2lpH+VXUKrVsPnPyOKcTa9P08h50J0A1+7xHj6dm4KG1KY/mY4QCaNavZVXsQoieHOe8kmdFDlXirzA== @@ -1710,101 +1631,11 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz#9bd38df6a29afb7f0336d988bc8112af0c8816c0" - integrity sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw== - -"@rollup/rollup-android-arm64@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz#bd1a98390e15b76eeef907175a37c5f0f9e4d214" - integrity sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew== - "@rollup/rollup-darwin-arm64@4.29.1": version "4.29.1" resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz" integrity sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw== -"@rollup/rollup-darwin-x64@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz#76059c91f06b17406347b127df10f065283b2e61" - integrity sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng== - -"@rollup/rollup-freebsd-arm64@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz#83178315c0be4b4c8c1fd835e1952d2dc1eb4e6e" - integrity sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw== - -"@rollup/rollup-freebsd-x64@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz#1ef24fa0576bf7899a0a0a649156606dbd7a0d46" - integrity sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w== - -"@rollup/rollup-linux-arm-gnueabihf@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz#443a6f5681bf4611caae42988994a6d8ee676216" - integrity sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A== - -"@rollup/rollup-linux-arm-musleabihf@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz#9738b27184102228637a683e5f35b22ea352394f" - integrity sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ== - -"@rollup/rollup-linux-arm64-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz#b5e9d5e30ff36a19bedd29c715ba18a1889ff269" - integrity sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA== - -"@rollup/rollup-linux-arm64-musl@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz#1d8f68f0829b57f746ec03432ad046f1af014a98" - integrity sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA== - -"@rollup/rollup-linux-loongarch64-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz#07027feb883408e74a3002c8e50caaedd288ae38" - integrity sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw== - -"@rollup/rollup-linux-powerpc64le-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz#544ce1b0847a9c1240425e86f33daceac7ec4e12" - integrity sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w== - -"@rollup/rollup-linux-riscv64-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz#64be13d51852ec1e2dfbd25d997ed5f42f35ea6d" - integrity sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ== - -"@rollup/rollup-linux-s390x-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz#31f51e1e05c6264552d03875d9e2e673f0fd86e3" - integrity sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g== - -"@rollup/rollup-linux-x64-gnu@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz#f4c95b26f4ad69ebdb64b42f0ae4da2a0f617958" - integrity sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ== - -"@rollup/rollup-linux-x64-musl@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz#ab7be89192f72beb9ea6e2386186fefde4f69d82" - integrity sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA== - -"@rollup/rollup-win32-arm64-msvc@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz#7f12efb8240b238346951559998802722944421e" - integrity sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig== - -"@rollup/rollup-win32-ia32-msvc@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz#353d14d6eee943004d129796e4feddd3aa260921" - integrity sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng== - -"@rollup/rollup-win32-x64-msvc@4.29.1": - version "4.29.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz#c82f04a09ba481e13857d6f2516e072aaa51b7f4" - integrity sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg== - "@sentry-internal/feedback@7.119.1": version "7.119.1" resolved "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.119.1.tgz" @@ -1862,36 +1693,6 @@ resolved "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.32.1.tgz" integrity sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw== -"@sentry/cli-linux-arm64@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.32.1.tgz#785a5d5d3d2919c581bf5b4efc638c3695d8c3bf" - integrity sha512-hsGqHYuecUl1Yhq4MhiRejfh1gNlmhyNPcQEoO/DDRBnGnJyEAdiDpKXJcc2e/lT9k40B55Ob2CP1SeY040T2w== - -"@sentry/cli-linux-arm@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.32.1.tgz#7f9e8292850311bab263e7b84800eb407ff37998" - integrity sha512-m0lHkn+o4YKBq8KptGZvpT64FAwSl9mYvHZO9/ChnEGIJ/WyJwiN1X1r9JHVaW4iT5lD0Y5FAyq3JLkk0m0XHg== - -"@sentry/cli-linux-i686@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.32.1.tgz#8e85fa58dee042e6a4642e960d226788f8e7288b" - integrity sha512-SuMLN1/ceFd3Q/B0DVyh5igjetTAF423txiABAHASenEev0lG0vZkRDXFclfgDtDUKRPmOXW7VDMirM3yZWQHQ== - -"@sentry/cli-linux-x64@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.32.1.tgz#b68ed9c4ba163b6730d386dbeca828114f1c979b" - integrity sha512-x4FGd6xgvFddz8V/dh6jii4wy9qjWyvYLBTz8Fhi9rIP+b8wQ3oxwHIdzntareetZP7C1ggx+hZheiYocNYVwA== - -"@sentry/cli-win32-i686@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.32.1.tgz#e2532893f87f5d180f6e56f49904d4ac141c8788" - integrity sha512-i6aZma9mFzR+hqMY5VliQZEX6ypP/zUjPK0VtIMYWs5cC6PsQLRmuoeJmy3Z7d4nlh0CdK5NPC813Ej6RY6/vg== - -"@sentry/cli-win32-x64@2.32.1": - version "2.32.1" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.32.1.tgz#6b60607cbba243f3708779443cd3f16e09d4289c" - integrity sha512-B58w/lRHLb4MUSjJNfMMw2cQykfimDCMLMmeK+1EiT2RmSeNQliwhhBxYcKk82a8kszH6zg3wT2vCea7LyPUyA== - "@sentry/cli@^2.2.0": version "2.32.1" resolved "https://registry.npmjs.org/@sentry/cli/-/cli-2.32.1.tgz" @@ -2000,6 +1801,20 @@ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@storybook/addon-a11y@^8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.2.tgz" @@ -2008,7 +1823,7 @@ "@storybook/addon-highlight" "8.4.2" axe-core "^4.2.0" -"@storybook/addon-actions@8.4.2", "@storybook/addon-actions@^8.4.2": +"@storybook/addon-actions@^8.4.2", "@storybook/addon-actions@8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.2.tgz" integrity sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g== @@ -2121,7 +1936,7 @@ dependencies: memoizerific "^1.11.3" -"@storybook/blocks@8.4.2", "@storybook/blocks@^8.4.2": +"@storybook/blocks@^8.4.2", "@storybook/blocks@8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.2.tgz" integrity sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA== @@ -2230,7 +2045,7 @@ resolve "^1.22.8" tsconfig-paths "^4.2.0" -"@storybook/react@8.4.2", "@storybook/react@^8.4.2": +"@storybook/react@^8.4.2", "@storybook/react@8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/react/-/react-8.4.2.tgz" integrity sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q== @@ -2242,7 +2057,7 @@ "@storybook/react-dom-shim" "8.4.2" "@storybook/theming" "8.4.2" -"@storybook/test@8.4.2", "@storybook/test@^8.4.2": +"@storybook/test@^8.4.2", "@storybook/test@8.4.2": version "8.4.2" resolved "https://registry.npmjs.org/@storybook/test/-/test-8.4.2.tgz" integrity sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA== @@ -2325,7 +2140,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@^6.5.1": +"@svgr/core@^6.0.0", "@svgr/core@^6.5.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== @@ -2354,47 +2169,34 @@ "@svgr/hast-util-to-babel-ast" "^6.5.1" svg-parser "^2.0.4" -"@testing-library/dom@10.4.0": - version "10.4.0" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" - integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.3.0" + aria-query "5.1.3" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/dom@^8.0.0": - version "8.20.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== +"@testing-library/dom@>=7.21.4", "@testing-library/dom@10.4.0": + version "10.4.0" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz" + integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.1.3" + aria-query "5.3.0" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/jest-dom@6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" - integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== - dependencies: - "@adobe/css-tools" "^4.4.0" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.6.3" - lodash "^4.17.21" - redent "^3.0.0" - "@testing-library/jest-dom@^5.16.2": version "5.17.0" resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz" @@ -2410,6 +2212,19 @@ lodash "^4.17.15" redent "^3.0.0" +"@testing-library/jest-dom@6.5.0": + version "6.5.0" + resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz" + integrity sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA== + dependencies: + "@adobe/css-tools" "^4.4.0" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.6.3" + lodash "^4.17.21" + redent "^3.0.0" + "@testing-library/react@^12.1.4": version "12.1.5" resolved "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz" @@ -2474,7 +2289,7 @@ resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== -"@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": +"@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9", "@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== @@ -2500,7 +2315,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.18.0": +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0": version "7.20.6" resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== @@ -2570,16 +2385,16 @@ resolved "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== +"@types/estree@^1.0.0", "@types/estree@1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/estree@1.0.6", "@types/estree@^1.0.0": - version "1.0.6" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - "@types/glob@^7.1.3": version "7.2.0" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" @@ -2588,12 +2403,19 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + "@types/history@^4.7.11": version "4.7.11" resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== @@ -2640,7 +2462,7 @@ resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/node@*", "@types/node@20.11.0": +"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@20.11.0": version "20.11.0" resolved "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz" integrity sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ== @@ -2664,29 +2486,13 @@ dependencies: "@types/react" "*" -"@types/react-dates@^21.8.6": - version "21.8.6" - resolved "https://registry.yarnpkg.com/@types/react-dates/-/react-dates-21.8.6.tgz#ec9314b59e9d8e1ad71ccf021a7634e8afd26135" - integrity sha512-fDF322SOXAxstapv0/oruiPx9kY4DiiaEHYAVvXdPfQhi/hdaONsA9dFw5JBNPAWz7Niuwk+UUhxPU98h70TjA== - dependencies: - "@types/react" "*" - "@types/react-outside-click-handler" "*" - moment "^2.26.0" - -"@types/react-dom@17.0.13", "@types/react-dom@<18.0.0": +"@types/react-dom@<18.0.0", "@types/react-dom@17.0.13": version "17.0.13" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.13.tgz" integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ== dependencies: "@types/react" "*" -"@types/react-outside-click-handler@*": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/react-outside-click-handler/-/react-outside-click-handler-1.3.4.tgz#999e61057a3a23c6dfc9159b28f96378749d6c42" - integrity sha512-kLuYIa9nWk1n0ywJPbVWqOEIRg0mh3vumriCHbz6LUObJw4rXYx9inDm8G579BtnH8vC0wKfrTq5c2y/K/Xzww== - dependencies: - "@types/react" "*" - "@types/react-router-dom@^5.3.3": version "5.3.3" resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" @@ -2711,7 +2517,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@17.0.39": +"@types/react@*", "@types/react@>=16", "@types/react@>=16 <= 18", "@types/react@17.0.39": version "17.0.39" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz" integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== @@ -2736,16 +2542,16 @@ "@types/prop-types" "*" "@types/react" "*" -"@types/resolve@1.20.2": - version "1.20.2" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" - integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== - "@types/resolve@^1.20.2": version "1.20.6" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz" integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + "@types/scheduler@*": version "0.23.0" resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz" @@ -2756,6 +2562,11 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + "@types/testing-library__jest-dom@^5.9.1": version "5.14.9" resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz" @@ -2800,7 +2611,7 @@ natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.3.0": +"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@8.3.0": version "8.3.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz" integrity sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ== @@ -2872,17 +2683,7 @@ is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@8.3.0": - version "8.3.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" - integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.3.0" - "@typescript-eslint/types" "8.3.0" - "@typescript-eslint/typescript-estree" "8.3.0" + ts-api-utils "^1.3.0" "@typescript-eslint/utils@^5.62.0": version "5.62.0" @@ -2898,6 +2699,16 @@ eslint-scope "^5.1.1" semver "^7.3.7" +"@typescript-eslint/utils@8.3.0": + version "8.3.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz" + integrity sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.3.0" + "@typescript-eslint/types" "8.3.0" + "@typescript-eslint/typescript-estree" "8.3.0" + "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" @@ -2940,7 +2751,7 @@ chai "^5.1.1" tinyrainbow "^1.2.0" -"@vitest/pretty-format@2.0.5", "@vitest/pretty-format@^2.0.5": +"@vitest/pretty-format@^2.0.5", "@vitest/pretty-format@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz" integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ== @@ -2978,6 +2789,15 @@ dependencies: tinyspy "^3.0.0" +"@vitest/utils@^2.1.1": + version "2.1.4" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" + integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== + dependencies: + "@vitest/pretty-format" "2.1.4" + loupe "^3.1.2" + tinyrainbow "^1.2.0" + "@vitest/utils@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz" @@ -2988,15 +2808,6 @@ loupe "^3.1.1" tinyrainbow "^1.2.0" -"@vitest/utils@^2.1.1": - version "2.1.4" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz" - integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== - dependencies: - "@vitest/pretty-format" "2.1.4" - loupe "^3.1.2" - tinyrainbow "^1.2.0" - acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -3009,7 +2820,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.11.0, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: version "8.14.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== @@ -3061,7 +2872,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0: +ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.0, ajv@>=8: version "8.16.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== @@ -3076,7 +2887,7 @@ ansi-colors@^4.1.3: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -3117,12 +2928,7 @@ ansi-styles@^6.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -ansi_up@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ansi_up/-/ansi_up-5.2.1.tgz#9437082c7ad4975c15ec57d30a6b55da295bee36" - integrity sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g== - -anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -3135,24 +2941,38 @@ arg@^4.1.0: resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@5.1.3, aria-query@~5.1.3: +aria-query@^5.0.0, aria-query@5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +aria-query@~5.1.3: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" -aria-query@5.3.0, aria-query@^5.0.0: - version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: - dequal "^2.0.3" + deep-equal "^2.0.5" array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" @@ -3320,6 +3140,40 @@ axobject-query@~3.1.1: dependencies: deep-equal "^2.0.5" +babel-jest@^29.0.0, babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + babel-plugin-macros@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" @@ -3353,6 +3207,35 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.2" +babel-preset-current-node-syntax@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -3407,7 +3290,7 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.23.1, browserslist@^4.23.3: +browserslist@^4.23.1, browserslist@^4.23.3, "browserslist@>= 4.21.0": version "4.24.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz" integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== @@ -3424,6 +3307,13 @@ bs-logger@^0.2.6: dependencies: fast-json-stable-stringify "2.x" +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" @@ -3455,6 +3345,11 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" @@ -3501,6 +3396,11 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + check-error@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz" @@ -3526,10 +3426,10 @@ ci-info@^3.2.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -classnames@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== +cjs-module-lexer@^1.0.0: + version "1.4.1" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== clean-stack@^2.0.0: version "2.2.0" @@ -3559,6 +3459,15 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clsx@^1.0.4, clsx@^1.1.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" @@ -3569,6 +3478,16 @@ clsx@^2.0.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -3583,16 +3502,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-string@^1.9.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" @@ -3728,14 +3647,27 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.5: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" @@ -3796,7 +3728,7 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: +d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3": version "3.2.4" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== @@ -3818,7 +3750,7 @@ d3-ease@^3.0.1: resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== -"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: +d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3": version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -3855,7 +3787,7 @@ d3-shape@^3.1.0: dependencies: d3-time "1 - 3" -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: +d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3": version "3.1.0" resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz" integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== @@ -3899,18 +3831,11 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -dayjs@^1.11.13, dayjs@^1.11.8: +dayjs@^1.11.8: version "1.11.13" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6: - version "4.3.7" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -3918,6 +3843,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@4: + version "4.3.7" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decimal.js-light@^2.4.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" @@ -3928,6 +3860,11 @@ decode-uri-component@^0.2.2: resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz" @@ -4005,6 +3942,11 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + diff-sequences@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" @@ -4015,16 +3957,16 @@ diff-sequences@^28.1.1: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz" integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + diff@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -4128,6 +4070,11 @@ electron-to-chromium@^1.5.41: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.51.tgz" integrity sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -4312,7 +4259,7 @@ esbuild-register@^3.5.0: dependencies: debug "^4.3.4" -"esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3: +esbuild@*, "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", esbuild@^0.21.3, "esbuild@>=0.12 <1": version "0.21.5" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz" integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== @@ -4341,7 +4288,7 @@ esbuild-register@^3.5.0: "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" -escalade@^3.2.0: +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -4351,6 +4298,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" @@ -4375,7 +4327,7 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@^9.1.0: +eslint-config-prettier@*, eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== @@ -4409,7 +4361,7 @@ eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" -eslint-plugin-import@^2.29.1: +eslint-plugin-import@*, eslint-plugin-import@^2.25.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.29.1: version "2.29.1" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== @@ -4432,7 +4384,7 @@ eslint-plugin-import@^2.29.1: semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jsx-a11y@^6.8.0: +eslint-plugin-jsx-a11y@^6.5.1, eslint-plugin-jsx-a11y@^6.8.0: version "6.9.0" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz" integrity sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g== @@ -4462,12 +4414,12 @@ eslint-plugin-prettier@^5.1.2: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-plugin-react-hooks@^4.6.0: +eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.6.0: 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== -eslint-plugin-react@^7.33.2: +eslint-plugin-react@^7.28.0, eslint-plugin-react@^7.33.2: version "7.34.3" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz" integrity sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA== @@ -4522,7 +4474,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.57.1: +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.32.0 || ^8.2.0", "eslint@^8.57.0 || ^9.0.0", eslint@^8.57.1, eslint@>=6, eslint@>=7.0.0, eslint@>=8.0.0: version "8.57.1" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz" integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== @@ -4575,7 +4527,7 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@~4.0.0: +esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -4641,7 +4593,7 @@ eventsource@^2.0.2: resolved "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz" integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== -execa@^5.1.1: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -4671,6 +4623,22 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" @@ -4702,7 +4670,7 @@ fast-json-patch@^3.1.1: resolved "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz" integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -4726,6 +4694,13 @@ faye-websocket@^0.11.4: dependencies: websocket-driver ">=0.5.1" +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + fdir@^6.4.2: version "6.4.2" resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz" @@ -4762,6 +4737,22 @@ find-root@^1.1.0: resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -4801,27 +4792,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -framer-motion@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" - integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== - dependencies: - "@motionone/dom" "10.12.0" - framesync "6.0.1" - hey-listen "^1.0.8" - popmotion "11.0.3" - style-value-types "5.0.0" - tslib "^2.1.0" - optionalDependencies: - "@emotion/is-prop-valid" "^0.8.2" - -framesync@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" - integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== - dependencies: - tslib "^2.1.0" - fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -4837,16 +4807,16 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + fsevents@2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -4872,6 +4842,11 @@ gensync@^1.0.0-beta.2: resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" @@ -4888,6 +4863,11 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" @@ -4935,7 +4915,7 @@ glob-promise@^4.2.0: dependencies: "@types/glob" "^7.1.3" -glob@^7.1.3, glob@^7.1.6, glob@^7.2.0: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -5055,11 +5035,6 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - history@^4.9.0: version "4.10.1" resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" @@ -5079,6 +5054,11 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react- dependencies: react-is "^16.7.0" +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -5122,16 +5102,16 @@ immediate@~3.0.5: resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== -immutable@3.7.x: - version "3.7.6" - resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" - integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== - immutable@^4.0.0: version "4.3.6" resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== +immutable@3.7.x: + version "3.7.6" + resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" + integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" @@ -5140,6 +5120,14 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" @@ -5158,7 +5146,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@^2.0.3, inherits@^2.0.4, inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5292,6 +5280,11 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" @@ -5431,21 +5424,74 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + 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== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" @@ -5467,6 +5513,86 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + jest-diff@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" @@ -5483,9 +5609,49 @@ jest-diff@^28.0.0: integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== dependencies: chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" jest-extended@^2.0.0: version "2.1.0" @@ -5500,11 +5666,40 @@ jest-get-type@^27.5.1: resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^28.0.0, jest-get-type@^28.0.2: +jest-get-type@^28.0.0: + version "28.0.2" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + +jest-get-type@^28.0.2: version "28.0.2" resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + jest-junit@^13.0.0: version "13.2.0" resolved "https://registry.npmjs.org/jest-junit/-/jest-junit-13.2.0.tgz" @@ -5515,6 +5710,14 @@ jest-junit@^13.0.0: uuid "^8.3.2" xml "^1.0.1" +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + jest-matcher-utils@^27.0.0: version "27.5.1" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" @@ -5525,7 +5728,155 @@ jest-matcher-utils@^27.0.0: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-util@^29.0.0: +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@*, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.0.0, jest-util@^29.7.0: version "29.7.0" resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== @@ -5537,11 +5888,65 @@ jest-util@^29.0.0: graceful-fs "^4.2.9" picomatch "^2.2.3" +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.0.0, jest@>=27.2.5: + version "29.7.0" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" @@ -5554,7 +5959,7 @@ jsdoc-type-pratt-parser@^4.0.0: resolved "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz" integrity sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg== -jsep@^1.3.9: +jsep@^0.4.0||^1.0.0, jsep@^1.3.9: version "1.3.9" resolved "https://registry.npmjs.org/jsep/-/jsep-1.3.9.tgz" integrity sha512-i1rBX5N7VPl0eYb6+mHNp52sEuaS2Wi8CDYx1X5sn9naevL78+265XJqy1qENEk7mRKwS06NHpUqiBwR7qeodw== @@ -5672,6 +6077,11 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + language-subtag-registry@^0.3.20: version "0.3.23" resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz" @@ -5755,6 +6165,13 @@ localforage@^1.8.1: dependencies: lie "3.1.1" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -5840,18 +6257,39 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.30.0, magic-string@^0.30.10: +magic-string@^0.30.0: + version "0.30.11" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +magic-string@^0.30.10: version "0.30.11" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz" integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + map-or-similar@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz" @@ -5862,11 +6300,6 @@ markdown-to-jsx@^7.4.1: resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz" integrity sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg== -marked@^13.0.3: - version "13.0.3" - resolved "https://registry.yarnpkg.com/marked/-/marked-13.0.3.tgz#5c5b4a5d0198060c7c9bc6ef9420a7fed30f822d" - integrity sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA== - mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -5922,7 +6355,7 @@ min-indent@^1.0.0, min-indent@^1.0.1: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -5958,12 +6391,12 @@ mock-socket@^9.2.1: resolved "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz" integrity sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw== -moment@>=1.6.0, moment@^2.26.0, moment@^2.29.4: +moment@^2.18.1, moment@^2.29.4, moment@>=1.6.0: version "2.30.1" resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -monaco-editor@0.44.0: +monaco-editor@^0.44.0, monaco-editor@>=0.30.0, monaco-editor@>=0.36, monaco-editor@0.44.0: version "0.44.0" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz" integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== @@ -6017,9 +6450,9 @@ ms@^2.1.1, ms@^2.1.3: resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.7, nanoid@^3.3.8: +nanoid@^3.3.7: version "3.3.8" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== natural-compare@^1.4.0: @@ -6034,6 +6467,11 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + node-releases@^2.0.18: version "2.0.18" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz" @@ -6186,13 +6624,27 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" -p-limit@^3.0.2: +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -6207,6 +6659,11 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -6214,7 +6671,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -6254,9 +6711,9 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@^1.7.0, path-to-regexp@^1.9.0: +path-to-regexp@^1.7.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz" integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -6291,7 +6748,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatc resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.2: +"picomatch@^3 || ^4", picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -6301,6 +6758,18 @@ pidtree@^0.5.0: resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + playwright-core@1.45.0: version "1.45.0" resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz" @@ -6322,16 +6791,6 @@ polished@^4.2.2: dependencies: "@babel/runtime" "^7.17.8" -popmotion@11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" - integrity sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA== - dependencies: - framesync "6.0.1" - hey-listen "^1.0.8" - style-value-types "5.0.0" - tslib "^2.1.0" - possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" @@ -6358,16 +6817,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +"prettier@^2 || ^3", prettier@^3.1.1, prettier@>=3.0.0: + version "3.3.2" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== + prettier@^2.0.0: version "2.8.8" resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -prettier@^3.1.1: - version "3.3.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" @@ -6397,6 +6856,15 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" @@ -6407,6 +6875,14 @@ progress@^2.0.3: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + prop-types-exact@^1.2.0: version "1.2.4" resolved "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.4.tgz" @@ -6437,6 +6913,11 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + query-string@^7.1.1: version "7.1.3" resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" @@ -6471,6 +6952,11 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +react-addons-test-utils@^15.0.0, react-addons-test-utils@15.x.x: + version "15.6.2" + resolved "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.6.2.tgz" + integrity sha512-6IUCnLp7jQRBftm2anf8rP8W+8M2PsC7GPyMFe2Wef3Wfml7j2KybVL//Ty7bRDBqLh8AG4m/zNZbFlwulldFw== + react-csv@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz" @@ -6497,17 +6983,6 @@ react-dates@^21.8.0: react-with-styles "^4.1.0" react-with-styles-interface-css "^6.0.0" -react-diff-viewer-continued@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/react-diff-viewer-continued/-/react-diff-viewer-continued-3.4.0.tgz#0501ffb2b5ab740f88b9ae5f18771aa90d3803c2" - integrity sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg== - dependencies: - "@emotion/css" "^11.11.2" - classnames "^2.3.2" - diff "^5.1.0" - memoize-one "^6.0.0" - prop-types "^15.8.1" - react-docgen-typescript@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz" @@ -6529,7 +7004,7 @@ react-docgen@^7.0.0: resolve "^1.22.1" strip-indent "^4.0.0" -"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^17.0.2: +"react-dom@^0.14 || ^15 || ^16", "react-dom@^0.14 || ^15.5.4 || ^16.1.1", "react-dom@^0.14 || >=15", "react-dom@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", react-dom@^15.4.2, "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react-dom@^17.0.0, react-dom@^17.0.2, react-dom@<18.0.0, "react-dom@>= 16.3.0", react-dom@>=16.6.0, react-dom@>=16.8: version "17.0.2" resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== @@ -6566,7 +7041,12 @@ react-is@^17.0.1: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0, react-is@^18.2.0: +react-is@^18.0.0: + 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== + +react-is@^18.2.0: 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== @@ -6588,13 +7068,6 @@ react-moment-proptypes@^1.6.0: dependencies: moment ">=1.6.0" -react-monaco-editor@^0.54.0: - version "0.54.0" - resolved "https://registry.yarnpkg.com/react-monaco-editor/-/react-monaco-editor-0.54.0.tgz#ec9293249a991b08264be723c1ec0ca3a6d480d8" - integrity sha512-9JwO69851mfpuhYLHlKbae7omQWJ/2ICE2lbL0VHyNyZR8rCOH7440u+zAtDgiOMpLwmYdY1sEZCdRefywX6GQ== - dependencies: - prop-types "^15.8.1" - react-monaco-editor@^0.55.0: version "0.55.0" resolved "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.55.0.tgz" @@ -6735,7 +7208,7 @@ react-with-styles-interface-css@^6.0.0: array.prototype.flat "^1.2.1" global-cache "^1.2.1" -react-with-styles@^4.1.0: +"react-with-styles@^3.0.0 || ^4.0.0", react-with-styles@^4.1.0: version "4.2.0" resolved "https://registry.npmjs.org/react-with-styles/-/react-with-styles-4.2.0.tgz" integrity sha512-tZCTY27KriRNhwHIbg1NkSdTTOSfXDg6Z7s+Q37mtz0Ym7Sc7IOr3PzVt4qJhJMW6Nkvfi3g34FuhtiGAJCBQA== @@ -6746,7 +7219,7 @@ react-with-styles@^4.1.0: prop-types "^15.7.2" react-with-direction "^1.3.1" -"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^17.0.2: +"react@^0.14 || ^15 || ^16", "react@^0.14 || ^15.0.0 || ^16.0.0-alpha", "react@^0.14 || ^15.5.4 || ^16.1.1", "react@^0.14 || >=15", react@^15.0.0, "react@^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0", "react@^16.14.0 || >=17", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", react@^17.0.0, react@^17.0.2, react@<18.0.0, "react@>= 0.14.0", "react@>= 16.3.0", react@>=0.14, react@>=15, react@>=16, "react@>=16 <= 18", react@>=16.6.0, react@>=16.8, react@>=16.8.0, react@15.x.x, react@17.0.2: version "17.0.2" resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== @@ -6878,6 +7351,11 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" @@ -6893,11 +7371,23 @@ requires-port@^1.0.0: resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" @@ -6908,7 +7398,12 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: +resolve.exports@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== + +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -6974,9 +7469,16 @@ rollup-pluginutils@^2.8.1: dependencies: estree-walker "^0.6.1" -rollup@^2.43.1, rollup@^4.20.0, rollup@^4.22.4: +"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.0.0||^3.0.0||^4.0.0, rollup@^2.43.1, rollup@^2.78.0||^3.0.0||^4.0.0: + version "2.79.2" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz" + integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== + optionalDependencies: + fsevents "~2.3.2" + +rollup@^4.20.0: version "4.29.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.29.1.tgz#a9aaaece817e5f778489e5bf82e379cc8a5c05bc" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz" integrity sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw== dependencies: "@types/estree" "1.0.6" @@ -7026,7 +7528,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@>=5.1.0, safe-buffer@^5.1.0: +safe-buffer@^5.1.0, safe-buffer@>=5.1.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7040,7 +7542,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@^1.69.7: +sass@*, sass@^1.69.7: version "1.77.6" resolved "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz" integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q== @@ -7062,7 +7564,32 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: +semver@^7.3.7: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.5.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.5.4: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.6.0: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.6.2: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +semver@^7.6.3: version "7.6.3" resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -7152,7 +7679,7 @@ siginfo@^2.0.0: resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7169,6 +7696,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -7216,7 +7748,7 @@ sockjs-client@1.6.1: inherits "^2.0.4" url-parse "^1.5.10" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: +source-map-js@^1.0.1, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -7229,12 +7761,20 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map@^0.5.7: version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -7256,6 +7796,18 @@ split-on-first@^1.0.0: resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -7273,7 +7825,7 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -storybook@^8.4.2: +"storybook@^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0", storybook@^8.4.2: version "8.4.2" resolved "https://registry.npmjs.org/storybook/-/storybook-8.4.2.tgz" integrity sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA== @@ -7290,7 +7842,15 @@ string-argv@^0.3.1: resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -string-width@^4.1.0, string-width@^4.2.0: +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7390,6 +7950,11 @@ strip-bom@^3.0.0: resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + strip-comments@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" @@ -7424,14 +7989,6 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -style-value-types@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" - integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== - dependencies: - hey-listen "^1.0.8" - tslib "^2.1.0" - stylis@4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" @@ -7451,6 +8008,13 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-color@^9.2.2: version "9.4.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz" @@ -7507,7 +8071,7 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -terser@^5.17.4: +terser@^5.17.4, terser@^5.4.0: version "5.36.0" resolved "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz" integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== @@ -7517,6 +8081,15 @@ terser@^5.17.4: commander "^2.20.0" source-map-support "~0.5.20" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -7572,6 +8145,11 @@ tippy.js@^6.3.1, tippy.js@^6.3.7: dependencies: "@popperjs/core" "^2.9.0" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -7621,7 +8199,7 @@ ts-jest@29.2.5: semver "^7.6.3" yargs-parser "^21.1.1" -ts-node@10.9.2: +ts-node@>=9.0.0, ts-node@10.9.2: version "10.9.2" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== @@ -7664,20 +8242,20 @@ tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.7.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^1.8.1, tslib@^1.9.3: +tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.3.1, tslib@^2.4.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== +tslib@^2.0.1, tslib@^2.1.0, tslib@^2.6.2: + version "2.7.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tsutils@^3.21.0: version "3.21.0" @@ -7693,6 +8271,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.16.0: version "0.16.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" @@ -7757,7 +8340,7 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@5.5.4: +typescript@^5.0.0, "typescript@>= 4.2.x", "typescript@>= 4.3.x", typescript@>=2.7, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.2.0, "typescript@>=4.3 <6", typescript@5.5.4: version "5.5.4" resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz" integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== @@ -7879,6 +8462,15 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== +v8-to-istanbul@^9.0.1: + 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== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + validate.io-array@^1.0.1, validate.io-array@^1.0.3: version "1.0.6" resolved "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz" @@ -7998,7 +8590,7 @@ vite-tsconfig-paths@5.0.1: globrex "^0.1.2" tsconfck "^3.0.3" -vite@5.4.11, vite@^5.0.0: +vite@*, "vite@^2.6.0 || 3 || 4", "vite@^3.0.0 || ^4.0.0 || ^5.0.0", "vite@^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "vite@^4.0.0 || ^5.0.0", "vite@^4.2.0 || ^5.0.0", vite@^5.0.0, vite@>=3, vite@5.4.11: version "5.4.11" resolved "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz" integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== @@ -8052,7 +8644,7 @@ vscode-languageserver-textdocument@^1.0.0: resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz" integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== -vscode-languageserver-types@3.17.5, vscode-languageserver-types@^3.0.0: +vscode-languageserver-types@^3.0.0, vscode-languageserver-types@3.17.5: version "3.17.5" resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz" integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== @@ -8062,6 +8654,13 @@ vscode-uri@^3.0.0: resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" @@ -8328,7 +8927,7 @@ workbox-sw@7.3.0: resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.3.0.tgz" integrity sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA== -workbox-window@7.3.0, workbox-window@^7.3.0: +workbox-window@^7.3.0, workbox-window@7.3.0: version "7.3.0" resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-7.3.0.tgz" integrity sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA== @@ -8359,6 +8958,14 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + ws@^8.2.3: version "8.18.0" resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz" @@ -8386,17 +8993,27 @@ xterm-webfont@^2.0.0: dependencies: fontfaceobserver "2.*" -xterm@^4.19.0: +xterm@^4.0.0, xterm@^4.19.0: version "4.19.0" resolved "https://registry.npmjs.org/xterm/-/xterm-4.19.0.tgz" integrity sha512-c3Cp4eOVsYY5Q839dR5IejghRPpxciGmLWWaP9g+ppfMeBChMeLa1DCA+pmX/jyDZ+zxFOmlJL/82qVdayVoGQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0, yaml@^1.10.2: +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^1.10.2: version "1.10.2" resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -8411,6 +9028,19 @@ yargs-parser@^21.1.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" From 0f6039e183eccde119da6596ea2e1e994b13088f Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 27 Dec 2024 14:39:05 +0530 Subject: [PATCH 155/186] chore: min height added for overflow --- .../ClusterEnvironmentDrawer.tsx | 37 +++++++------------ src/css/base.scss | 5 +++ 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx index 4ac08765c8..7372b31521 100644 --- a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx +++ b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer/ClusterEnvironmentDrawer.tsx @@ -226,32 +226,21 @@ export const ClusterEnvironmentDrawer = ({ return (
+
+

{id ? 'Edit Environment' : 'Add Environment'}

+ +
-
-

{id ? 'Edit Environment' : 'Add Environment'}

- -
-
-

{id ? 'Edit Environment' : 'Add Environment'}

- -
)}
-
+
{id && (
-
+
Date: Fri, 27 Dec 2024 16:56:38 +0530 Subject: [PATCH 162/186] chore: unnecessary check removed --- .../Details/EnvCDDetails/EnvCDDetails.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/ApplicationGroup/Details/EnvCDDetails/EnvCDDetails.tsx b/src/components/ApplicationGroup/Details/EnvCDDetails/EnvCDDetails.tsx index 83c937ede7..f12c09372d 100644 --- a/src/components/ApplicationGroup/Details/EnvCDDetails/EnvCDDetails.tsx +++ b/src/components/ApplicationGroup/Details/EnvCDDetails/EnvCDDetails.tsx @@ -126,23 +126,23 @@ export default function EnvCDDetails({ filteredAppIds }: AppGroupDetailDefaultTy return } - const cdWorkflows = deploymentHistoryResult.result?.cdWorkflows + const cdWorkflows = deploymentHistoryResult.result.cdWorkflows setHasMore(cdWorkflows.length === pagination.size) setHasMoreLoading(cdWorkflows.length === pagination.size) - let triggerIdToSet = cdWorkflows?.[0]?.id + let triggerIdToSet = cdWorkflows[0].id const queryString = new URLSearchParams(location.search) const deploymentStageType = queryString.get('type') === STAGE_TYPE.PRECD ? DeploymentStageType.PRE : DeploymentStageType.POST - const triggeredHistoryResult = cdWorkflows?.find((obj) => obj.stage === deploymentStageType) + const triggeredHistoryResult = cdWorkflows.find((obj) => obj.stage === deploymentStageType) if (triggeredHistoryResult) { triggerIdToSet = triggeredHistoryResult.id } - if (!triggerId && appId && pipelineId && cdWorkflows.length) { + if (!triggerId && appId && pipelineId) { replace( generatePath(path, { appId, @@ -153,7 +153,7 @@ export default function EnvCDDetails({ filteredAppIds }: AppGroupDetailDefaultTy ) } - const newTriggerHistory = (cdWorkflows || []).reduce((agg, curr) => { + const newTriggerHistory = cdWorkflows.reduce((agg, curr) => { agg.set(curr.id, curr) return agg }, triggerHistory) From 13fb570d4dce1500713631da2ce775b1e6019c21 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 27 Dec 2024 18:20:09 +0530 Subject: [PATCH 163/186] chore: code redirection fix --- src/components/app/details/triggerView/types.ts | 4 ++-- .../workflow/nodes/triggerPrePostCDNode.tsx | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/app/details/triggerView/types.ts b/src/components/app/details/triggerView/types.ts index f8d0bb8062..f6d2b51422 100644 --- a/src/components/app/details/triggerView/types.ts +++ b/src/components/app/details/triggerView/types.ts @@ -284,7 +284,7 @@ export interface TriggerCDNodeState { } export interface TriggerPrePostCDNodeProps - extends RouteComponentProps<{ appId: string }>, + extends RouteComponentProps<{ appId: string; envId: string }>, Partial> { x: number y: number @@ -320,7 +320,7 @@ export interface TriggerEdgeType { } export interface WorkflowProps - extends RouteComponentProps<{ appId: string }>, + extends RouteComponentProps<{ appId: string; envId: string }>, Pick { id: string name: string diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx index c19426bb22..8af780040c 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx @@ -24,6 +24,7 @@ import { TriggerViewContext } from '../../config' import NoGitOpsRepoConfiguredWarning from '../../../../../workflowEditor/NoGitOpsRepoConfiguredWarning' import { gitOpsRepoNotConfiguredWithEnforcedEnv } from '../../../../../gitOps/constants' import { getNodeSideHeadingAndClass } from './workflow.utils' +import { getAppGroupDeploymentHistoryLink } from '../../../../../ApplicationGroup/AppGroup.utils' export class TriggerPrePostCDNode extends Component { gitOpsRepoWarningCondition = @@ -37,7 +38,15 @@ export class TriggerPrePostCDNode extends Component Date: Fri, 27 Dec 2024 18:24:48 +0530 Subject: [PATCH 164/186] chore: env type added --- src/components/app/details/triggerView/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app/details/triggerView/types.ts b/src/components/app/details/triggerView/types.ts index f6d2b51422..bc61101f78 100644 --- a/src/components/app/details/triggerView/types.ts +++ b/src/components/app/details/triggerView/types.ts @@ -244,7 +244,7 @@ interface InputMaterials { } export interface TriggerCDNodeProps - extends RouteComponentProps<{ appId: string; envId?: string }>, + extends RouteComponentProps<{ appId: string; envId: string }>, Partial> { x: number y: number From d04e47165e27399dba42017f9d763c7a3d621568 Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Fri, 27 Dec 2024 18:29:26 +0530 Subject: [PATCH 165/186] feat: remove isManifestScanningEnabled flag from helm apps --- package.json | 2 +- .../appDetails/SecurityVulnerabilityCard.tsx | 9 +- .../app/details/cIDetails/CIDetails.tsx | 5 +- .../EnvironmentStatus.component.tsx | 6 +- .../ChartDeploymentHistory.component.tsx | 7 +- .../ChartValuesView.reducer.ts | 8 +- .../chartValuesDiff/ChartValuesView.tsx | 17 +- yarn.lock | 240 +++++++++--------- 8 files changed, 144 insertions(+), 150 deletions(-) diff --git a/package.json b/package.json index 996ddd53d7..560f6f2feb 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.9-beta-2", + "@devtron-labs/devtron-fe-common-lib": "1.3.9-beta-3", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 70036309ab..8d233ba6e5 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -47,7 +47,14 @@ export const SecurityVulnerabilityCard = ({ return } - if (scanResultResponse && !scanResultResponse.result.scanned) { + // Here for devtron app scanned and isImageScanEnabled both should be true + // where as for helm app we only check scanned true + // since helm app can be scanned without imageScan + if ( + scanResultResponse && + !scanResultResponse.result.scanned && + (appId ? !scanResultResponse.result.isImageScanEnabled : true) + ) { return null } diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index 173137e4d5..f5378875ac 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -705,10 +705,7 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu if (scanResultError) { return } - if (scanResultResponse && !scanResultResponse.result.scanned) { - if (!scanResultResponse.result.isImageScanEnabled) { - return - } + if (scanResultResponse && (!scanResultResponse.result.scanned || !scanResultResponse.result.isImageScanEnabled)) { return } diff --git a/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx b/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx index b96c7f6bdc..7e0ee6eea4 100644 --- a/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx +++ b/src/components/v2/appDetails/sourceInfo/environmentStatus/EnvironmentStatus.component.tsx @@ -25,7 +25,7 @@ import { useRouteMatch, useHistory, useParams } from 'react-router-dom' import NotesDrawer from './NotesDrawer' import { getInstalledChartNotesDetail } from '../../appDetails.api' import { importComponentFromFELibrary } from '../../../../common' -import { DeploymentAppTypes, useAsync, useMainContext } from '@devtron-labs/devtron-fe-common-lib' +import { DeploymentAppTypes, useAsync } from '@devtron-labs/devtron-fe-common-lib' import { EnvironmentStatusComponentType } from '../environment.type' import HelmAppConfigApplyStatusCard from './HelmAppConfigApplyStatusCard' import AppStatusCard from '../../../../app/details/appDetails/AppStatusCard' @@ -39,6 +39,7 @@ import IssuesListingModal from '../../../../app/details/appDetails/IssuesListing import SecurityVulnerabilityCard from '../../../../app/details/appDetails/SecurityVulnerabilityCard' const AppDetailsDownloadCard = importComponentFromFELibrary('AppDetailsDownloadCard') +const isFELibAvailable = importComponentFromFELibrary('isFELibAvailable', false, 'function') const EnvironmentStatusComponent = ({ loadingDetails, @@ -47,7 +48,6 @@ const EnvironmentStatusComponent = ({ isVirtualEnvironment, refetchDeploymentStatus, }: EnvironmentStatusComponentType) => { - const { isManifestScanningEnabled } = useMainContext() const [appDetails] = useSharedState(IndexStore.getAppDetails(), IndexStore.getAppDetailsObservable()) const [showAppStatusDetail, setShowAppStatusDetail] = useState(false) const [showNotes, setShowNotes] = useState(false) @@ -183,7 +183,7 @@ const EnvironmentStatusComponent = ({ {renderHelmConfigApplyStatusBlock()} {renderLastUpdatedBlock()} {renderChartUsedBlock()} - {isManifestScanningEnabled && appDetails?.appType === AppType.DEVTRON_HELM_CHART && ( + {isFELibAvailable && appDetails?.appType === AppType.DEVTRON_HELM_CHART && ( { const tabs = [ DEPLOYMENT_HISTORY_TAB.SOURCE, DEPLOYMENT_HISTORY_TAB.VALUES_YAML, DEPLOYMENT_HISTORY_TAB.HELM_GENERATED_MANIFEST, - (ChartSecurityTab && isManifestScanningEnabled && !isExternal && DEPLOYMENT_HISTORY_TAB.SECURITY), + (ChartSecurityTab && !isExternal && DEPLOYMENT_HISTORY_TAB.SECURITY), ] if (installedAppInfo?.deploymentType === DeploymentAppTypes.GITOPS) { tabs.unshift(DEPLOYMENT_HISTORY_TAB.STEPS) @@ -596,7 +593,7 @@ const ChartDeploymentHistory = ({ status={deployment.status} /> )} - {selectedDeploymentTabName === DEPLOYMENT_HISTORY_TAB.SECURITY && !isExternal && isManifestScanningEnabled && ChartSecurityTab && ( + {selectedDeploymentTabName === DEPLOYMENT_HISTORY_TAB.SECURITY && !isExternal && ChartSecurityTab && ( )}
diff --git a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts index 30740bd988..30f735beae 100644 --- a/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts +++ b/src/components/v2/values/chartValuesDiff/ChartValuesView.reducer.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { DeploymentAppTypes, useMainContext } from '@devtron-labs/devtron-fe-common-lib' +import { DeploymentAppTypes } from '@devtron-labs/devtron-fe-common-lib' import { ChartValuesType, ChartVersionType } from '../../../charts/charts.types' import { ChartValuesViewAction, ChartValuesViewActionTypes, ChartValuesViewState } from './ChartValuesView.type' @@ -25,8 +25,6 @@ export const initState = ( chartVersionsDataFromParent: ChartVersionType[], deploymentAppType: DeploymentAppTypes, ): ChartValuesViewState => { - const { isManifestScanningEnabled } = useMainContext() - return { isLoading: true, isLodingGUIForm: false, @@ -89,9 +87,7 @@ export const initState = ( chartVersionId: selectedVersionFromParent, chartValuesId: chartValuesFromParent?.id, }, - isManifestScanEnabled: isManifestScanningEnabled - ? installedConfigFromParent?.isManifestScanEnabled ?? false - : false, + isManifestScanEnabled: installedConfigFromParent?.isManifestScanEnabled ?? false, } } diff --git a/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx b/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx index 87edc3d472..04506fad63 100644 --- a/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx +++ b/src/components/v2/values/chartValuesDiff/ChartValuesView.tsx @@ -164,7 +164,7 @@ const ChartValuesView = ({ presetValueId: string envId: string }>() - const { serverMode, isManifestScanningEnabled } = useMainContext() + const { serverMode } = useMainContext() const { handleDownload } = useDownload() const chartValuesAbortRef = useRef(new AbortController()) const [chartValuesList, setChartValuesList] = useState(chartValuesListFromParent || []) @@ -1786,15 +1786,12 @@ const ChartValuesView = ({ /> )}
- {isManifestScanningEnabled && - !isExternalApp && - (isDeployChartView || isUpdateAppView) && - ToggleSecurityScan && ( - - )} + {!isExternalApp && (isDeployChartView || isUpdateAppView) && ToggleSecurityScan && ( + + )} {!isDeployChartView && chartValueId !== '0' && !( diff --git a/yarn.lock b/yarn.lock index 1473dda126..f3d57f8957 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.9-beta-2": - version "1.3.9-beta-2" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.9-beta-2.tgz#2f74f86b1be474099e049dd3be4b4a359e5f7398" - integrity sha512-zFaUNlAOzZosuMfVNoqPHZsMIfLuIdwa+oVfj0uAZ4YxiTbJRwvyDK6WdbhM+4mqBBx1tAenheeYnKjiUa6Sxw== +"@devtron-labs/devtron-fe-common-lib@1.3.9-beta-3": + version "1.3.9-beta-3" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.9-beta-3.tgz#d15f5d9e76c859cb912dfd652e09c19f677b062d" + integrity sha512-egSdTM7kocKEMKUKu2pnkqtm2oVUTGV9MzF8DKtRGUeC5E4PgmHGvdc5cFfXI48i8MQN7BZwv29R0xiCt8u+kg== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" @@ -1710,100 +1710,100 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz#7f4c4d8cd5ccab6e95d6750dbe00321c1f30791e" - integrity sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ== - -"@rollup/rollup-android-arm64@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz#17ea71695fb1518c2c324badbe431a0bd1879f2d" - integrity sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA== - -"@rollup/rollup-darwin-arm64@4.28.1": - version "4.28.1" - resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz" - integrity sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ== - -"@rollup/rollup-darwin-x64@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz#8f63baa1d31784904a380d2e293fa1ddf53dd4a2" - integrity sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ== - -"@rollup/rollup-freebsd-arm64@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz#30ed247e0df6e8858cdc6ae4090e12dbeb8ce946" - integrity sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA== - -"@rollup/rollup-freebsd-x64@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz#57846f382fddbb508412ae07855b8a04c8f56282" - integrity sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz#378ca666c9dae5e6f94d1d351e7497c176e9b6df" - integrity sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA== - -"@rollup/rollup-linux-arm-musleabihf@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz#a692eff3bab330d5c33a5d5813a090c15374cddb" - integrity sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg== - -"@rollup/rollup-linux-arm64-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz#6b1719b76088da5ac1ae1feccf48c5926b9e3db9" - integrity sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA== - -"@rollup/rollup-linux-arm64-musl@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz#865baf5b6f5ff67acb32e5a359508828e8dc5788" - integrity sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A== - -"@rollup/rollup-linux-loongarch64-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz#23c6609ba0f7fa7a7f2038b6b6a08555a5055a87" - integrity sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA== - -"@rollup/rollup-linux-powerpc64le-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz#652ef0d9334a9f25b9daf85731242801cb0fc41c" - integrity sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A== - -"@rollup/rollup-linux-riscv64-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz#1eb6651839ee6ebca64d6cc64febbd299e95e6bd" - integrity sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA== - -"@rollup/rollup-linux-s390x-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz#015c52293afb3ff2a293cf0936b1d43975c1e9cd" - integrity sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg== - -"@rollup/rollup-linux-x64-gnu@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz#b83001b5abed2bcb5e2dbeec6a7e69b194235c1e" - integrity sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw== - -"@rollup/rollup-linux-x64-musl@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz#6cc7c84cd4563737f8593e66f33b57d8e228805b" - integrity sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g== - -"@rollup/rollup-win32-arm64-msvc@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz#631ffeee094d71279fcd1fe8072bdcf25311bc11" - integrity sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A== - -"@rollup/rollup-win32-ia32-msvc@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz#06d1d60d5b9f718e8a6c4a43f82e3f9e3254587f" - integrity sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA== - -"@rollup/rollup-win32-x64-msvc@4.28.1": - version "4.28.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz#4dff5c4259ebe6c5b4a8f2c5bc3829b7a8447ff0" - integrity sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA== +"@rollup/rollup-android-arm-eabi@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz#9bd38df6a29afb7f0336d988bc8112af0c8816c0" + integrity sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw== + +"@rollup/rollup-android-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz#bd1a98390e15b76eeef907175a37c5f0f9e4d214" + integrity sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew== + +"@rollup/rollup-darwin-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz" + integrity sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw== + +"@rollup/rollup-darwin-x64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz#76059c91f06b17406347b127df10f065283b2e61" + integrity sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng== + +"@rollup/rollup-freebsd-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz#83178315c0be4b4c8c1fd835e1952d2dc1eb4e6e" + integrity sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw== + +"@rollup/rollup-freebsd-x64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz#1ef24fa0576bf7899a0a0a649156606dbd7a0d46" + integrity sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w== + +"@rollup/rollup-linux-arm-gnueabihf@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz#443a6f5681bf4611caae42988994a6d8ee676216" + integrity sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A== + +"@rollup/rollup-linux-arm-musleabihf@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz#9738b27184102228637a683e5f35b22ea352394f" + integrity sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ== + +"@rollup/rollup-linux-arm64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz#b5e9d5e30ff36a19bedd29c715ba18a1889ff269" + integrity sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA== + +"@rollup/rollup-linux-arm64-musl@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz#1d8f68f0829b57f746ec03432ad046f1af014a98" + integrity sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA== + +"@rollup/rollup-linux-loongarch64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz#07027feb883408e74a3002c8e50caaedd288ae38" + integrity sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw== + +"@rollup/rollup-linux-powerpc64le-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz#544ce1b0847a9c1240425e86f33daceac7ec4e12" + integrity sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w== + +"@rollup/rollup-linux-riscv64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz#64be13d51852ec1e2dfbd25d997ed5f42f35ea6d" + integrity sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ== + +"@rollup/rollup-linux-s390x-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz#31f51e1e05c6264552d03875d9e2e673f0fd86e3" + integrity sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g== + +"@rollup/rollup-linux-x64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz#f4c95b26f4ad69ebdb64b42f0ae4da2a0f617958" + integrity sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ== + +"@rollup/rollup-linux-x64-musl@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz#ab7be89192f72beb9ea6e2386186fefde4f69d82" + integrity sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA== + +"@rollup/rollup-win32-arm64-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz#7f12efb8240b238346951559998802722944421e" + integrity sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig== + +"@rollup/rollup-win32-ia32-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz#353d14d6eee943004d129796e4feddd3aa260921" + integrity sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng== + +"@rollup/rollup-win32-x64-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz#c82f04a09ba481e13857d6f2516e072aaa51b7f4" + integrity sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg== "@sentry-internal/feedback@7.119.1": version "7.119.1" @@ -6975,31 +6975,31 @@ rollup-pluginutils@^2.8.1: estree-walker "^0.6.1" rollup@^2.43.1, rollup@^4.20.0, rollup@^4.22.4: - version "4.28.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.28.1.tgz#7718ba34d62b449dfc49adbfd2f312b4fe0df4de" - integrity sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg== + version "4.29.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.29.1.tgz#a9aaaece817e5f778489e5bf82e379cc8a5c05bc" + integrity sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw== dependencies: "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.28.1" - "@rollup/rollup-android-arm64" "4.28.1" - "@rollup/rollup-darwin-arm64" "4.28.1" - "@rollup/rollup-darwin-x64" "4.28.1" - "@rollup/rollup-freebsd-arm64" "4.28.1" - "@rollup/rollup-freebsd-x64" "4.28.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.28.1" - "@rollup/rollup-linux-arm-musleabihf" "4.28.1" - "@rollup/rollup-linux-arm64-gnu" "4.28.1" - "@rollup/rollup-linux-arm64-musl" "4.28.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.28.1" - "@rollup/rollup-linux-powerpc64le-gnu" "4.28.1" - "@rollup/rollup-linux-riscv64-gnu" "4.28.1" - "@rollup/rollup-linux-s390x-gnu" "4.28.1" - "@rollup/rollup-linux-x64-gnu" "4.28.1" - "@rollup/rollup-linux-x64-musl" "4.28.1" - "@rollup/rollup-win32-arm64-msvc" "4.28.1" - "@rollup/rollup-win32-ia32-msvc" "4.28.1" - "@rollup/rollup-win32-x64-msvc" "4.28.1" + "@rollup/rollup-android-arm-eabi" "4.29.1" + "@rollup/rollup-android-arm64" "4.29.1" + "@rollup/rollup-darwin-arm64" "4.29.1" + "@rollup/rollup-darwin-x64" "4.29.1" + "@rollup/rollup-freebsd-arm64" "4.29.1" + "@rollup/rollup-freebsd-x64" "4.29.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.29.1" + "@rollup/rollup-linux-arm-musleabihf" "4.29.1" + "@rollup/rollup-linux-arm64-gnu" "4.29.1" + "@rollup/rollup-linux-arm64-musl" "4.29.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.29.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.29.1" + "@rollup/rollup-linux-riscv64-gnu" "4.29.1" + "@rollup/rollup-linux-s390x-gnu" "4.29.1" + "@rollup/rollup-linux-x64-gnu" "4.29.1" + "@rollup/rollup-linux-x64-musl" "4.29.1" + "@rollup/rollup-win32-arm64-msvc" "4.29.1" + "@rollup/rollup-win32-ia32-msvc" "4.29.1" + "@rollup/rollup-win32-x64-msvc" "4.29.1" fsevents "~2.3.2" run-parallel@^1.1.9: From 8330f3c82ec9c8e4ab11c7d345e860251dc9bae0 Mon Sep 17 00:00:00 2001 From: shivani170 Date: Fri, 27 Dec 2024 18:52:45 +0530 Subject: [PATCH 166/186] chore: pre post redirection fix for other env --- src/components/ApplicationGroup/AppGroup.utils.ts | 9 +++++---- .../triggerView/workflow/nodes/triggerPrePostCDNode.tsx | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/components/ApplicationGroup/AppGroup.utils.ts b/src/components/ApplicationGroup/AppGroup.utils.ts index 6a0e464a3d..a498ea1f95 100644 --- a/src/components/ApplicationGroup/AppGroup.utils.ts +++ b/src/components/ApplicationGroup/AppGroup.utils.ts @@ -303,15 +303,16 @@ export const getAppGroupDeploymentHistoryLink = ( pipelineId: string, redirectToAppGroup: boolean = true, status: string = '', + type?: string | null, ) => { - if (status.toLowerCase() === DEPLOYMENT_STATUS.PROGRESSING) { + if (status?.toLowerCase() === DEPLOYMENT_STATUS.PROGRESSING) { //If deployment is in progress then it will redirect to app details page - return `${URLS.APP}/${appId}/${URLS.APP_DETAILS}/${envId}/` + return `${URLS.APP}/${appId}/${URLS.APP_DETAILS}/${envId}` } if (redirectToAppGroup) { // It will redirect to application group deployment history in case of same environment - return `${URLS.APPLICATION_GROUP}/${envId}/${URLS.APP_CD_DETAILS}/${appId}/${pipelineId}/` + return `${URLS.APPLICATION_GROUP}/${envId}/${URLS.APP_CD_DETAILS}/${appId}/${pipelineId}${type ?`?type=${type}` : ''}` // It will redirect to application deployment history in case of other environments } - return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}/` + return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}` } diff --git a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx index 8af780040c..d0293d81ab 100644 --- a/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx +++ b/src/components/app/details/triggerView/workflow/nodes/triggerPrePostCDNode.tsx @@ -43,7 +43,9 @@ export class TriggerPrePostCDNode extends Component Date: Fri, 27 Dec 2024 18:57:59 +0530 Subject: [PATCH 167/186] fix: type for deployment history --- src/components/ApplicationGroup/AppGroup.utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ApplicationGroup/AppGroup.utils.ts b/src/components/ApplicationGroup/AppGroup.utils.ts index a498ea1f95..96d8c6b841 100644 --- a/src/components/ApplicationGroup/AppGroup.utils.ts +++ b/src/components/ApplicationGroup/AppGroup.utils.ts @@ -314,5 +314,5 @@ export const getAppGroupDeploymentHistoryLink = ( return `${URLS.APPLICATION_GROUP}/${envId}/${URLS.APP_CD_DETAILS}/${appId}/${pipelineId}${type ?`?type=${type}` : ''}` // It will redirect to application deployment history in case of other environments } - return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}` + return `${URLS.APP}/${appId}/${URLS.APP_CD_DETAILS}/${envId}/${pipelineId}${type ?`?type=${type}` : ''}` } From 6c5d2028326bbf1e491ac1b573778e2e817c2adc Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Fri, 27 Dec 2024 20:13:16 +0530 Subject: [PATCH 168/186] fix: hide security card in app details and ci if image scan is null --- .../app/details/appDetails/SecurityVulnerabilityCard.tsx | 7 +++---- src/components/app/details/cIDetails/CIDetails.tsx | 9 +++++++-- src/components/app/details/triggerView/cdMaterial.tsx | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 8d233ba6e5..0e00243e65 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -47,13 +47,12 @@ export const SecurityVulnerabilityCard = ({ return } - // Here for devtron app scanned and isImageScanEnabled both should be true - // where as for helm app we only check scanned true - // since helm app can be scanned without imageScan + // Here for devtron app scanned, isImageScanEnabled both should be true and imageScan shouldn't be null + // where as for helm app we only check scanned true since helm app can be scanned without imageScan if ( scanResultResponse && !scanResultResponse.result.scanned && - (appId ? !scanResultResponse.result.isImageScanEnabled : true) + (appId ? !scanResultResponse.result.isImageScanEnabled && !scanResultResponse.result.imageScan : true) ) { return null } diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index f5378875ac..e9daf7bac5 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -56,7 +56,7 @@ import { } from '../../service' import { URLS, Routes } from '../../../../config' import { BuildDetails, CIPipeline, HistoryLogsType, SecurityTabType } from './types' -import { ScanDisabledView, ImageNotScannedView, CIRunningView } from './cIDetails.util' +import { ImageNotScannedView, CIRunningView } from './cIDetails.util' import './ciDetails.scss' import { getModuleInfo } from '../../../v2/devtronStackManager/DevtronStackManager.service' import { ModuleStatus } from '../../../v2/devtronStackManager/DevtronStackManager.type' @@ -705,7 +705,12 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu if (scanResultError) { return } - if (scanResultResponse && (!scanResultResponse.result.scanned || !scanResultResponse.result.isImageScanEnabled)) { + if ( + scanResultResponse && + (!scanResultResponse.result.scanned || + !scanResultResponse.result.isImageScanEnabled || + !scanResultResponse.result.imageScan) + ) { return } diff --git a/src/components/app/details/triggerView/cdMaterial.tsx b/src/components/app/details/triggerView/cdMaterial.tsx index 6fc66349af..6e417d6374 100644 --- a/src/components/app/details/triggerView/cdMaterial.tsx +++ b/src/components/app/details/triggerView/cdMaterial.tsx @@ -264,7 +264,7 @@ const CDMaterial = ({ getPolicyConsequences ? getPolicyConsequences({ appId, envId }) : null, ]) - if (getIsTriggerBlocked(response[2].cd)) { + if (getPolicyConsequences && getIsTriggerBlocked(response[2].cd)) { return [null, null, response[2]] } return response From 0386a4919ef8dee7a8b28118e8a0b9b8b5863e36 Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Fri, 27 Dec 2024 20:27:18 +0530 Subject: [PATCH 169/186] fix: update check for security card --- .../app/details/appDetails/SecurityVulnerabilityCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 0e00243e65..917152ccd5 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -51,8 +51,8 @@ export const SecurityVulnerabilityCard = ({ // where as for helm app we only check scanned true since helm app can be scanned without imageScan if ( scanResultResponse && - !scanResultResponse.result.scanned && - (appId ? !scanResultResponse.result.isImageScanEnabled && !scanResultResponse.result.imageScan : true) + (!scanResultResponse.result.scanned || + (appId ? !scanResultResponse.result.isImageScanEnabled || !scanResultResponse.result.imageScan : true)) ) { return null } From d58325ad71cab122a609eeb5c48bdf9276e7ff1e Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Sat, 28 Dec 2024 10:47:45 +0530 Subject: [PATCH 170/186] chore: version bump --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 560f6f2feb..65fbf55534 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.9-beta-3", + "@devtron-labs/devtron-fe-common-lib": "1.3.9-beta-5", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index f3d57f8957..fa1677ffb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.9-beta-3": - version "1.3.9-beta-3" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.9-beta-3.tgz#d15f5d9e76c859cb912dfd652e09c19f677b062d" - integrity sha512-egSdTM7kocKEMKUKu2pnkqtm2oVUTGV9MzF8DKtRGUeC5E4PgmHGvdc5cFfXI48i8MQN7BZwv29R0xiCt8u+kg== +"@devtron-labs/devtron-fe-common-lib@1.3.9-beta-5": + version "1.3.9-beta-5" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.9-beta-5.tgz#51693bd75e19b645f566255dae32546bc00d4265" + integrity sha512-3OL4TZyx9+ghzUWS9rXIUGYUQLQuvPZ9jJQ6/RGpw8ovKMoajIqlvOtH9bzHBLaa/P4Vs/KdmbtKP7UAvAhiIA== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From 2b72f6d9db351e09836517b76a5f9aeb4febe9f0 Mon Sep 17 00:00:00 2001 From: arunjaindev Date: Sat, 28 Dec 2024 18:12:04 +0530 Subject: [PATCH 171/186] fix: use computedAppId for api call in security tab --- src/components/app/details/cIDetails/CIDetails.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/app/details/cIDetails/CIDetails.tsx b/src/components/app/details/cIDetails/CIDetails.tsx index e9daf7bac5..7d9968086d 100644 --- a/src/components/app/details/cIDetails/CIDetails.tsx +++ b/src/components/app/details/cIDetails/CIDetails.tsx @@ -671,7 +671,7 @@ const SecurityTab = ({ ciPipelineId, artifactId, status, appIdFromParent }: Secu const computedAppId = appId ?? appIdFromParent const { scanResultLoading, scanResultResponse, scanResultError, reloadScanResult } = useGetAppSecurityDetails({ - appId: +appId, + appId: +computedAppId, artifactId, }) From 32b52685c901383a274dc9a975cec5c05c1e1411 Mon Sep 17 00:00:00 2001 From: Rohit Raj Date: Mon, 30 Dec 2024 10:15:35 +0530 Subject: [PATCH 172/186] refactor - change cross icon to close --- .../VariableDataTable/VariableDataTablePopupMenu.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx b/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx index c48524ba0d..fc9f215003 100644 --- a/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx +++ b/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx @@ -8,7 +8,7 @@ import { stopPropagation, } from '@devtron-labs/devtron-fe-common-lib' -import { ReactComponent as ICCross } from '@Icons/ic-cross.svg' +import { ReactComponent as ICClose } from '@Icons/ic-close.svg' import { ReactComponent as ICSlidersVertical } from '@Icons/ic-sliders-vertical.svg' import { ReactComponent as ICDot } from '@Icons/ic-dot.svg' @@ -93,7 +93,7 @@ export const VariableDataTablePopupMenu = ({ size={ComponentSizeType.small} style={ButtonStyleType.negativeGrey} variant={ButtonVariantType.borderLess} - icon={} + icon={} dataTestId="popup-close-button" ariaLabel="Close Popup" showAriaLabelInTippy={false} From b31f37e1ee52624998d2ede02665931b5a8a5805 Mon Sep 17 00:00:00 2001 From: Rohit Raj Date: Mon, 30 Dec 2024 11:30:19 +0530 Subject: [PATCH 173/186] chore: common-lib version bump --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c7955c3d49..c373646a10 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.10", + "@devtron-labs/devtron-fe-common-lib": "1.3.11", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index e550b5c970..9eeda88ef5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.10": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.10.tgz#0efa617cc287f30c78ed070d2a6e9f35b150674a" - integrity sha512-VntZXa1Uaf/dUB5DixH3dVR8m0lUyYI46A/X9LTUEHlvcx1rfLgkSyVG1EYOYPtJmAuWQReVlpCHGSfBTiusZg== +"@devtron-labs/devtron-fe-common-lib@1.3.11": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.11.tgz#18c878f24120c7b3cad935d2e7b30147574b2fdf" + integrity sha512-ilPv0LGOtKj/gDFKfzz8rc1/rKdO/5iGWZ+r3Z2GEtvLYXNeepjti+uR2f1hTHyrJRgJlxHTlEk/DrtXDJE0pA== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From 97745850372e93f4aaaf9975879aa21d0dbb30c7 Mon Sep 17 00:00:00 2001 From: Rohit Raj Date: Mon, 30 Dec 2024 12:53:24 +0530 Subject: [PATCH 174/186] refactor: VariableDataTablePopUpMenu - heading truncate css --- .../VariableDataTable/VariableDataTablePopupMenu.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx b/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx index fc9f215003..b02706466a 100644 --- a/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx +++ b/src/components/CIPipelineN/VariableDataTable/VariableDataTablePopupMenu.tsx @@ -6,6 +6,7 @@ import { ButtonVariantType, ComponentSizeType, stopPropagation, + Tooltip, } from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as ICClose } from '@Icons/ic-close.svg' @@ -87,7 +88,9 @@ export const VariableDataTablePopupMenu = ({
{showHeaderIcon && } -

{heading}

+ +

{heading}

+
-
-
- -
-
- +
+
+
+ +
+
+ +
+ {!!fileSize.error &&
{fileSize.error}
}
) From 4bc67bb4fa93fb8e1ceb1a3727c52b27aa1d701c Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 2 Jan 2025 12:34:30 +0530 Subject: [PATCH 182/186] fix: null check approval config map --- src/Pages/Releases/Detail/Configurations/Configurations.tsx | 2 +- src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Pages/Releases/Detail/Configurations/Configurations.tsx b/src/Pages/Releases/Detail/Configurations/Configurations.tsx index bb924d8658..98613b0ac0 100644 --- a/src/Pages/Releases/Detail/Configurations/Configurations.tsx +++ b/src/Pages/Releases/Detail/Configurations/Configurations.tsx @@ -69,7 +69,7 @@ export const Configurations = () => { () => (environments ? environments.find(({ id }) => +envId === id) : null), [environments, envId, isEnvListLoading], ) - const approvalConfigForEnv = envIdToEnvApprovalConfigurationMap[selectedEnv?.id]?.approvalConfigurationMap + const approvalConfigForEnv = envIdToEnvApprovalConfigurationMap?.[selectedEnv?.id]?.approvalConfigurationMap const showConfig = !!selectedApp && !!selectedEnv // RENDERERS diff --git a/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx b/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx index 0d91de3f34..cde17139e8 100644 --- a/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx +++ b/src/Pages/Shared/EnvironmentOverride/EnvironmentOverride.tsx @@ -59,7 +59,7 @@ const EnvironmentOverride = ({ const environmentsMap = mapByKey(environments || [], 'environmentId') const appMap = mapByKey(appList || [], 'id') const approvalConfigMap = - appOrEnvIdToResourceApprovalConfigurationMap[+(isAppGroupView ? params.appId : params.envId)] + appOrEnvIdToResourceApprovalConfigurationMap?.[+(isAppGroupView ? params.appId : params.envId)] ?.approvalConfigurationMap const isDeploymentOverride = !!location.pathname.includes(URLS.APP_DEPLOYMENT_CONFIG) From 2aba6ae634005d6d107494e28454183750b14c01 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 2 Jan 2025 12:44:59 +0530 Subject: [PATCH 183/186] chore: bump common lib --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 64720d4362..83fd8b5c70 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.3.11-beta-2", + "@devtron-labs/devtron-fe-common-lib": "1.3.12", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/yarn.lock b/yarn.lock index b818fd3492..96fecd84fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -974,10 +974,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@devtron-labs/devtron-fe-common-lib@1.3.11-beta-2": - version "1.3.11-beta-2" - resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.11-beta-2.tgz#0a4cbad1e1aed94ca3f82e0481cd7dd316cf99c7" - integrity sha512-BbiiAFmotlbf/wDyxKBzr7hQq3cmHDTvoWUNvAE/L/VDUXMp+804GmF1/9PYg1/w6H9dSoRTX4Z63Dd5ECMuKA== +"@devtron-labs/devtron-fe-common-lib@1.3.12": + version "1.3.12" + resolved "https://registry.yarnpkg.com/@devtron-labs/devtron-fe-common-lib/-/devtron-fe-common-lib-1.3.12.tgz#014a8a42de31aa6fbd7201be45b1dfb2a153d39f" + integrity sha512-D+d0rI5Nq/JRU6ngXz+lAbj+YRqMlTCN4apZ4NqB5emlI/PS5wBy7i8MpS3ocGXZWlLfRe5hQ2FINLneJm5sGw== dependencies: "@types/react-dates" "^21.8.6" ansi_up "^5.2.1" From eaff18f920ae5d2117a0bb63b05eb7d0b5b2f4b5 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Thu, 2 Jan 2025 18:55:03 +0530 Subject: [PATCH 184/186] chore: version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0e8256b6ec..e97564eea6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dashboard", - "version": "1.3.0", + "version": "1.4.0", "private": true, "homepage": "/dashboard", "dependencies": { From c6ca6651cbae76c7c42a2fc961e7982841d297b3 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Fri, 3 Jan 2025 00:48:11 +0530 Subject: [PATCH 185/186] fix: use paramsToCheck for approval config --- .../AppConfigurations/AppConfig.types.ts | 3 +- .../Navigation/AppNavigation.tsx | 2 +- .../Navigation/EnvConfigurationsNav.tsx | 32 +++++++++---------- .../Detail/Configurations/Configurations.tsx | 2 +- .../EnvironmentConfig/ApplicationRoutes.tsx | 2 +- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts index 0326cd1ec8..a4ad43b791 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/AppConfig.types.ts @@ -203,7 +203,7 @@ export interface EnvironmentOptionType { id: number } -export interface EnvConfigurationsNavProps extends Pick { +export interface EnvConfigurationsNavProps { envConfig: EnvConfigurationState fetchEnvConfig: (envId: number) => void environments: EnvironmentOptionType[] @@ -221,6 +221,7 @@ export interface EnvConfigurationsNavProps extends Pick { compareWithURL={`${path}/:envId(\\d+)?`} showComparison={!isJobView && isUnlocked.workflowEditor} isCMSecretLocked={!isUnlocked.workflowEditor} - envIdToEnvApprovalConfigurationMap={envIdToEnvApprovalConfigurationMap} + appOrEnvIdToResourceApprovalConfigurationMap={envIdToEnvApprovalConfigurationMap} /> )} diff --git a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx index f8b7b31ccd..f039e46483 100644 --- a/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx +++ b/src/Pages/Applications/DevtronApps/Details/AppConfigurations/Navigation/EnvConfigurationsNav.tsx @@ -43,20 +43,21 @@ export const EnvConfigurationsNav = ({ showDeploymentTemplate, envConfig, fetchEnvConfig, - environments, + environments: resourceList, goBackURL, paramToCheck = 'envId', showComparison, isCMSecretLocked, hideEnvSelector, compareWithURL, - envIdToEnvApprovalConfigurationMap, + appOrEnvIdToResourceApprovalConfigurationMap, }: EnvConfigurationsNavProps) => { // HOOKS const history = useHistory() const { pathname } = useLocation() const { path, params } = useRouteMatch() const { envId } = params + const parsedResourceId = +params[paramToCheck] // STATES const [expandedIds, setExpandedIds] = @@ -71,8 +72,8 @@ export const EnvConfigurationsNav = ({ // CONSTANTS const { isLoading, config } = envConfig /** Current Environment Data. */ - const environmentData = - environments.find((environment) => environment.id === +params[paramToCheck]) || + const resourceData = + resourceList.find((resource) => resource.id === parsedResourceId) || (showBaseConfigurations ? { name: BASE_CONFIGURATIONS.name, @@ -106,12 +107,12 @@ export const EnvConfigurationsNav = ({ } useEffect(() => { - if (environmentData.id === BASE_CONFIGURATIONS.id && envId) { + if (resourceData.id === BASE_CONFIGURATIONS.id && envId) { // Removing `/env-override/:envId` from pathname, resulting path will be base configuration path. const [basePath, resourcePath] = pathname.split(`/${URLS.APP_ENV_OVERRIDE_CONFIG}/${envId}`) history.push(`${basePath}${resourcePath}`) } - }, [environmentData, envId]) + }, [resourceData, envId]) useEffect(() => { // Fetch the env configuration @@ -124,18 +125,17 @@ export const EnvConfigurationsNav = ({ useEffect(() => { if (!isLoading && config) { - // For base configurations, the env id is undefined - const environmentId = +envId || BASE_CONFIGURATION_ENV_ID - const newEnvConfig = getEnvConfiguration( config, path, params, - envIdToEnvApprovalConfigurationMap?.[environmentId]?.approvalConfigurationMap, + // For base configurations, the resource id is undefined + appOrEnvIdToResourceApprovalConfigurationMap?.[parsedResourceId || BASE_CONFIGURATION_ENV_ID] + ?.approvalConfigurationMap, ) setUpdatedEnvConfig(isCreate ? addUnnamedNavLink(newEnvConfig) : newEnvConfig) } - }, [isLoading, config, pathname, isCreate, envIdToEnvApprovalConfigurationMap]) + }, [isLoading, config, pathname, isCreate, appOrEnvIdToResourceApprovalConfigurationMap]) useEffect(() => { if (!isLoading && config) { @@ -259,7 +259,7 @@ export const EnvConfigurationsNav = ({ ...baseEnvOption, { label: paramToCheck === 'envId' ? 'Environments' : 'Applications', - options: environments.map(({ name, id }) => ({ + options: resourceList.map(({ name, id }) => ({ label: name, value: id, })), @@ -268,7 +268,7 @@ export const EnvConfigurationsNav = ({ const onEnvSelect = ({ value }: SelectPickerOptionType) => { // Exit early if the selected environment is the current one - if (environmentData.id === value) { + if (resourceData.id === value) { return } @@ -314,7 +314,7 @@ export const EnvConfigurationsNav = ({ classNamePrefix="env-config-selector" variant={SelectPickerVariantType.BORDER_LESS} isClearable={false} - value={getSelectPickerOptionByValue(envOptions, +params[paramToCheck], baseEnvOption[0])} + value={getSelectPickerOptionByValue(envOptions, parsedResourceId, baseEnvOption[0])} options={envOptions} onChange={onEnvSelect} placeholder="Select Environment" @@ -325,7 +325,7 @@ export const EnvConfigurationsNav = ({ ) const renderCompareWithBtn = () => { - const { name: compareTo } = environmentData + const { name: compareTo } = resourceData // Extract the resource name from the current pathname based on resourceType const resourceName = pathname.split(`/${resourceType}/`)[1] @@ -362,7 +362,7 @@ export const EnvConfigurationsNav = ({ {!hideEnvSelector && renderEnvSelector()} {showComparison && renderCompareWithBtn()}
- {isLoading || !environmentData ? ( + {isLoading || !resourceData ? ( ['90', '70', '50'].map((item) => ) ) : ( <> diff --git a/src/Pages/Releases/Detail/Configurations/Configurations.tsx b/src/Pages/Releases/Detail/Configurations/Configurations.tsx index 98613b0ac0..04355ca087 100644 --- a/src/Pages/Releases/Detail/Configurations/Configurations.tsx +++ b/src/Pages/Releases/Detail/Configurations/Configurations.tsx @@ -85,7 +85,7 @@ export const Configurations = () => { showDeploymentTemplate showComparison hideEnvSelector - envIdToEnvApprovalConfigurationMap={envIdToEnvApprovalConfigurationMap} + appOrEnvIdToResourceApprovalConfigurationMap={envIdToEnvApprovalConfigurationMap} /> diff --git a/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx b/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx index 78e68fda5a..407d7fee3b 100644 --- a/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx +++ b/src/components/ApplicationGroup/Details/EnvironmentConfig/ApplicationRoutes.tsx @@ -48,7 +48,7 @@ const ApplicationRoute = ({ paramToCheck="appId" compareWithURL={path} showComparison - envIdToEnvApprovalConfigurationMap={appIdToAppApprovalConfigMap} + appOrEnvIdToResourceApprovalConfigurationMap={appIdToAppApprovalConfigMap} /> From b964072fd5675d3c7df8488b70d7d3853489a0d6 Mon Sep 17 00:00:00 2001 From: Eshank Vaish <48060426+eshankvaish@users.noreply.github.com> Date: Fri, 3 Jan 2025 13:45:55 +0530 Subject: [PATCH 186/186] Merge branch 'hotfix-v0.25.0' of github.com:devtron-labs/dashboard into release-candidate-v0.26.0 --- .env | 1 + package.json | 2 +- .../app/details/appDetails/SourceInfo.tsx | 13 +++++++++++++ src/components/app/types.ts | 2 ++ src/css/base.scss | 5 +++++ src/index.tsx | 1 + yarn.lock | 8 ++++---- 7 files changed, 27 insertions(+), 5 deletions(-) diff --git a/.env b/.env index f4240b10cf..b083c1b9c4 100644 --- a/.env +++ b/.env @@ -59,6 +59,7 @@ FEATURE_CONFIG_DRIFT_ENABLE=false FEATURE_PROMO_EMBEDDED_BUTTON_TEXT= FEATURE_PROMO_EMBEDDED_MODAL_TITLE= FEATURE_PROMO_EMBEDDED_IFRAME_URL= +FEATURE_SWAP_TRAFFIC_ENABLE=false FEATURE_RB_SYNC_CLUSTER_ENABLE=false FEATURE_BULK_RESTART_WORKLOADS_FROM_RB=deployment,rollout,daemonset,statefulset FEATURE_DEFAULT_MERGE_STRATEGY= diff --git a/package.json b/package.json index e97564eea6..2717d26114 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.4.0", + "@devtron-labs/devtron-fe-common-lib": "1.4.0-patch-1", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/components/app/details/appDetails/SourceInfo.tsx b/src/components/app/details/appDetails/SourceInfo.tsx index 607657d4c2..e1af62cbeb 100644 --- a/src/components/app/details/appDetails/SourceInfo.tsx +++ b/src/components/app/details/appDetails/SourceInfo.tsx @@ -52,6 +52,7 @@ import HelmAppConfigApplyStatusCard from '@Components/v2/appDetails/sourceInfo/e const AppDetailsDownloadCard = importComponentFromFELibrary('AppDetailsDownloadCard') const DeploymentWindowStatusCard = importComponentFromFELibrary('DeploymentWindowStatusCard') const ConfigSyncStatusButton = importComponentFromFELibrary('ConfigSyncStatusButton', null, 'function') +const SwapTraffic = importComponentFromFELibrary('SwapTraffic', null, 'function') export const SourceInfo = ({ appDetails, @@ -206,6 +207,18 @@ export const SourceInfo = ({ style={ButtonStyleType.neutral} /> )} + {window._env_.FEATURE_SWAP_TRAFFIC_ENABLE && + SwapTraffic && + !!appDetails.pcoId && + !appDetails.trafficSwitched && ( + + )} {!isVirtualEnvironment && showHibernateModal && (