From 91d24d2dc622257d56438f7d08ca738de0619022 Mon Sep 17 00:00:00 2001 From: Riley Evans Date: Thu, 12 Feb 2026 15:10:05 -0600 Subject: [PATCH 1/3] Fixed issue --- libs/designer-v2/package.json | 2 +- .../recommendation/browse/connectorBrowse.tsx | 49 +- .../browse/styles/BrowseView.styles.ts | 1 + .../browse/styles/ConnectorBrowse.styles.ts | 8 - package.json | 4 +- pnpm-lock.yaml | 426 ++++++++++-------- 6 files changed, 250 insertions(+), 240 deletions(-) diff --git a/libs/designer-v2/package.json b/libs/designer-v2/package.json index d8cc4fff83f..293d5573d25 100644 --- a/libs/designer-v2/package.json +++ b/libs/designer-v2/package.json @@ -33,7 +33,7 @@ "react-intl": "6.3.0", "react-markdown": "8.0.5", "react-redux": "8.0.2", - "react-window": "^1.8.11", + "react-window": "^2.2.6", "redux-thunk": "2.4.2", "reselect": "4.1.8", "tabster": "8.5.6", diff --git a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/connectorBrowse.tsx b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/connectorBrowse.tsx index fc8f2451a4f..59e9a3e7517 100644 --- a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/connectorBrowse.tsx +++ b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/connectorBrowse.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useMemo } from 'react'; import { useIntl } from 'react-intl'; import { useDispatch } from 'react-redux'; import { useAllConnectors } from '../../../../core/queries/browse'; @@ -12,8 +12,7 @@ import { ConnectorCard } from './connectorCard'; import { selectOperationGroupId } from '../../../../core/state/panel/panelSlice'; import type { AppDispatch } from '../../../../core'; import { useConnectorBrowseStyles } from './styles/ConnectorBrowse.styles'; -import type { ListChildComponentProps } from 'react-window'; -import { FixedSizeList } from 'react-window'; +import { List, type RowComponentProps } from 'react-window'; import type { ConnectorFilterTypes } from './helper'; export interface ConnectorBrowseProps { @@ -90,19 +89,6 @@ export const ConnectorBrowse = ({ const isA2AWorkflow = useIsA2AWorkflow(); const isAddingToGraph = useDiscoveryPanelRelationshipIds().graphId === 'root'; - const containerRef = useRef(null); - const [containerHeight, setContainerHeight] = useState(0); - - useEffect(() => { - if (!containerRef.current) { - return; - } - const updateHeight = () => setContainerHeight(containerRef.current!.clientHeight); - updateHeight(); - window.addEventListener('resize', updateHeight); - return () => window.removeEventListener('resize', updateHeight); - }, []); - const { data: allConnectors, isLoading } = useAllConnectors(); const isAgentConnectorAllowed = useCallback((c: Connector) => c.id !== 'connectionProviders/agent', []); @@ -234,27 +220,18 @@ export const ConnectorBrowse = ({ } // --- Row Renderer --- - const Row = ({ index, style }: ListChildComponentProps) => { - const connector = sortedConnectors[index]; - return ( -
- -
- ); - }; + const Row = ({ index, style }: RowComponentProps) => ( +
+ +
+ ); return ( -
- {containerHeight > 0 && ( - - {Row} - - )} -
+ ); }; diff --git a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts index 5b464c07a0f..3d7f08e14d6 100644 --- a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts +++ b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts @@ -4,6 +4,7 @@ export const useBrowseViewStyles = makeStyles({ container: { display: 'flex', flexDirection: 'column', + border: '2px solid red', }, backButton: { alignSelf: 'flex-start', diff --git a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/ConnectorBrowse.styles.ts b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/ConnectorBrowse.styles.ts index 7e74e30fc61..3c59f0e4187 100644 --- a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/ConnectorBrowse.styles.ts +++ b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/ConnectorBrowse.styles.ts @@ -11,12 +11,4 @@ export const useConnectorBrowseStyles = makeStyles({ padding: '40px', color: tokens.colorNeutralForeground2, }, - connectorGrid: { - flex: 1, - display: 'flex', - flexDirection: 'column', - overflow: 'hidden', - minHeight: 0, - height: 'calc(100% - 120px)', - }, }); diff --git a/package.json b/package.json index 755a7d489e6..57b3968d040 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "@types/react": "18.3.0", "@types/react-dom": "18.3.0", "@types/react-test-renderer": "^18.0.7", - "@types/react-window": "^1.8.8", + "@types/react-window": "^2.0.0", "@typescript-eslint/eslint-plugin": "^8.15.0", "@typescript-eslint/parser": "^8.29.1", "@vitejs/plugin-react": "^4.4.6", @@ -113,7 +113,7 @@ "find-process": "^1.4.7", "fs-extra": "^11.2.0", "happy-dom": "^20.0.2", - "react-window": "^1.8.11", + "react-window": "^2.2.6", "ts-node": "^10.9.2" }, "pnpm": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5752d440de8..90d012ca6d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,8 +71,8 @@ importers: specifier: ^20.0.2 version: 20.0.2 react-window: - specifier: ^1.8.11 - version: 1.8.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^2.2.6 + version: 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@20.12.7)(typescript@5.7.2) @@ -123,8 +123,8 @@ importers: specifier: ^18.0.7 version: 18.0.7 '@types/react-window': - specifier: ^1.8.8 - version: 1.8.8 + specifier: ^2.0.0 + version: 2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@typescript-eslint/eslint-plugin': specifier: ^8.15.0 version: 8.15.0(@typescript-eslint/parser@8.29.1(eslint@9.26.0(jiti@1.21.0))(typescript@5.7.2))(eslint@9.26.0(jiti@1.21.0))(typescript@5.7.2) @@ -1561,8 +1561,8 @@ importers: specifier: 8.0.2 version: 8.0.2(@types/react-dom@18.3.0)(@types/react@18.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) react-window: - specifier: ^1.8.11 - version: 1.8.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^2.2.6 + version: 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) redux-thunk: specifier: 2.4.2 version: 2.4.2(redux@4.2.1) @@ -1725,7 +1725,7 @@ packages: resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==} '@algolia/cache-common@4.23.3': - resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + resolution: {integrity: sha1-O+x5CS1RKpbJv73ux8/0rTY2cWY=} '@algolia/cache-in-memory@4.23.2': resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==} @@ -1740,7 +1740,7 @@ packages: resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==} '@algolia/client-common@4.23.3': - resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + resolution: {integrity: sha1-iREWqg23UFWn7MEHZJ9/CWV3RwQ=} '@algolia/client-personalization@4.23.2': resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==} @@ -1749,7 +1749,7 @@ packages: resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==} '@algolia/client-search@4.23.3': - resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + resolution: {integrity: sha1-o0huavE6Ix7Eq0OpFaHzGHh7k38=} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} @@ -1758,7 +1758,7 @@ packages: resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==} '@algolia/logger-common@4.23.3': - resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + resolution: {integrity: sha1-NcbYM8v0HoU6Tza6N8blhkkgv+k=} '@algolia/logger-console@4.23.2': resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==} @@ -1773,7 +1773,7 @@ packages: resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==} '@algolia/requester-common@4.23.3': - resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + resolution: {integrity: sha1-fbroluQa36rx0fpfMX+DqZr7BLM=} '@algolia/requester-node-http@4.23.2': resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==} @@ -1782,7 +1782,7 @@ packages: resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==} '@algolia/transporter@4.23.3': - resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + resolution: {integrity: sha1-VFsEW2fbOFDd8LvsvGyE/x8zmLc=} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} @@ -3127,7 +3127,7 @@ packages: engines: {node: '>=6.9.0'} '@babel/runtime@7.28.6': - resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} + resolution: {integrity: sha1-0mekPLGDbcTRgszpOudbqVTvbSs=} engines: {node: '>=6.9.0'} '@babel/template@7.27.2': @@ -3162,49 +3162,53 @@ packages: hasBin: true '@biomejs/cli-darwin-arm64@1.9.4': - resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} + resolution: {integrity: sha1-36N20jpUotjxcTPJLyPBvy5iUJ8=} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] '@biomejs/cli-darwin-x64@1.9.4': - resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} + resolution: {integrity: sha1-6vws44SdOF/AIjiq0cpKczlaZNk=} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] '@biomejs/cli-linux-arm64-musl@1.9.4': - resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} + resolution: {integrity: sha1-14DD4BdY/JDzJoNX4/GRY9H4T8o=} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + libc: [musl] '@biomejs/cli-linux-arm64@1.9.4': - resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} + resolution: {integrity: sha1-jtHdDolBmktmpH+VrvuMRq5gQck=} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] + libc: [glibc] '@biomejs/cli-linux-x64-musl@1.9.4': - resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} + resolution: {integrity: sha1-82mCuWa9Zxo2Zx4d5EF5Y9fbFfs=} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + libc: [musl] '@biomejs/cli-linux-x64@1.9.4': - resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} + resolution: {integrity: sha1-oKf1ZoDHa4A03cFJ2/OYvdOkYug=} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] + libc: [glibc] '@biomejs/cli-win32-arm64@1.9.4': - resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} + resolution: {integrity: sha1-4u9OAITna34m8PyIfF7xJl6lYgA=} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] '@biomejs/cli-win32-x64@1.9.4': - resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} + resolution: {integrity: sha1-THr6kOOXAhNZm0CV5i+H5ZcrI0A=} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -3267,7 +3271,7 @@ packages: resolution: {integrity: sha512-xMF6OfEAUVY5Waega4juo1QGACfNkNF+aJLqpd8oUJz96ms2zbfQ9Gh35/tI3y8akEV31FruKfj7hBnIU/nkqA==} '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + resolution: {integrity: sha1-u1BFecHK6SPmV2pPXaQ9Jfl729k=} engines: {node: '>=0.1.90'} '@cspotcode/source-map-support@0.8.1': @@ -3438,7 +3442,7 @@ packages: react-dom: 18.3.1 '@docusaurus/react-loadable@6.0.0': - resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + resolution: {integrity: sha1-3mx/c8llQr1weGuOUi1TXWkGncQ=} peerDependencies: react: 18.3.1 @@ -3505,463 +3509,463 @@ packages: esbuild: '>=0.25.0' '@esbuild/aix-ppc64@0.25.11': - resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} + resolution: {integrity: sha1-KuMzAFmBMsxM9YDbuyjTD+08XEk=} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/aix-ppc64@0.25.5': - resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + resolution: {integrity: sha1-Tg+Rd2wrNA51VY9gVSGV9vrQnxg=} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/aix-ppc64@0.27.0': - resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} + resolution: {integrity: sha1-HYvkNImpYWFdSeA38b+g9Sp3Nzc=} engines: {node: '>=18'} cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.25.11': - resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} + resolution: {integrity: sha1-kncIs9tdc51st3CRNpJMyBvsmwM=} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm64@0.25.5': - resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + resolution: {integrity: sha1-vHZkB/FxiSP2uAecjGG/hqw6ak8=} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm64@0.27.0': - resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} + resolution: {integrity: sha1-vRdjGUqtYHU/ozOLG6m9qXS1hyQ=} engines: {node: '>=18'} cpu: [arm64] os: [android] '@esbuild/android-arm@0.25.11': - resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} + resolution: {integrity: sha1-Vx+U5/QGiVfsTCz7kH3q49AbVa4=} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-arm@0.25.5': - resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + resolution: {integrity: sha1-QpDW00B7rjiDrSze0QgaI0RzziY=} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-arm@0.27.0': - resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} + resolution: {integrity: sha1-ace1fwLTs2GKW6T4LRJ7V2Zdw5c=} engines: {node: '>=18'} cpu: [arm] os: [android] '@esbuild/android-x64@0.25.11': - resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} + resolution: {integrity: sha1-ijv1yubFYMfs7KMVCyveduD7geY=} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/android-x64@0.25.5': - resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + resolution: {integrity: sha1-QMEdnLyk8kBlSMipiV0yG8OzXv8=} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/android-x64@0.27.0': - resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} + resolution: {integrity: sha1-bqIrWEOssjJD0BJsBS19O2oRypA=} engines: {node: '>=18'} cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.25.11': - resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} + resolution: {integrity: sha1-CmeMSsS/hxfmdIHhp5fmwVL5PIQ=} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.25.5': - resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + resolution: {integrity: sha1-Sdi/ix35X3WayB6x0HNgGABtfjQ=} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.27.0': - resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} + resolution: {integrity: sha1-WtfAK8GxqTekIPkZr+QGZboUrR4=} engines: {node: '>=18'} cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.25.11': - resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} + resolution: {integrity: sha1-cPXpJaMMgwnxKU1Ael5eAC4DFf4=} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.25.5': - resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + resolution: {integrity: sha1-4npdkqFIhu8dSS/VD8YaLU2H5Bg=} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.27.0': - resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} + resolution: {integrity: sha1-SEcMg8X9bR/HyCPCxgOu7pbhAck=} engines: {node: '>=18'} cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.25.11': - resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} + resolution: {integrity: sha1-TsHbaHxbK3i0QUgCXaljI5dVPoo=} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.25.5': - resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + resolution: {integrity: sha1-l87eWdY4hAyhBOYFzbnxsRi6Cxw=} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.27.0': - resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} + resolution: {integrity: sha1-1ajv/YsL575hPNEAnaNNYp1MJFc=} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.25.11': - resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} + resolution: {integrity: sha1-TIGr0bFC8ems/vjFFT1DjKU/RLs=} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.25.5': - resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + resolution: {integrity: sha1-ccd4EgQqGoGQw9WB4UDRW4drnG8=} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.27.0': - resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} + resolution: {integrity: sha1-m95ji9oxqiRNbWTbr6+0Hm55m8w=} engines: {node: '>=18'} cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.25.11': - resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} + resolution: {integrity: sha1-aVF6ERrPwrk6oPterrg0wCAszaU=} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.25.5': - resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + resolution: {integrity: sha1-97fI+X7/j/0uR/bGfrXJdl8hgbg=} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.27.0': - resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} + resolution: {integrity: sha1-lgCMOiB9jKSVcI23FMR16lv34q8=} engines: {node: '>=18'} cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.25.11': - resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} + resolution: {integrity: sha1-WNrCbq4tug+sVAUFK5AC2sCI048=} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-arm@0.25.5': - resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + resolution: {integrity: sha1-KgvnG2zYIB+lWa6kVZjf+rwF2RE=} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-arm@0.27.0': - resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} + resolution: {integrity: sha1-m0fLDyIuVnrzFul4x/NTB9uXvA4=} engines: {node: '>=18'} cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.25.11': - resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} + resolution: {integrity: sha1-uJ1O/pva1GupRPDzuN3UCDQmjCs=} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.25.5': - resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + resolution: {integrity: sha1-djQURjzZ6m+h+WVV0nYvn4TGF4M=} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.27.0': - resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} + resolution: {integrity: sha1-0eHjjUBsvfuKSfTsoMJbvDROGMw=} engines: {node: '>=18'} cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.25.11': - resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} + resolution: {integrity: sha1-EfYDy2CtFDksP1yU1ks8yLYw++s=} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.25.5': - resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + resolution: {integrity: sha1-QozyIT/3hqUCpSyWzynR/PHrhQY=} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.27.0': - resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} + resolution: {integrity: sha1-wTvGpT47abdvJIBlvr7oQVtE384=} engines: {node: '>=18'} cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.25.11': - resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} + resolution: {integrity: sha1-t9RH/wZ2uKskfWnaxApc8I5e6vU=} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.25.5': - resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + resolution: {integrity: sha1-XLzH/YQbTNUzWK/TNSfNOU4yXZY=} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.27.0': - resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} + resolution: {integrity: sha1-BfgyLrCpbOG/vFlpGr54j3Hi0hc=} engines: {node: '>=18'} cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.25.11': - resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} + resolution: {integrity: sha1-s6KO18wlKmGwf/fI/YqYT/06L3Q=} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.25.5': - resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + resolution: {integrity: sha1-DZVKs5zk9eUPAMT4xP04+XbBOtk=} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.27.0': - resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} + resolution: {integrity: sha1-b8Xnr5i0+wxqfwtzuoN85E3FSYA=} engines: {node: '>=18'} cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.25.11': - resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} + resolution: {integrity: sha1-znWwj32HGnXtz00hJfULIdydwnM=} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.25.5': - resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + resolution: {integrity: sha1-Dn3TBzBQWr2AiDIehJfpS1R7+x4=} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.27.0': - resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} + resolution: {integrity: sha1-UIr6n2mj+XNowL8H3YlKBK852G4=} engines: {node: '>=18'} cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.25.11': - resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} + resolution: {integrity: sha1-zQj2xztrb/nM2qu9P/atPcqZwmM=} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.25.5': - resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + resolution: {integrity: sha1-VmmvgTJ6OYozbX5A4yC1u9bm5y0=} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.27.0': - resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} + resolution: {integrity: sha1-If2mVhEO4kL8ZPh6ngsCdtTk7Fs=} engines: {node: '>=18'} cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.25.11': - resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} + resolution: {integrity: sha1-PDcYrzGpXYlG69PDK7Hmmb33SRA=} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/linux-x64@0.25.5': - resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + resolution: {integrity: sha1-sjV90VOqSQOJZ93B/9kMaKnSoNQ=} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/linux-x64@0.27.0': - resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} + resolution: {integrity: sha1-F1ioXcwJs4f9V2IWQ+d7JeDMulk=} engines: {node: '>=18'} cpu: [x64] os: [linux] '@esbuild/netbsd-arm64@0.25.11': - resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} + resolution: {integrity: sha1-tMdnCCQB46ToWV/lPEfNfwl8gHc=} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-arm64@0.25.5': - resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + resolution: {integrity: sha1-U7TfuP4c7pN3fJ42aJO9Paprpj0=} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-arm64@0.27.0': - resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} + resolution: {integrity: sha1-oBMRWfTbbkkNo1zEu1HvDQO3hIo=} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.25.11': - resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} + resolution: {integrity: sha1-8qkwRY7SlB0fEevDS5x9Yfek0DQ=} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.25.5': - resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + resolution: {integrity: sha1-oCBvYxTOfchxO3cycD0PWN4dHnk=} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.27.0': - resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} + resolution: {integrity: sha1-b0h318K6QlorgOQzBZTgtDyqLX0=} engines: {node: '>=18'} cpu: [x64] os: [netbsd] '@esbuild/openbsd-arm64@0.25.11': - resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} + resolution: {integrity: sha1-tK6Tx1rsSLweigFUlXoF8GQfLa0=} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-arm64@0.25.5': - resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + resolution: {integrity: sha1-Knlsh8ROjeeAAdgIx32UiiHsIv0=} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-arm64@0.27.0': - resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} + resolution: {integrity: sha1-y++9TC83XOvrT5ZZRb5s+BMxvQE=} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] '@esbuild/openbsd-x64@0.25.11': - resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} + resolution: {integrity: sha1-tChjlZyNz5sBWBUi5AAS0scAReI=} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.25.5': - resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + resolution: {integrity: sha1-KNDNiQm3+jlTr5mPKy7TT1dnKPA=} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.27.0': - resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} + resolution: {integrity: sha1-Mfqehkn8dQ18IwLIudDhVH9XvIQ=} engines: {node: '>=18'} cpu: [x64] os: [openbsd] '@esbuild/openharmony-arm64@0.25.11': - resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} + resolution: {integrity: sha1-sucXFByP32vd1AEPCRLms54WQPE=} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/openharmony-arm64@0.27.0': - resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} + resolution: {integrity: sha1-A3J3gPH99gbntWGTaTpxXZ8e4AE=} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] '@esbuild/sunos-x64@0.25.11': - resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} + resolution: {integrity: sha1-n76h/r6HeJJ4BIKIg+wPbdgOskQ=} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.25.5': - resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + resolution: {integrity: sha1-ooFk9bmX6CR9QH42yQ0/1d2+DcU=} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.27.0': - resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} + resolution: {integrity: sha1-hmo184cjSoZ87TWviQbf/7Bzuf8=} engines: {node: '>=18'} cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.25.11': - resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} + resolution: {integrity: sha1-UBU5ztskRoM2BzODmJpzIwBaiTU=} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.25.5': - resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + resolution: {integrity: sha1-bq2+rTjovRL2M6UZDkXv+A4kAH4=} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.27.0': - resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} + resolution: {integrity: sha1-U95DqWKbijRnjyjNVswQTbG2ers=} engines: {node: '>=18'} cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.25.11': - resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} + resolution: {integrity: sha1-iscimqgs748W/7WPEXapc6ehU0M=} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.25.5': - resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + resolution: {integrity: sha1-urYogAVIL57Srbne1+iOuppizA0=} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.27.0': - resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} + resolution: {integrity: sha1-kk0q7YaS/qXSe/tlAPm4ucGjSvQ=} engines: {node: '>=18'} cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.25.11': - resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} + resolution: {integrity: sha1-Xs2m8/4Ti35Fb05Cnt3jPII/OS8=} engines: {node: '>=18'} cpu: [x64] os: [win32] '@esbuild/win32-x64@0.25.5': - resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + resolution: {integrity: sha1-f8EUr19lY/GfczJLXV/zbs4IA9E=} engines: {node: '>=18'} cpu: [x64] os: [win32] '@esbuild/win32-x64@0.27.0': - resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} + resolution: {integrity: sha1-ZJlSlSJ+AB8pQCWGF8ZnTvs6xI0=} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -6030,7 +6034,7 @@ packages: resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + resolution: {integrity: sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=} engines: {node: '>=14'} '@playwright/test@1.49.1': @@ -6170,207 +6174,228 @@ packages: optional: true '@rollup/rollup-android-arm-eabi@4.27.3': - resolution: {integrity: sha512-EzxVSkIvCFxUd4Mgm4xR9YXrcp976qVaHnqom/Tgm+vU79k4vV4eYTjmRvGfeoW8m9LVcsAy/lGjcgVegKEhLQ==} + resolution: {integrity: sha1-qyx4xD5Dl/upqA6pOQfeehRPMUk=} cpu: [arm] os: [android] '@rollup/rollup-android-arm-eabi@4.52.5': - resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} + resolution: {integrity: sha1-D0Si+GaO2HsEC2/mWTWKySOdpNs=} cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.27.3': - resolution: {integrity: sha512-LJc5pDf1wjlt9o/Giaw9Ofl+k/vLUaYsE2zeQGH85giX2F+wn/Cg8b3c5CDP3qmVmeO5NzwVUzQQxwZvC2eQKw==} + resolution: {integrity: sha1-3oQGYKtlz3O9bUvGLTis2fyUzWw=} cpu: [arm64] os: [android] '@rollup/rollup-android-arm64@4.52.5': - resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} + resolution: {integrity: sha1-JbmgHe72UYqUhDFWTJh7yyBSdPU=} cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.27.3': - resolution: {integrity: sha512-OuRysZ1Mt7wpWJ+aYKblVbJWtVn3Cy52h8nLuNSzTqSesYw1EuN6wKp5NW/4eSre3mp12gqFRXOKTcN3AI3LqA==} + resolution: {integrity: sha1-jHhuOI9+/w2DAVGp2PvwTAMbsH8=} cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-arm64@4.52.5': - resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} + resolution: {integrity: sha1-ihAoaciPN4DH1eZ3av0/GQhOzX8=} cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.27.3': - resolution: {integrity: sha512-xW//zjJMlJs2sOrCmXdB4d0uiilZsOdlGQIC/jjmMWT47lkLLoB1nsNhPUcnoqyi5YR6I4h+FjBpILxbEy8JRg==} + resolution: {integrity: sha1-Vtq55MrArZd0F0DqGse2pXbiDlk=} cpu: [x64] os: [darwin] '@rollup/rollup-darwin-x64@4.52.5': - resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} + resolution: {integrity: sha1-jlJkF81vVNrx0MBM82EWAhZYGVY=} cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.27.3': - resolution: {integrity: sha512-58E0tIcwZ+12nK1WiLzHOD8I0d0kdrY/+o7yFVPRHuVGY3twBwzwDdTIBGRxLmyjciMYl1B/U515GJy+yn46qw==} + resolution: {integrity: sha1-vLQRLLfmihLRSLA8vCHd5Ddy9Lw=} cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-arm64@4.52.5': - resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} + resolution: {integrity: sha1-DnAnBUST80CbHyGaPqxe/RKO+Jk=} cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.27.3': - resolution: {integrity: sha512-78fohrpcVwTLxg1ZzBMlwEimoAJmY6B+5TsyAZ3Vok7YabRBUvjYTsRXPTjGEvv/mfgVBepbW28OlMEz4w8wGA==} + resolution: {integrity: sha1-x82faapDhHs32BnxLCrWM37CRfo=} cpu: [x64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.52.5': - resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} + resolution: {integrity: sha1-crIEqSATnp7D0zG9nP2aDCSMyxA=} cpu: [x64] os: [freebsd] '@rollup/rollup-linux-arm-gnueabihf@4.27.3': - resolution: {integrity: sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==} + resolution: {integrity: sha1-NpKyKYemGVyEkLv2NXgA4MGD7jg=} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-gnueabihf@4.52.5': - resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} + resolution: {integrity: sha1-qxtSLr5bfgbJlQTMOPbNi4CLpBw=} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.27.3': - resolution: {integrity: sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==} + resolution: {integrity: sha1-+SDyTlcfJrvNuIImcIaUL9skdL8=} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm-musleabihf@4.52.5': - resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} + resolution: {integrity: sha1-+Mwwtjjx7n49GOrCSvR+op2b6wA=} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.27.3': - resolution: {integrity: sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==} + resolution: {integrity: sha1-IEZVPpHYynM1mio7tHGCb7vcyaM=} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-gnu@4.52.5': - resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} + resolution: {integrity: sha1-evN6noXyXbWdyCFBcpB7fhRsEsw=} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.27.3': - resolution: {integrity: sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==} + resolution: {integrity: sha1-ij8F2651MQKuEKm8IWjHtrvupdo=} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-musl@4.52.5': - resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} + resolution: {integrity: sha1-piPrDTYXwDt6c3FuuFxuN7d29+A=} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.52.5': - resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} + resolution: {integrity: sha1-duoDi1ScXGxfDQYpQmJ8QGZkLuI=} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.27.3': - resolution: {integrity: sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==} + resolution: {integrity: sha1-0oHZx2L55PGqeQmjE/esvnis7TI=} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.52.5': - resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} + resolution: {integrity: sha1-2aTD8KNJK8ePb9/oExrGHHNZzNU=} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.27.3': - resolution: {integrity: sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==} + resolution: {integrity: sha1-+oSz+BgmzuDenpD5lU8+VcPMbJc=} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.52.5': - resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} + resolution: {integrity: sha1-h6sDPuvRqaHde2BQn2Mz7B+C2ZQ=} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.52.5': - resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} + resolution: {integrity: sha1-vaPrZ+HJk8G6ErycL2lOdwOVjZ8=} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.27.3': - resolution: {integrity: sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==} + resolution: {integrity: sha1-a5wE2EWTg2+ULOtN2QZEYz1f6HE=} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.52.5': - resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} + resolution: {integrity: sha1-97wQ++CWq0RpQjPcQqIpHtVFPUs=} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.27.3': - resolution: {integrity: sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==} + resolution: {integrity: sha1-8T7/zc0cwUsmQn5r7Ixsnk3jdz4=} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.40.0': - resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} + resolution: {integrity: sha1-aLBFpyC9m02QX0YrmXWQwhkKbeA=} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.52.5': - resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} + resolution: {integrity: sha1-oVHLEjTMmyz16M/AKqkUNrj54ng=} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.27.3': - resolution: {integrity: sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==} + resolution: {integrity: sha1-ZUe8AGny14jmzw8zNjuVEYH0zKU=} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-linux-x64-musl@4.52.5': - resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} + resolution: {integrity: sha1-eFnhllAcw7MGLUXSd2z7TS86k1A=} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openharmony-arm64@4.52.5': - resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + resolution: {integrity: sha1-hdDfcjNzTfMeVHweZH0qUwCzvzA=} cpu: [arm64] os: [openharmony] '@rollup/rollup-win32-arm64-msvc@4.27.3': - resolution: {integrity: sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==} + resolution: {integrity: sha1-Py25NHxd9eZien4S2TfOpSfWNSY=} cpu: [arm64] os: [win32] '@rollup/rollup-win32-arm64-msvc@4.52.5': - resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} + resolution: {integrity: sha1-5iNX0ARY2xcne4itv2kLuFXKyTc=} cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.27.3': - resolution: {integrity: sha512-ecE36ZBMLINqiTtSNQ1vzWc5pXLQHlf/oqGp/bSbi7iedcjcNb6QbCBNG73Euyy2C+l/fn8qKWEwxr+0SSfs3w==} + resolution: {integrity: sha1-VPz5oTqY0/DkvmpLbii53KZ2UC8=} cpu: [ia32] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.52.5': - resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} + resolution: {integrity: sha1-/HzUD0SDSnA8Hxw/6LzCfOR2zVA=} cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-gnu@4.52.5': - resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + resolution: {integrity: sha1-GiKs/JPGSmSkjEJnLoV+5Rd00NM=} cpu: [x64] os: [win32] '@rollup/rollup-win32-x64-msvc@4.27.3': - resolution: {integrity: sha512-vliZLrDmYKyaUoMzEbMTg2JkerfBjn03KmAw9CykO0Zzkzoyd7o3iZNam/TpyWNjNT+Cz2iO3P9Smv2wgrR+Eg==} + resolution: {integrity: sha1-NyH2AflzBZv+61cpks8N/JSrKXA=} cpu: [x64] os: [win32] '@rollup/rollup-win32-x64-msvc@4.52.5': - resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} + resolution: {integrity: sha1-Flf1Yya74KyA7tyfnBj8Hd0k4Qc=} cpu: [x64] os: [win32] @@ -6538,7 +6563,7 @@ packages: engines: {node: '>=14'} '@swc/helpers@0.4.14': - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + resolution: {integrity: sha1-E1KsbZXjYXzLfBSY/wGWVPHhKnQ=} '@swc/helpers@0.4.36': resolution: {integrity: sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==} @@ -6976,8 +7001,9 @@ packages: '@types/react-test-renderer@18.0.7': resolution: {integrity: sha512-1+ANPOWc6rB3IkSnElhjv6VLlKg2dSv/OWClUyZimbLsQyBn8Js9Vtdsi3UICJ2rIQ3k2la06dkB+C92QfhKmg==} - '@types/react-window@1.8.8': - resolution: {integrity: sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q==} + '@types/react-window@2.0.0': + resolution: {integrity: sha1-n+RQFdb5jsmKBpNiUYyFX8wfqNA=} + deprecated: This is a stub types definition. react-window provides its own type definitions, so you do not need this installed. '@types/react@18.3.0': resolution: {integrity: sha512-DiUcKjzE6soLyln8NNZmyhcQjVv+WsUIFSqetMN0p8927OztKT4VTfFTqsbAi5oAGIcgOmOajlfBqyptDDjZRw==} @@ -7013,7 +7039,7 @@ packages: resolution: {integrity: sha512-JWCy93Z2bM/xYRcKjC2SOeU1PRYNOdZhD5ZUG8T1si9Tlau1M6UZ1wm7yR+avqdy51Du4BLEIaEB4axfPC4UKg==} '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + resolution: {integrity: sha1-usywepcLkXB986PoumiWxX6tLRE=} '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} @@ -7043,7 +7069,7 @@ packages: resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + resolution: {integrity: sha1-6bKAi08QlQSgPNqVglmHb2EBeZk=} '@typescript-eslint/eslint-plugin@7.7.0': resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==} @@ -7326,47 +7352,47 @@ packages: engines: {node: '>=16'} '@vscode/vsce-sign-alpine-arm64@2.0.2': - resolution: {integrity: sha512-E80YvqhtZCLUv3YAf9+tIbbqoinWLCO/B3j03yQPbjT3ZIHCliKZlsy1peNc4XNZ5uIb87Jn0HWx/ZbPXviuAQ==} + resolution: {integrity: sha1-SszEheVapv8EsZW0f3IurVfapY4=} cpu: [arm64] os: [alpine] '@vscode/vsce-sign-alpine-x64@2.0.2': - resolution: {integrity: sha512-n1WC15MSMvTaeJ5KjWCzo0nzjydwxLyoHiMJHu1Ov0VWTZiddasmOQHekA47tFRycnt4FsQrlkSCTdgHppn6bw==} + resolution: {integrity: sha1-Skt7UFtMwPWFljlIl8SaC84OVAw=} cpu: [x64] os: [alpine] '@vscode/vsce-sign-darwin-arm64@2.0.2': - resolution: {integrity: sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ==} + resolution: {integrity: sha1-EKpp/rf4Gj3GjCQgOMoD6v8ZwS4=} cpu: [arm64] os: [darwin] '@vscode/vsce-sign-darwin-x64@2.0.2': - resolution: {integrity: sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw==} + resolution: {integrity: sha1-MxVSjz6hAHpkizMgv/NqM6ngeqU=} cpu: [x64] os: [darwin] '@vscode/vsce-sign-linux-arm64@2.0.2': - resolution: {integrity: sha512-Ybeu7cA6+/koxszsORXX0OJk9N0GgfHq70Wqi4vv2iJCZvBrOWwcIrxKjvFtwyDgdeQzgPheH5nhLVl5eQy7WA==} + resolution: {integrity: sha1-zlxc/JnjRUtPt3BAWBK0a9bcqHA=} cpu: [arm64] os: [linux] '@vscode/vsce-sign-linux-arm@2.0.2': - resolution: {integrity: sha512-Fkb5jpbfhZKVw3xwR6t7WYfwKZktVGNXdg1m08uEx1anO0oUPUkoQRsNm4QniL3hmfw0ijg00YA6TrxCRkPVOQ==} + resolution: {integrity: sha1-QUL9qD5xMLMa7diqgeTapjNDI8I=} cpu: [arm] os: [linux] '@vscode/vsce-sign-linux-x64@2.0.2': - resolution: {integrity: sha512-NsPPFVtLaTlVJKOiTnO8Cl78LZNWy0Q8iAg+LlBiCDEgC12Gt4WXOSs2pmcIjDYzj2kY4NwdeN1mBTaujYZaPg==} + resolution: {integrity: sha1-WauT8yLvs89JFm1OLoEnicMRdCg=} cpu: [x64] os: [linux] '@vscode/vsce-sign-win32-arm64@2.0.2': - resolution: {integrity: sha512-wPs848ymZ3Ny+Y1Qlyi7mcT6VSigG89FWQnp2qRYCyMhdJxOpA4lDwxzlpL8fG6xC8GjQjGDkwbkWUcCobvksQ==} + resolution: {integrity: sha1-0JVwShSwQEwLb2lumInppRsxqGw=} cpu: [arm64] os: [win32] '@vscode/vsce-sign-win32-x64@2.0.2': - resolution: {integrity: sha512-pAiRN6qSAhDM5SVOIxgx+2xnoVUePHbRNC7OD2aOR3WltTKxxF25OfpK8h8UQ7A0BuRkSgREbB59DBlFk4iAeg==} + resolution: {integrity: sha1-KU6nK0T+3WlNSfXO9MVb84dtwlc=} cpu: [x64] os: [win32] @@ -7804,13 +7830,13 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} bare-events@2.2.2: - resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} + resolution: {integrity: sha1-qYpBhB+Ysu/n7MXFRogURpsBgHg=} bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} bare-fs@4.1.5: - resolution: {integrity: sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==} + resolution: {integrity: sha1-HQbAduaMyL+XAQ0pr546w4CM3Pc=} engines: {bare: '>=1.16.0'} peerDependencies: bare-buffer: '*' @@ -7823,7 +7849,7 @@ packages: engines: {bare: '>=1.14.0'} bare-path@3.0.0: - resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + resolution: {integrity: sha1-tZ0YEwulKmr5J22z6WouPT6lIXg=} bare-stream@2.6.5: resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} @@ -8233,7 +8259,7 @@ packages: engines: {node: '>=6'} clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + resolution: {integrity: sha1-DdxKIKVJtZyTpBFrsm9SlMoX3BI=} engines: {node: '>=6'} clsx@2.1.1: @@ -9172,7 +9198,7 @@ packages: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: {integrity: sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -9864,12 +9890,12 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + resolution: {integrity: sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -10182,7 +10208,7 @@ packages: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} history@5.3.0: - resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + resolution: {integrity: sha1-FUirqiRbpHmS8GOgeD25HvIBxzs=} hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -10370,7 +10396,7 @@ packages: engines: {node: '>= 4'} image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=} engines: {node: '>=0.10.0'} hasBin: true @@ -10587,15 +10613,15 @@ packages: engines: {node: '>= 0.4'} is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + resolution: {integrity: sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=} engines: {node: '>=8'} is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + resolution: {integrity: sha1-+uMWfHKedGP4RhzlErCApJJoqog=} engines: {node: '>=12'} is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + resolution: {integrity: sha1-lgnvztfC+X2ntgFF70gceHx7pwQ=} engines: {node: '>=18'} is-generator-function@1.0.10: @@ -10830,7 +10856,7 @@ packages: engines: {node: '>=10'} isomorphic.js@0.2.5: - resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + resolution: {integrity: sha1-E+7PNvLbpT6F01XhG/nUIIxvf4g=} isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} @@ -11071,7 +11097,7 @@ packages: resolution: {integrity: sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==} keytar@7.9.0: - resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} + resolution: {integrity: sha1-TGIlcI9RtQy/d8Wq6BchlkwpGMs=} keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -11137,7 +11163,7 @@ packages: resolution: {integrity: sha512-+kiCS/GshQmCs/meMb8MQT4AMvw3S3Ef0lSCv2Xi6Itvs59OD+NjQWNfYkDteIbKtVE/w0Yiqh56VyGwIb8UcA==} lib0@0.2.117: - resolution: {integrity: sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw==} + resolution: {integrity: sha1-bD+SZHXSiQSvBbWQcDy7vClHVxY=} engines: {node: '>=16'} hasBin: true @@ -11326,7 +11352,7 @@ packages: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + resolution: {integrity: sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=} engines: {node: '>=6'} make-dir@4.0.0: @@ -11852,7 +11878,7 @@ packages: hasBin: true needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + resolution: {integrity: sha1-Y/da7FgMLnfiCfPzJOLN89Kb0Ek=} engines: {node: '>= 4.4.x'} hasBin: true @@ -13088,7 +13114,7 @@ packages: react-virtualized: ^9.13.0 react-virtualized@9.22.5: - resolution: {integrity: sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==} + resolution: {integrity: sha1-v7lv7VGd43i1DYwAZLkplLO5FiA=} peerDependencies: react: 18.3.1 react-dom: 18.3.1 @@ -13100,6 +13126,12 @@ packages: react: 18.3.1 react-dom: 18.3.1 + react-window@2.2.6: + resolution: {integrity: sha1-AMoXQ0a1FG08M6dS2IgYElDHHZ8=} + peerDependencies: + react: 18.3.1 + react-dom: 18.3.1 + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -13497,7 +13529,7 @@ packages: engines: {node: '>=0.10.0'} search-insights@2.13.0: - resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + resolution: {integrity: sha1-p5/c9LXa0vuol1sG8uvDeoZQMrc=} secretlint@10.2.2: resolution: {integrity: sha512-xVpkeHV/aoWe4vP4TansF622nBEImzCY73y/0042DuJ29iKIaqgoJ8fGxre3rVSHHbxar4FdJobmTnLp9AU0eg==} @@ -13623,32 +13655,32 @@ packages: hasBin: true sherif-darwin-arm64@0.8.4: - resolution: {integrity: sha512-mFJO9BjwjXnzn7UQ0moLyJzDWu68g71E1jNKujkuS8a4UQ8jV2O6gosOqfqPMHLLiZjZwuVZNnp59ecqP4rVpg==} + resolution: {integrity: sha1-6jo69KbeK96iZ85S4Vi33+O/dH0=} cpu: [arm64] os: [darwin] sherif-darwin-x64@0.8.4: - resolution: {integrity: sha512-71keXqkH27FvN5q3OmddS7FXaAVk0iBXGlfZhsuuNSR00CnSndM+AS8ibUH2okvF55HdPK6x6VovoEG3PvqCmw==} + resolution: {integrity: sha1-wh0gGz6ggDIr5M6+87dKAdz2yEs=} cpu: [x64] os: [darwin] sherif-linux-arm64@0.8.4: - resolution: {integrity: sha512-hQwFHQ6cGDOkKSa1zuEAc8WIsSgY0a4MFXEiHIPfRbJdE+leDcAVDovvpPIQZRUgbSe96mQ5QJg5fw52+eySrw==} + resolution: {integrity: sha1-sCwC58I+cYBzajoi/fTPbRUbCUU=} cpu: [arm64] os: [linux] sherif-linux-x64@0.8.4: - resolution: {integrity: sha512-S2BK9YLc12JMxg8ODIcceRW7Y4rmgrIEzUBOqp6NSeOz4Wq/34YdtimNRHzwrDOgjTpgUA/pt+TwPsGPXr+gNA==} + resolution: {integrity: sha1-rBcbztwl3WRWLSlaYF9iofb3PLA=} cpu: [x64] os: [linux] sherif-windows-arm64@0.8.4: - resolution: {integrity: sha512-9IBeX13AeCQ9ETRqfGR7GQqcyRxu4jlXyO7TNQVKU/kBrMjWjYYic/VKwHB37q0xealXUNmB9nD08hfMmdnidg==} + resolution: {integrity: sha1-AqYArf6aPWPqkShLZWHRYK8TVfY=} cpu: [arm64] os: [win32] sherif-windows-x64@0.8.4: - resolution: {integrity: sha512-PR1tjnCLxcdYaC8FRM3K6ldIwaJDEJn0tOt6e2V6R7OFMDwF8CJOSq24RzGgSmJRBFtlLqU94sXTDPfUCR0YPw==} + resolution: {integrity: sha1-PWv4R0uWKdCkSMMGfRMa+hri+y0=} cpu: [x64] os: [win32] @@ -13765,7 +13797,7 @@ packages: engines: {node: '>=0.10.0'} source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + resolution: {integrity: sha1-dHIq8y6WFOnCh6jQu95IteLxomM=} engines: {node: '>=0.10.0'} source-map@0.7.4: @@ -13953,7 +13985,7 @@ packages: engines: {node: '>=12'} strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + resolution: {integrity: sha1-Eyh1q95njH6o1pFTPy5+Irt0Tbo=} engines: {node: '>=12'} strip-bom-string@1.0.0: @@ -14404,32 +14436,32 @@ packages: engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} turbo-darwin-64@2.3.0: - resolution: {integrity: sha512-pji+D49PhFItyQjf2QVoLZw2d3oRGo8gJgKyOiRzvip78Rzie74quA8XNwSg/DuzM7xx6gJ3p2/LylTTlgZXxQ==} + resolution: {integrity: sha1-z4LPSoFqJnxlpx0tPsG671xrD3g=} cpu: [x64] os: [darwin] turbo-darwin-arm64@2.3.0: - resolution: {integrity: sha512-AJrGIL9BO41mwDF/IBHsNGwvtdyB911vp8f5mbNo1wG66gWTvOBg7WCtYQBvCo11XTenTfXPRSsAb7w3WAZb6w==} + resolution: {integrity: sha1-PgWKTkETCrzp30mh+14nGvhaHZk=} cpu: [arm64] os: [darwin] turbo-linux-64@2.3.0: - resolution: {integrity: sha512-jZqW6vc2sPJT3M/3ZmV1Cg4ecQVPqsbHncG/RnogHpBu783KCSXIndgxvUQNm9qfgBYbZDBnP1md63O4UTElhw==} + resolution: {integrity: sha1-Cu//YEf67Q/9vwmA1d1PEazlHWU=} cpu: [x64] os: [linux] turbo-linux-arm64@2.3.0: - resolution: {integrity: sha512-HUbDLJlvd/hxuyCNO0BmEWYQj0TugRMvSQeG8vHJH+Lq8qOgDAe7J0K73bFNbZejZQxW3C3XEiZFB3pnpO78+A==} + resolution: {integrity: sha1-oA23x6iEAMwDV7/qwr6zg6NeJV4=} cpu: [arm64] os: [linux] turbo-windows-64@2.3.0: - resolution: {integrity: sha512-c5rxrGNTYDWX9QeMzWLFE9frOXnKjHGEvQMp1SfldDlbZYsloX9UKs31TzUThzfTgTiz8NYuShaXJ2UvTMnV/g==} + resolution: {integrity: sha1-8IJojxfHPTRe+9xD+1ibHfcM1T8=} cpu: [x64] os: [win32] turbo-windows-arm64@2.3.0: - resolution: {integrity: sha512-7qfUuYhfIVb1AZgs89DxhXK+zZez6O2ocmixEQ4hXZK7ytnBt5vaz2zGNJJKFNYIL5HX1C3tuHolnpNgDNCUIg==} + resolution: {integrity: sha1-Qtd/6Z9ytIYrtMu7DLXcpzQnJwo=} cpu: [arm64] os: [win32] @@ -15104,7 +15136,7 @@ packages: resolution: {integrity: sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==} wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + resolution: {integrity: sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=} engines: {node: '>=10'} wrap-ansi@8.1.0: @@ -15236,7 +15268,7 @@ packages: resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} yjs@13.6.14: - resolution: {integrity: sha512-D+7KcUr0j+vBCUSKXXEWfA+bG4UQBviAwP3gYBhkstkgwy5+8diOPMx0iqLIOxNo/HxaREUimZRxqHGAHCL2BQ==} + resolution: {integrity: sha1-kybfoD0b4/ua+e9+Qd5L/HiEmp8=} engines: {node: '>=16.0.0', npm: '>=8.0.0'} yn@3.1.1: @@ -23558,9 +23590,12 @@ snapshots: dependencies: '@types/react': 18.3.0 - '@types/react-window@1.8.8': + '@types/react-window@2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.0 + react-window: 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - react + - react-dom '@types/react@18.3.0': dependencies: @@ -31158,6 +31193,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-window@2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react@18.3.1: dependencies: loose-envify: 1.4.0 From 018de1c6e035127347a92ad283eda76f18b2f933 Mon Sep 17 00:00:00 2001 From: Riley Evans Date: Thu, 12 Feb 2026 15:33:26 -0600 Subject: [PATCH 2/3] Removed test css --- .../ui/panel/recommendation/browse/styles/BrowseView.styles.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts index 3d7f08e14d6..5b464c07a0f 100644 --- a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts +++ b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/styles/BrowseView.styles.ts @@ -4,7 +4,6 @@ export const useBrowseViewStyles = makeStyles({ container: { display: 'flex', flexDirection: 'column', - border: '2px solid red', }, backButton: { alignSelf: 'flex-start', From 5f04a7b47e6447f24c163c8415463878ff0f85cc Mon Sep 17 00:00:00 2001 From: Riley Evans Date: Thu, 12 Feb 2026 15:39:09 -0600 Subject: [PATCH 3/3] Added test file --- .../browse/__test__/connectorBrowse.spec.tsx | 263 ++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 libs/designer-v2/src/lib/ui/panel/recommendation/browse/__test__/connectorBrowse.spec.tsx diff --git a/libs/designer-v2/src/lib/ui/panel/recommendation/browse/__test__/connectorBrowse.spec.tsx b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/__test__/connectorBrowse.spec.tsx new file mode 100644 index 00000000000..23c501ad952 --- /dev/null +++ b/libs/designer-v2/src/lib/ui/panel/recommendation/browse/__test__/connectorBrowse.spec.tsx @@ -0,0 +1,263 @@ +// @vitest-environment jsdom +import '@testing-library/jest-dom/vitest'; +import { describe, test, expect, vi, beforeEach, afterEach } from 'vitest'; +import { render, screen, cleanup } from '@testing-library/react'; +import { Provider } from 'react-redux'; +import { configureStore } from '@reduxjs/toolkit'; +import { IntlProvider } from 'react-intl'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { ConnectorBrowse } from '../connectorBrowse'; +import type { Connector } from '@microsoft/logic-apps-shared'; + +// --- Mocks --- + +const mockDispatch = vi.fn(); +vi.mock('react-redux', async () => { + const actual = await vi.importActual('react-redux'); + return { ...actual, useDispatch: () => mockDispatch }; +}); + +const mockUseAllConnectors = vi.fn(); +vi.mock('../../../../../core/queries/browse', () => ({ + useAllConnectors: () => mockUseAllConnectors(), +})); + +vi.mock('../../../../../core/state/panel/panelSelectors', () => ({ + useDiscoveryPanelRelationshipIds: vi.fn(() => ({ + graphId: 'root', + parentId: undefined, + childId: undefined, + })), +})); + +vi.mock('../../../../../core/state/designerView/designerViewSelectors', () => ({ + useIsA2AWorkflow: vi.fn(() => false), +})); + +vi.mock('../../../../../core/state/panel/panelSlice', () => ({ + selectOperationGroupId: vi.fn((id: string) => ({ type: 'panel/selectOperationGroupId', payload: id })), +})); + +vi.mock('@microsoft/designer-ui', () => ({ + isBuiltInConnector: vi.fn((c: Connector) => c.id.includes('builtin')), + isCustomConnector: vi.fn((c: Connector) => c.id.includes('custom')), +})); + +vi.mock('../connectorCard', () => ({ + ConnectorCard: vi.fn(({ connector }: { connector: Connector }) => ( +
{connector.properties.displayName}
+ )), +})); + +vi.mock('../styles/ConnectorBrowse.styles', () => ({ + useConnectorBrowseStyles: vi.fn(() => ({ + loadingContainer: 'loading-container', + emptyStateContainer: 'empty-state-container', + })), +})); + +vi.mock('react-window', () => ({ + List: vi.fn(({ rowCount, rowComponent: Row }: any) => ( +
+ {Array.from({ length: rowCount }, (_, i) => ( + + ))} +
+ )), +})); + +// --- Helpers --- + +const makeConnector = (id: string, displayName: string, overrides?: Partial): Connector => + ({ + id, + name: id.split('/').pop() ?? id, + type: 'Microsoft.Web/locations/managedApis', + properties: { + displayName, + capabilities: [], + ...overrides?.properties, + }, + ...overrides, + }) as unknown as Connector; + +const createWrapper = () => { + const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } }); + const store = configureStore({ reducer: { stub: (s = {}) => s } }); + + return ({ children }: { children: React.ReactNode }) => ( + + + {children} + + + ); +}; + +// --- Tests --- + +describe('ConnectorBrowse', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + afterEach(() => { + cleanup(); + }); + + test('renders loading spinner when data is loading', () => { + mockUseAllConnectors.mockReturnValue({ data: undefined, isLoading: true }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('Loading connectors...')).toBeInTheDocument(); + }); + + test('renders empty state when no connectors match', () => { + mockUseAllConnectors.mockReturnValue({ data: [], isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('No connectors found for this category')).toBeInTheDocument(); + }); + + test('renders connector cards when connectors are available', () => { + const connectors = [makeConnector('shared/sql', 'SQL'), makeConnector('shared/outlook', 'Outlook')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('SQL')).toBeInTheDocument(); + expect(screen.getByText('Outlook')).toBeInTheDocument(); + }); + + test('filters out agent connector', () => { + const connectors = [makeConnector('connectionProviders/agent', 'Agent'), makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.queryByTestId('connector-card-connectionProviders/agent')).not.toBeInTheDocument(); + expect(screen.getByText('SQL')).toBeInTheDocument(); + }); + + test('filters out ACA session connector', () => { + const connectors = [makeConnector('/serviceProviders/acasession', 'ACA Session'), makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.queryByTestId('connector-card-/serviceProviders/acasession')).not.toBeInTheDocument(); + expect(screen.getByText('SQL')).toBeInTheDocument(); + }); + + test('filters by runtime=inapp to show only built-in connectors', () => { + const connectors = [makeConnector('builtin/http', 'HTTP'), makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('HTTP')).toBeInTheDocument(); + expect(screen.queryByText('SQL')).not.toBeInTheDocument(); + }); + + test('filters by runtime=custom to show only custom connectors', () => { + const connectors = [makeConnector('custom/myConnector', 'My Custom'), makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('My Custom')).toBeInTheDocument(); + expect(screen.queryByText('SQL')).not.toBeInTheDocument(); + }); + + test('filters by runtime=shared to exclude built-in and custom connectors', () => { + const connectors = [ + makeConnector('builtin/http', 'HTTP'), + makeConnector('custom/myConnector', 'My Custom'), + makeConnector('shared/sql', 'SQL'), + ]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.queryByText('HTTP')).not.toBeInTheDocument(); + expect(screen.queryByText('My Custom')).not.toBeInTheDocument(); + expect(screen.getByText('SQL')).toBeInTheDocument(); + }); + + test('filters by actionType=triggers', () => { + const triggersConnector = makeConnector('shared/trigger', 'Trigger Connector', { + properties: { displayName: 'Trigger Connector', capabilities: ['triggers'] }, + } as any); + const actionsConnector = makeConnector('shared/action', 'Action Connector', { + properties: { displayName: 'Action Connector', capabilities: ['actions'] }, + } as any); + + mockUseAllConnectors.mockReturnValue({ data: [triggersConnector, actionsConnector], isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('Trigger Connector')).toBeInTheDocument(); + expect(screen.queryByText('Action Connector')).not.toBeInTheDocument(); + }); + + test('filters by actionType=actions', () => { + const triggersConnector = makeConnector('shared/trigger', 'Trigger Connector', { + properties: { displayName: 'Trigger Connector', capabilities: ['triggers'] }, + } as any); + const actionsConnector = makeConnector('shared/action', 'Action Connector', { + properties: { displayName: 'Action Connector', capabilities: ['actions'] }, + } as any); + + mockUseAllConnectors.mockReturnValue({ data: [triggersConnector, actionsConnector], isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.queryByText('Trigger Connector')).not.toBeInTheDocument(); + expect(screen.getByText('Action Connector')).toBeInTheDocument(); + }); + + test('connectors with no capabilities pass actionType filter', () => { + const noCapsConnector = makeConnector('shared/nocaps', 'No Caps', { + properties: { displayName: 'No Caps', capabilities: [] }, + } as any); + + mockUseAllConnectors.mockReturnValue({ data: [noCapsConnector], isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getByText('No Caps')).toBeInTheDocument(); + }); + + test('sorts priority connectors before others', () => { + const regularConnector = makeConnector('shared/random', 'Random'); + const priorityConnector = makeConnector('shared/managedApis/office365', 'Office 365'); + + mockUseAllConnectors.mockReturnValue({ data: [regularConnector, priorityConnector], isLoading: false }); + + render(, { wrapper: createWrapper() }); + + const cards = screen.getAllByTestId(/connector-card-/); + expect(cards[0]).toHaveTextContent('Office 365'); + expect(cards[1]).toHaveTextContent('Random'); + }); + + test('uses virtualized list for rendering', () => { + const connectors = [makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.getAllByTestId('virtualized-list').length).toBeGreaterThan(0); + }); + + test('does not render loading spinner after data has loaded', () => { + const connectors = [makeConnector('shared/sql', 'SQL')]; + mockUseAllConnectors.mockReturnValue({ data: connectors, isLoading: false }); + + render(, { wrapper: createWrapper() }); + + expect(screen.queryByText('Loading connectors...')).not.toBeInTheDocument(); + }); +});