From 8f8ae96620eab742371b661830589c172832440d Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Mon, 27 Apr 2026 15:11:47 -0700 Subject: [PATCH 1/8] add changes --- .vscode/launch.json | 15 - esbuild.mjs | 27 +- esbuild.views.mjs | 76 - package-lock.json | 2751 +++++++++-------- package.json | 4 +- src/commands/copilot/deployWithCopilot.ts | 2 +- .../deployContainerApp/deployContainerApp.ts | 3 +- src/extension.ts | 2 + src/webviews/Channel/Channel.ts | 51 - src/webviews/Channel/CommonChannel.ts | 257 -- src/webviews/Channel/DeferredPromise.ts | 43 - src/webviews/Channel/Transport.ts | 22 - src/webviews/Channel/WebviewChannel.ts | 20 - src/webviews/Channel/WebviewTransport.ts | 55 - src/webviews/ConfirmationView.tsx | 161 - src/webviews/ConfirmationViewController.ts | 23 - src/webviews/LoadingView.tsx | 13 - src/webviews/LoadingViewController.ts | 18 - src/webviews/OpenConfirmationViewStep.ts | 139 - src/webviews/OpenLoadingViewStep.ts | 30 - src/webviews/WebviewContext.tsx | 31 - src/webviews/WebviewRegistry.ts | 12 - .../extension-server/WebviewBaseController.ts | 109 - .../extension-server/WebviewController.ts | 119 - src/webviews/index.tsx | 34 - src/webviews/styles/confirmationView.scss | 29 - src/webviews/styles/global.scss | 10 - src/webviews/styles/loadingView.scss | 11 - src/webviews/theme/DynamicThemeProvider.tsx | 30 - src/webviews/theme/state/ThemeContext.tsx | 129 - src/webviews/theme/state/ThemeState.tsx | 38 - src/webviews/theme/themeGenerator.ts | 117 - src/webviews/theme/utils/csswg.ts | 295 -- src/webviews/theme/utils/geometry.ts | 72 - src/webviews/theme/utils/hueMap.ts | 403 --- src/webviews/theme/utils/index.ts | 10 - src/webviews/theme/utils/palettes.ts | 216 -- src/webviews/theme/utils/types.ts | 28 - src/webviews/theme/vscodeThemeTokens.tsx | 832 ----- src/webviews/useConfiguration.ts | 29 - src/webviews/webviewConstants.ts | 10 - 41 files changed, 1516 insertions(+), 4760 deletions(-) delete mode 100644 esbuild.views.mjs delete mode 100644 src/webviews/Channel/Channel.ts delete mode 100644 src/webviews/Channel/CommonChannel.ts delete mode 100644 src/webviews/Channel/DeferredPromise.ts delete mode 100644 src/webviews/Channel/Transport.ts delete mode 100644 src/webviews/Channel/WebviewChannel.ts delete mode 100644 src/webviews/Channel/WebviewTransport.ts delete mode 100644 src/webviews/ConfirmationView.tsx delete mode 100644 src/webviews/ConfirmationViewController.ts delete mode 100644 src/webviews/LoadingView.tsx delete mode 100644 src/webviews/LoadingViewController.ts delete mode 100644 src/webviews/OpenConfirmationViewStep.ts delete mode 100644 src/webviews/OpenLoadingViewStep.ts delete mode 100644 src/webviews/WebviewContext.tsx delete mode 100644 src/webviews/WebviewRegistry.ts delete mode 100644 src/webviews/extension-server/WebviewBaseController.ts delete mode 100644 src/webviews/extension-server/WebviewController.ts delete mode 100644 src/webviews/index.tsx delete mode 100644 src/webviews/styles/confirmationView.scss delete mode 100644 src/webviews/styles/global.scss delete mode 100644 src/webviews/styles/loadingView.scss delete mode 100644 src/webviews/theme/DynamicThemeProvider.tsx delete mode 100644 src/webviews/theme/state/ThemeContext.tsx delete mode 100644 src/webviews/theme/state/ThemeState.tsx delete mode 100644 src/webviews/theme/themeGenerator.ts delete mode 100644 src/webviews/theme/utils/csswg.ts delete mode 100644 src/webviews/theme/utils/geometry.ts delete mode 100644 src/webviews/theme/utils/hueMap.ts delete mode 100644 src/webviews/theme/utils/index.ts delete mode 100644 src/webviews/theme/utils/palettes.ts delete mode 100644 src/webviews/theme/utils/types.ts delete mode 100644 src/webviews/theme/vscodeThemeTokens.tsx delete mode 100644 src/webviews/useConfiguration.ts delete mode 100644 src/webviews/webviewConstants.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index 87a7054c3..a5baa6769 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -17,21 +17,6 @@ "DEBUGTELEMETRY": "v" } }, - { - "name": "Launch Extension + web view", - "type": "extensionHost", - "request": "launch", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}" - ], - "outFiles": [ - "${workspaceFolder}/dist/**/*.{js,mjs,cjs}", - ], - "preLaunchTask": "Watch: ESBuild with Web View", - "env": { - "DEBUGTELEMETRY": "v" - } - }, { "name": "Launch Extension + Docker", "type": "extensionHost", diff --git a/esbuild.mjs b/esbuild.mjs index ff680aba4..3d3373577 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -4,4 +4,29 @@ *--------------------------------------------------------------------------------------------*/ import { autoEsbuildOrWatch, autoSelectEsbuildConfig } from '@microsoft/vscode-azext-eng/esbuild'; -await autoEsbuildOrWatch(autoSelectEsbuildConfig()); +import { readFileSync } from 'node:fs'; + +// Workaround for tas-client UMD/ESM mismatch: +// tas-client declares "type": "module" in package.json but its entry file is UMD +// and does `module.exports = factory()`. esbuild wraps it with __esm() (no scoped +// module/exports) instead of __commonJS(), so the UMD code overwrites the bundle's +// top-level module.exports, destroying the extension's activate/deactivate exports. +// This plugin scopes module/exports within the tas-client file to prevent the leak. +const fixTasClientPlugin = { + name: 'fix-tas-client-umd', + setup(build) { + build.onLoad({ filter: /tas-client[\\/]dist[\\/]tas-client\.min\.js$/ }, (args) => { + const contents = readFileSync(args.path, 'utf8'); + return { + // Wrap in IIFE that provides scoped module/exports so the UMD + // `module.exports = factory()` doesn't overwrite the bundle's exports + contents: `(function(module, exports) {\n${contents}\n})({exports: {}}, {});\n`, + loader: 'js', + }; + }); + } +}; + +const configs = autoSelectEsbuildConfig(); +configs.extensionConfig.plugins.unshift(fixTasClientPlugin); +await autoEsbuildOrWatch(configs); diff --git a/esbuild.views.mjs b/esbuild.views.mjs deleted file mode 100644 index e1055b0b7..000000000 --- a/esbuild.views.mjs +++ /dev/null @@ -1,76 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { isAutoDebug, isAutoWatch } from '@microsoft/vscode-azext-eng/esbuild'; -import esbuild from 'esbuild'; -import path from 'path'; -import { fileURLToPath } from 'url'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - -const outdir = path.resolve(__dirname, 'dist'); - -const commonConfig = { - entryPoints: { - views: path.resolve(__dirname, 'src/webviews/index.tsx'), - }, - - bundle: true, - outdir: outdir, - format: 'esm', - platform: 'browser', //todo: remove (platform is auto browser if not specified) - target: 'es2022', - sourcemap: isAutoWatch, - minify: !isAutoWatch, - metafile: isAutoDebug, - splitting: false, - - inject: [path.resolve(__dirname, 'react-shim.js')], - - loader: { - '.ts': 'ts', - '.tsx': 'tsx', - '.css': 'css', - '.scss': 'css', - '.ttf': 'dataurl', - '.woff': 'dataurl', - '.woff2': 'dataurl', - }, - - plugins: [ - { - name: 'sass', - setup(build) { - build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { - const sass = await import('sass'); - const result = sass.compile(args.path); - return { - contents: result.css, - loader: 'css', - }; - }); - }, - }, - ], - logLevel: 'info' -}; - -const ctx = await esbuild.context({ - ...commonConfig, - outdir, -}); - -// Always do an initial rebuild to ensure views.js exists -await ctx.rebuild(); - -if (isAutoWatch) { - await ctx.watch(); - console.log('Watching webview bundle...'); - await new Promise(() => { }); -} else { - await ctx.rebuild(); - await ctx.dispose(); -} diff --git a/package-lock.json b/package-lock.json index 2a5533f30..de48ca6c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "@microsoft/vscode-azext-azureutils": "^4.0.1", "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", + "@microsoft/vscode-azext-webview": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", "@microsoft/vscode-azureresources-api": "^3.1.0", "@vscode/codicons": "0.0.38", "dayjs": "^1.11.3", @@ -112,9 +113,9 @@ } }, "node_modules/@azure/arm-appcontainers/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -122,7 +123,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -220,9 +221,9 @@ } }, "node_modules/@azure/arm-msi/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -230,7 +231,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -404,9 +405,9 @@ } }, "node_modules/@azure/arm-storage/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -414,7 +415,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -484,9 +485,9 @@ } }, "node_modules/@azure/core-client/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -494,7 +495,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -612,12 +613,12 @@ } }, "node_modules/@azure/core-xml": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@azure/core-xml/-/core-xml-1.5.0.tgz", - "integrity": "sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@azure/core-xml/-/core-xml-1.5.1.tgz", + "integrity": "sha512-xcNRHqCoSp4AunOALEae6A8f3qATb83gSrm31Iqb01OzblvC3/W/bfXozcq78EzIdzZzuH1bZ2NvRR0TdX709w==", "license": "MIT", "dependencies": { - "fast-xml-parser": "^5.0.7", + "fast-xml-parser": "^5.5.9", "tslib": "^2.8.1" }, "engines": { @@ -625,10 +626,9 @@ } }, "node_modules/@azure/identity": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.0.tgz", - "integrity": "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw==", - "dev": true, + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.13.1.tgz", + "integrity": "sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -638,8 +638,8 @@ "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^4.2.0", - "@azure/msal-node": "^3.5.0", + "@azure/msal-browser": "^5.5.0", + "@azure/msal-node": "^5.1.0", "open": "^10.1.0", "tslib": "^2.2.0" }, @@ -648,10 +648,9 @@ } }, "node_modules/@azure/identity/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", - "dev": true, + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -659,7 +658,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -670,7 +669,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", - "dev": true, "license": "MIT", "dependencies": { "tslib": "^2.6.2" @@ -713,9 +711,9 @@ } }, "node_modules/@azure/monitor-query/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -723,7 +721,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -749,48 +747,44 @@ "license": "MIT" }, "node_modules/@azure/msal-browser": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.29.0.tgz", - "integrity": "sha512-/f3eHkSNUTl6DLQHm+bKecjBKcRQxbd/XLx8lvSYp8Nl/HRyPuIPOijt9Dt0sH50/SxOwQ62RnFCmFlGK+bR/w==", - "dev": true, + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.7.0.tgz", + "integrity": "sha512-uYbJ0YarxkVGWEq814BysJry/IPvpDNkVKmc2bMZp4G+igUQkJ5nlFirycwPGUeA9ICLQqCxqExCA1Z1E07bPA==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0" + "@azure/msal-common": "16.5.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.15.0.tgz", - "integrity": "sha512-/n+bN0AKlVa+AOcETkJSKj38+bvFs78BaP4rNtv3MJCmPH0YrHiskMRe74OhyZ5DZjGISlFyxqvf9/4QVEi2tw==", - "dev": true, + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.5.0.tgz", + "integrity": "sha512-i3eS/5pmxDbIU/mLMENs88Qg3k6XxqJytJy6PpB7L1tCBjdXHJDadCD3Hu1TyTooe7iQo7CYqbocgL/l/8u90g==", "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "3.8.8", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.8.8.tgz", - "integrity": "sha512-+f1VrJH1iI517t4zgmuhqORja0bL6LDQXfBqkjuMmfTYXTQQnh1EvwwxO3UbKLT05N0obF72SRHFrC1RBDv5Gg==", - "dev": true, + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.1.3.tgz", + "integrity": "sha512-LqT8mRZpEils9zGR9eW+Ljqifh2aMA99UF/X0jxIKDYZeHr6onlHwhVP4xHCeLhh55BI63JCbdf1iWJbMh1mPw==", "license": "MIT", "dependencies": { - "@azure/msal-common": "15.15.0", + "@azure/msal-common": "16.5.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/@azure/msal-node/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, "license": "MIT", "bin": { "uuid": "dist/bin/uuid" @@ -822,9 +816,9 @@ } }, "node_modules/@azure/storage-blob/node_modules/@azure/core-http-compat": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz", - "integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.4.0.tgz", + "integrity": "sha512-f1P96IB399YiN2ARYHP7EpZi3Bf3wH4SN2lGzrw7JVwm7bbsVYtf2iKSBwTywD2P62NOPZGHFSZi+6jjb75JuA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2" @@ -838,9 +832,9 @@ } }, "node_modules/@azure/storage-blob/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -848,7 +842,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -888,9 +882,9 @@ } }, "node_modules/@azure/storage-common/node_modules/@azure/core-http-compat": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.2.tgz", - "integrity": "sha512-Tf6ltdKzOJEgxZeWLCjMxrxbodB/ZeCbzzA1A2qHbhzAjzjHoBVSUeSl/baT/oHAxhc4qdqVaDKnc2+iE932gw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.4.0.tgz", + "integrity": "sha512-f1P96IB399YiN2ARYHP7EpZi3Bf3wH4SN2lGzrw7JVwm7bbsVYtf2iKSBwTywD2P62NOPZGHFSZi+6jjb75JuA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2" @@ -904,9 +898,9 @@ } }, "node_modules/@azure/storage-common/node_modules/@azure/core-rest-pipeline": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.22.2.tgz", - "integrity": "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -914,7 +908,7 @@ "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", - "@typespec/ts-http-runtime": "^0.3.0", + "@typespec/ts-http-runtime": "^0.3.4", "tslib": "^2.6.2" }, "engines": { @@ -959,9 +953,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -993,9 +987,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], @@ -1010,9 +1004,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], @@ -1027,9 +1021,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], @@ -1044,9 +1038,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], @@ -1061,9 +1055,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], @@ -1078,9 +1072,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], @@ -1095,9 +1089,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], @@ -1112,9 +1106,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], @@ -1129,9 +1123,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], @@ -1146,9 +1140,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], @@ -1163,9 +1157,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], @@ -1180,9 +1174,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], @@ -1197,9 +1191,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], @@ -1214,9 +1208,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], @@ -1231,9 +1225,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], @@ -1248,9 +1242,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], @@ -1265,9 +1259,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], @@ -1282,9 +1276,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], @@ -1299,9 +1293,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], @@ -1316,9 +1310,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], @@ -1333,9 +1327,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], @@ -1350,9 +1344,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], @@ -1367,9 +1361,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], @@ -1384,9 +1378,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], @@ -1401,9 +1395,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], @@ -1418,9 +1412,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], @@ -1477,31 +1471,24 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^3.1.5" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -1549,9 +1536,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", - "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", "dev": true, "license": "MIT", "dependencies": { @@ -1562,7 +1549,7 @@ "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", - "minimatch": "^3.1.3", + "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" }, "engines": { @@ -1589,17 +1576,10 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@eslint/eslintrc/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -1628,9 +1608,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", - "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, "license": "MIT", "engines": { @@ -1665,12 +1645,12 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", - "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/devtools": { @@ -1683,19 +1663,19 @@ } }, "node_modules/@floating-ui/dom": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", - "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.4", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT" }, "node_modules/@fluentui/keyboard-keys": { @@ -1717,21 +1697,21 @@ } }, "node_modules/@fluentui/react-accordion": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.9.0.tgz", - "integrity": "sha512-vK7LTTRoICs/k7zRZkmBpX5v8Ig72xHdBM2uzUT/Az+Qk+pTYGzxz0pogC/Y8jq8Ynn0DhVgJ7IGm25/L19A+g==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.10.0.tgz", + "integrity": "sha512-EwjRfBdC3esMEP++PddyF7bVMSv9+t2W8AY5GkNcwDsqAW3D4zhlvxXBAb3qmpgXy4qMxRWGL8cEaiWgMpH1sg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1743,18 +1723,18 @@ } }, "node_modules/@fluentui/react-alert": { - "version": "9.0.0-beta.133", - "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.133.tgz", - "integrity": "sha512-6BW1AONX+wFyGADJr30riiJMJczIyUtJeXo11jjAY+A+AA6IDLzZHJuFfgza/7fWFBfJBD72mIoV+b/xSrCthw==", + "version": "9.0.0-beta.138", + "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.138.tgz", + "integrity": "sha512-mE3nMx1ngevvmFcp/2sePyJrdE8nme7eqCv1ppUT+mTIA1RYkR8hzBld1+DV1qJYc+F6DCeg4gImuQuu1OXiGA==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.10.0", - "@fluentui/react-button": "^9.8.1", + "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-button": "^9.9.0", "@fluentui/react-icons": "^2.0.239", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1766,16 +1746,16 @@ } }, "node_modules/@fluentui/react-aria": { - "version": "9.17.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.17.9.tgz", - "integrity": "sha512-L0/lin/zKzTcYDPM3i+fMeP5OtbFVfwxMHhPewLy7nbFnFb0p7dbWCxLE6r0C6yq4JFBk0nA0eWy9ox2BOMTRA==", + "version": "9.17.10", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.17.10.tgz", + "integrity": "sha512-KqS2XcdN84XsgVG4fAESyOBfixN7zbObWfQVLNZ2gZrp2b1hPGVYfQ6J4WOO0vXMKYp0rre/QMOgDm6/srL0XQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-utilities": "^9.26.2", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -1786,21 +1766,21 @@ } }, "node_modules/@fluentui/react-avatar": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.10.0.tgz", - "integrity": "sha512-GQuKzoTm/ABEnw97It6/7Ut21b3ZuB+F00yVkjS30xAN+q5mYIKdVcgXykYE9LiDJHp21CmrgtcyrThlDxo4nw==", + "version": "9.11.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.11.0.tgz", + "integrity": "sha512-3MogJIiOGilKh9y/sWy0Cali1tpvWQNwcs2ryL7EVXi5xwTfKQM/WEgEnW2z+KtumDQUsRqlCHCSoi+x+BF8Qg==", "license": "MIT", "dependencies": { - "@fluentui/react-badge": "^9.4.14", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-badge": "^9.5.1", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-popover": "^9.13.1", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.9.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-tooltip": "^9.10.0", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1812,16 +1792,16 @@ } }, "node_modules/@fluentui/react-badge": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.4.14.tgz", - "integrity": "sha512-13+0IAGhPoHrfcX2nIl47cUgqO5fyvfq6rNPAMjyxz/ZCvX/TFiAglq8P7CRyGHQWBvaUTHFME2//gy8dW2new==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.5.1.tgz", + "integrity": "sha512-OHS15ovGFPShrAA9U+hCyloJEyffC9gdif0a27AOIB9aVlF/hTzG7toxxulcg4ar4F9X3xXk/uccCCa2kzK0Gw==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1833,20 +1813,20 @@ } }, "node_modules/@fluentui/react-breadcrumb": { - "version": "9.3.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.3.16.tgz", - "integrity": "sha512-irgluPPOcq1pF7CFP18IGzTZS1TWuM7XwU51OopSNbdnyij5WgMySZBVcIiDk0jC2yL2U2SZefT+sDsSA3ZwRg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.4.0.tgz", + "integrity": "sha512-QpCjYlM3JTMnNwh/sDehDbuAVjTcgSfjkPdSmFaPk2lPHpER32CBcJVhheP9en2U5NbW1e+Gtvq8y06RN8FCWw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-button": "^9.8.1", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-button": "^9.9.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-link": "^9.7.3", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-link": "^9.8.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1858,19 +1838,19 @@ } }, "node_modules/@fluentui/react-button": { - "version": "9.8.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.8.1.tgz", - "integrity": "sha512-/YaLzsK57kr91b4gDIINpz0fb4KxdhfzZA6/Ltymm15CwpZ/qOgVt6oFLPunfi/GlUraEnH7EaacJ1kVffneCA==", + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.9.0.tgz", + "integrity": "sha512-aH3aSjKyxIiNb9jJOUaaIq47w7jP5ESFSRzvMjcWOETvlWo4QgNqEOOsYqpcltM1OrQZ0sTy/isxppRcyMDlcQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", + "@fluentui/react-aria": "^9.17.10", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1882,18 +1862,18 @@ } }, "node_modules/@fluentui/react-card": { - "version": "9.5.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.5.10.tgz", - "integrity": "sha512-WPDm1lpfe87eWoiht/Q4NGmLVqQD5voeCr4MWZz5Pa9EH9d4vX6eemtJjgrnpvXOvGlVhlOHLhx7lz7FmrUheQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.6.0.tgz", + "integrity": "sha512-vgBvhtSzQDa01aOP9zdhJXFLsZAiDVslRfX3HmlIo1pAMt8w+PBq+ypDp1wxM7HPFpj9+RYcERRKtf4MSNP9Nw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", - "@fluentui/react-text": "^9.6.14", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-text": "^9.6.15", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1905,21 +1885,21 @@ } }, "node_modules/@fluentui/react-carousel": { - "version": "9.9.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.9.2.tgz", - "integrity": "sha512-+NHu80Ylv4hhU2LdzmHH/r6N8dm8bKWtRDjm98emC4zEwZGhFltO4QhtafCM3E1NiICFKCrF7RRQlsjAD8YbVQ==", + "version": "9.9.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.9.6.tgz", + "integrity": "sha512-Ae7DKwQsidRBjUQeiXffRUi8i/26jMgJd24rDVLeQUvoUhs+z/SA9iZN/QMuNl02E291MAEruENKzzkshvfYfg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.9.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-tooltip": "^9.10.0", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "embla-carousel": "^8.5.1", @@ -1934,19 +1914,19 @@ } }, "node_modules/@fluentui/react-checkbox": { - "version": "9.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.5.14.tgz", - "integrity": "sha512-0tCAZZwiwK618/LtFueyJ+4o9p+LbRf3KRMMkWWBNRqAlclno8oQQ7lrPHYOjrvmVUPYi9Xg7Gt+ArckUQZEBw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.6.0.tgz", + "integrity": "sha512-GMgB1Yx2WP6cISIZoRTyXp2VkJBR8t1+wRyY63RRcofL/ziqqBhz++kl317lbVv7QxnXZh6KlVuoPROWFDQuaw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1958,18 +1938,18 @@ } }, "node_modules/@fluentui/react-color-picker": { - "version": "9.2.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-color-picker/-/react-color-picker-9.2.14.tgz", - "integrity": "sha512-ZsdCm5j2/Q5WOpgDHX5X3AOJwP3AOf9hNlhTbt/kjDnLmkmHETkqyo5YPVeWoOfjSyEWw5ARQoN5higL7dIs2Q==", + "version": "9.2.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-color-picker/-/react-color-picker-9.2.15.tgz", + "integrity": "sha512-RMmawl7g4gUYLuTQG2QwCcR9fGC+vDD+snsBlXtObpj/cKpeDmYif46g88pYv86jeIXY1zsjINmLpELmz+uFmw==", "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.3.4", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1981,23 +1961,23 @@ } }, "node_modules/@fluentui/react-combobox": { - "version": "9.16.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.16.15.tgz", - "integrity": "sha512-SuffNVAq3QvZShAK0BiO/X0azjkoG8X6mD9sFitU80Nj/JZeDABNekd/da+NuBQ3IHjVspgj8336vIr2epMLyg==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.17.0.tgz", + "integrity": "sha512-04JTIrXCAbG8HnczFVzJsUJO+NJQ2d/JPynXlmTq7KCMw0BssiF//7IAPFnTiMYmS7jcwc9Uh4ZeFrw+czA79g==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2009,71 +1989,71 @@ } }, "node_modules/@fluentui/react-components": { - "version": "9.73.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.73.0.tgz", - "integrity": "sha512-4WjQ0+34Vt7iOBo8+w1KYV3U3OcDdCTD8EWLElFv7bq9W3hocK2qWMjjorT0aZCiPgGnD6fp67M3cdb7a452dA==", - "license": "MIT", - "dependencies": { - "@fluentui/react-accordion": "^9.9.0", - "@fluentui/react-alert": "9.0.0-beta.133", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-avatar": "^9.10.0", - "@fluentui/react-badge": "^9.4.14", - "@fluentui/react-breadcrumb": "^9.3.16", - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-card": "^9.5.10", - "@fluentui/react-carousel": "^9.9.2", - "@fluentui/react-checkbox": "^9.5.14", - "@fluentui/react-color-picker": "^9.2.14", - "@fluentui/react-combobox": "^9.16.15", - "@fluentui/react-dialog": "^9.17.0", - "@fluentui/react-divider": "^9.6.1", - "@fluentui/react-drawer": "^9.11.3", - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-image": "^9.3.14", - "@fluentui/react-infobutton": "9.0.0-beta.110", - "@fluentui/react-infolabel": "^9.4.15", - "@fluentui/react-input": "^9.7.14", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-link": "^9.7.3", - "@fluentui/react-list": "^9.6.9", - "@fluentui/react-menu": "^9.21.1", - "@fluentui/react-message-bar": "^9.6.18", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-nav": "^9.3.18", - "@fluentui/react-overflow": "^9.7.0", - "@fluentui/react-persona": "^9.6.0", - "@fluentui/react-popover": "^9.13.1", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-progress": "^9.4.14", - "@fluentui/react-provider": "^9.22.14", - "@fluentui/react-radio": "^9.5.14", - "@fluentui/react-rating": "^9.3.14", - "@fluentui/react-search": "^9.3.14", - "@fluentui/react-select": "^9.4.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-skeleton": "^9.4.14", - "@fluentui/react-slider": "^9.5.14", - "@fluentui/react-spinbutton": "^9.5.14", - "@fluentui/react-spinner": "^9.7.14", - "@fluentui/react-swatch-picker": "^9.4.14", - "@fluentui/react-switch": "^9.5.3", - "@fluentui/react-table": "^9.19.8", - "@fluentui/react-tabs": "^9.11.1", - "@fluentui/react-tabster": "^9.26.12", - "@fluentui/react-tag-picker": "^9.7.16", - "@fluentui/react-tags": "^9.7.15", - "@fluentui/react-teaching-popover": "^9.6.16", - "@fluentui/react-text": "^9.6.14", - "@fluentui/react-textarea": "^9.6.14", + "version": "9.73.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.73.7.tgz", + "integrity": "sha512-hLxXEAiiMEMmFR3jEYgFPOV5lnNzu6SJU0NtyMCn1Tf4HXgCfy4h700e+GzuAsL1RlQAYC35HplcZHcEffwTIQ==", + "license": "MIT", + "dependencies": { + "@fluentui/react-accordion": "^9.10.0", + "@fluentui/react-alert": "9.0.0-beta.138", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-badge": "^9.5.1", + "@fluentui/react-breadcrumb": "^9.4.0", + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-card": "^9.6.0", + "@fluentui/react-carousel": "^9.9.6", + "@fluentui/react-checkbox": "^9.6.0", + "@fluentui/react-color-picker": "^9.2.15", + "@fluentui/react-combobox": "^9.17.0", + "@fluentui/react-dialog": "^9.17.3", + "@fluentui/react-divider": "^9.7.0", + "@fluentui/react-drawer": "^9.11.6", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-image": "^9.4.0", + "@fluentui/react-infobutton": "9.0.0-beta.114", + "@fluentui/react-infolabel": "^9.4.19", + "@fluentui/react-input": "^9.8.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-link": "^9.8.0", + "@fluentui/react-list": "^9.6.13", + "@fluentui/react-menu": "^9.24.0", + "@fluentui/react-message-bar": "^9.6.23", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-nav": "^9.3.23", + "@fluentui/react-overflow": "^9.7.1", + "@fluentui/react-persona": "^9.7.2", + "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-progress": "^9.5.0", + "@fluentui/react-provider": "^9.22.15", + "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-rating": "^9.4.0", + "@fluentui/react-search": "^9.4.1", + "@fluentui/react-select": "^9.5.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-skeleton": "^9.7.1", + "@fluentui/react-slider": "^9.6.1", + "@fluentui/react-spinbutton": "^9.6.1", + "@fluentui/react-spinner": "^9.8.1", + "@fluentui/react-swatch-picker": "^9.5.1", + "@fluentui/react-switch": "^9.7.1", + "@fluentui/react-table": "^9.19.14", + "@fluentui/react-tabs": "^9.12.0", + "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tag-picker": "^9.8.5", + "@fluentui/react-tags": "^9.8.0", + "@fluentui/react-teaching-popover": "^9.6.20", + "@fluentui/react-text": "^9.6.15", + "@fluentui/react-textarea": "^9.7.1", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-toast": "^9.7.12", - "@fluentui/react-toolbar": "^9.7.2", - "@fluentui/react-tooltip": "^9.9.1", - "@fluentui/react-tree": "^9.15.10", - "@fluentui/react-utilities": "^9.26.1", - "@fluentui/react-virtualizer": "9.0.0-alpha.110", + "@fluentui/react-toast": "^9.7.16", + "@fluentui/react-toolbar": "^9.7.7", + "@fluentui/react-tooltip": "^9.10.0", + "@fluentui/react-tree": "^9.15.16", + "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-virtualizer": "9.0.0-alpha.111", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2085,12 +2065,12 @@ } }, "node_modules/@fluentui/react-context-selector": { - "version": "9.2.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.2.14.tgz", - "integrity": "sha512-2dhWztUfq7P7OHa5LEUY/BAez/dWYiC7rwFCWdh9ma5KKRMhLCOmyh1lNgzaaTCvK5MytHx0VzXgBkBJYJfLqg==", + "version": "9.2.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.2.15.tgz", + "integrity": "sha512-QymBntFLJNZ9VfTOaBn2ApUSSSC5UuDW8ZcgPJPA+06XEFH+U9Zny2d9QAg1xYNYwIGWahWGQ+7ATOuLxtB8Jw==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2102,23 +2082,23 @@ } }, "node_modules/@fluentui/react-dialog": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.17.0.tgz", - "integrity": "sha512-TCvpV7snLJA0cilZ9Q+TCMCAy4RfgMSHa4JHFay0aQ0oKKSMBQEPRsXzjjvzVlRuvpzzmMw2ZGM9dRYchj6bRw==", + "version": "9.17.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.17.3.tgz", + "integrity": "sha512-rF5l8n5yhaB//ZHns0my3Tviir7R8NVyRgTtvV2gLhG58YM7qpm54oraG83uwlXCcZp0wlg2LuIe1cZ559ex1A==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2130,15 +2110,15 @@ } }, "node_modules/@fluentui/react-divider": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.6.1.tgz", - "integrity": "sha512-qadRByctDJFV7JYTlafAXvXXp5q2TmaBFjdjBMzz1a8+9N5sL6LzX3MoKgEcI32mmBDalaREY9JgrcAlIehf0g==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.7.0.tgz", + "integrity": "sha512-U8Nhrghjeh+XCGM4B7aHYosd6fXaxHC3MpZi7DB0xQ20ljn5cSTpBt4Yvl+tB9ld2+/eM8wekx1GVKyI4yWa3g==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2150,20 +2130,20 @@ } }, "node_modules/@fluentui/react-drawer": { - "version": "9.11.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.11.3.tgz", - "integrity": "sha512-VtNsSsnmYIXIsHyHMNM8XXZZ84JcJE28lQITJ8JhK4w06yIgBpNnody2LIVYD9ndc3f6DSodt8ikgBUdXBOjog==", - "license": "MIT", - "dependencies": { - "@fluentui/react-dialog": "^9.17.0", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "version": "9.11.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.11.6.tgz", + "integrity": "sha512-E+k3eKVb/xKPm2RH5Q1xBjL89NeB1GXtYHO6qRlhQ9auYVTlaBCR7f/ZfIIJJ2x8MzfntQljyl94VARtmZYnyA==", + "license": "MIT", + "dependencies": { + "@fluentui/react-dialog": "^9.17.3", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2175,18 +2155,18 @@ } }, "node_modules/@fluentui/react-field": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.4.14.tgz", - "integrity": "sha512-2x+ES49sWkQQ52NOEj4VazD9/CUvTjH+TbGhvVaMplbTGmaqQ00Lfcg56Cd1kweBnskyS4EuwmbXiDWBIoK+Wg==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.5.0.tgz", + "integrity": "sha512-yGjB9RXqKrolkkjyAsKVdrH2Xeinj+vromrSCJelgMJ3Q3D6YkExHQzgtdzqo0fVPppnEA4oDKL3Vqqnz/G5Ug==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2198,12 +2178,12 @@ } }, "node_modules/@fluentui/react-icons": { - "version": "2.0.319", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.319.tgz", - "integrity": "sha512-4yN0ovAxlOXL5jM3ULuYu6pAwvMWm1MjojDXn5tVKDkXQwlLpXCUFwf5Vgzp5jU6jJXrENj4v64MN6w7FJjotw==", + "version": "2.0.324", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.324.tgz", + "integrity": "sha512-wbtIQWwoTWNU6KyuF59zZ1viFv1i68iwVa1+so/QnfNKNHIXa2MEZ375Vg/pcubFBqlTxsKMrCBFtHEIzBHG/Q==", "license": "MIT", "dependencies": { - "@griffel/react": "^1.0.0", + "@griffel/react": "^1.6.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -2211,15 +2191,15 @@ } }, "node_modules/@fluentui/react-image": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.3.14.tgz", - "integrity": "sha512-1e5MmOLhxbfF4+Nk235eOXREm9dkwCH06L1oNKZKWnwtAZBOmTwPspIW0ttXCvJtllaXXeKAeBexM3jLqG5VRw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.4.0.tgz", + "integrity": "sha512-BpcBlmkukm7YYf6PTCbAIMkeCXc8+7aq2eMADsxF5gFD8j3d5lBY3cKByOWRM1NvXcMXmqXr/hQP+ovqNAHzEA==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2231,18 +2211,18 @@ } }, "node_modules/@fluentui/react-infobutton": { - "version": "9.0.0-beta.110", - "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.110.tgz", - "integrity": "sha512-SmotNqFZOe6Vd1vOkDI3IuzOV18TmTD3BGSK1Tv6uSuek21MyzkVp06bvQLxyQPsGQXrfpPjX2R2OpDDNbsI3g==", + "version": "9.0.0-beta.114", + "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.114.tgz", + "integrity": "sha512-3mqnlIcRc0PuW7rsxLFjzqnI/IITZIrHRt8Zwcm8NX7XZIK3wfODb9ytmQDYU/5IfwiSXC+xozqhI6kttaE3iw==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.237", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-popover": "^9.13.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2254,19 +2234,19 @@ } }, "node_modules/@fluentui/react-infolabel": { - "version": "9.4.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.4.15.tgz", - "integrity": "sha512-DzFJ0wx5B8rZ7Kxy8EIz7LIHYf8mDt8Bd6WEiEO2r9NVihgiFHNa4a0k/s3SoY2vVESkJgpUqqoizVIAEDDsOg==", + "version": "9.4.19", + "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.4.19.tgz", + "integrity": "sha512-b/3ETF5DPgHcRUcj85iGyiEXUFozFq+IY6tPcyCiUcmIoKScD8McFaHozjpaVqngLbCz0uKNNA0JDy1x/T2ItQ==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-popover": "^9.13.1", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2278,16 +2258,16 @@ } }, "node_modules/@fluentui/react-input": { - "version": "9.7.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.7.14.tgz", - "integrity": "sha512-VFNXDSxO/LdEi5wKd+zCLRRtNelGsvaJR4muAm7OJN56GmF+/3Jtq0dKlqkKosHta+zuXGWvGUgSH8fYfy64sQ==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.8.1.tgz", + "integrity": "sha512-ZlMeYBf1EQg4alI5+9gfx3Icmq3xibPiIYeARtFzOKJ2XzpnD4d/yswx3IDkzXCbqw9rSHtHV03vEeYLUPPTGw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2299,12 +2279,12 @@ } }, "node_modules/@fluentui/react-jsx-runtime": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.4.0.tgz", - "integrity": "sha512-qkY2XPSs1bGTLebo0a8py0d8/buT0TyZwqN4/sW9oFs9j1w6+HcExJgMDyhEJJSwScVHBJQ6nVT1SlzCf/kpRA==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.4.1.tgz", + "integrity": "sha512-ZodSm7jRa4kaLKDi+emfHFMP/IDnYwFQQAI2BdtKbVrvfwvzPRprGcnTgivnqKBT1ROvKOCY2ddz7+yZzesnNw==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2313,15 +2293,15 @@ } }, "node_modules/@fluentui/react-label": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.3.14.tgz", - "integrity": "sha512-gLg6Rilh5ZJ7Yj3M2HxhoLSVBnhxnKoTONdYcTZHQvlkXZHhWXWBziU+OEuVRw7IjLm50VcyTZ3rAto4pw6sKw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.4.0.tgz", + "integrity": "sha512-joQ7YNz2dgwDd134sc7e8/vxfFKBUT5AdWx0apT0ohWKgh7RBjB3AdXsaJ8FaMKMNZIGTxZVsP4hHcGsWMTAFw==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2333,17 +2313,17 @@ } }, "node_modules/@fluentui/react-link": { - "version": "9.7.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.7.3.tgz", - "integrity": "sha512-hE0/XwUtqk4gdlruQaUlDAZ0VNpCjqWzhljbHYAtVbNXky2WJVV4tSZ7RMJbc6v1242GPnI67zwxaxcCuz/bbw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.8.0.tgz", + "integrity": "sha512-TH5LS4iuQ4jYzlR84A4n7lQTKaJuiuuGFHMIxoEqtKeMoL9F5AiabuBs6m7Q7clSdTrrcRMNzXLuEFarQrzGTQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2355,19 +2335,19 @@ } }, "node_modules/@fluentui/react-list": { - "version": "9.6.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.6.9.tgz", - "integrity": "sha512-OorRdpSEXEqwrTjqkKmzJUjofcTDauBNM41aWhE/WjfQZXA1Guu2JzafivQmdxLhBRvVxGBzJ3l5BKo9V/goGA==", + "version": "9.6.13", + "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.6.13.tgz", + "integrity": "sha512-MIP0XKxU68m8VsBCyNBame46nnZ94FCNUArw9T2JuumyKMgV07C+sNhXCe9BCVpUr8e2Hfofo7CZjAsXWDZ0nw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-checkbox": "^9.5.14", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-checkbox": "^9.6.0", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2379,22 +2359,24 @@ } }, "node_modules/@fluentui/react-menu": { - "version": "9.21.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.21.1.tgz", - "integrity": "sha512-dsIPAoLiTWWau3O68LmC9Odlmxe3kB8Tj2FSnKO+H069aJOO9AFOmetqoS1GWUccctjHCttgYY6MP2+Ay8yh7Q==", + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.24.0.tgz", + "integrity": "sha512-HqIwEM6lPropSHUnbPFufLYdkAIVca87XbNQHCTes4QSLeaF4oEjlBH60rIqQ52k78FwZuUFIciWkSChxJ9ekg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2406,20 +2388,20 @@ } }, "node_modules/@fluentui/react-message-bar": { - "version": "9.6.18", - "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.6.18.tgz", - "integrity": "sha512-7DLTQpF+X5lxOqrs6vRflKDQoMA09FINEXNA6jB3UWC5Ol5Zk7U8zNt2ovX50n/99DXTKLPmH/22rjEsokAjjg==", + "version": "9.6.23", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.6.23.tgz", + "integrity": "sha512-mGnFmYWx6tq36OMTdVtJmxyn3j0p+Shll3+w4W2fW8fcOVSeyrnZ++HLmpurUkVzwI2xR2lL842kxC3GtbwmNw==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.8.1", + "@fluentui/react-button": "^9.9.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-link": "^9.7.3", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-link": "^9.8.0", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2431,13 +2413,13 @@ } }, "node_modules/@fluentui/react-motion": { - "version": "9.11.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.11.6.tgz", - "integrity": "sha512-WZiqEtO0vCUYjYjkvxm9h1r/VRVEi0a4hDhVxCP3Ptsfn5ts5CEf61WbJyrmvvWD7X9TamP2SEf+lEmS8Qy89A==", + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.14.0.tgz", + "integrity": "sha512-gOy8+fUP1KQRM/J6mRhioCMmUrHW9jbLF0DZ9T8nKPQsLrLaSXHxnnI8DcKZjlYc2fKuZitBnbpximgff6HajQ==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-utilities": "^9.26.2", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2448,9 +2430,9 @@ } }, "node_modules/@fluentui/react-motion-components-preview": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.15.0.tgz", - "integrity": "sha512-CUNl3WZt4RU4q6iAG56M3WRAq5sxfm8BNr9Me5dru1mkDXwgsdrCk03UFzydru3gThmuyYsBHwze79YrPzzmxw==", + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.15.3.tgz", + "integrity": "sha512-dUH2+GmEWX9q2ojx70VfFLRqzA9fR4YISC6daXkz3iPx4PtesTDn7jwsuXXquaAhltJeBptJ8+K4jbtBrwCMYQ==", "license": "MIT", "dependencies": { "@fluentui/react-motion": "*", @@ -2465,25 +2447,25 @@ } }, "node_modules/@fluentui/react-nav": { - "version": "9.3.18", - "resolved": "https://registry.npmjs.org/@fluentui/react-nav/-/react-nav-9.3.18.tgz", - "integrity": "sha512-vnAwnWPOUWyZPf+p5G0BjhO8NLPDF7NygspvXwPja7YV25Xov1oW6q3ijflc+Xj8wOCuyNcdJreRMdOpTmZj6A==", + "version": "9.3.23", + "resolved": "https://registry.npmjs.org/@fluentui/react-nav/-/react-nav-9.3.23.tgz", + "integrity": "sha512-Z9hA70n5i62sO9IJItkX5+v1F7Lo/539joPaHCLHHca+rySQQZKqy8zLRIfLbh/qF8Nm04ywY19Qt14XjI59cQ==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-divider": "^9.6.1", - "@fluentui/react-drawer": "^9.11.3", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-divider": "^9.7.0", + "@fluentui/react-drawer": "^9.11.6", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.9.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-tooltip": "^9.10.0", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2495,15 +2477,15 @@ } }, "node_modules/@fluentui/react-overflow": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.7.0.tgz", - "integrity": "sha512-re98BA4Cic/zcA9nLHm9I5Vwyb+keaPnlqJiUUiq/t95ki5xutT37ozqdbMY8IO3VlkS3o8raMKVn6QIMB5huQ==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.7.1.tgz", + "integrity": "sha512-Ml1GlcLrAUv31d9WN15WGOZv32gzDtZD5Mp1MOQ3ichDfTtxrswIch7MDzZ8hLMGf/7Y2IzBpV8iFR1XdSrGBA==", "license": "MIT", "dependencies": { "@fluentui/priority-overflow": "^9.3.0", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2515,17 +2497,17 @@ } }, "node_modules/@fluentui/react-persona": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.6.0.tgz", - "integrity": "sha512-sTxIFEJcwzHtlPWDUknUFZTo6rvAEa5P4FED886svOcxhMx2HH6sfV4NUzFDgvgZAQI9PAvv8nSlT02m5iyGuQ==", + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.7.2.tgz", + "integrity": "sha512-u6buhC6Haf8YewBnZAzi49YCwiC8vt0O0YPADemk+4uJ8bhCnayzLxMYGuQ95XO4HFhvVnSPEYjMDdKrMO1hIw==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.10.0", - "@fluentui/react-badge": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-badge": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2537,21 +2519,23 @@ } }, "node_modules/@fluentui/react-popover": { - "version": "9.13.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.13.1.tgz", - "integrity": "sha512-B8ZZ5aYkIj/RM89GtDG06IfjNQJTdSZqXBCcCT6deIACYN/0fBJUMk12AIbeed2+PjkNdfvTbTTGIjKTQ02SEQ==", + "version": "9.14.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.14.1.tgz", + "integrity": "sha512-EODa5yWSfDLPDurjWoZXfkf2ccnbQQbk3s1XYRzxA6RDfdVqUI5W64RJzHWBiNhOLzQEhd6Qb4e6Mshj4FSbdQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2563,14 +2547,14 @@ } }, "node_modules/@fluentui/react-portal": { - "version": "9.8.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.8.10.tgz", - "integrity": "sha512-/dNb7o8D79KAAxseAIyDIT7ZhIE5hL9Tz9dv9Zec3c+8KfzKwXp6hzr5K/gASeg82ga2xArMn4os4JcVuzvwLg==", + "version": "9.8.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.8.11.tgz", + "integrity": "sha512-2eg4MdW7e2UGRYWPg05GCytAjWYNd55YOP9+iUDINoQwwto9oeFTtZRyn08HYw37cSNqoH24qGz/VBctzTkqDA==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2582,16 +2566,16 @@ } }, "node_modules/@fluentui/react-positioning": { - "version": "9.20.12", - "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.20.12.tgz", - "integrity": "sha512-d7l/4EdfPj5IA/mQ0NLytGxsPwBvx/K/h3ZoJVf6eoY5nmnLch5OKImcPYJCku4DKozXQuneVx7xNW/8TzOJEA==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.22.0.tgz", + "integrity": "sha512-i3DLC4jd4MoYSZMYLKQNUTpkjKAJ0snIcihvkrjt2jpvv34CifKJhqVtjFQ470pRW4XNx/pBBX07vdXpA3poxA==", "license": "MIT", "dependencies": { "@floating-ui/devtools": "^0.2.3", "@floating-ui/dom": "^1.6.12", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "use-sync-external-store": "^1.2.0" @@ -2604,16 +2588,17 @@ } }, "node_modules/@fluentui/react-progress": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.4.14.tgz", - "integrity": "sha512-Zmdb22KPdV1pRAmcjRkAGvoNAGCeSYxqvGWgPn438b9c0jyb4OL/wnLj8vHnpZEN5dXAaw3rc5zrVMZsB/zwFQ==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.5.0.tgz", + "integrity": "sha512-VcWXI6UJfBkrDuC/e9oR4YBlpnLUE+FqRRjMG4mVXV+AJzFiljF3mQkFAj94G6dsr54TcoDXC6oydgXLCOTW2A==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2625,17 +2610,17 @@ } }, "node_modules/@fluentui/react-provider": { - "version": "9.22.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.22.14.tgz", - "integrity": "sha512-VPVRmQvkbd4++8aZLa/Jf2vl1KVX+tfcWeV40M7HiPhER22LkdzJe2NGLCgnjMKJwtPPLK6FqbJTthmClJIeuw==", + "version": "9.22.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.22.15.tgz", + "integrity": "sha512-a+ImgL9DOlylDM4UYPnxQTA3yXxbVj+O0iNEyTZ6fMzdMsHzpALU4GAq6tOyW4L7RaQtRBmNpVfwTCEKpqaTJQ==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/core": "^1.16.0", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" @@ -2648,18 +2633,18 @@ } }, "node_modules/@fluentui/react-radio": { - "version": "9.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.5.14.tgz", - "integrity": "sha512-ZmSpTZn0/Ko0X4oKhfaeycqHLxkabcoUZ6jk0Xtmi4cfdTUChB9dDsRbd6xVSuMxmkmGe+hYzMrJwhKfRgjlGw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.6.1.tgz", + "integrity": "sha512-QBoV6l8fVLP+H9Tigq/Y6boiEqMDRhhVMkIfUiWFbnsU/Uc7J5fxW8GoNqzMmoOmC7yvQ/g4jsoTQF27+PzK5w==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2671,17 +2656,17 @@ } }, "node_modules/@fluentui/react-rating": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.3.14.tgz", - "integrity": "sha512-mN+gCj63xmyqt198JwsTwn8vzjluh1UHFVibEq2TdRzJI0bZG6HF43Je8vRFqq1N2WVAszCwF4bMPEM1iLc11g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.4.0.tgz", + "integrity": "sha512-qVesFNgQ7uuX8z9d8xqxIXn5ax06xffgBr/eAuZfqVYZG5aRrPHHRoiWf0HDrYD4Lb/HRBLPtbNihNxhXj/LEA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2693,17 +2678,17 @@ } }, "node_modules/@fluentui/react-search": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.3.14.tgz", - "integrity": "sha512-e7oB0x6CqtCtt0ROgAK7KaddkGR2bl4WtL5NA/a7NCtYoTTkU9C4LubjqTtfVBKqMPykLjiOdUZOID8Aq3esfg==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.4.1.tgz", + "integrity": "sha512-Lv2zhPad7SDhMd5NeabXluw4y0Gov9YxDkJhjShMnkiN3yCOA5tlVviNvRXOXxy0gS//d8CiGJ5mBT1bzz2Rrw==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-input": "^9.7.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-input": "^9.8.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2715,17 +2700,17 @@ } }, "node_modules/@fluentui/react-select": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.4.14.tgz", - "integrity": "sha512-wfAxwSDNsbjDn8Qh7jXKZnKb2ljMSI4M+SXg+R1ebqNLh527wtKS13i78toWV6NUKrjG7Ycgq7ZN2/oEXCv8VQ==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.5.0.tgz", + "integrity": "sha512-pGOD6MBwQsiHKkEdNmVrTavcfC9pOjt4nz/DRlFD444j6iR1PALlus5cNOp7A0JOnGDDvW+1afIvgySCqN0oiA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2737,9 +2722,9 @@ } }, "node_modules/@fluentui/react-shared-contexts": { - "version": "9.26.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-shared-contexts/-/react-shared-contexts-9.26.1.tgz", - "integrity": "sha512-Vf/NKiqx76DC2AqbMPfqoTMPDEw6xINTxQAStq8ymT3oMaf7K79uKu9PnmtFghuXf3FVYVWzIlDWvQmR1ng9zg==", + "version": "9.26.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-shared-contexts/-/react-shared-contexts-9.26.2.tgz", + "integrity": "sha512-upKXkwlIp5oIhELr4clAZXQkuCd4GDXM6GZEz8BOmRO+PnxyqmycCXvxDxsmi6XN+0vkGM4joiIgkB14o/FctQ==", "license": "MIT", "dependencies": { "@fluentui/react-theme": "^9.2.1", @@ -2751,16 +2736,16 @@ } }, "node_modules/@fluentui/react-skeleton": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.4.14.tgz", - "integrity": "sha512-Tem5Mn4n6AgSTw2vCR0qjY88XfDvrlpKwiC7Wlu3LhRoXoDBx+JoRJEwA7eymLUYbZznDjPJV9BhS6tpLEVhdg==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.7.1.tgz", + "integrity": "sha512-9WniFEe6gbhkZuBurpQNFmMMhP/Ox84Xm9/iu6q8OmnRkFCyZrEuCFlWGDffnBREKIJqE0VJn5ZrUYWMMh45KA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2772,17 +2757,17 @@ } }, "node_modules/@fluentui/react-slider": { - "version": "9.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.5.14.tgz", - "integrity": "sha512-bLlYxAfz5uJsg/1QneE/3PjvKKAT6JCnCszVSxik3Et+kHcEp6p2dnjJcTX6NqlDu2Bz1QGpFEQbO443IknBRQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.6.1.tgz", + "integrity": "sha512-ytF1gOEho8DrI817H8WCBsck1RXOlW7JRXYtu9VwH3SnDRM2Jz1CNxbou80+BpvyR1KKkvCc/JSgREgUAnkRAQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2794,18 +2779,18 @@ } }, "node_modules/@fluentui/react-spinbutton": { - "version": "9.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.5.14.tgz", - "integrity": "sha512-mXoW0ao7vWUzAq8vDButG4ueyTD3sp7pGPYnDdm/V0LNUib5hBiTKIoEA4q1bFjkGMwkHQvC405uV3hyjAIWWA==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.6.1.tgz", + "integrity": "sha512-szqGlEfeJYkBzszEWBjj7ux522ckw9YtKAH0CS0Npd0xcY1GFkdywPwJMOoRUhsO08BOhv6P70Wlx0eYqURgIA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2817,16 +2802,16 @@ } }, "node_modules/@fluentui/react-spinner": { - "version": "9.7.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.7.14.tgz", - "integrity": "sha512-OADtpa6nesZq8ITRWVmtbI4LMdvwBZM9N9IaWJffm9c1EOg52b1ob8p09rQAw8dFfS0vn7C48UPYQseV15T3VA==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.8.1.tgz", + "integrity": "sha512-vSM5FwjASEor8NBOJx/1MLp8VCw7+pOJqZSvMn29LrUmMbgSZ6CifZFx0GfiX+1fM0EZ2/pqJzFFHpoQQubAyw==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2838,19 +2823,19 @@ } }, "node_modules/@fluentui/react-swatch-picker": { - "version": "9.4.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.4.14.tgz", - "integrity": "sha512-iEnM4knd2JgSQnio4rlniYkcCPAHd08uXEGaQVa64d77clIGaq3VYymbkUvgPnwgCu2S3hRrJaCLmXGQujZQhw==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.5.1.tgz", + "integrity": "sha512-7rs4dgnFMV2m/2A1tkevrVfThVEJs9crnVWCiSE4XADb9hFp7mqVyN8dKbQCJJMXODLF/Bc90nTCtLV8WaEj4Q==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2862,19 +2847,19 @@ } }, "node_modules/@fluentui/react-switch": { - "version": "9.5.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.5.3.tgz", - "integrity": "sha512-k2mA1uFHboWbTuYF3Jjuyif231SVU3/iy6njYFGO9tJS1WI2CbbblnINpwzsfpiWTAGUzzAAudY6ndvLqS2lsg==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.7.1.tgz", + "integrity": "sha512-61zJhxG9UBcZ+5T/Dk9yzOJDCOc2ZMZef/ImgIMB4lVsyWs/3n/ec/PKPwjp9SNz2FhQvayhMytEbGzri00jGw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-label": "^9.3.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-label": "^9.4.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2886,23 +2871,23 @@ } }, "node_modules/@fluentui/react-table": { - "version": "9.19.8", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.19.8.tgz", - "integrity": "sha512-rDnPpmwVYNNy7iRMuN5offjmpEQILuUVEXoch0cPhrNCLca+hgSQ97YSJy6/4JmXcK7kQvp+MCJn9HpbJNfwOw==", + "version": "9.19.14", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.19.14.tgz", + "integrity": "sha512-IZ3tDqlQDC+R6nzX4thU8A7Aw3BMhbBZ5tgMOHnW733Xfton7wqKiumjsGJBnef3I48mqnBHJZQEzWBgzLsdqg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-avatar": "^9.10.0", - "@fluentui/react-checkbox": "^9.5.14", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-checkbox": "^9.6.0", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-radio": "^9.5.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2914,17 +2899,17 @@ } }, "node_modules/@fluentui/react-tabs": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.11.1.tgz", - "integrity": "sha512-BeSbYJy2kRwYI6tObGw0TQ9lmcfTsfAEGCrzScfnzwzp2/DOXI2w+IPR9G+wBg9iL2eMdZ6kIpgcQ4RGhkWBgQ==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.12.0.tgz", + "integrity": "sha512-gKCi1XNDYRvF6R5wETeQptzQRVBlM7VETaQHS/ue1x7+Vo42MbWMtYOmvqeg5CPjqy2hAwch0IA9bzWEQAm2ZA==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2936,14 +2921,14 @@ } }, "node_modules/@fluentui/react-tabster": { - "version": "9.26.12", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.26.12.tgz", - "integrity": "sha512-CuAZ04Vokfvo3oE2wpceGPOCH8yIeLukuukjzrs6YidOOdmOC75sbnrAWm7I6min3+xLr26XLM50Zh3KDK7row==", + "version": "9.26.13", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.26.13.tgz", + "integrity": "sha512-uOuJj7jn1ME52Vc685/Ielf6srK/sfFQA5zBIbXIvy2Eisfp7R1RmJe2sXWoszz/Fu/XDkPwdM/GLv23N3vrvQ==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "keyborg": "^2.6.0", @@ -2957,25 +2942,25 @@ } }, "node_modules/@fluentui/react-tag-picker": { - "version": "9.7.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.7.16.tgz", - "integrity": "sha512-b0PETuBrEvBqPHjxBCp+DSylY4dMeHChqYOSqLYa8MdsSbp37u8wjqcwhzj7XWYSalb3sFGnH0PWYzoteN3DcQ==", + "version": "9.8.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.8.5.tgz", + "integrity": "sha512-uhZUWDdg7zmQNjb1/5YI3l6agSDg/yFFaYZDH4eQDOmKIm35jAT2GmEMZVomZZVW/dDhZpezfMWZA5r442cZYQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-combobox": "^9.16.15", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-field": "^9.4.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-combobox": "^9.17.0", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-field": "^9.5.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", - "@fluentui/react-tags": "^9.7.15", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tags": "^9.8.0", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2987,20 +2972,20 @@ } }, "node_modules/@fluentui/react-tags": { - "version": "9.7.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.7.15.tgz", - "integrity": "sha512-T1imCOoatkqu/sAce36Jiq/LUFmGMEKovyo3yahfiRu9uKRhGOO+uaLOWTg5WeHtXYdA+kLw240sAeo5snjPnA==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.8.0.tgz", + "integrity": "sha512-O/Kf8pFgS0/eguzDCPm8FmrPG64dU36xTI1uYKwgF6iVOpmWFjk+7aPQtkoFHQzVwl1iLUL4mQFSutR4A8s38Q==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-avatar": "^9.10.0", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-avatar": "^9.11.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3012,21 +2997,21 @@ } }, "node_modules/@fluentui/react-teaching-popover": { - "version": "9.6.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.6.16.tgz", - "integrity": "sha512-IV9nKU0Gd9ZnMHXra3lsz6wAg5E63db2IXnugNB+IxC+1YKMAo0ShCupPua/5pFPRH6ufAMd46ltZLUUPME/MQ==", + "version": "9.6.20", + "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.6.20.tgz", + "integrity": "sha512-XB/SJXdJabulcDBp6z4NNSFOcAnaOoIUZdmzqpx09UxtQwU/eFnYvZw/k1SI8Nc7IpHBgjzId8gHy6jvaN8JHw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-popover": "^9.13.1", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "use-sync-external-store": "^1.2.0" @@ -3039,15 +3024,15 @@ } }, "node_modules/@fluentui/react-text": { - "version": "9.6.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.6.14.tgz", - "integrity": "sha512-ZeddqRqK+4sqctMgbUzXPxaGriHoEDY3S5T8BUM6x2Rb7wBA2cQmb/zh6kr820Rs0A8FREn09XZdM40ueOo0pA==", + "version": "9.6.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.6.15.tgz", + "integrity": "sha512-YB1azhq8MGfnYTGlEAX1mzcFZ6CvqkkaxaCogU4TM9BtPgQ1YUAxE01RMenl8VVi8W9hNbJKkuc8R8GzYwzT4Q==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3059,16 +3044,16 @@ } }, "node_modules/@fluentui/react-textarea": { - "version": "9.6.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.6.14.tgz", - "integrity": "sha512-7hO333OdYbvlVHg4PcymtmsVn8dFOGU704bVDzS/AwFV/6k6PliJ74RP1ufeudtQAty9VW2EoJwHCtwGlgputw==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.7.1.tgz", + "integrity": "sha512-YG0j202PRLDLZZDn8QQgREd4Ery2fDYMYb2HUvFdfo6MuSXMvv0RCKEUBCgajIXsHwT31Hsg5+xzM40X4jlOBg==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.4.14", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-field": "^9.5.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3090,22 +3075,22 @@ } }, "node_modules/@fluentui/react-toast": { - "version": "9.7.12", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.7.12.tgz", - "integrity": "sha512-lehROila3FzNZihC+BLtqe/c00JHOo53awYY9ejzLpnEwU9u78MYgTm4dFweeFh0CAMiw3yEzYpI6FZhn4B3mg==", + "version": "9.7.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.7.16.tgz", + "integrity": "sha512-Yq4yJboYqtdL5pNJBIYlSdT/kR6m449O95taJCh/msXJyRgqQZ46EmpTcwsxu3D55LTHbqI6Vxu+AikDYH1W7w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", + "@fluentui/react-aria": "^9.17.10", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3117,20 +3102,20 @@ } }, "node_modules/@fluentui/react-toolbar": { - "version": "9.7.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.7.2.tgz", - "integrity": "sha512-zyr89s7W/HcVMNcbZ/u0rU55e3+Zyy2hEVsnf3P6hic7eIEjW5hTDJwdcLfZ6D41KZKzHG17uFKqGPH/0OSCyg==", - "license": "MIT", - "dependencies": { - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-context-selector": "^9.2.14", - "@fluentui/react-divider": "^9.6.1", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-radio": "^9.5.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "version": "9.7.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.7.7.tgz", + "integrity": "sha512-49nrRvGqJfdXhwaKZfNIcTiZSqTbThNG8uCa0FvJ88cO11PRPGcr5s6u3plUVxDXUKXpZJ7PKr/TTA0MvP7yIg==", + "license": "MIT", + "dependencies": { + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-divider": "^9.7.0", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3142,19 +3127,19 @@ } }, "node_modules/@fluentui/react-tooltip": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.9.1.tgz", - "integrity": "sha512-iSJfIis9dHHkymkasH/AI5R+2t4wI2ecCoqRwkW5dBAOV8YTWC0vgTHCubfWfTkYt303nqEdteCbGAIEene8hQ==", + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.10.0.tgz", + "integrity": "sha512-+aM0S1mcXy8XKKWgU3TocqTxHjcai7fHns3KwONLJPTp3jXTjyqEoj/o4XX1ka2IM3gdOFfyUU0Gfvw708dn9w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-portal": "^9.8.10", - "@fluentui/react-positioning": "^9.20.12", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3166,26 +3151,26 @@ } }, "node_modules/@fluentui/react-tree": { - "version": "9.15.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.15.10.tgz", - "integrity": "sha512-V0q4H7XBmARre7oKPuxGZaFdz4K6ptNmBd4bNRa0geqOsSdNI4XJ8i5tAetDeGd2lS8AlA9D5NyzlBSXvBzazQ==", + "version": "9.15.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.15.16.tgz", + "integrity": "sha512-WP4WjbF/UWCp0JKaZsMFtah/kXu+mxqN8/kghppRYfVHWzLiMgFAPB/OzrGejLNwx+ai3t2dHOIHxXHnR1jYHA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.9", - "@fluentui/react-avatar": "^9.10.0", - "@fluentui/react-button": "^9.8.1", - "@fluentui/react-checkbox": "^9.5.14", - "@fluentui/react-context-selector": "^9.2.14", + "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-button": "^9.9.0", + "@fluentui/react-checkbox": "^9.6.0", + "@fluentui/react-context-selector": "^9.2.15", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-motion": "^9.11.6", - "@fluentui/react-motion-components-preview": "^0.15.0", - "@fluentui/react-radio": "^9.5.14", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-tabster": "^9.26.12", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-tabster": "^9.26.13", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3197,13 +3182,13 @@ } }, "node_modules/@fluentui/react-utilities": { - "version": "9.26.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.26.1.tgz", - "integrity": "sha512-TCJ7TAQh4Lf4uEdbbFARhq3MqAGoGAsVKNPf/y54NCOsKnKnTHyQUvhIKFGJGxPpiqbLxqKspPEQOVZNL9am1A==", + "version": "9.26.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.26.2.tgz", + "integrity": "sha512-Yp2GGNoWifj8Z/VVir4HyRumRsqXnLJd4IP/Y70vEm9ruAvyqUvfn+1lQUuA+k/Reqw8GI+Ix7FTo3rogixZBg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-shared-contexts": "^9.26.1", + "@fluentui/react-shared-contexts": "^9.26.2", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -3212,14 +3197,14 @@ } }, "node_modules/@fluentui/react-virtualizer": { - "version": "9.0.0-alpha.110", - "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.110.tgz", - "integrity": "sha512-8wW2BBXS5rIfG+tyPBi38KLrJgoTT1h/aCrRSOhk8TBZi9qjQEcnkCa8otZTtSohB92Mit94KhVgmYlUxY8WEA==", + "version": "9.0.0-alpha.111", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.111.tgz", + "integrity": "sha512-yku++0779Ve1RNz6y/HWjlXKd2x1wCSbWMydT2IdCICBVwolXjPYMpkqqZUSjbJ0N9gl6BfsCBpU9Dfe2bR8Zg==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.0", - "@fluentui/react-shared-contexts": "^9.26.1", - "@fluentui/react-utilities": "^9.26.1", + "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-shared-contexts": "^9.26.2", + "@fluentui/react-utilities": "^9.26.2", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3240,27 +3225,27 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.7.tgz", - "integrity": "sha512-KHBaJ1kbc19pqUMnB9LubPtwWVOaDCzWbzwsJss+DvHyCpr8wP8jR3GEZUnhq3rsuXI96ZKEeEozXM0NqxCAiw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.34.tgz", + "integrity": "sha512-jFYulj1v00b3j43Er9+WwhZ/XldGq7+gti2s2pRhrdPwYEd1PMvscDZwRa/1iUBz/XQ5HUGac1tD8P7+VUpWjg==", "devOptional": true, "license": "SEE LICENSE IN LICENSE.md", "bin": { "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.7", - "@github/copilot-darwin-x64": "1.0.7", - "@github/copilot-linux-arm64": "1.0.7", - "@github/copilot-linux-x64": "1.0.7", - "@github/copilot-win32-arm64": "1.0.7", - "@github/copilot-win32-x64": "1.0.7" + "@github/copilot-darwin-arm64": "1.0.34", + "@github/copilot-darwin-x64": "1.0.34", + "@github/copilot-linux-arm64": "1.0.34", + "@github/copilot-linux-x64": "1.0.34", + "@github/copilot-win32-arm64": "1.0.34", + "@github/copilot-win32-x64": "1.0.34" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.7.tgz", - "integrity": "sha512-yQITowpkQYamww59CwcG5JTWV9ahj7nMH6oqObMJaeqXnG7j7dqE/YhLkujQZ3XR8VXAoIa1rZ3TahdMu94gOA==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.34.tgz", + "integrity": "sha512-g94EhSLd3a6fckZ6xb/zP2DZJZEx7kONWdOoDiHXUtSqc4RiZ7OBq1EwT4WrPY1lsmy9sioJIcZSGzJd0C1M7Q==", "cpu": [ "arm64" ], @@ -3274,9 +3259,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.7.tgz", - "integrity": "sha512-23vP5bHaFA030nB3tr+dUUdRm2SqmQbs2fZUQ4F7JeYy59jp9hi8lBdaZp/TeQnjEirAUU9H2HZxsGRIIUWp7g==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.34.tgz", + "integrity": "sha512-tIgFEZV0ohCF/VgTODJWre3xURsvEd+6IPN/HPKWxG6AXtJOxzjlr5kLYYdPHdNlHNmSxGQw8fWsN2FZ4nyDdw==", "cpu": [ "x64" ], @@ -3290,9 +3275,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.7.tgz", - "integrity": "sha512-g0mB98oyXKcpd4sMNBc5n1h3UhLy9AGRlT//VL8BXPSzvlTH/dJP3fdx74pbLSgvz105to/YUMmEAFfv25VNaw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.34.tgz", + "integrity": "sha512-feqjEetrlqBUhYskIsPmwACQOWO99cvRpKwIFl3OlEjWoj+//HA7yXh49UIe0gD8wQUI8hy05uVz3K2/xti2nQ==", "cpu": [ "arm64" ], @@ -3306,9 +3291,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.7.tgz", - "integrity": "sha512-TRxzvTo9I4ehYJLFHTCJSJYQ4QnO/V9zebqwszxHpJRxuBd7FV4cxLmfOBqZcUpEpZgBH+VJ4OG98BPW7YEtJQ==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.34.tgz", + "integrity": "sha512-3l0rZZqmceklHizJaaO+Iy2PsAZpVZS9Mn9VYnVcY/8Yzt4Y2hmXSFcKVfc4l+JlhFsPs7trhMdIkfwkjaKPLg==", "cpu": [ "x64" ], @@ -3337,9 +3322,9 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.7.tgz", - "integrity": "sha512-4yFgW1K0MlKBrK5BwMIj4nMu5KSFfytNXrs8iOpVgp7erEvKVyN7VXb6SWkoU3M9TfeNlqP6Uje2rxDvgR1u5w==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.34.tgz", + "integrity": "sha512-06kEJO3iyohmAqF4iIbOxOfWLFSIpLDJ1L1oEHRtouMrH2Ll1wrUjsoQT1gXgBOv7rifl25qx/Avx5zKqvuORw==", "cpu": [ "arm64" ], @@ -3353,9 +3338,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.7.tgz", - "integrity": "sha512-RDZlvPf/q6B54wLXJRmI39fc9+pwfcAjSwUqw0FeQruCTQgoUl8eo9NqeVWDFlr3RdzgVSMUiJHc3aiifVG6lA==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.34.tgz", + "integrity": "sha512-QLL8pS4q2TTyQbClEXxqXtQGPr4lk+pwc8hPMUL7iw7HGDOvs1WCLMT1ZSDPPcxSrTnR/dURX5za1NMA8uF/fw==", "cpu": [ "x64" ], @@ -3369,13 +3354,13 @@ } }, "node_modules/@griffel/core": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@griffel/core/-/core-1.19.2.tgz", - "integrity": "sha512-WkB/QQkjy9dE4vrNYGhQvRRUHFkYVOuaznVOMNTDT4pS9aTJ9XPrMTXXlkpcwaf0D3vNKoerj4zAwnU2lBzbOg==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/@griffel/core/-/core-1.20.1.tgz", + "integrity": "sha512-ld1mX04zpmeHn8agx4slSEh8kJ+8or3Y0x9gsJNKSKn6GdCkZBSiGUh+oBXCBn8RKzz8l60TA9IhVSStnyKekA==", "license": "MIT", "dependencies": { "@emotion/hash": "^0.9.0", - "@griffel/style-types": "^1.3.0", + "@griffel/style-types": "^1.4.0", "csstype": "^3.1.3", "rtl-css-js": "^1.16.1", "stylis": "^4.2.0", @@ -3383,12 +3368,12 @@ } }, "node_modules/@griffel/react": { - "version": "1.5.32", - "resolved": "https://registry.npmjs.org/@griffel/react/-/react-1.5.32.tgz", - "integrity": "sha512-jN3SmSwAUcWFUQuQ9jlhqZ5ELtKY21foaUR0q1mJtiAeSErVgjkpKJyMLRYpvaFGWrDql0Uz23nXUogXbsS2wQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@griffel/react/-/react-1.6.1.tgz", + "integrity": "sha512-mNM4/+dIXzqeHboWpVZ1/jiwTAYNc5/8y/V/HasnQ2QXnV6gSUYpeUk/0n6IFU3NJmVJly9JrLSfNo0hM/IFeA==", "license": "MIT", "dependencies": { - "@griffel/core": "^1.19.2", + "@griffel/core": "^1.20.1", "tslib": "^2.1.0" }, "peerDependencies": { @@ -3396,38 +3381,52 @@ } }, "node_modules/@griffel/style-types": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@griffel/style-types/-/style-types-1.3.0.tgz", - "integrity": "sha512-bHwD3sUE84Xwv4dH011gOKe1jul77M1S6ZFN9Tnq8pvZ48UMdY//vtES6fv7GRS5wXYT4iqxQPBluAiYAfkpmw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@griffel/style-types/-/style-types-1.4.0.tgz", + "integrity": "sha512-vNDfOGV7RN/XkA7vxgf7Z5HgW8eiBm5cHT9wQPhsKB4pxWom5u6eQ9CkYE5mCCTSPl9H6Nd1NBai04d4P6BD7Q==", "license": "MIT", "dependencies": { "csstype": "^3.1.3" } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3512,9 +3511,9 @@ } }, "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", "dev": true, "license": "MIT", "engines": { @@ -3550,79 +3549,129 @@ } }, "node_modules/@microsoft/1ds-core-js": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/1ds-core-js/-/1ds-core-js-4.3.11.tgz", - "integrity": "sha512-QyQE/YzFYB+31WEpX9hvDoXZOIXA7308Z5uuL1mSsyDSkNPl24hBWz9O3vZL+/p9shy756eKLI2nFLwwIAhXyw==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/1ds-core-js/-/1ds-core-js-4.4.1.tgz", + "integrity": "sha512-utqwacfUkiGJROn4WC7aNdRBsRxwhNWXuqaJM2B0N0WHmv1+IhSuI7RQ3FHwxRP1dxZi/xn9aELMZ7HMStsW1w==", + "license": "MIT", + "dependencies": { + "@microsoft/applicationinsights-core-js": "3.4.1", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.3", + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" + } + }, + "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/applicationinsights-core-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", + "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.11", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.4 < 2.x", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" + }, + "peerDependencies": { + "tslib": ">= 1.0.0" + } + }, + "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/applicationinsights-shims": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", + "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", + "license": "MIT", + "dependencies": { + "@nevware21/ts-utils": ">= 0.9.4 < 2.x" + } + }, + "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/dynamicproto-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", + "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", + "license": "MIT", + "dependencies": { + "@nevware21/ts-utils": ">= 0.10.4 < 2.x" } }, "node_modules/@microsoft/1ds-post-js": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/1ds-post-js/-/1ds-post-js-4.3.11.tgz", - "integrity": "sha512-V0ZeeALy/Pj8HWgNHDsK+yDeCYnJ9bCgTWhcrna/ZiAT+sGfWs6mDBjAVcG03uP7TDjdWLf8w79lgbXJ3+s3DA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/1ds-post-js/-/1ds-post-js-4.4.1.tgz", + "integrity": "sha512-CkFEhDY7X8E2JLr6HsEvRiC0DaLOCsA7vlbq/9DJP65gAumgw2NnFNIAOg6Je5Geq1LDu76/nb2hP34p8eGggw==", "license": "MIT", "dependencies": { - "@microsoft/1ds-core-js": "4.3.11", + "@microsoft/applicationinsights-core-js": "3.4.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.4 < 2.x", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" } }, - "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.3.11.tgz", - "integrity": "sha512-0ex/mxTf5R+P5WSvdU8Hgbeg8VzQ0XvcnjKQdmQy05ycScnKevt8an3DEPikOFqOKDi59L5hUETZlcdhesnVtg==", + "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/applicationinsights-core-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", + "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.11", - "@microsoft/applicationinsights-core-js": "3.3.11", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.4 < 2.x", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" }, "peerDependencies": { "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-common": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.3.11.tgz", - "integrity": "sha512-OIe5vL56lkmIsRsI21QqbGpF8gF/UzUP4mlEhGWyG2UMskdtWrY+c+xAynyNDsAjhKKge+Rrs/xkpC0Fo0QrhQ==", + "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/applicationinsights-shims": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", + "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.11", + "@nevware21/ts-utils": ">= 0.9.4 < 2.x" + } + }, + "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/dynamicproto-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", + "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", + "license": "MIT", + "dependencies": { + "@nevware21/ts-utils": ">= 0.10.4 < 2.x" + } + }, + "node_modules/@microsoft/applicationinsights-channel-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.4.1.tgz", + "integrity": "sha512-QS1k6iwVwR1MznGAB1H0F9raqpevbFNbadLS5O1419pz9OEWBfF9wRQLnENCyo8QS9Q0IdiqnGAON/D8IywpWg==", + "license": "MIT", + "dependencies": { + "@microsoft/applicationinsights-core-js": "3.4.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" }, "peerDependencies": { "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.3.11.tgz", - "integrity": "sha512-WlBY1sKDNL62T++NifgFCyDuOoNUNrVILfnHubOzgU/od7MFEQYWU8EZyDcBC/+Z8e3TD6jfixurYtWoUC+6Eg==", + "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", + "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", "license": "MIT", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.4 < 2.x", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" }, "peerDependencies": { "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-shims": { + "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-shims": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", @@ -3631,25 +3680,57 @@ "@nevware21/ts-utils": ">= 0.9.4 < 2.x" } }, + "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/dynamicproto-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", + "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", + "license": "MIT", + "dependencies": { + "@nevware21/ts-utils": ">= 0.10.4 < 2.x" + } + }, "node_modules/@microsoft/applicationinsights-web-basic": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.3.11.tgz", - "integrity": "sha512-pdxXWT0khRDSubK66ZhVG2DXkJwtqyrcil+iDD2pVaZP+fFHXunJI6/MhEdjgk6j3jpASt8SSq9xWVYOqrBbpA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.4.1.tgz", + "integrity": "sha512-V/hSlauFp1thJa57+TMv5mAYinJAQUi4zOmDmpahnDgs8g1zrQ0D8QYDmu0Zfi+9GhoD80B4yJez2+ydJPJz2w==", + "license": "MIT", + "dependencies": { + "@microsoft/applicationinsights-channel-js": "3.4.1", + "@microsoft/applicationinsights-core-js": "3.4.1", + "@microsoft/applicationinsights-shims": "3.0.1", + "@microsoft/dynamicproto-js": "^2.0.3", + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" + }, + "peerDependencies": { + "tslib": ">= 1.0.0" + } + }, + "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/applicationinsights-core-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", + "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-channel-js": "3.3.11", - "@microsoft/applicationinsights-common": "3.3.11", - "@microsoft/applicationinsights-core-js": "3.3.11", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.4 < 2.x", - "@nevware21/ts-utils": ">= 0.11.8 < 2.x" + "@nevware21/ts-async": ">= 0.5.5 < 2.x", + "@nevware21/ts-utils": ">= 0.12.6 < 2.x" }, "peerDependencies": { "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/dynamicproto-js": { + "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/applicationinsights-shims": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", + "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", + "license": "MIT", + "dependencies": { + "@nevware21/ts-utils": ">= 0.9.4 < 2.x" + } + }, + "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/dynamicproto-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", @@ -3658,26 +3739,72 @@ "@nevware21/ts-utils": ">= 0.10.4 < 2.x" } }, + "node_modules/@microsoft/vscode-azext-azureauth": { + "version": "6.0.0-alpha.8", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-azureauth/-/vscode-azext-azureauth-6.0.0-alpha.8.tgz", + "integrity": "sha512-oOZpeTe4tOupKzQpeKxyHOSG10Bxsyp8YhCeyadQMsz1wICR/JZEdSMKPR0GnXpXYlYSsEDFbSzJWqZUZ/3+Yw==", + "license": "MIT", + "dependencies": { + "@azure/arm-resources-subscriptions": "^2.1.0", + "@azure/core-rest-pipeline": "^1.22.2", + "@azure/identity": "^4.13.0", + "@azure/ms-rest-azure-env": "^2.0.0" + }, + "engines": { + "vscode": "^1.106.0" + } + }, + "node_modules/@microsoft/vscode-azext-azureauth/node_modules/@azure/core-rest-pipeline": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@microsoft/vscode-azext-azureauth/node_modules/@azure/core-tracing": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@microsoft/vscode-azext-azureutils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-azureutils/-/vscode-azext-azureutils-4.0.1.tgz", - "integrity": "sha512-lJq5PxwKZagJkqjBfyac7YCSjb2K3UVwj8CJLm16ejrrnFop/q2qoLC52Sfi0ahA0Y0uqAPWzM4ToAZwbBrk0A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-azureutils/-/vscode-azext-azureutils-4.1.1.tgz", + "integrity": "sha512-IVY7TqYNcwIUQqaOfkNJyLz7lrYG/UfLqG2OXuWB8HO1RQbwfvrxPncPXGw/zl8w1eDhBdZwf5YXbKzDDb8nqQ==", "license": "MIT", "dependencies": { "@azure/arm-authorization": "^9.0.0", "@azure/arm-authorization-profile-2020-09-01-hybrid": "^2.1.0", - "@azure/arm-msi": "^2.1.0", + "@azure/arm-msi": "^2.2.0", "@azure/arm-resources": "^5.0.0", - "@azure/arm-resources-profile-2020-09-01-hybrid": "^2.0.0", - "@azure/arm-resources-subscriptions": "^2.0.0", - "@azure/arm-storage": "^18.2.0", - "@azure/arm-storage-profile-2020-09-01-hybrid": "^2.0.0", - "@azure/core-client": "^1.6.0", - "@azure/core-rest-pipeline": "^1.9.0", - "@azure/logger": "^1.0.4", - "@microsoft/vscode-azext-utils": "^4.0.3", - "@microsoft/vscode-azureresources-api": "^3.0.0", - "semver": "^7.3.7" + "@azure/arm-resources-profile-2020-09-01-hybrid": "^2.1.0", + "@azure/arm-resources-subscriptions": "^2.1.0", + "@azure/arm-storage": "^18.6.0", + "@azure/arm-storage-profile-2020-09-01-hybrid": "^2.1.0", + "@azure/core-client": "^1.10.1", + "@azure/core-rest-pipeline": "^1.22.2", + "@azure/logger": "^1.3.0", + "@microsoft/vscode-azext-azureauth": "^6.0.0-alpha.6", + "@microsoft/vscode-azext-utils": "^4.0.4", + "@microsoft/vscode-azureresources-api": "^3.1.0", + "semver": "^7.7.4" }, "engines": { "vscode": "^1.105.0" @@ -3686,6 +3813,36 @@ "@azure/ms-rest-azure-env": "^2.0.0" } }, + "node_modules/@microsoft/vscode-azext-azureutils/node_modules/@azure/core-rest-pipeline": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.23.0.tgz", + "integrity": "sha512-Evs1INHo+jUjwHi1T6SG6Ua/LHOQBCLuKEEE6efIpt4ZOoNonaT1kP32GoOcdNDbfqsD2445CPri3MubBy5DEQ==", + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@microsoft/vscode-azext-azureutils/node_modules/@azure/core-tracing": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.1.tgz", + "integrity": "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@microsoft/vscode-azext-eng": { "version": "1.0.0-alpha.11", "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-eng/-/vscode-azext-eng-1.0.0-alpha.11.tgz", @@ -3770,6 +3927,27 @@ } } }, + "node_modules/@microsoft/vscode-azext-webview": { + "version": "1.0.0", + "resolved": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", + "integrity": "sha512-O3G/hRKpAO1hKtvB1Ph5BhJbW7g8zP2kZUp4L3pEmoHpQwBDH2kSdOzmIrrEyY0LiRvcSlWJe+QosC+HYiwPoQ==", + "license": "MIT", + "dependencies": { + "@fluentui/react-components": "^9.56.2", + "@fluentui/react-icons": "^2.0.265", + "@microsoft/vscode-azext-utils": "^4.0.7", + "@vscode/codicons": "0.0.38", + "monaco-editor": "~0.51.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sass": "~1.79.6", + "sass-loader": "^16.0.2", + "uuid": "^10.0.0" + }, + "engines": { + "vscode": "^1.105.0" + } + }, "node_modules/@microsoft/vscode-azureresources-api": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@microsoft/vscode-azureresources-api/-/vscode-azureresources-api-3.1.0.tgz", @@ -3795,30 +3973,6 @@ "vscode": "^1.105.0" } }, - "node_modules/@microsoft/vscode-processutils/node_modules/isexe": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", - "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@microsoft/vscode-processutils/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/@nevware21/ts-async": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@nevware21/ts-async/-/ts-async-0.5.5.tgz", @@ -3829,9 +3983,21 @@ } }, "node_modules/@nevware21/ts-utils": { - "version": "0.12.6", - "resolved": "https://registry.npmjs.org/@nevware21/ts-utils/-/ts-utils-0.12.6.tgz", - "integrity": "sha512-UsS1hbgr/V/x8dT7hVHvr/PwHzASi8/Itis1+L8ykLiqsUXdfzrB1maL0vMmKbDEJpmGARsoC/7RIswi+n248Q==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@nevware21/ts-utils/-/ts-utils-0.13.0.tgz", + "integrity": "sha512-F3mD+DsUn9OiZmZc5tg0oKqrJCtiCstwx+wE+DNzFYh2cCRUuzTYdK9zGGP/au2BWvbOQ6Tqlbjr2+dT1P3AlQ==", + "license": "MIT" + }, + "node_modules/@nodable/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/nodable" + } + ], "license": "MIT" }, "node_modules/@nodelib/fs.scandir": { @@ -4028,9 +4194,9 @@ } }, "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", + "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -4158,6 +4324,9 @@ "cpu": [ "arm" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4178,6 +4347,9 @@ "cpu": [ "arm" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4198,6 +4370,9 @@ "cpu": [ "arm64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4218,6 +4393,9 @@ "cpu": [ "arm64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4238,6 +4416,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4258,6 +4439,9 @@ "cpu": [ "x64" ], + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4367,6 +4551,9 @@ "cpu": [ "x64" ], + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4574,37 +4761,37 @@ } }, "node_modules/@swc/helpers": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", - "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", + "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" } }, "node_modules/@textlint/ast-node-types": { - "version": "15.5.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.5.2.tgz", - "integrity": "sha512-fCaOxoup5LIyBEo7R1oYWE7V4bSX0KQeHh66twon9e9usaLE3ijgF8QjYsR6joCssdeCHVd0wHm7ppsEyTr6vg==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.5.4.tgz", + "integrity": "sha512-bVtB6VEy9U9DpW8cTt25k5T+lz86zV5w6ImePZqY1AXzSuPhqQNT77lkMPxonXzUducEIlSvUu3o7sKw3y9+Sw==", "dev": true, "license": "MIT" }, "node_modules/@textlint/linter-formatter": { - "version": "15.5.2", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.5.2.tgz", - "integrity": "sha512-jAw7jWM8+wU9cG6Uu31jGyD1B+PAVePCvnPKC/oov+2iBPKk3ao30zc/Itmi7FvXo4oPaL9PmzPPQhyniPVgVg==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.5.4.tgz", + "integrity": "sha512-D9qJedKBLmAo+kiudop4UKgSxXMi4O8U86KrCidVXZ9RsK0NSVIw6+r2rlMUOExq79iEY81FRENyzmNVRxDBsg==", "dev": true, "license": "MIT", "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.5.2", - "@textlint/resolver": "15.5.2", - "@textlint/types": "15.5.2", + "@textlint/module-interop": "15.5.4", + "@textlint/resolver": "15.5.4", + "@textlint/types": "15.5.4", "chalk": "^4.1.2", "debug": "^4.4.3", "js-yaml": "^4.1.1", - "lodash": "^4.17.23", + "lodash": "^4.18.1", "pluralize": "^2.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", @@ -4643,33 +4830,33 @@ } }, "node_modules/@textlint/module-interop": { - "version": "15.5.2", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.5.2.tgz", - "integrity": "sha512-mg6rMQ3+YjwiXCYoQXbyVfDucpTa1q5mhspd/9qHBxUq4uY6W8GU42rmT3GW0V1yOfQ9z/iRrgPtkp71s8JzXg==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.5.4.tgz", + "integrity": "sha512-JyAUd26ll3IFF87LP0uGoa8Tzw5ZKiYvGs6v8jLlzyND1lUYCI4+2oIAslrODLkf0qwoCaJrBQWM3wsw+asVGQ==", "dev": true, "license": "MIT" }, "node_modules/@textlint/resolver": { - "version": "15.5.2", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.5.2.tgz", - "integrity": "sha512-YEITdjRiJaQrGLUWxWXl4TEg+d2C7+TNNjbGPHPH7V7CCnXm+S9GTjGAL7Q2WSGJyFEKt88Jvx6XdJffRv4HEA==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.5.4.tgz", + "integrity": "sha512-5GUagtpQuYcmhlOzBGdmVBvDu5lKgVTjwbxtdfoidN4OIqblIxThJHHjazU+ic+/bCIIzI2JcOjHGSaRmE8Gcg==", "dev": true, "license": "MIT" }, "node_modules/@textlint/types": { - "version": "15.5.2", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.5.2.tgz", - "integrity": "sha512-sJOrlVLLXp4/EZtiWKWq9y2fWyZlI8GP+24rnU5avtPWBIMm/1w97yzKrAqYF8czx2MqR391z5akhnfhj2f/AQ==", + "version": "15.5.4", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.5.4.tgz", + "integrity": "sha512-mY28j2U7nrWmZbxyKnRvB8vJxJab4AxqOobLfb6iozrLelJbqxcOTvBQednadWPfAk9XWaZVMqUr9Nird3mutg==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.5.2" + "@textlint/ast-node-types": "15.5.4" } }, "node_modules/@tony.ganchev/eslint-plugin-header": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@tony.ganchev/eslint-plugin-header/-/eslint-plugin-header-3.2.4.tgz", - "integrity": "sha512-zqMKTW/KQmqKGINkhwEPoJFcJ0ewUkUAmvzHLB5N+n/6bsk7D/xkQ50VhUakG2P4JHHtqsncaXrPxgSeuBPmOw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@tony.ganchev/eslint-plugin-header/-/eslint-plugin-header-3.4.3.tgz", + "integrity": "sha512-C8oGfJNGGcYl3y55JRS6Sfr9pAtjXyVN4qJllr5g3g6wrDkxcPMQ0654FsZtnQJTXA4swcwtR1cUhCBvW0WDKA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -4752,9 +4939,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", - "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", + "version": "22.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4816,9 +5003,9 @@ "license": "MIT" }, "node_modules/@types/vscode": { - "version": "1.109.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.109.0.tgz", - "integrity": "sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==", + "version": "1.116.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.116.0.tgz", + "integrity": "sha512-sYHp4MO6BqJ2PD7Hjt0hlIS3tMaYsVPJrd0RUjDJ8HtOYnyJIEej0bLSccM8rE77WrC+Xox/kdBwEFDO8MsxNA==", "dev": true, "license": "MIT" }, @@ -4830,20 +5017,20 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", - "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", + "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/type-utils": "8.56.1", - "@typescript-eslint/utils": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/type-utils": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4853,9 +5040,9 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.56.1", + "@typescript-eslint/parser": "^8.59.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { @@ -4869,16 +5056,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", + "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3" }, "engines": { @@ -4890,18 +5077,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", + "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", + "@typescript-eslint/tsconfig-utils": "^8.59.0", + "@typescript-eslint/types": "^8.59.0", "debug": "^4.4.3" }, "engines": { @@ -4912,18 +5099,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", + "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4934,9 +5121,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", + "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", "dev": true, "license": "MIT", "engines": { @@ -4947,21 +5134,21 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", - "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", + "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0", "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4972,13 +5159,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", + "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", "dev": true, "license": "MIT", "engines": { @@ -4990,21 +5177,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", + "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/project-service": "8.59.0", + "@typescript-eslint/tsconfig-utils": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5014,17 +5201,40 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -5034,16 +5244,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", + "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5054,17 +5264,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", + "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/types": "8.59.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -5089,9 +5299,9 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.3.tgz", - "integrity": "sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.5.tgz", + "integrity": "sha512-yURCknZhvywvQItHMMmFSo+fq5arCUIyz/CVk7jD89MSai7dkaX8ufjCWp3NttLojoTVbcE72ri+be/TnEbMHw==", "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", @@ -5144,9 +5354,9 @@ "license": "CC-BY-4.0" }, "node_modules/@vscode/extension-telemetry": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-1.5.0.tgz", - "integrity": "sha512-8aZ4Ne3PtDtDXfsNBPeTwMoWS4TpgAGeLUcUtxiRKJrlBSi1NCi9sM6EBwK21+WEfEO6JgKszvp4PTTcns1HCw==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@vscode/extension-telemetry/-/extension-telemetry-1.5.1.tgz", + "integrity": "sha512-rnRRQIRCwRdbcQ0QV5ajKJRz8noEIoQA2hX9VjAlVAVB85+ClbaPNhljobFXgW31ue69FRO6KPE4XJ/lLgKt/Q==", "license": "MIT", "dependencies": { "@microsoft/1ds-core-js": "^4.3.10", @@ -5237,9 +5447,9 @@ } }, "node_modules/@vscode/vsce": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.7.1.tgz", - "integrity": "sha512-OTm2XdMt2YkpSn2Nx7z2EJtSuhRHsTPYsSK59hr3v8jRArK+2UEoju4Jumn1CmpgoBLGI6ReHLJ/czYltNUW3g==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.9.1.tgz", + "integrity": "sha512-MPn5p+DoudI+3GfJSpAZZraE1lgLv0LcwbH3+xy7RgEhty3UIkmUMUA+5jPTDaxXae00AnX5u77FxGM8FhfKKA==", "dev": true, "license": "MIT", "dependencies": { @@ -5270,7 +5480,7 @@ "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", - "yauzl": "^2.3.1", + "yauzl": "^3.2.1", "yazl": "^2.2.2" }, "bin": { @@ -5438,12 +5648,16 @@ "node": ">=18" } }, - "node_modules/@vscode/vsce/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/@vscode/vsce/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, "node_modules/@vscode/vsce/node_modules/glob": { "version": "11.1.0", @@ -5470,14 +5684,37 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@vscode/vsce/node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@vscode/vsce/node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -5503,9 +5740,9 @@ } }, "node_modules/@vscode/vsce/node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -5525,17 +5762,6 @@ "node": "*" } }, - "node_modules/@vscode/vsce/node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@vscode/vsce/node_modules/path-scurry": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", @@ -5719,14 +5945,11 @@ } }, "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } + "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", @@ -5829,16 +6052,13 @@ "license": "BSD-2-Clause" }, "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -5901,14 +6121,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true, "license": "BSD-3-Clause" }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, "license": "MIT", "dependencies": { "run-applescript": "^7.0.0" @@ -6321,6 +6539,29 @@ "node": ">= 8" } }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/css-select": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", @@ -6358,9 +6599,9 @@ "license": "MIT" }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", "license": "MIT" }, "node_modules/debug": { @@ -6453,7 +6694,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", - "dev": true, "license": "MIT", "dependencies": { "bundle-name": "^4.1.0", @@ -6470,7 +6710,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -6483,7 +6722,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6625,7 +6863,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" @@ -6705,9 +6942,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", "dev": true, "license": "MIT", "dependencies": { @@ -6789,9 +7026,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6802,32 +7039,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/esbuild-plugin-copy": { @@ -6862,9 +7099,9 @@ } }, "node_modules/esbuild-plugin-copy/node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6908,25 +7145,25 @@ } }, "node_modules/eslint": { - "version": "9.39.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", - "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", + "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.3", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", @@ -6945,7 +7182,7 @@ "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -7014,17 +7251,10 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -7221,9 +7451,9 @@ "license": "BSD-3-Clause" }, "node_modules/fast-xml-builder": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz", - "integrity": "sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.5.tgz", + "integrity": "sha512-4TJn/8FKLeslLAH3dnohXqE3QSoxkhvaMzepOIZytwJXZO69Bfz0HBdDHzOTOon6G59Zrk6VQ2bEiv1t61rfkA==", "funding": [ { "type": "github", @@ -7236,9 +7466,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "5.5.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.7.tgz", - "integrity": "sha512-LteOsISQ2GEiDHZch6L9hB0+MLoYVLToR7xotrzU0opCICBkxOPgHAy1HxAvtxfJNXDJpgAsQN30mkrfpO2Prg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.1.tgz", + "integrity": "sha512-8Cc3f8GUGUULg34pBch/KGyPLglS+OFs05deyOlY7fL2MTagYPKrVQNmR1fLF/yJ9PH5ZSTd3YDF6pnmeZU+zA==", "funding": [ { "type": "github", @@ -7247,9 +7477,10 @@ ], "license": "MIT", "dependencies": { - "fast-xml-builder": "^1.1.4", - "path-expression-matcher": "^1.1.3", - "strnum": "^2.2.0" + "@nodable/entities": "^2.1.0", + "fast-xml-builder": "^1.1.5", + "path-expression-matcher": "^1.5.0", + "strnum": "^2.2.3" }, "bin": { "fxparser": "src/cli/cli.js" @@ -7265,16 +7496,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -7490,9 +7711,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", "dev": true, "license": "MIT", "dependencies": { @@ -7636,9 +7857,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -7902,7 +8123,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" @@ -7949,7 +8169,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, "license": "MIT", "dependencies": { "is-docker": "^3.0.0" @@ -8024,7 +8243,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "dev": true, "license": "MIT", "dependencies": { "is-inside-container": "^1.0.0" @@ -8044,11 +8262,13 @@ "license": "MIT" }, "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", @@ -8177,9 +8397,9 @@ "license": "MIT" }, "node_modules/json-with-bigint": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.3.tgz", - "integrity": "sha512-QObKu6nxy7NsxqR0VK4rkXnsNr5L9ElJaGEg+ucJ6J7/suoKZ0n+p76cu9aCqowytxEbwYNzvrMerfMkXneF5A==", + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", + "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==", "license": "MIT" }, "node_modules/json5": { @@ -8216,7 +8436,6 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "dev": true, "license": "MIT", "dependencies": { "jws": "^4.0.1", @@ -8252,7 +8471,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", - "dev": true, "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", @@ -8264,7 +8482,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", - "dev": true, "license": "MIT", "dependencies": { "jwa": "^2.0.1", @@ -8380,42 +8597,36 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true, "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true, "license": "MIT" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true, "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true, "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true, "license": "MIT" }, "node_modules/lodash.merge": { @@ -8429,7 +8640,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true, "license": "MIT" }, "node_modules/lodash.truncate": { @@ -8632,23 +8842,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimatch/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", - "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -8813,9 +9006,9 @@ "license": "MIT" }, "node_modules/node-abi": { - "version": "3.87.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz", - "integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==", + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", "dev": true, "license": "MIT", "optional": true, @@ -8849,9 +9042,9 @@ } }, "node_modules/node-sarif-builder/node_modules/fs-extra": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", - "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", "dependencies": { @@ -8864,9 +9057,9 @@ } }, "node_modules/node-sarif-builder/node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8988,7 +9181,6 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "dev": true, "license": "MIT", "dependencies": { "default-browser": "^5.2.1", @@ -9326,9 +9518,9 @@ } }, "node_modules/path-expression-matcher": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz", - "integrity": "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz", + "integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==", "funding": [ { "type": "github", @@ -9477,9 +9669,9 @@ "license": "MIT" }, "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", "dev": true, "license": "MIT", "optional": true, @@ -9509,9 +9701,9 @@ } }, "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9573,15 +9765,15 @@ } }, "node_modules/rc-config-loader": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz", - "integrity": "sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.4.tgz", + "integrity": "sha512-3GiwEzklkbXTDp52UR5nT8iXgYAx1V9ZG/kDZT7p60u2GCv2XTwQq4NzinMoMpNtXhmt3WkhYXcj6HH8HdwCEQ==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.3.4", - "js-yaml": "^4.1.0", - "json5": "^2.2.2", + "debug": "^4.4.3", + "js-yaml": "^4.1.1", + "json5": "^2.2.3", "require-from-string": "^2.0.2" } }, @@ -9789,7 +9981,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -9826,7 +10017,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -9937,9 +10127,9 @@ } }, "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -10130,14 +10320,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -10428,13 +10618,13 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -10481,9 +10671,9 @@ } }, "node_modules/strnum": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.1.tgz", - "integrity": "sha512-BwRvNd5/QoAtyW1na1y1LsJGQNvRlkde6Q/ipqqEaivoMdV+B1OMOTVdwR+N/cwVUcIt9PYyHmV8HyexCZSupg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz", + "integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==", "funding": [ { "type": "github", @@ -10503,9 +10693,9 @@ } }, "node_modules/stylis": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", - "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.4.0.tgz", + "integrity": "sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==", "license": "MIT" }, "node_modules/supports-color": { @@ -10605,9 +10795,9 @@ } }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true, "license": "MIT", "engines": { @@ -10619,9 +10809,9 @@ } }, "node_modules/tar": { - "version": "7.5.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", - "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", @@ -10700,10 +10890,13 @@ } }, "node_modules/tas-client": { - "version": "0.2.33", - "resolved": "https://registry.npmjs.org/tas-client/-/tas-client-0.2.33.tgz", - "integrity": "sha512-V+uqV66BOQnWxvI6HjDnE4VkInmYZUQ4dgB7gzaDyFyFSK1i1nF/j7DpS9UbQAgV9NaF1XpcyuavnM1qOeiEIg==", - "license": "MIT" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tas-client/-/tas-client-0.3.2.tgz", + "integrity": "sha512-Hr0k7swJSyI7fsgqWf28GoME3lDXysTV1pJW/OBCrokhkqd3dTL+79SLKRGaYNHNaHii5N7VLRlZZc/up6xdAA==", + "license": "MIT", + "engines": { + "node": ">=22" + } }, "node_modules/terminal-link": { "version": "4.0.0", @@ -10737,14 +10930,37 @@ "node": ">=18" } }, + "node_modules/test-exclude/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/test-exclude/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -10777,14 +10993,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -10857,9 +11073,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -10981,16 +11197,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz", - "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", + "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.56.1", - "@typescript-eslint/parser": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/utils": "8.56.1" + "@typescript-eslint/eslint-plugin": "8.59.0", + "@typescript-eslint/parser": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11001,7 +11217,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/uc.micro": { @@ -11019,9 +11235,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.1.tgz", - "integrity": "sha512-5xoBibbmnjlcR3jdqtY2Lnx7WbrD/tHlT01TmvqZUFVc9Q1w4+j5hbnapTqbcXITMH1ovjq/W7BkqBilHiVAaA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", "dev": true, "license": "MIT", "engines": { @@ -11166,12 +11382,12 @@ "license": "MIT" }, "node_modules/vscode-tas-client": { - "version": "0.1.84", - "resolved": "https://registry.npmjs.org/vscode-tas-client/-/vscode-tas-client-0.1.84.tgz", - "integrity": "sha512-rUTrUopV+70hvx1hW5ebdw1nd6djxubkLvVxjGdyD/r5v/wcVF41LIfiAtbm5qLZDtQdsMH1IaCuDoluoIa88w==", + "version": "0.1.86", + "resolved": "https://registry.npmjs.org/vscode-tas-client/-/vscode-tas-client-0.1.86.tgz", + "integrity": "sha512-4P3zjGXTKXknbWOd6EDnD3lWZuc/aFrW8Ixzk0B8gQDBq2BXuKg0NwsZiFeAzBohAxCcsRA4gQipH57Bxf6XXg==", "license": "MIT", "dependencies": { - "tas-client": "0.2.33" + "tas-client": "^0.3.2" }, "engines": { "vscode": "^1.85.0" @@ -11208,19 +11424,18 @@ } }, "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/word-wrap": { @@ -11350,7 +11565,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, "license": "MIT", "dependencies": { "is-wsl": "^3.1.0" @@ -11449,14 +11663,17 @@ } }, "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.3.0.tgz", + "integrity": "sha512-PtGEvEP30p7sbIBJKUBjUnqgTVOyMURc4dLo9iNyAJnNIEz9pm88cCXF21w94Kg3k6RXkeZh5DHOGS0qEONvNQ==", "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/yazl": { diff --git a/package.json b/package.json index 328213778..501ff2fa5 100644 --- a/package.json +++ b/package.json @@ -809,10 +809,9 @@ } }, "scripts": { - "build": "npm run build:esbuild & npm run build:check & npm run build:webview", + "build": "npm run build:esbuild & npm run build:check", "build:esbuild": "node esbuild.mjs", "build:check": "tsc --noEmit", - "build:webview": "node esbuild.views.mjs", "package": "vsce package --githubBranch main --no-dependencies", "lint": "eslint --max-warnings 0", "test": "vscode-test" @@ -851,6 +850,7 @@ "@microsoft/vscode-azext-azureutils": "^4.0.1", "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", + "@microsoft/vscode-azext-webview": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", "@microsoft/vscode-azureresources-api": "^3.1.0", "@vscode/codicons": "0.0.38", "dayjs": "^1.11.3", diff --git a/src/commands/copilot/deployWithCopilot.ts b/src/commands/copilot/deployWithCopilot.ts index 243ac2008..6cd4ac765 100644 --- a/src/commands/copilot/deployWithCopilot.ts +++ b/src/commands/copilot/deployWithCopilot.ts @@ -5,9 +5,9 @@ import { type IActionContext, } from "@microsoft/vscode-azext-utils"; import { CopilotUserInput, markAsCopilotUserInput } from "@microsoft/vscode-azext-utils/copilot"; +import { SharedState } from '@microsoft/vscode-azext-webview'; import * as vscode from 'vscode'; import { type ContainerAppItem } from "../../tree/ContainerAppItem"; -import { SharedState } from "../../webviews/OpenConfirmationViewStep"; import { deployContainerApp } from "../deployContainerApp/deployContainerApp"; export async function deployWithCopilot(context: IActionContext, node: ContainerAppItem): Promise { diff --git a/src/commands/deployContainerApp/deployContainerApp.ts b/src/commands/deployContainerApp/deployContainerApp.ts index af8b972d5..6ba383d96 100644 --- a/src/commands/deployContainerApp/deployContainerApp.ts +++ b/src/commands/deployContainerApp/deployContainerApp.ts @@ -5,6 +5,7 @@ import { KnownActiveRevisionsMode } from "@azure/arm-appcontainers"; import { AzExtUserInput, AzureWizard, createSubscriptionContext, isCopilotUserInput, nonNullProp, type AzureWizardPromptStep, type IActionContext, type ISubscriptionActionContext, type ISubscriptionContext } from "@microsoft/vscode-azext-utils"; +import { OpenConfirmationViewStep, openLoadingViewPanel, SharedState } from '@microsoft/vscode-azext-webview'; import { type AzureSubscription } from "@microsoft/vscode-azureresources-api"; import { acrDomain, ImageSource, SupportedRegistries } from "../../constants"; import { type ContainerAppItem } from "../../tree/ContainerAppItem"; @@ -14,8 +15,6 @@ import { getManagedEnvironmentFromContainerApp } from "../../utils/getResourceUt import { getVerifyProvidersStep } from "../../utils/getVerifyProvidersStep"; import { localize } from "../../utils/localize"; import { pickContainerApp } from "../../utils/pickItem/pickContainerApp"; -import { OpenConfirmationViewStep, SharedState } from "../../webviews/OpenConfirmationViewStep"; -import { openLoadingViewPanel } from "../../webviews/OpenLoadingViewStep"; import { CommandAttributes } from "../CommandAttributes"; import { ContainerAppOverwriteConfirmStep } from "../ContainerAppOverwriteConfirmStep"; import { ContainerAppListStep } from "../createContainerApp/ContainerAppListStep"; diff --git a/src/extension.ts b/src/extension.ts index 3a05f1bdd..1d12666f7 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -8,6 +8,7 @@ import { registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-azureutils'; import { registerGitHubExtensionVariables } from '@microsoft/vscode-azext-github'; import { TreeElementStateManager, callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, registerUIExtensionVariables, type IActionContext, type apiUtils } from '@microsoft/vscode-azext-utils'; +import { registerWebviewExtensionVariables } from '@microsoft/vscode-azext-webview'; import { AzExtResourceType, type AzureResourcesExtensionApi } from '@microsoft/vscode-azureresources-api'; import { v4 as uuid } from 'uuid'; import * as vscode from 'vscode'; @@ -30,6 +31,7 @@ export async function activate(context: vscode.ExtensionContext, perfStats: { lo registerUIExtensionVariables(ext); registerAzureUtilsExtensionVariables(ext); registerGitHubExtensionVariables(ext); + registerWebviewExtensionVariables(context); return await callWithTelemetryAndErrorHandling('containerApps.activate', async (activateContext: IActionContext) => { activateContext.errorHandling.rethrow = true; diff --git a/src/webviews/Channel/Channel.ts b/src/webviews/Channel/Channel.ts deleted file mode 100644 index 049d46cd0..000000000 --- a/src/webviews/Channel/Channel.ts +++ /dev/null @@ -1,51 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { type Transport } from "./Transport"; - -export const isChannelPayload = (payload: unknown): payload is ChannelPayload => { - return typeof payload === 'object' && payload !== null && 'type' in payload; -}; - -export type ChannelCallback = (...payload: unknown[]) => ReturnType | Promise; - -export type ChannelPayload = - | { - type: 'event'; - name: string; - params: unknown[]; - } - | { - type: 'request'; - name: string; - params: unknown[]; - } - | { - type: 'response'; - value: unknown; - } - | { - type: 'error'; - message: string; - }; - -export interface ChannelMessage { - id: string; // uuid to connect request and response - payload: ChannelPayload; -} - -// TODO: Ideally Channel should receive an API schema or API interface to check types -// Also constructor should receive API implementation of schema or interface -export interface Channel { - readonly name: string; - readonly transport: Transport; - - postMessage(message: ChannelMessage | ChannelPayload): PromiseLike; - on(event: string, callback: ChannelCallback): Channel; - once(event: string, callback: ChannelCallback): Channel; - off(event: string, callback: ChannelCallback): Channel; - removeAllListeners(event?: string): Channel; - dispose(): void; -} diff --git a/src/webviews/Channel/CommonChannel.ts b/src/webviews/Channel/CommonChannel.ts deleted file mode 100644 index 78ddbb51b..000000000 --- a/src/webviews/Channel/CommonChannel.ts +++ /dev/null @@ -1,257 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { v4 as uuid } from 'uuid'; -import { - isChannelPayload, - type Channel, - type ChannelCallback, - type ChannelMessage, - type ChannelPayload, -} from './Channel'; - -import { Deferred, type DeferredPromise } from './DeferredPromise'; -import { type Transport, type TransportMessage } from './Transport'; - -type ListenerCallback = { - type: 'on' | 'once'; - callback: ChannelCallback; - calledTimes?: number; -}; -type Request = { - expiresAt: number; - deferred: DeferredPromise; -}; - -type ErrorWithMessage = { - message: string; -}; - -function isErrorWithMessage(error: unknown): error is ErrorWithMessage { - return ( - typeof error === 'object' && - error !== null && - 'message' in error && - typeof (error as Record).message === 'string' - ); -} - -function toErrorWithMessage(maybeError: unknown): ErrorWithMessage { - if (isErrorWithMessage(maybeError)) {return maybeError;} - - try { - return new Error(JSON.stringify(maybeError)); - } catch { - // fallback in case there's an error stringifying the maybeError - // like with circular references for example. - return new Error(String(maybeError)); - } -} - -export function getErrorMessage(error: unknown) { - return toErrorWithMessage(error).message; -} - -export class CommonChannel implements Channel { - private listeners: Record = {}; - private pendingRequests: Record = {}; - - private readonly handleMessageInternal: (msg: TransportMessage) => void; - private readonly timeoutId: NodeJS.Timeout; - - private isDisposed = false; - - constructor( - public readonly name: string, - public readonly transport: Transport, - ) { - this.handleMessageInternal = (msg: TransportMessage) => this.handleMessage(msg); - this.transport.on(this.handleMessageInternal); - - // Clean up pending requests every 500ms (we don't expect a lot of requests and accuracy is not critical) - this.timeoutId = setInterval(() => { - const now = Date.now(); - Object.entries(this.pendingRequests).forEach(([id, request]) => { - if (request.expiresAt < now) { - request.deferred.reject(new Error(`Request timed out`)); - delete this.pendingRequests[id]; - } - }); - }, 500); - } - - postMessage(message: ChannelPayload): PromiseLike; - postMessage(message: ChannelMessage): PromiseLike; - postMessage(message: ChannelMessage | ChannelPayload): PromiseLike { - if (this.isDisposed) { - return Promise.reject(new Error('Channel disposed')); - } - - const now = Date.now(); - const id = 'id' in message ? message.id : uuid(); - const payload = 'id' in message ? message.payload : message; - - if (payload.type === 'request') { - const deferred = new Deferred(); - this.pendingRequests[id] = { expiresAt: now + 15000, deferred }; - // Automatically remove pending request from the list to clean up memory - void deferred.promise.then( - () => delete this.pendingRequests[id], - () => delete this.pendingRequests[id], - ); - } - - void this.transport.post({ id, payload }); - - return this.pendingRequests[id]?.deferred.promise ?? Promise.resolve(true); - } - - on(event: string, callback: ChannelCallback): Channel { - if (this.isDisposed) { - return this; - } - - if (!this.listeners[event]) { - this.listeners[event] = []; - } - this.listeners[event].push({ type: 'on', callback, calledTimes: 0 }); - - return this; - } - - once(event: string, callback: ChannelCallback): Channel { - if (this.isDisposed) { - return this; - } - - if (!this.listeners[event]) { - this.listeners[event] = []; - } - this.listeners[event].push({ type: 'once', callback, calledTimes: 0 }); - - return this; - } - - off(event: string, callback: ChannelCallback): Channel { - if (this.isDisposed) { - return this; - } - - if (this.listeners[event]) { - this.listeners[event] = this.listeners[event].filter((cb) => cb.callback !== callback); - } - - return this; - } - - removeAllListeners(event?: string): Channel { - if (this.isDisposed) { - return this; - } - - if (event) { - delete this.listeners[event]; - } else { - this.listeners = {}; - } - - return this; - } - - dispose(): void { - this.isDisposed = true; - - // Clean up listeners first to avoid any messages being processed - this.listeners = {}; - - // since the transport is shared, we don't dispose it here - this.transport.off(this.handleMessageInternal); - - // Clean up pending requests - clearTimeout(this.timeoutId); - Object.values(this.pendingRequests).forEach((request) => { - request.deferred.reject(new Error('Channel disposed')); - }); - - this.pendingRequests = {}; - } - - private handleMessage(msg: TransportMessage): void { - try { - if (typeof msg.payload !== 'object' || !msg.payload || !isChannelPayload(msg.payload)) { - console.warn('Received message with unknown payload', msg); - return; - } - - const payload = msg.payload as ChannelPayload; - - if (payload.type === 'response' || payload.type === 'error') { - const request = this.pendingRequests[msg.id]; - if (!request) { - console.warn('Received response for unknown request', msg); - return; - } - - if (payload.type === 'response') { - request.deferred.resolve(payload.value); - } else { - request.deferred.reject(new Error(payload.message)); - } - - delete this.pendingRequests[msg.id]; - } - - if (payload.type === 'event' || payload.type === 'request') { - const callbacks = this.listeners[payload.name]; - - callbacks.forEach((cb) => { - // One callback throwing an error should not prevent other callbacks from being called - try { - cb.calledTimes ??= 0; - cb.calledTimes++; - - if (cb.type === 'once' && cb.calledTimes > 1) { - return; - } - - void Promise.resolve(cb.callback.call(undefined, ...payload.params)) - .then((returnValue) => { - if (payload.type === 'request') { - void this.postMessage({ - id: msg.id, - payload: { type: 'response', value: returnValue }, - }); - } - }) - .catch((error) => { - if (payload.type === 'request') { - void this.postMessage({ - id: msg.id, - payload: { type: 'error', message: getErrorMessage(error) }, - }); - } - }) - .finally(() => { - if (cb.type === 'once') { - this.off(payload.name, cb.callback); - } - }); - } catch (error) { - const errorMessage = getErrorMessage(error); - console.error(`[VSCodeTransport] Error occurred calling callback`, errorMessage); - } - }); - } - } catch (error: unknown) { - const errorMessage = getErrorMessage(error); - if (this.pendingRequests[msg.id]) { - this.pendingRequests[msg.id].deferred.reject( - new Error(`Error occurred handling received message : ${errorMessage}`), - ); - } - console.error(errorMessage); - } - } -} diff --git a/src/webviews/Channel/DeferredPromise.ts b/src/webviews/Channel/DeferredPromise.ts deleted file mode 100644 index 6d1d1583c..000000000 --- a/src/webviews/Channel/DeferredPromise.ts +++ /dev/null @@ -1,43 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export interface DeferredPromise { - /** - The deferred promise. - */ - readonly promise: Promise; - - /** - Resolves the promise with a value or the result of another promise. - - @param value - The value to resolve the promise with. - */ - resolve(this: void, value?: ValueType | PromiseLike): void; - - /** - Reject the promise with a provided reason or error. - - @param reason - The reason or error to reject the promise with. - */ - reject(this: void, reason?: unknown): void; -} - -export class Deferred implements DeferredPromise { - private _resolve!: (value?: ValueType | PromiseLike) => void; - private _reject!: (reason?: unknown) => void; - - public readonly promise = new Promise((resolve, reject) => { - this._resolve = resolve; - this._reject = reject; - }); - - resolve(value?: ValueType | PromiseLike): void { - this._resolve(value); - } - - reject(reason?: unknown): void { - this._reject(reason); - } -} diff --git a/src/webviews/Channel/Transport.ts b/src/webviews/Channel/Transport.ts deleted file mode 100644 index a4c1a7e1b..000000000 --- a/src/webviews/Channel/Transport.ts +++ /dev/null @@ -1,22 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export const isTransportMessage = (msg: unknown): msg is TransportMessage => { - return typeof msg === 'object' && msg !== null && 'id' in msg && 'payload' in msg; -}; - -export interface TransportMessage { - id: string; // uuid to connect request and response - payload: unknown; -} - -export interface Transport { - readonly name: string; - - post(message: TransportMessage): PromiseLike; - on(callback: (message: TransportMessage) => void): void; - off(callback: (message: TransportMessage) => void): void; - dispose(): void; -} diff --git a/src/webviews/Channel/WebviewChannel.ts b/src/webviews/Channel/WebviewChannel.ts deleted file mode 100644 index 67bfcce6a..000000000 --- a/src/webviews/Channel/WebviewChannel.ts +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { type WebviewApi } from 'vscode-webview'; -import { CommonChannel } from './CommonChannel'; -import { WebviewTransport } from './WebviewTransport'; - -export class WebviewChannel extends CommonChannel { - constructor(webviewApi: WebviewApi) { - const transport = new WebviewTransport(webviewApi); - super('webview', transport); - } - - dispose(): void { - super.dispose(); - this.transport.dispose(); - } -} diff --git a/src/webviews/Channel/WebviewTransport.ts b/src/webviews/Channel/WebviewTransport.ts deleted file mode 100644 index cb66e28b8..000000000 --- a/src/webviews/Channel/WebviewTransport.ts +++ /dev/null @@ -1,55 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { type WebviewApi } from 'vscode-webview'; -import { isTransportMessage, type Transport, type TransportMessage } from './Transport'; - -export class WebviewTransport implements Transport { - public readonly name = 'WebviewTransport'; - - private listeners: ((message: TransportMessage) => void)[] = []; - - constructor(private readonly vscodeApi: WebviewApi) { - window.addEventListener('message', (event) => this.handleMessage(event.data)); - } - - post(message: TransportMessage): PromiseLike { - this.vscodeApi.postMessage(message); - return Promise.resolve(true); // Can't actually know if the message was sent - } - - on(callback: (message: TransportMessage) => void): void { - this.listeners.push(callback); - } - - off(callback: (message: TransportMessage) => void): void { - this.listeners = this.listeners.filter((cb) => cb !== callback); - } - - dispose(): void { - this.listeners = []; - } - - private handleMessage(msg: unknown): void { - try { - if (!isTransportMessage(msg)) { - console.warn(`[WebviewTransport] Received message that is not a transport message`, msg); - return; - } - - const message = msg as TransportMessage; - this.listeners.forEach((cb) => { - // One callback throwing an error should not prevent other callbacks from being called - try { - cb(message); - } catch (error) { - console.error(`[WebviewTransport] Error occurred calling callback`, error); - } - }); - } catch (error) { - console.error(`[WebviewTransport] Error occurred handling received message`, error); - } - } -} diff --git a/src/webviews/ConfirmationView.tsx b/src/webviews/ConfirmationView.tsx deleted file mode 100644 index cad8795a8..000000000 --- a/src/webviews/ConfirmationView.tsx +++ /dev/null @@ -1,161 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { Button, createTableColumn, DataGrid, DataGridBody, DataGridCell, DataGridRow, TableCellLayout, Tooltip, type OnSelectionChangeData, type SelectionItemId, type TableColumnDefinition } from '@fluentui/react-components'; -import * as React from 'react'; -import { useContext, useState, type JSX } from 'react'; -import './styles/confirmationView.scss'; -import { type ConfirmationViewControllerType } from './ConfirmationViewController'; -import { useConfiguration } from './useConfiguration'; -import { ConfirmationViewCommands } from './webviewConstants'; -import { WebviewContext } from './WebviewContext'; - -type Item = { - name: string; - value: string; -} - -function createNewSetWithItem(set: Set, first: boolean): Set { - if (first) { - const firstElement = Array.from(set)[0]; - return new Set([firstElement]); - } else { - const lastElement = Array.from(set)[set.size - 1]; - return new Set([lastElement]); - } -} - -export const ConfirmationView = (): JSX.Element => { - const [buttonName, setName] = useState('Confirm'); - const [selectedItems, setSelectedItems] = useState>(new Set()); - const { vscodeApi } = useContext(WebviewContext); - - const configuration = useConfiguration(); - const title = configuration.title; - const description = configuration.description; - const commandName = configuration.commandName; - const confirmClicked = () => { - const selectedItemIndex = Number(Array.from(selectedItems)[0]); - const itemsToClear = configuration.items.length - selectedItemIndex; - vscodeApi.postMessage({ - command: ConfirmationViewCommands.Confirm, - itemsToClear: itemsToClear - }); - console.log(itemsToClear); - }; - - const copilotClicked = (name: string, value: string) => { - vscodeApi.postMessage({ - command: ConfirmationViewCommands.Copilot, - name: name, - value: value, - commandName: commandName - }); - }; - - const cancelClicked = () => { - vscodeApi.postMessage({ - command: ConfirmationViewCommands.Cancel - }); - }; - - const onChange = (_ev: React.MouseEvent, data: OnSelectionChangeData) => { - setName(data.selectedItems.size > 0 ? 'Edit' : 'Confirm'); - setSelectedItems(data.selectedItems.size > 0 ? createNewSetWithItem(data.selectedItems, false) : createNewSetWithItem(data.selectedItems, true)); - }; - - const columnSizingOptions = { - name: { - defaultWidth: 200, - minWidth: 200, - }, - value: { - defaultWidth: 275, - minWidth: 275, - } - }; - - const columns: TableColumnDefinition[] = [ - createTableColumn({ - columnId: 'name', - renderCell: (item: Item) => { - return {item.name}; - }, - }), - createTableColumn({ - columnId: 'value', - renderCell: (item: Item) => { - return {item.value}; - }, - }), - createTableColumn({ - columnId: 'copilot', - renderCell: (item: Item) => { - return - - - - ; - }, - }) - ]; - - const DataGridComponent: React.FC<{ - context: ConfirmationViewControllerType, - selectedItems?: Set | undefined, - onSelectionChange: (_ev: React.MouseEvent, data: OnSelectionChangeData) => void, - }> = ({ context, selectedItems, onSelectionChange },) => { - return ( - - > - {({ item, rowId }) => ( - - key={rowId}> - {({ renderCell }) => ( - {renderCell(item)} - )} - - )} - - - ); - }; - - return ( -
-
-

{title}

-
{description}
-
- -
- -
- - -
-
-
- ); -}; diff --git a/src/webviews/ConfirmationViewController.ts b/src/webviews/ConfirmationViewController.ts deleted file mode 100644 index 9479c2a2d..000000000 --- a/src/webviews/ConfirmationViewController.ts +++ /dev/null @@ -1,23 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -import { type ConfirmationViewProperty } from "@microsoft/vscode-azext-utils"; -import { ViewColumn } from "vscode"; -import { ext } from "../extensionVariables"; -import { WebviewController } from "./extension-server/WebviewController"; - -export type ConfirmationViewControllerType = { - title: string; - tabTitle: string; - description: string; - commandName: string; // only used to help construct the copilot prompt - items: Array -} - -export class ConfirmationViewController extends WebviewController { - constructor(viewConfig: ConfirmationViewControllerType) { - super(ext.context, viewConfig.tabTitle, 'confirmationView', viewConfig, ViewColumn.Active); - } -} diff --git a/src/webviews/LoadingView.tsx b/src/webviews/LoadingView.tsx deleted file mode 100644 index c7d98ebf2..000000000 --- a/src/webviews/LoadingView.tsx +++ /dev/null @@ -1,13 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { Spinner } from "@fluentui/react-components"; -import './styles/loadingView.scss'; - -export const LoadingView = () => -
- -
; - diff --git a/src/webviews/LoadingViewController.ts b/src/webviews/LoadingViewController.ts deleted file mode 100644 index 84180fb73..000000000 --- a/src/webviews/LoadingViewController.ts +++ /dev/null @@ -1,18 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -import { ViewColumn } from "vscode"; -import { ext } from "../extensionVariables"; -import { WebviewController } from "./extension-server/WebviewController"; - -export type LoadingViewControllerType = { - title: string; -} - -export class LoadingViewController extends WebviewController { - constructor(viewConfiguration: LoadingViewControllerType) { - super(ext.context, viewConfiguration.title, 'loadingView', viewConfiguration, ViewColumn.Active); - } -} diff --git a/src/webviews/OpenConfirmationViewStep.ts b/src/webviews/OpenConfirmationViewStep.ts deleted file mode 100644 index 585e64b99..000000000 --- a/src/webviews/OpenConfirmationViewStep.ts +++ /dev/null @@ -1,139 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -import { AzExtUserInput, AzureWizardPromptStep, GoBackError, isCopilotUserInput, openUrl, UserCancelledError, type ConfirmationViewProperty, type IActionContext } from "@microsoft/vscode-azext-utils"; -import * as vscode from 'vscode'; -import { localize } from "../utils/localize"; -import { ConfirmationViewController } from "./ConfirmationViewController"; - -export const SharedState = { - itemsToClear: 0, - cancelled: true, - copilotClicked: false, - editingPicks: false, - currentPanel: undefined as vscode.WebviewPanel | undefined, -}; - -export class OpenConfirmationViewStep extends AzureWizardPromptStep { - private readonly viewConfig: () => ConfirmationViewProperty[]; - private readonly title: string; - private readonly tabTitle: string; - private readonly description: string; - private readonly commandName: string; - - public constructor(title: string, tabTitle: string, description: string, commandName: string, viewConfig: () => ConfirmationViewProperty[]) { - super(); - this.title = title; - this.tabTitle = tabTitle; - this.description = description; - this.viewConfig = viewConfig; - this.commandName = commandName; - } - - public async prompt(context: T): Promise { - if (SharedState.currentPanel) { - SharedState.currentPanel.dispose(); - SharedState.currentPanel = undefined; - } - - const confirmationView = new ConfirmationViewController({ - title: this.title, - tabTitle: this.tabTitle, - description: this.description, - commandName: this.commandName, - items: this.viewConfig() - }); - - confirmationView.revealToForeground(vscode.ViewColumn.Active); - - await new Promise((resolve, reject) => { - confirmationView.onDisposed(async () => { - try { - if (SharedState.itemsToClear > 0) { - context.telemetry.properties.editingPicks = 'true'; - SharedState.editingPicks = true; - if (isCopilotUserInput(context)) { - context.ui = new AzExtUserInput(context); - } - throw new GoBackError(SharedState.itemsToClear); - } - - if (SharedState.cancelled) { - context.telemetry.properties.cancelClicked = 'true'; - throw new UserCancelledError('openConfirmationViewStep'); - } - } catch (error) { - reject(error); - } finally { - const greatButton: vscode.MessageItem = { - title: 'Great', - }; - const notHelpfulButton: vscode.MessageItem = { - title: 'Unhelpful' - }; - const surveyButton: vscode.MessageItem = { - title: localize('provideFeedback', 'Provide Feedback'), - - }; - const buttons = [greatButton, notHelpfulButton, surveyButton]; - - if (SharedState.editingPicks && SharedState.itemsToClear === 0 && SharedState.copilotClicked) { - resolve(); - const message = localize('editingPicksandCopilotMessage', 'How was your experience using Copilot and revising your selections?'); - const result = await vscode.window.showInformationMessage(message, ...buttons); - await confirmationViewButtonActions(context, result); - } else if (!SharedState.cancelled && !SharedState.copilotClicked && !SharedState.editingPicks) { - resolve(); - const message = localize('confirmMessage', 'How was your experience using the summary view?'); - const result = await vscode.window.showInformationMessage(message, ...buttons); - await confirmationViewButtonActions(context, result); - } else if (SharedState.editingPicks && SharedState.itemsToClear === 0) { - resolve(); - const message = localize('editingPicksMessage', 'How was your experience revising your selections?'); - const result = await vscode.window.showInformationMessage(message, ...buttons); - await confirmationViewButtonActions(context, result); - } else if (SharedState.copilotClicked && !SharedState.cancelled) { - resolve(); - context.telemetry.properties.isCopilotEvent = 'true'; - context.telemetry.properties.copilotClicked = 'true'; - const message = localize('copilotMessage', 'How was your experience using Copilot and the summary view?'); - const result = await vscode.window.showInformationMessage(message, ...buttons); - if (result === surveyButton) { - await confirmationViewButtonActions(context, result); - } else if (result === greatButton) { - context.telemetry.properties.copilotButtonHelpful = 'true'; - } else if (result === notHelpfulButton) { - context.telemetry.properties.copilotButtonNotHelpful = 'true'; - } - } else { - resolve(); - } - } - }); - // reset the shared state - SharedState.itemsToClear = 0; - SharedState.cancelled = true; - SharedState.copilotClicked = false; - SharedState.editingPicks = false; - }); - } - - public shouldPrompt(): boolean { - return this.viewConfig().length > 0; - } -} - -export async function confirmationViewButtonActions(context: IActionContext, result: vscode.MessageItem | undefined): Promise { - if (result) { - if (result.title === 'Great') { - context.telemetry.properties.confirmationViewHelpful = 'true'; - } else if (result.title === 'Unhelpful') { - context.telemetry.properties.confirmationViewNotHelpful = 'true'; - } else if (result.title === 'Provide Feedback') { - const confirmationViewSurveyLink = 'https://aka.ms/AAx0tw1'; - await openUrl(confirmationViewSurveyLink); - } - } -} diff --git a/src/webviews/OpenLoadingViewStep.ts b/src/webviews/OpenLoadingViewStep.ts deleted file mode 100644 index d05d3daef..000000000 --- a/src/webviews/OpenLoadingViewStep.ts +++ /dev/null @@ -1,30 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -import { AzureWizardPromptStep, runGenericPromptStep, type IActionContext } from "@microsoft/vscode-azext-utils"; -import * as vscode from 'vscode'; -import { localize } from "../utils/localize"; -import { LoadingViewController } from "./LoadingViewController"; -import { SharedState } from "./OpenConfirmationViewStep"; - -export class OpenLoadingViewStep extends AzureWizardPromptStep { - public async prompt(): Promise { - const loadingView = new LoadingViewController({ title: localize('loadingViewTitle', 'Loading...') }); - loadingView.revealToForeground(vscode.ViewColumn.Active); - SharedState.currentPanel = loadingView.panel; - } - - public shouldPrompt(): boolean { - return true; - } -} - -export async function openLoadingViewPanel(context: IActionContext): Promise { - const promptSteps: AzureWizardPromptStep[] = [new OpenLoadingViewStep()]; - - return await runGenericPromptStep(context, { - promptSteps - }); -} diff --git a/src/webviews/WebviewContext.tsx b/src/webviews/WebviewContext.tsx deleted file mode 100644 index 7c5a6dd48..000000000 --- a/src/webviews/WebviewContext.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as React from 'react'; -import { createContext } from 'react'; -import { type WebviewApi } from 'vscode-webview'; -import { type Channel } from './Channel/Channel'; -import { WebviewChannel } from './Channel/WebviewChannel'; - -export type WebviewState = object; - -export type WebviewContextValue = { - channel: Channel; - vscodeApi: WebviewApi; -}; - -export const WebviewContext = createContext({} as WebviewContextValue); - -export const WithWebviewContext = ({ - vscodeApi, - children, -}: { - vscodeApi: WebviewApi; - children: React.ReactNode; -}) => { - const channel = new WebviewChannel(vscodeApi); - return {children}; -}; - diff --git a/src/webviews/WebviewRegistry.ts b/src/webviews/WebviewRegistry.ts deleted file mode 100644 index c61fc46a7..000000000 --- a/src/webviews/WebviewRegistry.ts +++ /dev/null @@ -1,12 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { ConfirmationView } from "./ConfirmationView"; -import { LoadingView } from "./LoadingView"; - -export const WebviewRegistry = { - confirmationView: ConfirmationView, - loadingView: LoadingView -} as const; diff --git a/src/webviews/extension-server/WebviewBaseController.ts b/src/webviews/extension-server/WebviewBaseController.ts deleted file mode 100644 index 9e4abbe32..000000000 --- a/src/webviews/extension-server/WebviewBaseController.ts +++ /dev/null @@ -1,109 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { randomBytes } from 'crypto'; -import * as path from 'path'; -import * as vscode from 'vscode'; -import { ext } from "../../extensionVariables"; - -/** - * WebviewBaseController is a class that manages a vscode.Webview and provides - * a way to communicate with it. It provides a way to register request handlers and reducers - * that can be called from the webview. It also provides a way to post notifications to the webview. - * @template Configuration The type of the configuration object that the webview will receive - */ -export abstract class WebviewBaseController implements vscode.Disposable { - private _disposables: vscode.Disposable[] = []; - private _isDisposed: boolean = false; - - // private _isFirstLoad: boolean = true; - // private _loadStartTime: number = Date.now(); - private _onDisposed: vscode.EventEmitter = new vscode.EventEmitter(); - - public readonly onDisposed: vscode.Event = this._onDisposed.event; - - /** - * Creates a new ReactWebviewPanelController - * @param extensionContext The context of the extension-server - * @param _webviewName The source file that the webview will use - * @param configuration The initial state object that the webview will use - */ - constructor( - protected extensionContext: vscode.ExtensionContext, - private _webviewName: string, - protected configuration: Configuration, - ) { } - - protected registerDisposable(disposable: vscode.Disposable) { - this._disposables.push(disposable); - } - - protected getDocumentTemplate(webview?: vscode.Webview) { - const nonce = randomBytes(16).toString('base64'); - - const filename = 'views.js'; - const uri = (...parts: string[]) => webview?.asWebviewUri(vscode.Uri.file(path.join(ext.context.extensionPath, ...parts))).toString(true); - const srcUri = uri('dist', filename); - const cssUri = uri('dist', 'views.css'); - - const csp = [ - `form-action 'none';`, - `default-src ${webview?.cspSource};`, - `script-src ${webview?.cspSource} 'nonce-${nonce}';`, - `style-src ${webview?.cspSource} vscode-resource: 'unsafe-inline';`, - `img-src ${webview?.cspSource} data: vscode-resource:;`, - `connect-src ${webview?.cspSource} ws:;`, - `font-src ${webview?.cspSource} data:;`, - `worker-src ${webview?.cspSource} blob:;`, - ] - .join(' '); - - /** - * Note to code maintainers: - * encodeURIComponent(JSON.stringify(this.configuration)) below is crucial - * We want to avoid the webview from crashing when the configuration object contains 'unsupported' bytes - */ - - return ` - - - - - - - - -
- - - - `; - } - - /** - * Gets whether the controller has been disposed - */ - public get isDisposed(): boolean { - return this._isDisposed; - } - - /** - * Disposes the controller - */ - public dispose() { - this._onDisposed.fire(); - this._disposables.forEach((d) => d.dispose()); - this._isDisposed = true; - } -} diff --git a/src/webviews/extension-server/WebviewController.ts b/src/webviews/extension-server/WebviewController.ts deleted file mode 100644 index b56811eb3..000000000 --- a/src/webviews/extension-server/WebviewController.ts +++ /dev/null @@ -1,119 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -import { nonNullValue } from '@microsoft/vscode-azext-utils'; -import * as vscode from 'vscode'; -import { SharedState } from '../OpenConfirmationViewStep'; -import { WebviewBaseController } from './WebviewBaseController'; -/** - * WebviewController is a class that manages a vscode.WebviewPanel and provides - * a way to communicate with it. It uses tRPC to handle incoming requests (queries, - * mutations, and subscriptions) from the webview. Through this controller, the - * webview can call server-side procedures defined in the `appRouter`. - * - * @template Configuration - The type of the configuration object that the webview will receive. - */ -export class WebviewController extends WebviewBaseController { - private _panel: vscode.WebviewPanel; - - /** - * Creates a new WebviewController instance. - * - * @param context The extension context. - * @param title The title of the webview panel. - * @param webviewName The identifier/name for the webview resource. - * @param initialState The initial state object that the webview will use on startup. - * @param viewColumn The view column in which to show the new webview panel. - * @param _iconPath An optional icon to display in the tab of the webview. - */ - constructor( - context: vscode.ExtensionContext, - title: string, - webviewName: string, - initialState: Configuration, - viewColumn: vscode.ViewColumn = vscode.ViewColumn.One, - private _iconPath?: - | vscode.Uri - | { - readonly light: vscode.Uri; - readonly dark: vscode.Uri; - }, - ) { - super(context, webviewName, initialState); - - // Create the webview panel - this._panel = vscode.window.createWebviewPanel('react-webview-' + webviewName, title, viewColumn, { - enableScripts: true, - retainContextWhenHidden: true, - localResourceRoots: [vscode.Uri.file(this.extensionContext.extensionPath)], - }); - - this._panel.webview.html = this.getDocumentTemplate(this._panel.webview); - this._panel.iconPath = this._iconPath; - - this._panel.webview.onDidReceiveMessage( - async (message: { command: string, itemsToClear?: number, name?: string, value?: string, commandName?: string }) => { - // Todo: these are placeholders. May change to using trpc for the webview - switch (message.command) { - case 'cancel': - SharedState.cancelled = true; - this._panel.dispose(); - break; - case 'confirm': - SharedState.cancelled = false; - SharedState.itemsToClear = message.itemsToClear ?? 0; - this._panel.dispose(); - break; - case 'copilot': - SharedState.copilotClicked = true; - await vscode.commands.executeCommand("workbench.action.chat.open"); - await vscode.commands.executeCommand("workbench.action.chat.newChat"); - await vscode.commands.executeCommand("workbench.action.chat.open", { - mode: 'agent', - query: createCopilotPromptForConfirmationViewButton(nonNullValue(message.name), nonNullValue(message.value), nonNullValue(message.commandName), 'Azure Container Apps'), - }); - - break; - } - } - ); - - // Clean up when the panel is disposed - this.registerDisposable( - this._panel.onDidDispose(() => { - this.dispose(); - }), - ); - } - - /** - * Retrieves the vscode.Webview associated with this controller. - * @returns The webview being managed by this controller. - */ - protected _getWebview(): vscode.Webview { - return this._panel.webview; - } - - /** - * Gets the vscode.WebviewPanel that the controller is managing. - */ - public get panel(): vscode.WebviewPanel { - return this._panel; - } - - /** - * Reveals the webview in the given column, bringing it to the foreground. - * Useful if the webview is already open but hidden. - * - * @param viewColumn The column to reveal in. Defaults to ViewColumn.One. - */ - public revealToForeground(viewColumn: vscode.ViewColumn = vscode.ViewColumn.One): void { - this._panel.reveal(viewColumn, true); - } -} - -export function createCopilotPromptForConfirmationViewButton(name: string, value: string, commandName: string, extension: string): string { - return `Help explain what ${name}: ${value} means in the context of the "${commandName}" command using the ${extension} extension for VS Code.`; -} diff --git a/src/webviews/index.tsx b/src/webviews/index.tsx deleted file mode 100644 index d30e4c2a0..000000000 --- a/src/webviews/index.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import './styles/global.scss'; - -import * as React from 'react'; -import { createRoot } from 'react-dom/client'; -import { type WebviewApi } from 'vscode-webview'; -import { DynamicThemeProvider } from './theme/DynamicThemeProvider'; -import { type WebviewState, WithWebviewContext } from './WebviewContext'; -import { WebviewRegistry } from './WebviewRegistry'; - -export type ViewKey = keyof typeof WebviewRegistry; - -export function render(key: V, vscodeApi: WebviewApi, rootId = 'root'): void { - const container = document.getElementById(rootId); - if (!container) { - throw new Error(`Element with id of ${rootId} not found.`); - } - - const Component: React.ComponentType = WebviewRegistry[key]; - - const root = createRoot(container); - - root.render( - - - - - , - ); -} diff --git a/src/webviews/styles/confirmationView.scss b/src/webviews/styles/confirmationView.scss deleted file mode 100644 index ec18e1e0e..000000000 --- a/src/webviews/styles/confirmationView.scss +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -.confirmationView { - display: flex; - flex-direction: column; - align-items: edge; - justify-content: flex-start; - height: 100vh; - padding: 20px; - width: 46vw; - - .header { - text-wrap: nowrap; - } - - .viewContent { - margin-top: 5%; - - .buttonsView { - display: flex; - justify-content: flex-start; - margin-top: 32px; - gap: 4px; - } - } -} diff --git a/src/webviews/styles/global.scss b/src/webviews/styles/global.scss deleted file mode 100644 index cf9dd8a90..000000000 --- a/src/webviews/styles/global.scss +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -@import '@vscode/codicons/dist/codicon.css'; - -.codicon, -.codicon::before { - font-family: codicon !important; -} diff --git a/src/webviews/styles/loadingView.scss b/src/webviews/styles/loadingView.scss deleted file mode 100644 index 778c3b6c7..000000000 --- a/src/webviews/styles/loadingView.scss +++ /dev/null @@ -1,11 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -.loadingView { - display: flex; - justify-content: center; - align-items: center; - height: 100vh; -} diff --git a/src/webviews/theme/DynamicThemeProvider.tsx b/src/webviews/theme/DynamicThemeProvider.tsx deleted file mode 100644 index bea276ed5..000000000 --- a/src/webviews/theme/DynamicThemeProvider.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { FluentProvider } from '@fluentui/react-components'; -import { type PropsWithChildren, type ReactNode } from 'react'; -import { useThemeState, WithTheme } from './state/ThemeContext'; - - -export type DynamicThemeProviderProps = { - useAdaptive?: boolean; -}; - -const FluentUiProvider = ({ children }: { children: ReactNode }) => { - const themeState = useThemeState(); - - return {children}; -}; - -export const DynamicThemeProvider = ({ - children, - useAdaptive = false, -}: PropsWithChildren) => { - return ( - - {children} - - ); -}; diff --git a/src/webviews/theme/state/ThemeContext.tsx b/src/webviews/theme/state/ThemeContext.tsx deleted file mode 100644 index aee1a813c..000000000 --- a/src/webviews/theme/state/ThemeContext.tsx +++ /dev/null @@ -1,129 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { teamsDarkTheme, teamsHighContrastTheme, teamsLightTheme } from '@fluentui/react-components'; -import { createContext, useContext, useEffect, useMemo, useState, type ReactNode } from 'react'; -import { generateAdaptiveDarkTheme, generateAdaptiveLightTheme, generateMonacoTheme } from '../themeGenerator'; -import { defaultState, type MonacoBuiltinTheme, type MonacoTheme, type ThemeState } from './ThemeState'; - -export const ThemeContext = createContext(defaultState); - -export const useThemeMutationObserver = (callback: (themeKind: string) => void) => { - const observer = useMemo( - () => - new MutationObserver((mutations) => { - mutations.forEach(function (mutation) { - if (mutation.type === 'attributes' && mutation.attributeName === 'data-vscode-theme-kind') { - console.log('theme attributes changed'); - - const newValue = - (mutation.target as HTMLElement).getAttribute('data-vscode-theme-kind') ?? 'vscode-light'; - callback(newValue); - } - }); - }), - [callback], - ); - - useEffect(() => { - const targetNode = document.body; - observer.observe(targetNode, { - attributes: true, - }); - - return () => observer.disconnect(); - }, [observer]); -}; - -// get class value from body element -export const useVSCodeTheme = () => { - return document.body.getAttribute('data-vscode-theme-kind') ?? 'vscode-light'; -}; - -export const getFluentUiTheme = (useAdaptive: boolean = false, themeKind: string) => { - if (useAdaptive) { - return themeKind === 'vscode-light' - ? generateAdaptiveLightTheme() - : themeKind === 'vscode-dark' - ? generateAdaptiveDarkTheme() - : themeKind === 'vscode-high-contrast' - ? teamsHighContrastTheme - : themeKind === 'vscode-high-contrast-light' - ? teamsLightTheme // TODO: find a better theme for this - : undefined; - } - return themeKind === 'vscode-light' - ? teamsLightTheme - : themeKind === 'vscode-dark' - ? teamsDarkTheme - : themeKind === 'vscode-high-contrast' - ? teamsHighContrastTheme - : themeKind === 'vscode-high-contrast-light' - ? teamsLightTheme // TODO: find a better theme for this - : undefined; -}; - -export const getMonacoTheme = (useAdaptive: boolean = false, themeKind: string): MonacoTheme => { - const monacoBaseTheme: MonacoBuiltinTheme = - themeKind === 'vscode-light' - ? 'vs' - : themeKind === 'vscode-dark' - ? 'vs-dark' - : themeKind === 'vscode-high-contrast' - ? 'hc-black' - : themeKind === 'vscode-high-contrast-light' - ? 'hc-light' - : 'vs'; - - if (useAdaptive) { - return { - themeName: 'adaptive', - theme: generateMonacoTheme(monacoBaseTheme), - }; - } - - return { - themeName: monacoBaseTheme, - }; -}; - -export function useThemeState() { - return useContext(ThemeContext); -} - -export const ThemeProvider = ThemeContext.Provider; - -export const generateThemeContext = (useAdaptive: boolean = false, themeKind: string) => { - return { - fluentUI: { - theme: getFluentUiTheme(useAdaptive, themeKind), - themeKind, - }, - monaco: getMonacoTheme(useAdaptive, themeKind), - useAdaptive, - themeKind, - }; -}; - -export const WithTheme = ({ children, useAdaptive }: { children: ReactNode; useAdaptive: boolean }) => { - const [state, setState] = useState(generateThemeContext(useAdaptive, useVSCodeTheme())); - - function setThemeKind(themeKind: string) { - setState({ - ...state, - ...generateThemeContext(useAdaptive, themeKind), - }); - } - - useEffect(() => { - setThemeKind(useVSCodeTheme()); - }, [useAdaptive]); - - useThemeMutationObserver((themeKind) => { - setThemeKind(themeKind); - }); - - return {children}; -}; diff --git a/src/webviews/theme/state/ThemeState.tsx b/src/webviews/theme/state/ThemeState.tsx deleted file mode 100644 index 5fc7620fc..000000000 --- a/src/webviews/theme/state/ThemeState.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { teamsLightTheme, type Theme } from '@fluentui/react-components'; -import type * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api'; - -export type MonacoBuiltinTheme = monacoEditor.editor.BuiltinTheme; -export type MonacoThemeData = monacoEditor.editor.IStandaloneThemeData; -export type MonacoColors = monacoEditor.editor.IColors; -export type MonacoTheme = { - theme?: MonacoThemeData; - themeName: string; -}; - -export type ThemeState = { - themeKind: string; - useAdaptive: boolean; - fluentUI: { - theme?: Theme; - themeKind: string; - }; - monaco: MonacoTheme; -}; - -export const defaultState: ThemeState = { - themeKind: 'vscode-light', - useAdaptive: false, - fluentUI: { - theme: teamsLightTheme, - themeKind: 'vscode-light', - }, - monaco: { - theme: undefined, - themeName: 'vs', - }, -}; diff --git a/src/webviews/theme/themeGenerator.ts b/src/webviews/theme/themeGenerator.ts deleted file mode 100644 index 8771a1634..000000000 --- a/src/webviews/theme/themeGenerator.ts +++ /dev/null @@ -1,117 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { type BrandVariants, createDarkTheme, createLightTheme, type Theme } from '@fluentui/react-components'; -import { type MonacoBuiltinTheme, type MonacoColors, type MonacoThemeData } from './state/ThemeState'; -import { hex_to_LCH, hexColorsFromPalette, type Palette, RGBAToHexA } from './utils'; -import { vscodeThemeTokens, vscodeThemeTokenToCSSVar } from './vscodeThemeTokens'; - -type Options = { - darkCp?: number; - lightCp?: number; - hueTorsion?: number; -}; - -/** - * A palette is represented as a continuous curve through LAB space, made of two quadratic bezier curves that start at - * 0L (black) and 100L (white) and meet at the LAB value of the provided key color. - * - * This function takes in a palette as input, which consists of: - * keyColor: The primary color in the LCH (Lightness Chroma Hue) color space - * darkCp, lightCp: The control point of the quadratic beizer curve towards black and white, respectively (between 0-1). - * Higher values move the control point toward the ends of the gamut causing chroma/saturation to - * diminish more slowly near the key color, and lower values move the control point toward the key - * color causing chroma/saturation to diminish more linearly. - * hueTorsion: Enables the palette to move through different hues by rotating the curve’s points in LAB space, - * creating a helical curve - - * The function returns a set of brand tokens. - */ -export function getBrandTokensFromPalette(keyColor: string, options: Options = {}) { - const { darkCp = 2 / 3, lightCp = 1 / 3, hueTorsion = 0 } = options; - - if (!keyColor.startsWith('#')) { - if (keyColor.startsWith('rgb')) { - keyColor = RGBAToHexA(keyColor); - } - - // TODO: If the color is not a hex value - } - - const brandPalette: Palette = { - keyColor: hex_to_LCH(keyColor), - darkCp, - lightCp, - hueTorsion, - }; - const hexColors = hexColorsFromPalette(keyColor, brandPalette, 16, 1); - return hexColors.reduce((acc: Record, hexColor, h) => { - acc[`${(h + 1) * 10}`] = hexColor; - return acc; - }, {}) as BrandVariants; -} - -// https://react.fluentui.dev/?path=/docs/concepts-developer-theming--page#overriding-existing-tokens -export const generateAdaptiveLightTheme = (): Theme => { - const style = getComputedStyle(document.documentElement); - const buttonBackground = style.getPropertyValue('--vscode-button-background'); - const brandVSCode: BrandVariants = getBrandTokensFromPalette(buttonBackground); - - return { - ...createLightTheme(brandVSCode), - ...{ - colorNeutralForeground1: 'var(--vscode-editor-foreground)', - colorNeutralForeground1Hover: 'var(--vscode-editor-foreground)', - colorNeutralForeground1Pressed: 'var(--vscode-editor-foreground)', - colorNeutralForeground1Selected: 'var(--vscode-editor-foreground)', - - colorNeutralBackground1: 'var(--vscode-editor-background)', - }, - }; -}; - -export const generateAdaptiveDarkTheme = (): Theme => { - const style = getComputedStyle(document.documentElement); - const buttonBackground = style.getPropertyValue('--vscode-button-background'); - const brandVSCode: BrandVariants = getBrandTokensFromPalette(buttonBackground); - - return { - ...createDarkTheme(brandVSCode), - ...{ - colorNeutralForeground1: 'var(--vscode-button-foreground)', - colorNeutralForeground1Hover: 'var(--vscode-button-foreground)', - colorNeutralForeground1Pressed: 'var(--vscode-button-foreground)', - colorNeutralForeground1Selected: 'var(--vscode-button-foreground)', - colorNeutralForeground2: 'var(--vscode-button-secondaryForeground)', - colorNeutralForeground2Hover: 'var(--vscode-button-secondaryForeground)', - colorNeutralForeground2Pressed: 'var(--vscode-button-secondaryForeground)', - colorNeutralForeground2Selected: 'var(--vscode-button-secondaryForeground)', - - colorNeutralBackground1: 'var(--vscode-editor-background)', - }, - }; -}; - -export const generateMonacoTheme = (baseTheme: MonacoBuiltinTheme): MonacoThemeData => { - const style = getComputedStyle(document.documentElement); - const colors = vscodeThemeTokens - .map((token) => { - let color = style.getPropertyValue(vscodeThemeTokenToCSSVar(token)); - if (!color.startsWith('#')) { - if (color.startsWith('rgb')) { - color = RGBAToHexA(color); - } - } - return [token, color]; - }) - .filter(([_, color]) => color !== ''); - - return { - base: baseTheme, - inherit: true, - rules: [], - colors: Object.fromEntries(colors) as MonacoColors, - }; -}; diff --git a/src/webviews/theme/utils/csswg.ts b/src/webviews/theme/utils/csswg.ts deleted file mode 100644 index 027e749ea..000000000 --- a/src/webviews/theme/utils/csswg.ts +++ /dev/null @@ -1,295 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -/* eslint-disable @typescript-eslint/naming-convention */ -// The following is a combination of several files retrieved from CSSWG’s -// CSS Color 4 module. It was modified to support TypeScript types adapted for -// the Fluent Blocks `colors` package and formatted to meet its style criteria. -import { type Vec3 } from './types'; - -/** - * Simple matrix (and vector) multiplication - * Warning: No error handling for incompatible dimensions! - * @author Lea Verou 2020 MIT License - */ - -type MatrixIO = number[][] | number[]; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function isFlat(A: any): A is number[] { - return !Array.isArray(A[0]); -} - -// A is m x n. B is n x p. product is m x p. -export function multiplyMatrices(AMatrixOrVector: MatrixIO, BMatrixOrVector: MatrixIO): MatrixIO { - const m = AMatrixOrVector.length; - - const A: number[][] = isFlat(AMatrixOrVector) - ? // A is vector, convert to [[a, b, c, ...]] - [AMatrixOrVector] - : AMatrixOrVector; - - const B: number[][] = isFlat(BMatrixOrVector) - ? // B is vector, convert to [[a], [b], [c], ...]] - BMatrixOrVector.map((x) => [x]) - : BMatrixOrVector; - - const p = B[0].length; - const B_cols = B[0].map((_, i) => B.map((x) => x[i])); // transpose B - let product: MatrixIO = A.map((row) => - B_cols.map((col) => { - if (!Array.isArray(row)) { - return col.reduce((a, c) => a + c * row, 0); - } - - return row.reduce((a, c, i) => a + c * (col[i] || 0), 0); - }), - ); - - if (m === 1) { - product = product[0]; // Avoid [[a, b, c, ...]] - } - - if (p === 1) { - return (product as number[][]).map((x) => x[0]); // Avoid [[a], [b], [c], ...]] - } - - return product; -} - -export function lin_sRGB(RGB: Vec3) { - // convert an array of sRGB values - // where in-gamut values are in the range [0 - 1] - // to linear light (un-companded) form. - // https://en.wikipedia.org/wiki/SRGB - // Extended transfer function: - // for negative values, linear portion is extended on reflection of axis, - // then reflected power function is used. - return RGB.map((val) => { - const sign = val < 0 ? -1 : 1; - const abs = Math.abs(val); - - if (abs < 0.04045) { - return val / 12.92; - } - - return sign * Math.pow((abs + 0.055) / 1.055, 2.4); - }) as Vec3; -} - -export function gam_sRGB(RGB: Vec3) { - // convert an array of linear-light sRGB values in the range 0.0-1.0 - // to gamma corrected form - // https://en.wikipedia.org/wiki/SRGB - // Extended transfer function: - // For negative values, linear portion extends on reflection - // of axis, then uses reflected pow below that - return RGB.map((val) => { - const sign = val < 0 ? -1 : 1; - const abs = Math.abs(val); - - if (abs > 0.0031308) { - return sign * (1.055 * Math.pow(abs, 1 / 2.4) - 0.055); - } - - return 12.92 * val; - }) as Vec3; -} - -export function lin_sRGB_to_XYZ(rgb: Vec3) { - // convert an array of linear-light sRGB values to CIE XYZ - // using sRGB's own white, D65 (no chromatic adaptation) - - const M = [ - [0.41239079926595934, 0.357584339383878, 0.1804807884018343], - [0.21263900587151027, 0.715168678767756, 0.07219231536073371], - [0.01933081871559182, 0.11919477979462598, 0.9505321522496607], - ]; - return multiplyMatrices(M, rgb) as Vec3; -} - -export function XYZ_to_lin_sRGB(XYZ: Vec3) { - // convert XYZ to linear-light sRGB - - const M = [ - [3.2409699419045226, -1.537383177570094, -0.4986107602930034], - [-0.9692436362808796, 1.8759675015077202, 0.04155505740717559], - [0.05563007969699366, -0.20397695888897652, 1.0569715142428786], - ]; - - return multiplyMatrices(M, XYZ) as Vec3; -} - -// Chromatic adaptation - -export function D65_to_D50(XYZ: Vec3) { - // Bradford chromatic adaptation from D65 to D50 - // The matrix below is the result of three operations: - // - convert from XYZ to retinal cone domain - // - scale components from one reference white to another - // - convert back to XYZ - // http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html - const M = [ - [1.0479298208405488, 0.022946793341019088, -0.05019222954313557], - [0.029627815688159344, 0.990434484573249, -0.01707382502938514], - [-0.009243058152591178, 0.015055144896577895, 0.7518742899580008], - ]; - - return multiplyMatrices(M, XYZ) as Vec3; -} - -export function D50_to_D65(XYZ: Vec3) { - // Bradford chromatic adaptation from D50 to D65 - const M = [ - [0.9554734527042182, -0.023098536874261423, 0.0632593086610217], - [-0.028369706963208136, 1.0099954580058226, 0.021041398966943008], - [0.012314001688319899, -0.020507696433477912, 1.3303659366080753], - ]; - - return multiplyMatrices(M, XYZ) as Vec3; -} - -// Lab and LCH - -export function XYZ_to_Lab(XYZ: Vec3) { - // Assuming XYZ is relative to D50, convert to CIE Lab - // from CIE standard, which now defines these as a rational fraction - const eps = 216 / 24389; // 6^3/29^3 - const kappa = 24389 / 27; // 29^3/3^3 - const white = [0.96422, 1.0, 0.82521]; // D50 reference white - - // compute xyz, which is XYZ scaled relative to reference white - const xyz = XYZ.map((value, i) => value / white[i]); - - // now compute f - const f = xyz.map((value) => (value > eps ? Math.cbrt(value) : (kappa * value + 16) / 116)); - - return [ - 116 * f[1] - 16, // L - 500 * (f[0] - f[1]), // a - 200 * (f[1] - f[2]), // b - ] as Vec3; -} - -export function Lab_to_XYZ(Lab: Vec3) { - // Convert Lab to D50-adapted XYZ - // http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html - const kappa = 24389 / 27; // 29^3/3^3 - const eps = 216 / 24389; // 6^3/29^3 - const white = [0.96422, 1.0, 0.82521]; // D50 reference white - const f: number[] = []; - - // compute f, starting with the luminance-related term - f[1] = (Lab[0] + 16) / 116; - f[0] = Lab[1] / 500 + f[1]; - f[2] = f[1] - Lab[2] / 200; - - // compute xyz - const xyz = [ - Math.pow(f[0], 3) > eps ? Math.pow(f[0], 3) : (116 * f[0] - 16) / kappa, - Lab[0] > kappa * eps ? Math.pow((Lab[0] + 16) / 116, 3) : Lab[0] / kappa, - Math.pow(f[2], 3) > eps ? Math.pow(f[2], 3) : (116 * f[2] - 16) / kappa, - ]; - - // Compute XYZ by scaling xyz by reference white - return xyz.map((value, i) => value * white[i]) as Vec3; -} - -export function Lab_to_LCH(Lab: Vec3) { - // Convert to polar form - const hue = (Math.atan2(Lab[2], Lab[1]) * 180) / Math.PI; - return [ - Lab[0], // L is still L - Math.sqrt(Math.pow(Lab[1], 2) + Math.pow(Lab[2], 2)), // Chroma - hue >= 0 ? hue : hue + 360, // Hue, in degrees [0 to 360) - ] as Vec3; -} - -export function LCH_to_Lab(LCH: Vec3) { - // Convert from polar form - return [ - LCH[0], // L is still L - LCH[1] * Math.cos((LCH[2] * Math.PI) / 180), // a - LCH[1] * Math.sin((LCH[2] * Math.PI) / 180), // b - ] as Vec3; -} - -export function sRGB_to_LCH(RGB: Vec3) { - // convert an array of gamma-corrected sRGB values - // in the 0.0 to 1.0 range - // to linear-light sRGB, then to CIE XYZ, - // then adapt from D65 to D50, - // then convert XYZ to CIE Lab - // and finally, convert to CIE LCH - - return Lab_to_LCH(XYZ_to_Lab(D65_to_D50(lin_sRGB_to_XYZ(lin_sRGB(RGB))))); -} - -export function LCH_to_sRGB(LCH: Vec3) { - // convert an array of CIE LCH values - // to CIE Lab, and then to XYZ, - // adapt from D50 to D65, - // then convert XYZ to linear-light sRGB - // and finally to gamma corrected sRGB - // for in-gamut colors, components are in the 0.0 to 1.0 range - // out of gamut colors may have negative components - // or components greater than 1.0 - // so check for that :) - - return gam_sRGB(XYZ_to_lin_sRGB(D50_to_D65(Lab_to_XYZ(LCH_to_Lab(LCH))))); -} - -export function LAB_to_sRGB(LAB: Vec3) { - // convert an array of CIE Lab values to XYZ, - // adapt from D50 to D65, - // then convert XYZ to linear-light sRGB - // and finally to gamma corrected sRGB - // for in-gamut colors, components are in the 0.0 to 1.0 range - // out of gamut colors may have negative components - // or components greater than 1.0 - // so check for that :) - - return gam_sRGB(XYZ_to_lin_sRGB(D50_to_D65(Lab_to_XYZ(LAB)))); -} - -function is_LCH_inside_sRGB(l: number, c: number, h: number): boolean { - const eps = 0.000005; - const rgb = LCH_to_sRGB([+l, +c, +h]); - return rgb.reduce((a: boolean, b: number) => a && b >= 0 - eps && b <= 1 + eps, true); -} - -export function snap_into_gamut(Lab: Vec3): Vec3 { - // Moves an LCH color into the sRGB gamut - // by holding the l and h steady, - // and adjusting the c via binary-search - // until the color is on the sRGB boundary. - - // .0001 chosen fairly arbitrarily as "close enough" - const eps = 0.0001; - - const LCH = Lab_to_LCH(Lab); - const l = LCH[0]; - let c = LCH[1]; - const h = LCH[2]; - - if (is_LCH_inside_sRGB(l, c, h)) { - return Lab; - } - - let hiC = c; - let loC = 0; - c /= 2; - - while (hiC - loC > eps) { - if (is_LCH_inside_sRGB(l, c, h)) { - loC = c; - } else { - hiC = c; - } - c = (hiC + loC) / 2; - } - - return LCH_to_Lab([l, c, h]); -} diff --git a/src/webviews/theme/utils/geometry.ts b/src/webviews/theme/utils/geometry.ts deleted file mode 100644 index 295ee8db5..000000000 --- a/src/webviews/theme/utils/geometry.ts +++ /dev/null @@ -1,72 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { type Curve, type CurvePath, type Vec3 } from './types'; - -const curveResolution = 128; - -// Many of these functions are ported from ThreeJS, which is distributed under -// the MIT license. Retrieved from https://github.com/mrdoob/three.js on -// 14 October 2021. - -function equals(v1: Vec3, v2: Vec3) { - return v1[0] === v2[0] && v1[1] === v2[1] && v1[2] === v2[2]; -} - -function QuadraticBezierP0(t: number, p: number): number { - const k = 1 - t; - return k * k * p; -} - -function QuadraticBezierP1(t: number, p: number): number { - return 2 * (1 - t) * t * p; -} - -function QuadraticBezierP2(t: number, p: number): number { - return t * t * p; -} - -function QuadraticBezier(t: number, p0: number, p1: number, p2: number): number { - return QuadraticBezierP0(t, p0) + QuadraticBezierP1(t, p1) + QuadraticBezierP2(t, p2); -} - -function getPointOnCurve(curve: Curve, t: number) { - const [v0, v1, v2] = curve.points; - return [ - QuadraticBezier(t, v0[0], v1[0], v2[0]), - QuadraticBezier(t, v0[1], v1[1], v2[1]), - QuadraticBezier(t, v0[2], v1[2], v2[2]), - ] as Vec3; -} - -function getPointsOnCurve(curve: Curve, divisions: number): Vec3[] { - const points: Vec3[] = []; - for (let d = 0; d <= divisions; d++) { - points.push(getPointOnCurve(curve, d / divisions)); - } - return points; -} - -export function getPointsOnCurvePath(curvePath: CurvePath, divisions = curveResolution): Vec3[] { - const points: Vec3[] = []; - let last: Vec3 | undefined; - - for (let i = 0, curves = curvePath.curves; i < curves.length; i++) { - const curve = curves[i]; - const pts = getPointsOnCurve(curve, divisions); - - for (const point of pts) { - if (last && equals(last, point)) { - // ensures no consecutive points are duplicates - continue; - } - - points.push(point); - last = point; - } - } - - return points; -} diff --git a/src/webviews/theme/utils/hueMap.ts b/src/webviews/theme/utils/hueMap.ts deleted file mode 100644 index 8237f18a9..000000000 --- a/src/webviews/theme/utils/hueMap.ts +++ /dev/null @@ -1,403 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export function hexToHue(hexColor: string): number { - // Parse the hex color string into its red, green, and blue components - const red = parseInt(hexColor.substring(1, 3), 16); - const green = parseInt(hexColor.substring(3, 5), 16); - const blue = parseInt(hexColor.substring(5, 7), 16); - - // Convert the RGB color to HSL color space - const r = red / 255; - const g = green / 255; - const b = blue / 255; - const cmax = Math.max(r, g, b); - const cmin = Math.min(r, g, b); - const delta = cmax - cmin; - let hue: number; - - // Calculate the hue value based on the RGB color values - if (delta === 0) { - hue = 0; - } else if (cmax === r) { - hue = ((g - b) / delta) % 6; - } else if (cmax === g) { - hue = (b - r) / delta + 2; - } else { - hue = (r - g) / delta + 4; - } - - // Convert the hue value to degrees and return it - hue = Math.round(hue * 60); - if (hue < 0) { - hue += 360; - } - - return hue; -} - -// map of hue to [min, center, max], generated from Arman -export const hueToSnappingPointsMap = [ - [0.0085504, 0.148504, 0.858504], - [0.00855388, 0.1485388, 0.8585388], - [0.0085582, 0.148582, 0.858582], - [0.00856192, 0.1486192, 0.8586192], - [0.00856644, 0.1486644, 0.8586644], - [0.00857184, 0.1487184, 0.8587184], - [0.0085802, 0.148802, 0.858802], - [0.00858752, 0.1488752, 0.8588752], - [0.00859616, 0.1489616, 0.8589616], - [0.00860584, 0.1490584, 0.8590584], - [0.00861948, 0.1491948, 0.8591948], - [0.00863172, 0.1493172, 0.8593172], - [0.00864508, 0.1494508, 0.8594508], - [0.00865968, 0.1495968, 0.8595968], - [0.00867968, 0.1497968, 0.8597968], - [0.00869708, 0.1499708, 0.8599708], - [0.00871576, 0.1501576, 0.8601576], - [0.0087358, 0.150358, 0.860358], - [0.00876272, 0.1506272, 0.8606272], - [0.0087858, 0.150858, 0.860858], - [0.00881028, 0.1511028, 0.8611028], - [0.0088362, 0.151362, 0.861362], - [0.0088706, 0.151706, 0.861706], - [0.0088998, 0.151998, 0.861998], - [0.00893052, 0.1523052, 0.8623052], - [0.00896272, 0.1526272, 0.8626272], - [0.00900516, 0.1530516, 0.8630516], - [0.00904084, 0.1534084, 0.8634084], - [0.00907812, 0.1537812, 0.8637812], - [0.00911704, 0.1541704, 0.8641704], - [0.00916792, 0.1546792, 0.8646792], - [0.00921048, 0.1551048, 0.8651048], - [0.00925472, 0.1555472, 0.8655472], - [0.00930064, 0.1560064, 0.8660064], - [0.00934824, 0.1564824, 0.8664824], - [0.0094102, 0.157102, 0.867102], - [0.00946168, 0.1576168, 0.8676168], - [0.00951496, 0.1581496, 0.8681496], - [0.00957, 0.1587, 0.8687], - [0.00964128, 0.1594128, 0.8694128], - [0.00970036, 0.1600036, 0.8700036], - [0.00976128, 0.1606128, 0.8706128], - [0.00982404, 0.1612404, 0.8712404], - [0.00990508, 0.1620508, 0.8720508], - [0.009972, 0.16272, 0.87272], - [0.01004084, 0.1634084, 0.8734084], - [0.0101296, 0.164296, 0.874296], - [0.01020272, 0.1650272, 0.8750272], - [0.01027784, 0.1657784, 0.8757784], - [0.01035488, 0.1665488, 0.8765488], - [0.01045392, 0.1675392, 0.8775392], - [0.0105354, 0.168354, 0.878354], - [0.01061892, 0.1691892, 0.8791892], - [0.0107044, 0.170044, 0.880044], - [0.01081412, 0.1711412, 0.8811412], - [0.0109042, 0.172042, 0.882042], - [0.01099636, 0.1729636, 0.8829636], - [0.01109056, 0.1739056, 0.8839056], - [0.01121124, 0.1751124, 0.8851124], - [0.01131016, 0.1761016, 0.8861016], - [0.0114112, 0.177112, 0.887112], - [0.01138116, 0.1768116, 0.8868116], - [0.01135176, 0.1765176, 0.8865176], - [0.01131588, 0.1761588, 0.8861588], - [0.01128788, 0.1758788, 0.8858788], - [0.01126048, 0.1756048, 0.8856048], - [0.01122712, 0.1752712, 0.8852712], - [0.01120108, 0.1750108, 0.8850108], - [0.01117568, 0.1747568, 0.8847568], - [0.01115088, 0.1745088, 0.8845088], - [0.01112068, 0.1742068, 0.8842068], - [0.0110972, 0.173972, 0.883972], - [0.01107428, 0.1737428, 0.8837428], - [0.01105196, 0.1735196, 0.8835196], - [0.01102488, 0.1732488, 0.8832488], - [0.01100384, 0.1730384, 0.8830384], - [0.0109834, 0.172834, 0.882834], - [0.01096348, 0.1726348, 0.8826348], - [0.01094416, 0.1724416, 0.8824416], - [0.01092072, 0.1722072, 0.8822072], - [0.01090264, 0.1720264, 0.8820264], - [0.01088508, 0.1718508, 0.8818508], - [0.01086388, 0.1716388, 0.8816388], - [0.01084752, 0.1714752, 0.8814752], - [0.01083168, 0.1713168, 0.8813168], - [0.01081636, 0.1711636, 0.8811636], - [0.010798, 0.17098, 0.88098], - [0.0107838, 0.170838, 0.880838], - [0.01077016, 0.1707016, 0.8807016], - [0.010757, 0.17057, 0.88057], - [0.01074436, 0.1704436, 0.8804436], - [0.01072924, 0.1702924, 0.8802924], - [0.01071768, 0.1701768, 0.8801768], - [0.01070656, 0.1700656, 0.8800656], - [0.010696, 0.16996, 0.87996], - [0.01068336, 0.1698336, 0.8798336], - [0.01067376, 0.1697376, 0.8797376], - [0.01066464, 0.1696464, 0.8796464], - [0.010656, 0.16956, 0.87956], - [0.01064572, 0.1694572, 0.8794572], - [0.01063804, 0.1693804, 0.8793804], - [0.01063076, 0.1693076, 0.8793076], - [0.01062224, 0.1692224, 0.8792224], - [0.01061588, 0.1691588, 0.8791588], - [0.01060996, 0.1690996, 0.8790996], - [0.0106044, 0.169044, 0.879044], - [0.0105992, 0.168992, 0.878992], - [0.01059328, 0.1689328, 0.8789328], - [0.01058892, 0.1688892, 0.8788892], - [0.01058496, 0.1688496, 0.8788496], - [0.01058132, 0.1688132, 0.8788132], - [0.01057728, 0.1687728, 0.8787728], - [0.0105744, 0.168744, 0.878744], - [0.01057184, 0.1687184, 0.8787184], - [0.01056956, 0.1686956, 0.8786956], - [0.01056716, 0.1686716, 0.8786716], - [0.01056556, 0.1686556, 0.8786556], - [0.0105642, 0.168642, 0.878642], - [0.01056284, 0.1686284, 0.8786284], - [0.0105618, 0.168618, 0.878618], - [0.0105608, 0.168608, 0.878608], - [0.01056112, 0.1686112, 0.8786112], - [0.01056148, 0.1686148, 0.8786148], - [0.01056196, 0.1686196, 0.8786196], - [0.0105624, 0.168624, 0.878624], - [0.01056296, 0.1686296, 0.8786296], - [0.0105636, 0.168636, 0.878636], - [0.01056452, 0.1686452, 0.8786452], - [0.0105654, 0.168654, 0.878654], - [0.0105664, 0.168664, 0.878664], - [0.01056748, 0.1686748, 0.8786748], - [0.010569, 0.16869, 0.87869], - [0.01057036, 0.1687036, 0.8787036], - [0.0105718, 0.168718, 0.878718], - [0.01057384, 0.1687384, 0.8787384], - [0.0105756, 0.168756, 0.878756], - [0.01057748, 0.1687748, 0.8787748], - [0.01057948, 0.1687948, 0.8787948], - [0.01058164, 0.1688164, 0.8788164], - [0.01058456, 0.1688456, 0.8788456], - [0.010587, 0.16887, 0.87887], - [0.01058964, 0.1688964, 0.8788964], - [0.0105924, 0.168924, 0.878924], - [0.01059604, 0.1689604, 0.8789604], - [0.01059916, 0.1689916, 0.8789916], - [0.0106024, 0.169024, 0.879024], - [0.01060668, 0.1690668, 0.8790668], - [0.01061028, 0.1691028, 0.8791028], - [0.01061408, 0.1691408, 0.8791408], - [0.010618, 0.16918, 0.87918], - [0.01062312, 0.1692312, 0.8792312], - [0.01062744, 0.1692744, 0.8792744], - [0.01063188, 0.1693188, 0.8793188], - [0.01063652, 0.1693652, 0.8793652], - [0.01064132, 0.1694132, 0.8794132], - [0.0106476, 0.169476, 0.879476], - [0.0106528, 0.169528, 0.879528], - [0.01065816, 0.1695816, 0.8795816], - [0.01066372, 0.1696372, 0.8796372], - [0.01067092, 0.1697092, 0.8797092], - [0.01067688, 0.1697688, 0.8797688], - [0.01068304, 0.1698304, 0.8798304], - [0.01068936, 0.1698936, 0.8798936], - [0.01069756, 0.1699756, 0.8799756], - [0.01070428, 0.1700428, 0.8800428], - [0.01071124, 0.1701124, 0.8801124], - [0.0107184, 0.170184, 0.880184], - [0.0107276, 0.170276, 0.880276], - [0.0107352, 0.170352, 0.880352], - [0.01074296, 0.1704296, 0.8804296], - [0.01075092, 0.1705092, 0.8805092], - [0.01076116, 0.1706116, 0.8806116], - [0.0107696, 0.170696, 0.880696], - [0.01077824, 0.1707824, 0.8807824], - [0.01078708, 0.1708708, 0.8808708], - [0.0107984, 0.170984, 0.880984], - [0.01080772, 0.1710772, 0.8810772], - [0.0108172, 0.171172, 0.881172], - [0.0108294, 0.171294, 0.881294], - [0.0108394, 0.171394, 0.881394], - [0.0108496, 0.171496, 0.881496], - [0.01074856, 0.1704856, 0.8804856], - [0.01064964, 0.1694964, 0.8794964], - [0.01052896, 0.1682896, 0.8782896], - [0.01043476, 0.1673476, 0.8773476], - [0.0103426, 0.166426, 0.876426], - [0.01025252, 0.1655252, 0.8755252], - [0.0101428, 0.164428, 0.874428], - [0.01005732, 0.1635732, 0.8735732], - [0.0099738, 0.162738, 0.872738], - [0.00987228, 0.1617228, 0.8717228], - [0.009716, 0.16016, 0.87016], - [0.0096412, 0.159412, 0.869412], - [0.009568, 0.15868, 0.86868], - [0.00947924, 0.1577924, 0.8677924], - [0.0094104, 0.157104, 0.867104], - [0.00934348, 0.1564348, 0.8664348], - [0.0092624, 0.155624, 0.865624], - [0.00919968, 0.1549968, 0.8649968], - [0.0091388, 0.154388, 0.864388], - [0.00907968, 0.1537968, 0.8637968], - [0.0090224, 0.153224, 0.863224], - [0.00895336, 0.1525336, 0.8625336], - [0.00890008, 0.1520008, 0.8620008], - [0.0088486, 0.151486, 0.861486], - [0.00878664, 0.1508664, 0.8608664], - [0.00873904, 0.1503904, 0.8603904], - [0.00869312, 0.1499312, 0.8599312], - [0.00864888, 0.1494888, 0.8594888], - [0.00860632, 0.1490632, 0.8590632], - [0.00855544, 0.1485544, 0.8585544], - [0.00851652, 0.1481652, 0.8581652], - [0.00851652, 0.1481652, 0.8581652], - [0.00847924, 0.1477924, 0.8577924], - [0.00844356, 0.1474356, 0.8574356], - [0.00840112, 0.1470112, 0.8570112], - [0.00836888, 0.1466888, 0.8566888], - [0.0083382, 0.146382, 0.856382], - [0.008309, 0.14609, 0.85609], - [0.00827456, 0.1457456, 0.8557456], - [0.00824868, 0.1454868, 0.8554868], - [0.00822416, 0.1452416, 0.8552416], - [0.00819556, 0.1449556, 0.8549556], - [0.00817416, 0.1447416, 0.8547416], - [0.00815416, 0.1445416, 0.8545416], - [0.00813544, 0.1443544, 0.8543544], - [0.00811804, 0.1441804, 0.8541804], - [0.00809808, 0.1439808, 0.8539808], - [0.00808348, 0.1438348, 0.8538348], - [0.00807012, 0.1437012, 0.8537012], - [0.00805504, 0.1435504, 0.8535504], - [0.00804424, 0.1434424, 0.8534424], - [0.00803456, 0.1433456, 0.8533456], - [0.00802592, 0.1432592, 0.8532592], - [0.00801832, 0.1431832, 0.8531832], - [0.00801024, 0.1431024, 0.8531024], - [0.0080048, 0.143048, 0.853048], - [0.00800028, 0.1430028, 0.8530028], - [0.00799572, 0.1429572, 0.8529572], - [0.00799224, 0.1429224, 0.8529224], - [0.0079888, 0.142888, 0.852888], - [0.0079898, 0.142898, 0.852898], - [0.00799084, 0.1429084, 0.8529084], - [0.0079922, 0.142922, 0.852922], - [0.0079936, 0.142936, 0.852936], - [0.0079952, 0.142952, 0.852952], - [0.00799704, 0.1429704, 0.8529704], - [0.00799984, 0.1429984, 0.8529984], - [0.0080024, 0.143024, 0.853024], - [0.00800528, 0.1430528, 0.8530528], - [0.00800848, 0.1430848, 0.8530848], - [0.00801296, 0.1431296, 0.8531296], - [0.00801692, 0.1431692, 0.8531692], - [0.00802128, 0.1432128, 0.8532128], - [0.0080272, 0.143272, 0.853272], - [0.0080324, 0.143324, 0.853324], - [0.00803796, 0.1433796, 0.8533796], - [0.00804388, 0.1434388, 0.8534388], - [0.00805024, 0.1435024, 0.8535024], - [0.0080588, 0.143588, 0.853588], - [0.00806604, 0.1436604, 0.8536604], - [0.00807372, 0.1437372, 0.8537372], - [0.008084, 0.14384, 0.85384], - [0.00809264, 0.1439264, 0.8539264], - [0.00810176, 0.1440176, 0.8540176], - [0.00811136, 0.1441136, 0.8541136], - [0.008124, 0.14424, 0.85424], - [0.0081346, 0.144346, 0.854346], - [0.00814568, 0.1444568, 0.8544568], - [0.0081572, 0.144572, 0.854572], - [0.00817236, 0.1447236, 0.8547236], - [0.008185, 0.14485, 0.85485], - [0.00819816, 0.1449816, 0.8549816], - [0.0082118, 0.145118, 0.855118], - [0.008226, 0.14526, 0.85526], - [0.0082444, 0.145444, 0.855444], - [0.00826, 0.1456, 0.8556], - [0.00827552, 0.1457552, 0.8557552], - [0.00829188, 0.1459188, 0.8559188], - [0.00831308, 0.1461308, 0.8561308], - [0.00833064, 0.1463064, 0.8563064], - [0.00834872, 0.1464872, 0.8564872], - [0.00837212, 0.1467212, 0.8567212], - [0.00839148, 0.1469148, 0.8569148], - [0.00841136, 0.1471136, 0.8571136], - [0.00843184, 0.1473184, 0.8573184], - [0.00845288, 0.1475288, 0.8575288], - [0.00848, 0.1478, 0.8578], - [0.00850228, 0.1480228, 0.8580228], - [0.0085252, 0.148252, 0.858252], - [0.00855464, 0.1485464, 0.8585464], - [0.00857884, 0.1487884, 0.8587884], - [0.00860368, 0.1490368, 0.8590368], - [0.00862908, 0.1492908, 0.8592908], - [0.00866172, 0.1496172, 0.8596172], - [0.00868848, 0.1498848, 0.8598848], - [0.00871588, 0.1501588, 0.8601588], - [0.00874388, 0.1504388, 0.8604388], - [0.00877976, 0.1507976, 0.8607976], - [0.0088092, 0.151092, 0.861092], - [0.0088392, 0.151392, 0.861392], - [0.008829, 0.15129, 0.86129], - [0.008819, 0.15119, 0.86119], - [0.0088068, 0.151068, 0.861068], - [0.00879732, 0.1509732, 0.8609732], - [0.008788, 0.15088, 0.86088], - [0.00877668, 0.1507668, 0.8607668], - [0.00876784, 0.1506784, 0.8606784], - [0.0087592, 0.150592, 0.860592], - [0.0087508, 0.150508, 0.860508], - [0.00874256, 0.1504256, 0.8604256], - [0.00873256, 0.1503256, 0.8603256], - [0.0087248, 0.150248, 0.860248], - [0.0087172, 0.150172, 0.860172], - [0.008708, 0.15008, 0.86008], - [0.00870084, 0.1500084, 0.8600084], - [0.00869388, 0.1499388, 0.8599388], - [0.00868712, 0.1498712, 0.8598712], - [0.00867896, 0.1497896, 0.8597896], - [0.00867264, 0.1497264, 0.8597264], - [0.00866648, 0.1496648, 0.8596648], - [0.00866052, 0.1496052, 0.8596052], - [0.00865332, 0.1495332, 0.8595332], - [0.00864776, 0.1494776, 0.8594776], - [0.0086424, 0.149424, 0.859424], - [0.0086372, 0.149372, 0.859372], - [0.00863092, 0.1493092, 0.8593092], - [0.00862612, 0.1492612, 0.8592612], - [0.00862148, 0.1492148, 0.8592148], - [0.008617, 0.14917, 0.85917], - [0.00861272, 0.1491272, 0.8591272], - [0.0086076, 0.149076, 0.859076], - [0.00860368, 0.1490368, 0.8590368], - [0.00859988, 0.1489988, 0.8589988], - [0.00859628, 0.1489628, 0.8589628], - [0.008592, 0.14892, 0.85892], - [0.00858876, 0.1488876, 0.8588876], - [0.00858564, 0.1488564, 0.8588564], - [0.00858272, 0.1488272, 0.8588272], - [0.00857924, 0.1487924, 0.8587924], - [0.0085766, 0.148766, 0.858766], - [0.00857416, 0.1487416, 0.8587416], - [0.0085718, 0.148718, 0.858718], - [0.00856908, 0.1486908, 0.8586908], - [0.00856708, 0.1486708, 0.8586708], - [0.0085652, 0.148652, 0.858652], - [0.008563, 0.14863, 0.85863], - [0.0085614, 0.148614, 0.858614], - [0.00856, 0.1486, 0.8586], - [0.0085586, 0.148586, 0.858586], - [0.00855736, 0.1485736, 0.8585736], - [0.008556, 0.14856, 0.85856], - [0.008555, 0.14855, 0.85855], - [0.00855412, 0.1485412, 0.8585412], - [0.0085532, 0.148532, 0.858532], - [0.00855256, 0.1485256, 0.8585256], - [0.008552, 0.14852, 0.85852], - [0.00855156, 0.1485156, 0.8585156], - [0.00855108, 0.1485108, 0.8585108], - [0.00855072, 0.1485072, 0.8585072], -]; diff --git a/src/webviews/theme/utils/index.ts b/src/webviews/theme/utils/index.ts deleted file mode 100644 index 868ff0bad..000000000 --- a/src/webviews/theme/utils/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export * from './csswg'; -export * from './geometry'; -export * from './palettes'; -export * from './types'; - diff --git a/src/webviews/theme/utils/palettes.ts b/src/webviews/theme/utils/palettes.ts deleted file mode 100644 index dd39f5240..000000000 --- a/src/webviews/theme/utils/palettes.ts +++ /dev/null @@ -1,216 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -/* eslint-disable @typescript-eslint/naming-convention */ -import { Lab_to_LCH, LAB_to_sRGB, LCH_to_Lab, snap_into_gamut, sRGB_to_LCH } from './csswg'; -import { getPointsOnCurvePath } from './geometry'; -import { hexToHue, hueToSnappingPointsMap } from './hueMap'; -import { type CurvedHelixPath, type Palette, type Vec3 } from './types'; - -/** - * When distributing output shades along the curve, for each shade’s lightness a - * logarithmically distributed value is averaged with a linearly distributed - * value to this degree between zero and one, zero meaning use the logarithmic - * value, one meaning use the linear value. - */ -const defaultLinearity = 0.75; - -const snappingPointsForKeyColor = (keyColor: string): number[] => { - const hue = hexToHue(keyColor); - return [ - hueToSnappingPointsMap[hue][0] * 100, - hueToSnappingPointsMap[hue][1] * 100, - hueToSnappingPointsMap[hue][2] * 100, - ]; -}; - -const pointsForKeyColor = (keyColor: string, range: number[]): number[] => { - const hue = hexToHue(keyColor); - const center = hueToSnappingPointsMap[hue][1] * 100; - - return linearInterpolationThroughPoint(range[0], range[1], center, 16); -}; - -function linearInterpolationThroughPoint(start: number, end: number, inBetween: number, numSamples: number) { - if (numSamples < 3) { - throw new Error('Number of samples must be at least 3.'); - } - - // Find the ratio of the inBetween point - const inBetweenRatio = (inBetween - start) / (end - start); - - // Calculate the index of the inBetween point in the resulting array - const inBetweenIndex = Math.floor((numSamples - 1) * inBetweenRatio); - - // Initialize the output array - const result: number[] = new Array(numSamples); - - // Set start, inBetween and end points in the result array - result[0] = start; - result[inBetweenIndex] = inBetween; - result[numSamples - 1] = end; - - // Calculate the step size for each segment - const stepBefore = (inBetween - start) / inBetweenIndex; - const stepAfter = (end - inBetween) / (numSamples - 1 - inBetweenIndex); - - // Fill the array with interpolated values before the inBetween point - for (let i = 1; i < inBetweenIndex; i++) { - result[i] = start + i * stepBefore; - } - - // Fill the array with interpolated values after the inBetween point - for (let i = inBetweenIndex + 1; i < numSamples - 1; i++) { - result[i] = inBetween + (i - inBetweenIndex) * stepAfter; - } - - return result; -} - -const getLogSpace = (min: number, max: number, n: number) => { - const a = min <= 0 ? 0 : Math.log(min); - const b = Math.log(max); - const delta = (b - a) / n; - - const result = [Math.pow(Math.E, a)]; - for (let i = 1; i < n; i += 1) { - result.push(Math.pow(Math.E, a + delta * i)); - } - result.push(Math.pow(Math.E, b)); - return result; -}; - -function paletteShadesFromCurvePoints( - curvePoints: Vec3[], - nShades: number, - linearity = defaultLinearity, - keyColor: string, -): Vec3[] { - if (curvePoints.length <= 2) { - return []; - } - - const snappingPoints = snappingPointsForKeyColor(keyColor); - const paletteShades: Vec3[] = []; - const range = [snappingPoints[0], snappingPoints[2]]; - const logLightness = getLogSpace(Math.log10(0), Math.log10(100), nShades); - const linearLightness = pointsForKeyColor(keyColor, range); - let c = 0; - - // obtain 2d path through color space to grab points from - for (let i = 0; i < nShades; i++) { - const l = Math.min( - range[1], - Math.max(range[0], logLightness[i] * (1 - linearity) + linearLightness[i] * linearity), - ); - - while (l > curvePoints[c + 1][0]) { - c++; - } - - const [l1, a1, b1] = curvePoints[c]; - const [l2, a2, b2] = curvePoints[c + 1]; - - const u = (l - l1) / (l2 - l1); - - paletteShades[i] = [l1 + (l2 - l1) * u, a1 + (a2 - a1) * u, b1 + (b2 - b1) * u] as Vec3; - } - - return paletteShades.map(snap_into_gamut); -} - -export function paletteShadesFromCurve( - keyColor: string, - curve: CurvedHelixPath, - nShades = 16, - linearity = defaultLinearity, - curveDepth = 24, -): Vec3[] { - const points = getPointsOnCurvePath(curve, Math.ceil((curveDepth * (1 + Math.abs(curve.torsion || 1))) / 2)).map( - (curvePoint: Vec3) => getPointOnHelix(curvePoint, curve.torsion, curve.torsionT0), - ); - return paletteShadesFromCurvePoints(points, nShades, linearity, keyColor); -} - -export function sRGB_to_hex(rgb: Vec3): string { - return `#${rgb - .map((x) => { - const channel = x < 0 ? 0 : Math.floor(x >= 1.0 ? 255 : x * 256); - return channel.toString(16).padStart(2, '0'); - }) - .join('')}`; -} - -export function Lab_to_hex(lab: Vec3): string { - return sRGB_to_hex(LAB_to_sRGB(lab)); -} - -export function hex_to_sRGB(hex: string): Vec3 { - const aRgbHex = hex.match(/#?(..)(..)(..)/); - return aRgbHex - ? [parseInt(aRgbHex[1], 16) / 255, parseInt(aRgbHex[2], 16) / 255, parseInt(aRgbHex[3], 16) / 255] - : [0, 0, 0]; -} - -export function hex_to_LCH(hex: string): Vec3 { - return sRGB_to_LCH(hex_to_sRGB(hex)); -} - -function paletteShadesToHex(paletteShades: Vec3[]): string[] { - return paletteShades.map(Lab_to_hex); -} - -function getPointOnHelix(pointOnCurve: Vec3, torsion = 0, torsionT0 = 50): Vec3 { - const t = pointOnCurve[0]; - const [l, c, h] = Lab_to_LCH(pointOnCurve); - const hueOffset = torsion * (t - torsionT0); - return LCH_to_Lab([l, c, h + hueOffset]); -} - -export function curvePathFromPalette({ keyColor, darkCp, lightCp, hueTorsion }: Palette): CurvedHelixPath { - const blackPosition = [0, 0, 0]; - const whitePosition = [100, 0, 0]; - const keyColorPosition = LCH_to_Lab(keyColor); - const [l, a, b] = keyColorPosition; - - const darkControlPosition = [l * (1 - darkCp), a, b]; - const lightControlPosition = [l + (100 - l) * lightCp, a, b]; - - return { - curves: [ - { points: [blackPosition, darkControlPosition, keyColorPosition] }, - { points: [keyColorPosition, lightControlPosition, whitePosition] }, - ], - torsion: hueTorsion, - torsionT0: l, - } as CurvedHelixPath; -} - -export function hexColorsFromPalette( - keyColor: string, - palette: Palette, - nShades = 16, - linearity = defaultLinearity, - curveDepth = 24, -): string[] { - const curve = curvePathFromPalette(palette); - const shades = paletteShadesFromCurve(keyColor, curve, nShades, linearity, curveDepth); - return paletteShadesToHex(shades); -} - -export function RGBAToHexA(rgba: string, forceRemoveAlpha = false) { - return ( - '#' + - rgba - .replace(/^rgba?\(|\s+|\)$/g, '') // Gets rgba / rgb string values - .split(',') // splits them at "," - .filter((_string, index) => !forceRemoveAlpha || index !== 3) - .map((string) => parseFloat(string)) // Converts them to numbers - .map((number, index) => (index === 3 ? Math.round(number * 255) : number)) // Converts alpha to 255 number - .map((number) => number.toString(16)) // Converts numbers to hex - .map((string) => (string.length === 1 ? '0' + string : string)) // Adds 0 when length of one number is 1 - .join('') - ); // Puts the array together to a string -} diff --git a/src/webviews/theme/utils/types.ts b/src/webviews/theme/utils/types.ts deleted file mode 100644 index 3788c2b56..000000000 --- a/src/webviews/theme/utils/types.ts +++ /dev/null @@ -1,28 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export type Vec3 = [number, number, number]; - -export type Curve = { - points: [Vec3, Vec3, Vec3]; - cacheArcLengths?: number[]; -}; - -export interface CurvePath { - curves: Curve[]; - cacheLengths?: number[]; -} - -export interface CurvedHelixPath extends CurvePath { - torsion?: number; - torsionT0?: number; -} - -export type Palette = { - keyColor: Vec3; - darkCp: number; - lightCp: number; - hueTorsion: number; -}; diff --git a/src/webviews/theme/vscodeThemeTokens.tsx b/src/webviews/theme/vscodeThemeTokens.tsx deleted file mode 100644 index f9eb2ce9e..000000000 --- a/src/webviews/theme/vscodeThemeTokens.tsx +++ /dev/null @@ -1,832 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -/** - * const workspaceColorsDocUri = vscode.Uri.parse('vscode://schemas/workbench-colors'); - * const doc = await vscode.workspace.openTextDocument(workspaceColorsDocUri); - * const workbenchColors = await JSON.parse(doc.getText()); - * - * https://code.visualstudio.com/api/references/theme-color#base-colors - */ - -export const vscodeThemeTokens = [ - 'actionBar.toggledBackground', - 'activityBar.activeBackground', - 'activityBar.activeBorder', - 'activityBar.activeFocusBorder', - 'activityBar.background', - 'activityBar.border', - 'activityBar.dropBorder', - 'activityBar.foreground', - 'activityBar.inactiveForeground', - 'activityBarBadge.background', - 'activityBarBadge.foreground', - 'activityBarTop.activeBackground', - 'activityBarTop.activeBorder', - 'activityBarTop.background', - 'activityBarTop.dropBorder', - 'activityBarTop.foreground', - 'activityBarTop.inactiveForeground', - 'badge.background', - 'badge.foreground', - 'banner.background', - 'banner.foreground', - 'banner.iconForeground', - 'breadcrumb.activeSelectionForeground', - 'breadcrumb.background', - 'breadcrumb.focusForeground', - 'breadcrumb.foreground', - 'breadcrumbPicker.background', - 'button.background', - 'button.border', - 'button.foreground', - 'button.hoverBackground', - 'button.secondaryBackground', - 'button.secondaryForeground', - 'button.secondaryHoverBackground', - 'button.separator', - 'charts.blue', - 'charts.foreground', - 'charts.green', - 'charts.lines', - 'charts.orange', - 'charts.purple', - 'charts.red', - 'charts.yellow', - 'chat.avatarBackground', - 'chat.avatarForeground', - 'chat.requestBackground', - 'chat.requestBorder', - 'chat.slashCommandBackground', - 'chat.slashCommandForeground', - 'checkbox.background', - 'checkbox.border', - 'checkbox.foreground', - 'checkbox.selectBackground', - 'checkbox.selectBorder', - 'commandCenter.activeBackground', - 'commandCenter.activeBorder', - 'commandCenter.activeForeground', - 'commandCenter.background', - 'commandCenter.border', - 'commandCenter.debuggingBackground', - 'commandCenter.foreground', - 'commandCenter.inactiveBorder', - 'commandCenter.inactiveForeground', - 'commentsView.resolvedIcon', - 'commentsView.unresolvedIcon', - 'contrastActiveBorder', - 'contrastBorder', - 'debugConsole.errorForeground', - 'debugConsole.infoForeground', - 'debugConsole.sourceForeground', - 'debugConsole.warningForeground', - 'debugConsoleInputIcon.foreground', - 'debugExceptionWidget.background', - 'debugExceptionWidget.border', - 'debugIcon.breakpointCurrentStackframeForeground', - 'debugIcon.breakpointDisabledForeground', - 'debugIcon.breakpointForeground', - 'debugIcon.breakpointStackframeForeground', - 'debugIcon.breakpointUnverifiedForeground', - 'debugIcon.continueForeground', - 'debugIcon.disconnectForeground', - 'debugIcon.pauseForeground', - 'debugIcon.restartForeground', - 'debugIcon.startForeground', - 'debugIcon.stepBackForeground', - 'debugIcon.stepIntoForeground', - 'debugIcon.stepOutForeground', - 'debugIcon.stepOverForeground', - 'debugIcon.stopForeground', - 'debugTokenExpression.boolean', - 'debugTokenExpression.error', - 'debugTokenExpression.name', - 'debugTokenExpression.number', - 'debugTokenExpression.string', - 'debugTokenExpression.type', - 'debugTokenExpression.value', - 'debugToolBar.background', - 'debugToolBar.border', - 'debugView.exceptionLabelBackground', - 'debugView.exceptionLabelForeground', - 'debugView.stateLabelBackground', - 'debugView.stateLabelForeground', - 'debugView.valueChangedHighlight', - 'descriptionForeground', - 'diffEditor.border', - 'diffEditor.diagonalFill', - 'diffEditor.insertedLineBackground', - 'diffEditor.insertedTextBackground', - 'diffEditor.insertedTextBorder', - 'diffEditor.move.border', - 'diffEditor.moveActive.border', - 'diffEditor.removedLineBackground', - 'diffEditor.removedTextBackground', - 'diffEditor.removedTextBorder', - 'diffEditor.unchangedCodeBackground', - 'diffEditor.unchangedRegionBackground', - 'diffEditor.unchangedRegionForeground', - 'diffEditor.unchangedRegionShadow', - 'diffEditorGutter.insertedLineBackground', - 'diffEditorGutter.removedLineBackground', - 'diffEditorOverview.insertedForeground', - 'diffEditorOverview.removedForeground', - 'disabledForeground', - 'dropdown.background', - 'dropdown.border', - 'dropdown.foreground', - 'dropdown.listBackground', - 'editor.background', - 'editor.findMatchBackground', - 'editor.findMatchBorder', - 'editor.findMatchForeground', - 'editor.findMatchHighlightBackground', - 'editor.findMatchHighlightBorder', - 'editor.findMatchHighlightForeground', - 'editor.findRangeHighlightBackground', - 'editor.findRangeHighlightBorder', - 'editor.focusedStackFrameHighlightBackground', - 'editor.foldBackground', - 'editor.foldPlaceholderForeground', - 'editor.foreground', - 'editor.hoverHighlightBackground', - 'editor.inactiveSelectionBackground', - 'editor.inlineValuesBackground', - 'editor.inlineValuesForeground', - 'editor.lineHighlightBackground', - 'editor.lineHighlightBorder', - 'editor.linkedEditingBackground', - 'editor.placeholder.foreground', - 'editor.rangeHighlightBackground', - 'editor.rangeHighlightBorder', - 'editor.selectionBackground', - 'editor.selectionForeground', - 'editor.selectionHighlightBackground', - 'editor.selectionHighlightBorder', - 'editor.snippetFinalTabstopHighlightBackground', - 'editor.snippetFinalTabstopHighlightBorder', - 'editor.snippetTabstopHighlightBackground', - 'editor.snippetTabstopHighlightBorder', - 'editor.stackFrameHighlightBackground', - 'editor.symbolHighlightBackground', - 'editor.symbolHighlightBorder', - 'editor.wordHighlightBackground', - 'editor.wordHighlightBorder', - 'editor.wordHighlightStrongBackground', - 'editor.wordHighlightStrongBorder', - 'editor.wordHighlightTextBackground', - 'editor.wordHighlightTextBorder', - 'editorActionList.background', - 'editorActionList.focusBackground', - 'editorActionList.focusForeground', - 'editorActionList.foreground', - 'editorActiveLineNumber.foreground', - 'editorBracketHighlight.foreground1', - 'editorBracketHighlight.foreground2', - 'editorBracketHighlight.foreground3', - 'editorBracketHighlight.foreground4', - 'editorBracketHighlight.foreground5', - 'editorBracketHighlight.foreground6', - 'editorBracketHighlight.unexpectedBracket.foreground', - 'editorBracketMatch.background', - 'editorBracketMatch.border', - 'editorBracketPairGuide.activeBackground1', - 'editorBracketPairGuide.activeBackground2', - 'editorBracketPairGuide.activeBackground3', - 'editorBracketPairGuide.activeBackground4', - 'editorBracketPairGuide.activeBackground5', - 'editorBracketPairGuide.activeBackground6', - 'editorBracketPairGuide.background1', - 'editorBracketPairGuide.background2', - 'editorBracketPairGuide.background3', - 'editorBracketPairGuide.background4', - 'editorBracketPairGuide.background5', - 'editorBracketPairGuide.background6', - 'editorCodeLens.foreground', - 'editorCommentsWidget.rangeActiveBackground', - 'editorCommentsWidget.rangeBackground', - 'editorCommentsWidget.replyInputBackground', - 'editorCommentsWidget.resolvedBorder', - 'editorCommentsWidget.unresolvedBorder', - 'editorCursor.background', - 'editorCursor.foreground', - 'editorError.background', - 'editorError.border', - 'editorError.foreground', - 'editorGhostText.background', - 'editorGhostText.border', - 'editorGhostText.foreground', - 'editorGroup.border', - 'editorGroup.dropBackground', - 'editorGroup.dropIntoPromptBackground', - 'editorGroup.dropIntoPromptBorder', - 'editorGroup.dropIntoPromptForeground', - 'editorGroup.emptyBackground', - 'editorGroup.focusedEmptyBorder', - 'editorGroupHeader.border', - 'editorGroupHeader.noTabsBackground', - 'editorGroupHeader.tabsBackground', - 'editorGroupHeader.tabsBorder', - 'editorGutter.addedBackground', - 'editorGutter.background', - 'editorGutter.commentGlyphForeground', - 'editorGutter.commentRangeForeground', - 'editorGutter.commentUnresolvedGlyphForeground', - 'editorGutter.deletedBackground', - 'editorGutter.foldingControlForeground', - 'editorGutter.modifiedBackground', - 'editorHint.border', - 'editorHint.foreground', - 'editorHoverWidget.background', - 'editorHoverWidget.border', - 'editorHoverWidget.foreground', - 'editorHoverWidget.highlightForeground', - 'editorHoverWidget.statusBarBackground', - 'editorIndentGuide.activeBackground', - 'editorIndentGuide.activeBackground1', - 'editorIndentGuide.activeBackground2', - 'editorIndentGuide.activeBackground3', - 'editorIndentGuide.activeBackground4', - 'editorIndentGuide.activeBackground5', - 'editorIndentGuide.activeBackground6', - 'editorIndentGuide.background', - 'editorIndentGuide.background1', - 'editorIndentGuide.background2', - 'editorIndentGuide.background3', - 'editorIndentGuide.background4', - 'editorIndentGuide.background5', - 'editorIndentGuide.background6', - 'editorInfo.background', - 'editorInfo.border', - 'editorInfo.foreground', - 'editorInlayHint.background', - 'editorInlayHint.foreground', - 'editorInlayHint.parameterBackground', - 'editorInlayHint.parameterForeground', - 'editorInlayHint.typeBackground', - 'editorInlayHint.typeForeground', - 'editorLightBulb.foreground', - 'editorLightBulbAi.foreground', - 'editorLightBulbAutoFix.foreground', - 'editorLineNumber.activeForeground', - 'editorLineNumber.dimmedForeground', - 'editorLineNumber.foreground', - 'editorLink.activeForeground', - 'editorMarkerNavigation.background', - 'editorMarkerNavigationError.background', - 'editorMarkerNavigationError.headerBackground', - 'editorMarkerNavigationInfo.background', - 'editorMarkerNavigationInfo.headerBackground', - 'editorMarkerNavigationWarning.background', - 'editorMarkerNavigationWarning.headerBackground', - 'editorMultiCursor.primary.background', - 'editorMultiCursor.primary.foreground', - 'editorMultiCursor.secondary.background', - 'editorMultiCursor.secondary.foreground', - 'editorOverviewRuler.addedForeground', - 'editorOverviewRuler.background', - 'editorOverviewRuler.border', - 'editorOverviewRuler.bracketMatchForeground', - 'editorOverviewRuler.commentForeground', - 'editorOverviewRuler.commentUnresolvedForeground', - 'editorOverviewRuler.commonContentForeground', - 'editorOverviewRuler.currentContentForeground', - 'editorOverviewRuler.deletedForeground', - 'editorOverviewRuler.errorForeground', - 'editorOverviewRuler.findMatchForeground', - 'editorOverviewRuler.incomingContentForeground', - 'editorOverviewRuler.infoForeground', - 'editorOverviewRuler.inlineChatInserted', - 'editorOverviewRuler.inlineChatRemoved', - 'editorOverviewRuler.modifiedForeground', - 'editorOverviewRuler.rangeHighlightForeground', - 'editorOverviewRuler.selectionHighlightForeground', - 'editorOverviewRuler.warningForeground', - 'editorOverviewRuler.wordHighlightForeground', - 'editorOverviewRuler.wordHighlightStrongForeground', - 'editorOverviewRuler.wordHighlightTextForeground', - 'editorPane.background', - 'editorRuler.foreground', - 'editorStickyScroll.background', - 'editorStickyScroll.border', - 'editorStickyScroll.shadow', - 'editorStickyScrollHover.background', - 'editorSuggestWidget.background', - 'editorSuggestWidget.border', - 'editorSuggestWidget.focusHighlightForeground', - 'editorSuggestWidget.foreground', - 'editorSuggestWidget.highlightForeground', - 'editorSuggestWidget.selectedBackground', - 'editorSuggestWidget.selectedForeground', - 'editorSuggestWidget.selectedIconForeground', - 'editorSuggestWidgetStatus.foreground', - 'editorUnicodeHighlight.background', - 'editorUnicodeHighlight.border', - 'editorUnnecessaryCode.border', - 'editorUnnecessaryCode.opacity', - 'editorWarning.background', - 'editorWarning.border', - 'editorWarning.foreground', - 'editorWatermark.foreground', - 'editorWhitespace.foreground', - 'editorWidget.background', - 'editorWidget.border', - 'editorWidget.foreground', - 'editorWidget.resizeBorder', - 'errorForeground', - 'extensionBadge.remoteBackground', - 'extensionBadge.remoteForeground', - 'extensionButton.background', - 'extensionButton.foreground', - 'extensionButton.hoverBackground', - 'extensionButton.prominentBackground', - 'extensionButton.prominentForeground', - 'extensionButton.prominentHoverBackground', - 'extensionButton.separator', - 'extensionIcon.preReleaseForeground', - 'extensionIcon.sponsorForeground', - 'extensionIcon.starForeground', - 'extensionIcon.verifiedForeground', - 'focusBorder', - 'foreground', - 'gitDecoration.addedResourceForeground', - 'gitDecoration.conflictingResourceForeground', - 'gitDecoration.deletedResourceForeground', - 'gitDecoration.ignoredResourceForeground', - 'gitDecoration.modifiedResourceForeground', - 'gitDecoration.renamedResourceForeground', - 'gitDecoration.stageDeletedResourceForeground', - 'gitDecoration.stageModifiedResourceForeground', - 'gitDecoration.submoduleResourceForeground', - 'gitDecoration.untrackedResourceForeground', - 'icon.foreground', - 'inlineChat.background', - 'inlineChat.border', - 'inlineChat.foreground', - 'inlineChat.shadow', - 'inlineChatDiff.inserted', - 'inlineChatDiff.removed', - 'inlineChatInput.background', - 'inlineChatInput.border', - 'inlineChatInput.focusBorder', - 'inlineChatInput.placeholderForeground', - 'input.background', - 'input.border', - 'input.foreground', - 'input.placeholderForeground', - 'inputOption.activeBackground', - 'inputOption.activeBorder', - 'inputOption.activeForeground', - 'inputOption.hoverBackground', - 'inputValidation.errorBackground', - 'inputValidation.errorBorder', - 'inputValidation.errorForeground', - 'inputValidation.infoBackground', - 'inputValidation.infoBorder', - 'inputValidation.infoForeground', - 'inputValidation.warningBackground', - 'inputValidation.warningBorder', - 'inputValidation.warningForeground', - 'interactive.activeCodeBorder', - 'interactive.inactiveCodeBorder', - 'keybindingLabel.background', - 'keybindingLabel.border', - 'keybindingLabel.bottomBorder', - 'keybindingLabel.foreground', - 'keybindingTable.headerBackground', - 'keybindingTable.rowsBackground', - 'list.activeSelectionBackground', - 'list.activeSelectionForeground', - 'list.activeSelectionIconForeground', - 'list.deemphasizedForeground', - 'list.dropBackground', - 'list.dropBetweenBackground', - 'list.errorForeground', - 'list.filterMatchBackground', - 'list.filterMatchBorder', - 'list.focusAndSelectionOutline', - 'list.focusBackground', - 'list.focusForeground', - 'list.focusHighlightForeground', - 'list.focusOutline', - 'list.highlightForeground', - 'list.hoverBackground', - 'list.hoverForeground', - 'list.inactiveFocusBackground', - 'list.inactiveFocusOutline', - 'list.inactiveSelectionBackground', - 'list.inactiveSelectionForeground', - 'list.inactiveSelectionIconForeground', - 'list.invalidItemForeground', - 'list.warningForeground', - 'listFilterWidget.background', - 'listFilterWidget.noMatchesOutline', - 'listFilterWidget.outline', - 'listFilterWidget.shadow', - 'menu.background', - 'menu.border', - 'menu.foreground', - 'menu.selectionBackground', - 'menu.selectionBorder', - 'menu.selectionForeground', - 'menu.separatorBackground', - 'menubar.selectionBackground', - 'menubar.selectionBorder', - 'menubar.selectionForeground', - 'merge.border', - 'merge.commonContentBackground', - 'merge.commonHeaderBackground', - 'merge.currentContentBackground', - 'merge.currentHeaderBackground', - 'merge.incomingContentBackground', - 'merge.incomingHeaderBackground', - 'mergeEditor.change.background', - 'mergeEditor.change.word.background', - 'mergeEditor.changeBase.background', - 'mergeEditor.changeBase.word.background', - 'mergeEditor.conflict.handled.minimapOverViewRuler', - 'mergeEditor.conflict.handledFocused.border', - 'mergeEditor.conflict.handledUnfocused.border', - 'mergeEditor.conflict.input1.background', - 'mergeEditor.conflict.input2.background', - 'mergeEditor.conflict.unhandled.minimapOverViewRuler', - 'mergeEditor.conflict.unhandledFocused.border', - 'mergeEditor.conflict.unhandledUnfocused.border', - 'mergeEditor.conflictingLines.background', - 'minimap.background', - 'minimap.errorHighlight', - 'minimap.findMatchHighlight', - 'minimap.foregroundOpacity', - 'minimap.infoHighlight', - 'minimap.selectionHighlight', - 'minimap.selectionOccurrenceHighlight', - 'minimap.warningHighlight', - 'minimapGutter.addedBackground', - 'minimapGutter.deletedBackground', - 'minimapGutter.modifiedBackground', - 'minimapSlider.activeBackground', - 'minimapSlider.background', - 'minimapSlider.hoverBackground', - 'multiDiffEditor.background', - 'multiDiffEditor.border', - 'multiDiffEditor.headerBackground', - 'notebook.cellBorderColor', - 'notebook.cellEditorBackground', - 'notebook.cellHoverBackground', - 'notebook.cellInsertionIndicator', - 'notebook.cellStatusBarItemHoverBackground', - 'notebook.cellToolbarSeparator', - 'notebook.editorBackground', - 'notebook.focusedCellBackground', - 'notebook.focusedCellBorder', - 'notebook.focusedEditorBorder', - 'notebook.inactiveFocusedCellBorder', - 'notebook.inactiveSelectedCellBorder', - 'notebook.outputContainerBackgroundColor', - 'notebook.outputContainerBorderColor', - 'notebook.selectedCellBackground', - 'notebook.selectedCellBorder', - 'notebook.symbolHighlightBackground', - 'notebookEditorOverviewRuler.runningCellForeground', - 'notebookScrollbarSlider.activeBackground', - 'notebookScrollbarSlider.background', - 'notebookScrollbarSlider.hoverBackground', - 'notebookStatusErrorIcon.foreground', - 'notebookStatusRunningIcon.foreground', - 'notebookStatusSuccessIcon.foreground', - 'notificationCenter.border', - 'notificationCenterHeader.background', - 'notificationCenterHeader.foreground', - 'notificationLink.foreground', - 'notifications.background', - 'notifications.border', - 'notifications.foreground', - 'notificationsErrorIcon.foreground', - 'notificationsInfoIcon.foreground', - 'notificationsWarningIcon.foreground', - 'notificationToast.border', - 'outputView.background', - 'outputViewStickyScroll.background', - 'panel.background', - 'panel.border', - 'panel.dropBorder', - 'panelInput.border', - 'panelSection.border', - 'panelSection.dropBackground', - 'panelSectionHeader.background', - 'panelSectionHeader.border', - 'panelSectionHeader.foreground', - 'panelStickyScroll.background', - 'panelStickyScroll.border', - 'panelStickyScroll.shadow', - 'panelTitle.activeBorder', - 'panelTitle.activeForeground', - 'panelTitle.inactiveForeground', - 'peekView.border', - 'peekViewEditor.background', - 'peekViewEditor.matchHighlightBackground', - 'peekViewEditor.matchHighlightBorder', - 'peekViewEditorGutter.background', - 'peekViewEditorStickyScroll.background', - 'peekViewResult.background', - 'peekViewResult.fileForeground', - 'peekViewResult.lineForeground', - 'peekViewResult.matchHighlightBackground', - 'peekViewResult.selectionBackground', - 'peekViewResult.selectionForeground', - 'peekViewTitle.background', - 'peekViewTitleDescription.foreground', - 'peekViewTitleLabel.foreground', - 'pickerGroup.border', - 'pickerGroup.foreground', - 'ports.iconRunningProcessForeground', - 'problemsErrorIcon.foreground', - 'problemsInfoIcon.foreground', - 'problemsWarningIcon.foreground', - 'profileBadge.background', - 'profileBadge.foreground', - 'profiles.sashBorder', - 'progressBar.background', - 'quickInput.background', - 'quickInput.foreground', - 'quickInput.list.focusBackground', - 'quickInputList.focusBackground', - 'quickInputList.focusForeground', - 'quickInputList.focusIconForeground', - 'quickInputTitle.background', - 'radio.activeBackground', - 'radio.activeBorder', - 'radio.activeForeground', - 'radio.inactiveBackground', - 'radio.inactiveBorder', - 'radio.inactiveForeground', - 'radio.inactiveHoverBackground', - 'sash.hoverBorder', - 'scm.historyItemAdditionsForeground', - 'scm.historyItemDeletionsForeground', - 'scm.historyItemSelectedStatisticsBorder', - 'scm.historyItemStatisticsBorder', - 'scmGraph.foreground1', - 'scmGraph.foreground2', - 'scmGraph.foreground3', - 'scmGraph.historyItemGroupBase', - 'scmGraph.historyItemGroupLocal', - 'scmGraph.historyItemGroupRemote', - 'scmGraph.historyItemHoverAdditionsForeground', - 'scmGraph.historyItemHoverDeletionsForeground', - 'scmGraph.historyItemHoverLabelForeground', - 'scrollbar.shadow', - 'scrollbarSlider.activeBackground', - 'scrollbarSlider.background', - 'scrollbarSlider.hoverBackground', - 'search.resultsInfoForeground', - 'searchEditor.findMatchBackground', - 'searchEditor.findMatchBorder', - 'searchEditor.textInputBorder', - 'selection.background', - 'settings.checkboxBackground', - 'settings.checkboxBorder', - 'settings.checkboxForeground', - 'settings.dropdownBackground', - 'settings.dropdownBorder', - 'settings.dropdownForeground', - 'settings.dropdownListBorder', - 'settings.focusedRowBackground', - 'settings.focusedRowBorder', - 'settings.headerBorder', - 'settings.headerForeground', - 'settings.modifiedItemIndicator', - 'settings.numberInputBackground', - 'settings.numberInputBorder', - 'settings.numberInputForeground', - 'settings.rowHoverBackground', - 'settings.sashBorder', - 'settings.settingsHeaderHoverForeground', - 'settings.textInputBackground', - 'settings.textInputBorder', - 'settings.textInputForeground', - 'sideBar.background', - 'sideBar.border', - 'sideBar.dropBackground', - 'sideBar.foreground', - 'sideBarActivityBarTop.border', - 'sideBarSectionHeader.background', - 'sideBarSectionHeader.border', - 'sideBarSectionHeader.foreground', - 'sideBarStickyScroll.background', - 'sideBarStickyScroll.border', - 'sideBarStickyScroll.shadow', - 'sideBarTitle.background', - 'sideBarTitle.foreground', - 'sideBySideEditor.horizontalBorder', - 'sideBySideEditor.verticalBorder', - 'simpleFindWidget.sashBorder', - 'statusBar.background', - 'statusBar.border', - 'statusBar.debuggingBackground', - 'statusBar.debuggingBorder', - 'statusBar.debuggingForeground', - 'statusBar.focusBorder', - 'statusBar.foreground', - 'statusBar.noFolderBackground', - 'statusBar.noFolderBorder', - 'statusBar.noFolderForeground', - 'statusBarItem.activeBackground', - 'statusBarItem.compactHoverBackground', - 'statusBarItem.errorBackground', - 'statusBarItem.errorForeground', - 'statusBarItem.errorHoverBackground', - 'statusBarItem.errorHoverForeground', - 'statusBarItem.focusBorder', - 'statusBarItem.hoverBackground', - 'statusBarItem.hoverForeground', - 'statusBarItem.offlineBackground', - 'statusBarItem.offlineForeground', - 'statusBarItem.offlineHoverBackground', - 'statusBarItem.offlineHoverForeground', - 'statusBarItem.prominentBackground', - 'statusBarItem.prominentForeground', - 'statusBarItem.prominentHoverBackground', - 'statusBarItem.prominentHoverForeground', - 'statusBarItem.remoteBackground', - 'statusBarItem.remoteForeground', - 'statusBarItem.remoteHoverBackground', - 'statusBarItem.remoteHoverForeground', - 'statusBarItem.warningBackground', - 'statusBarItem.warningForeground', - 'statusBarItem.warningHoverBackground', - 'statusBarItem.warningHoverForeground', - 'symbolIcon.arrayForeground', - 'symbolIcon.booleanForeground', - 'symbolIcon.classForeground', - 'symbolIcon.colorForeground', - 'symbolIcon.constantForeground', - 'symbolIcon.constructorForeground', - 'symbolIcon.enumeratorForeground', - 'symbolIcon.enumeratorMemberForeground', - 'symbolIcon.eventForeground', - 'symbolIcon.fieldForeground', - 'symbolIcon.fileForeground', - 'symbolIcon.folderForeground', - 'symbolIcon.functionForeground', - 'symbolIcon.interfaceForeground', - 'symbolIcon.keyForeground', - 'symbolIcon.keywordForeground', - 'symbolIcon.methodForeground', - 'symbolIcon.moduleForeground', - 'symbolIcon.namespaceForeground', - 'symbolIcon.nullForeground', - 'symbolIcon.numberForeground', - 'symbolIcon.objectForeground', - 'symbolIcon.operatorForeground', - 'symbolIcon.packageForeground', - 'symbolIcon.propertyForeground', - 'symbolIcon.referenceForeground', - 'symbolIcon.snippetForeground', - 'symbolIcon.stringForeground', - 'symbolIcon.structForeground', - 'symbolIcon.textForeground', - 'symbolIcon.typeParameterForeground', - 'symbolIcon.unitForeground', - 'symbolIcon.variableForeground', - 'tab.activeBackground', - 'tab.activeBorder', - 'tab.activeBorderTop', - 'tab.activeForeground', - 'tab.activeModifiedBorder', - 'tab.border', - 'tab.dragAndDropBorder', - 'tab.hoverBackground', - 'tab.hoverBorder', - 'tab.hoverForeground', - 'tab.inactiveBackground', - 'tab.inactiveForeground', - 'tab.inactiveModifiedBorder', - 'tab.lastPinnedBorder', - 'tab.selectedBackground', - 'tab.selectedBorderTop', - 'tab.selectedForeground', - 'tab.unfocusedActiveBackground', - 'tab.unfocusedActiveBorder', - 'tab.unfocusedActiveBorderTop', - 'tab.unfocusedActiveForeground', - 'tab.unfocusedActiveModifiedBorder', - 'tab.unfocusedHoverBackground', - 'tab.unfocusedHoverBorder', - 'tab.unfocusedHoverForeground', - 'tab.unfocusedInactiveBackground', - 'tab.unfocusedInactiveForeground', - 'tab.unfocusedInactiveModifiedBorder', - 'terminal.ansiBlack', - 'terminal.ansiBlue', - 'terminal.ansiBrightBlack', - 'terminal.ansiBrightBlue', - 'terminal.ansiBrightCyan', - 'terminal.ansiBrightGreen', - 'terminal.ansiBrightMagenta', - 'terminal.ansiBrightRed', - 'terminal.ansiBrightWhite', - 'terminal.ansiBrightYellow', - 'terminal.ansiCyan', - 'terminal.ansiGreen', - 'terminal.ansiMagenta', - 'terminal.ansiRed', - 'terminal.ansiWhite', - 'terminal.ansiYellow', - 'terminal.background', - 'terminal.border', - 'terminal.dropBackground', - 'terminal.findMatchBackground', - 'terminal.findMatchBorder', - 'terminal.findMatchHighlightBackground', - 'terminal.findMatchHighlightBorder', - 'terminal.foreground', - 'terminal.hoverHighlightBackground', - 'terminal.inactiveSelectionBackground', - 'terminal.initialHintForeground', - 'terminal.selectionBackground', - 'terminal.selectionForeground', - 'terminal.tab.activeBorder', - 'terminalCommandDecoration.defaultBackground', - 'terminalCommandDecoration.errorBackground', - 'terminalCommandDecoration.successBackground', - 'terminalCommandGuide.foreground', - 'terminalCursor.background', - 'terminalCursor.foreground', - 'terminalOverviewRuler.border', - 'terminalOverviewRuler.cursorForeground', - 'terminalOverviewRuler.findMatchForeground', - 'terminalStickyScroll.background', - 'terminalStickyScroll.border', - 'terminalStickyScrollHover.background', - 'testExplorer.errorDecorationBackground', - 'testing.coverCountBadgeBackground', - 'testing.coverCountBadgeForeground', - 'testing.coveredBackground', - 'testing.coveredBorder', - 'testing.coveredGutterBackground', - 'testing.iconErrored', - 'testing.iconErrored.retired', - 'testing.iconFailed', - 'testing.iconFailed.retired', - 'testing.iconPassed', - 'testing.iconPassed.retired', - 'testing.iconQueued', - 'testing.iconQueued.retired', - 'testing.iconSkipped', - 'testing.iconSkipped.retired', - 'testing.iconUnset', - 'testing.iconUnset.retired', - 'testing.message.error.decorationForeground', - 'testing.message.error.lineBackground', - 'testing.message.info.decorationForeground', - 'testing.message.info.lineBackground', - 'testing.messagePeekBorder', - 'testing.messagePeekHeaderBackground', - 'testing.peekBorder', - 'testing.peekHeaderBackground', - 'testing.runAction', - 'testing.uncoveredBackground', - 'testing.uncoveredBorder', - 'testing.uncoveredBranchBackground', - 'testing.uncoveredGutterBackground', - 'textBlockQuote.background', - 'textBlockQuote.border', - 'textCodeBlock.background', - 'textLink.activeForeground', - 'textLink.foreground', - 'textPreformat.background', - 'textPreformat.foreground', - 'textSeparator.foreground', - 'titleBar.activeBackground', - 'titleBar.activeForeground', - 'titleBar.border', - 'titleBar.inactiveBackground', - 'titleBar.inactiveForeground', - 'toolbar.activeBackground', - 'toolbar.hoverBackground', - 'toolbar.hoverOutline', - 'tree.inactiveIndentGuidesStroke', - 'tree.indentGuidesStroke', - 'tree.tableColumnsBorder', - 'tree.tableOddRowsBackground', - 'walkThrough.embeddedEditorBackground', - 'walkthrough.stepTitle.foreground', - 'welcomePage.background', - 'welcomePage.progress.background', - 'welcomePage.progress.foreground', - 'welcomePage.tileBackground', - 'welcomePage.tileBorder', - 'welcomePage.tileHoverBackground', - 'widget.border', - 'widget.shadow', - 'window.activeBorder', - 'window.inactiveBorder', -]; - -export const vscodeThemeTokenToCSSVar = (token: string) => { - return `--vscode-${token.replace(/\./g, '-')}`; -}; diff --git a/src/webviews/useConfiguration.ts b/src/webviews/useConfiguration.ts deleted file mode 100644 index ef166beed..000000000 --- a/src/webviews/useConfiguration.ts +++ /dev/null @@ -1,29 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { useState } from 'react'; - -declare global { - interface Window { - config?: { - _initialData?: string; - [key: string]: unknown; // Optional: Allows any other properties in config - }; - } -} - -/** - * Use this hook to access the configuration object that was passed to the webview at its creation. - * - * @returns The configuration object that was passed to the webview at its creation - */ -export function useConfiguration(): T { - const [configuration] = useState(() => { - const configString = decodeURIComponent(window.config?._initialData ?? '{}'); - return JSON.parse(configString) as T; - }); - - return configuration; -} diff --git a/src/webviews/webviewConstants.ts b/src/webviews/webviewConstants.ts deleted file mode 100644 index 51c18bddf..000000000 --- a/src/webviews/webviewConstants.ts +++ /dev/null @@ -1,10 +0,0 @@ -/*--------------------------------------------------------------------------------------------- -* Copyright (c) Microsoft Corporation. All rights reserved. -* Licensed under the MIT License. See License.md in the project root for license information. -*--------------------------------------------------------------------------------------------*/ - -export const enum ConfirmationViewCommands { - Confirm = 'confirm', - Cancel = 'cancel', - Copilot = 'copilot', -} From 772e714fa017e5063fa2c415f62b4d07f86c62de Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Tue, 28 Apr 2026 10:11:28 -0700 Subject: [PATCH 2/8] add prod changes --- esbuild.mjs | 12 +++++++++++- src/extension.ts | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/esbuild.mjs b/esbuild.mjs index 3d3373577..23120427e 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -4,7 +4,11 @@ *--------------------------------------------------------------------------------------------*/ import { autoEsbuildOrWatch, autoSelectEsbuildConfig } from '@microsoft/vscode-azext-eng/esbuild'; -import { readFileSync } from 'node:fs'; +import { copyFileSync, mkdirSync, readFileSync } from 'node:fs'; +import { createRequire } from 'node:module'; +import { dirname, join } from 'node:path'; + +const require = createRequire(import.meta.url); // Workaround for tas-client UMD/ESM mismatch: // tas-client declares "type": "module" in package.json but its entry file is UMD @@ -27,6 +31,12 @@ const fixTasClientPlugin = { } }; +const pkgDist = dirname(require.resolve('@microsoft/vscode-azext-webview/package.json')) + '/dist'; +const outDir = 'dist/webview-assets'; +mkdirSync(outDir, { recursive: true }); +copyFileSync(join(pkgDist, 'views.js'), join(outDir, 'views.js')); +copyFileSync(join(pkgDist, 'views.css'), join(outDir, 'views.css')); + const configs = autoSelectEsbuildConfig(); configs.extensionConfig.plugins.unshift(fixTasClientPlugin); await autoEsbuildOrWatch(configs); diff --git a/src/extension.ts b/src/extension.ts index 1d12666f7..b9eb62e8a 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -10,6 +10,7 @@ import { registerGitHubExtensionVariables } from '@microsoft/vscode-azext-github import { TreeElementStateManager, callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, registerUIExtensionVariables, type IActionContext, type apiUtils } from '@microsoft/vscode-azext-utils'; import { registerWebviewExtensionVariables } from '@microsoft/vscode-azext-webview'; import { AzExtResourceType, type AzureResourcesExtensionApi } from '@microsoft/vscode-azureresources-api'; +import * as path from 'path'; import { v4 as uuid } from 'uuid'; import * as vscode from 'vscode'; import { createContainerAppsApiProvider } from './commands/api/createContainerAppsApiProvider'; @@ -31,7 +32,9 @@ export async function activate(context: vscode.ExtensionContext, perfStats: { lo registerUIExtensionVariables(ext); registerAzureUtilsExtensionVariables(ext); registerGitHubExtensionVariables(ext); - registerWebviewExtensionVariables(context); + registerWebviewExtensionVariables(context, { + webviewAssetsDir: path.join(context.extensionPath, 'dist', 'webview-assets'), + }); return await callWithTelemetryAndErrorHandling('containerApps.activate', async (activateContext: IActionContext) => { activateContext.errorHandling.rethrow = true; From bd8a077454c6311bfeda532c31243db442a6b675 Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Tue, 28 Apr 2026 11:33:41 -0700 Subject: [PATCH 3/8] small change --- src/extension.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/extension.ts b/src/extension.ts index b9eb62e8a..74014bb2a 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -32,7 +32,8 @@ export async function activate(context: vscode.ExtensionContext, perfStats: { lo registerUIExtensionVariables(ext); registerAzureUtilsExtensionVariables(ext); registerGitHubExtensionVariables(ext); - registerWebviewExtensionVariables(context, { + registerWebviewExtensionVariables({ + context, webviewAssetsDir: path.join(context.extensionPath, 'dist', 'webview-assets'), }); From a738541ba254d10a205f8cf0c0069d2484536b74 Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Thu, 30 Apr 2026 08:09:54 -0700 Subject: [PATCH 4/8] update webview package --- package-lock.json | 1508 +++++++++++++++++++++------------------------ package.json | 3 +- 2 files changed, 699 insertions(+), 812 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39732c099..46dc013a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,10 +21,11 @@ "@fluentui/react-components": "^9.56.2", "@fluentui/react-icons": "^2.0.265", "@github/copilot-sdk": "*", + "@microsoft/applicationinsights-common": "3.4.1", "@microsoft/vscode-azext-azureutils": "^4.0.1", "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", - "@microsoft/vscode-azext-webview": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", + "@microsoft/vscode-azext-webview": "^1.0.0", "@microsoft/vscode-azureresources-api": "^3.1.0", "@vscode/codicons": "0.0.38", "dayjs": "^1.11.3", @@ -747,49 +748,39 @@ "license": "MIT" }, "node_modules/@azure/msal-browser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.7.0.tgz", - "integrity": "sha512-uYbJ0YarxkVGWEq814BysJry/IPvpDNkVKmc2bMZp4G+igUQkJ5nlFirycwPGUeA9ICLQqCxqExCA1Z1E07bPA==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-5.9.0.tgz", + "integrity": "sha512-CzE+4PefDSJWj26zU7G1bKchlGRRHMBFreG4tAlGuzyI8hAPiYGobaJvZBgZBf6L63iphX7VH+ityL8VgEQz9Q==", "license": "MIT", "dependencies": { - "@azure/msal-common": "16.5.0" + "@azure/msal-common": "16.5.2" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.5.0.tgz", - "integrity": "sha512-i3eS/5pmxDbIU/mLMENs88Qg3k6XxqJytJy6PpB7L1tCBjdXHJDadCD3Hu1TyTooe7iQo7CYqbocgL/l/8u90g==", + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-16.5.2.tgz", + "integrity": "sha512-GkDEL6TYo3HgT3UuqakdgE9PZfc1hMki6+Hwgy1uddb/EauvAKfu85vVhuofRSo22D1xTnWt8Ucwfg4vSCVwvA==", "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.1.3.tgz", - "integrity": "sha512-LqT8mRZpEils9zGR9eW+Ljqifh2aMA99UF/X0jxIKDYZeHr6onlHwhVP4xHCeLhh55BI63JCbdf1iWJbMh1mPw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-5.1.5.tgz", + "integrity": "sha512-ObTeMoNPmq19X3z40et9Xvs4ZoWVeJg43PZMRLG5iwVL+2nCtAerG3YTDItqPp1CfXNwmCXBbg8jn1DOx65c3g==", "license": "MIT", "dependencies": { - "@azure/msal-common": "16.5.0", - "jsonwebtoken": "^9.0.0", - "uuid": "^8.3.0" + "@azure/msal-common": "16.5.2", + "jsonwebtoken": "^9.0.0" }, "engines": { "node": ">=20" } }, - "node_modules/@azure/msal-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@azure/storage-blob": { "version": "12.31.0", "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.31.0.tgz", @@ -1560,9 +1551,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -1697,21 +1688,21 @@ } }, "node_modules/@fluentui/react-accordion": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.10.0.tgz", - "integrity": "sha512-EwjRfBdC3esMEP++PddyF7bVMSv9+t2W8AY5GkNcwDsqAW3D4zhlvxXBAb3qmpgXy4qMxRWGL8cEaiWgMpH1sg==", + "version": "9.11.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.11.0.tgz", + "integrity": "sha512-mEy73hbJM53tMj3MWqm3ajbBxj48uubnJjumVKI8Z/eXHS8L3GzUy5rf/gUH26xSR2Tl+edpFhYB8PFbJDIKKw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1723,18 +1714,18 @@ } }, "node_modules/@fluentui/react-alert": { - "version": "9.0.0-beta.138", - "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.138.tgz", - "integrity": "sha512-mE3nMx1ngevvmFcp/2sePyJrdE8nme7eqCv1ppUT+mTIA1RYkR8hzBld1+DV1qJYc+F6DCeg4gImuQuu1OXiGA==", + "version": "9.0.0-beta.139", + "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.139.tgz", + "integrity": "sha512-R9r4dwwpWpgFmB8wVeWqipjUh/e6lyacnerX39HtVdgcG/PE+kpdHjKGiy8MAD+BGYCzrUxKNhXTQDlpXasJ1Q==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.11.0", - "@fluentui/react-button": "^9.9.0", + "@fluentui/react-avatar": "^9.11.1", + "@fluentui/react-button": "^9.9.1", "@fluentui/react-icons": "^2.0.239", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1746,16 +1737,16 @@ } }, "node_modules/@fluentui/react-aria": { - "version": "9.17.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.17.10.tgz", - "integrity": "sha512-KqS2XcdN84XsgVG4fAESyOBfixN7zbObWfQVLNZ2gZrp2b1hPGVYfQ6J4WOO0vXMKYp0rre/QMOgDm6/srL0XQ==", + "version": "9.17.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.17.11.tgz", + "integrity": "sha512-K9nz+Wn5JliCpG6bIYYPXvKmpOql+w9uyzmYNYkYQ6QHgoCpph7XUFx1HCtsJm2PPNi8WO8g0ZV9jojdGKl1Tg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-tabster": "^9.26.14", + "@fluentui/react-utilities": "^9.26.3", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -1766,21 +1757,21 @@ } }, "node_modules/@fluentui/react-avatar": { - "version": "9.11.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.11.0.tgz", - "integrity": "sha512-3MogJIiOGilKh9y/sWy0Cali1tpvWQNwcs2ryL7EVXi5xwTfKQM/WEgEnW2z+KtumDQUsRqlCHCSoi+x+BF8Qg==", + "version": "9.11.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.11.1.tgz", + "integrity": "sha512-y1T67rVQQ/D4FAod8F4crXo9funaptscRIiW81LAsbN82fFVexMPQ9GmXooQQvn6ILvjJtf9IyvSJ195qDsyag==", "license": "MIT", "dependencies": { - "@fluentui/react-badge": "^9.5.1", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-badge": "^9.5.2", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-popover": "^9.14.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.10.0", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-tooltip": "^9.10.1", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1792,16 +1783,16 @@ } }, "node_modules/@fluentui/react-badge": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.5.1.tgz", - "integrity": "sha512-OHS15ovGFPShrAA9U+hCyloJEyffC9gdif0a27AOIB9aVlF/hTzG7toxxulcg4ar4F9X3xXk/uccCCa2kzK0Gw==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.5.2.tgz", + "integrity": "sha512-+UPAK9dCD6Gx+LWr6vqKMIbYOPf7oXX+GXRtCJ5fekCTHD0VgIWuIMuEtxVrHpJQdb2VNaZadY8/dMomk2JaXw==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1813,20 +1804,20 @@ } }, "node_modules/@fluentui/react-breadcrumb": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.4.0.tgz", - "integrity": "sha512-QpCjYlM3JTMnNwh/sDehDbuAVjTcgSfjkPdSmFaPk2lPHpER32CBcJVhheP9en2U5NbW1e+Gtvq8y06RN8FCWw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.4.1.tgz", + "integrity": "sha512-XgUB1yv04GdcL/6kUo6kh+BaN4df1A/Ds/fL1QxNrm5E26Vmvvlc0LN0WV/qb5qhKx0NwhtIXgOZHjfzyt7iCA==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-button": "^9.9.0", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-button": "^9.9.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-link": "^9.8.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-link": "^9.8.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1838,19 +1829,19 @@ } }, "node_modules/@fluentui/react-button": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.9.0.tgz", - "integrity": "sha512-aH3aSjKyxIiNb9jJOUaaIq47w7jP5ESFSRzvMjcWOETvlWo4QgNqEOOsYqpcltM1OrQZ0sTy/isxppRcyMDlcQ==", + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.9.1.tgz", + "integrity": "sha512-WNzpseiVbqEKKevTkAnyHNoK/8ktYPE6rvf31gGvSDnBBclqfrn4PSYG2ppi+Z7abmClnaNFxpp1OHuOoVQ8Bg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-aria": "^9.17.11", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1862,18 +1853,18 @@ } }, "node_modules/@fluentui/react-card": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.6.0.tgz", - "integrity": "sha512-vgBvhtSzQDa01aOP9zdhJXFLsZAiDVslRfX3HmlIo1pAMt8w+PBq+ypDp1wxM7HPFpj9+RYcERRKtf4MSNP9Nw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.6.1.tgz", + "integrity": "sha512-KBijjAxi0mBDSgnA1OCglqAVWc+Q0L7A2wCokszX/53oqfJPSvWxWFma7esz9b5MF/kdRrAR0vmy7MiosepNLQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", - "@fluentui/react-text": "^9.6.15", + "@fluentui/react-tabster": "^9.26.14", + "@fluentui/react-text": "^9.6.16", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1885,21 +1876,21 @@ } }, "node_modules/@fluentui/react-carousel": { - "version": "9.9.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.9.6.tgz", - "integrity": "sha512-Ae7DKwQsidRBjUQeiXffRUi8i/26jMgJd24rDVLeQUvoUhs+z/SA9iZN/QMuNl02E291MAEruENKzzkshvfYfg==", + "version": "9.9.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.9.7.tgz", + "integrity": "sha512-lummYk+tASL/rM/SXWruoqhUAyJjTiOMgiCz55ncE3q2pSZe/EbsV5WfRw5B3y7pHX8xLusN831TBgUthj/sUw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.10.0", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-tooltip": "^9.10.1", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "embla-carousel": "^8.5.1", @@ -1914,19 +1905,19 @@ } }, "node_modules/@fluentui/react-checkbox": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.6.0.tgz", - "integrity": "sha512-GMgB1Yx2WP6cISIZoRTyXp2VkJBR8t1+wRyY63RRcofL/ziqqBhz++kl317lbVv7QxnXZh6KlVuoPROWFDQuaw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.6.1.tgz", + "integrity": "sha512-Rsf3TmcNrzLuHan9lyUFUmMZnNyvS7DV8C4Vc9lZnZTFRBo94GRMGzu0BcWKFbr3cCDT/r5RmIyQYz0kc7Jd2w==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1938,18 +1929,18 @@ } }, "node_modules/@fluentui/react-color-picker": { - "version": "9.2.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-color-picker/-/react-color-picker-9.2.15.tgz", - "integrity": "sha512-RMmawl7g4gUYLuTQG2QwCcR9fGC+vDD+snsBlXtObpj/cKpeDmYif46g88pYv86jeIXY1zsjINmLpELmz+uFmw==", + "version": "9.2.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-color-picker/-/react-color-picker-9.2.16.tgz", + "integrity": "sha512-+H8Ea8dwoSeUCTLRpUiGLrRsNvBnlHplnwJPU0isp8jdAfrIM/savZTLj6o4rqNFpNHQqAXxGwNuUV9YfHoJuQ==", "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.3.4", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1961,23 +1952,23 @@ } }, "node_modules/@fluentui/react-combobox": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.17.0.tgz", - "integrity": "sha512-04JTIrXCAbG8HnczFVzJsUJO+NJQ2d/JPynXlmTq7KCMw0BssiF//7IAPFnTiMYmS7jcwc9Uh4ZeFrw+czA79g==", + "version": "9.17.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.17.1.tgz", + "integrity": "sha512-ezgt6tfOKd3wlG6IHvWl0TPNPpfHRtnEwC2kuqHYH/r1nMNp9edFi8Ya3+1eM7oxai19XW0swt69GPwRu51FVQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -1989,71 +1980,71 @@ } }, "node_modules/@fluentui/react-components": { - "version": "9.73.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.73.7.tgz", - "integrity": "sha512-hLxXEAiiMEMmFR3jEYgFPOV5lnNzu6SJU0NtyMCn1Tf4HXgCfy4h700e+GzuAsL1RlQAYC35HplcZHcEffwTIQ==", - "license": "MIT", - "dependencies": { - "@fluentui/react-accordion": "^9.10.0", - "@fluentui/react-alert": "9.0.0-beta.138", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-avatar": "^9.11.0", - "@fluentui/react-badge": "^9.5.1", - "@fluentui/react-breadcrumb": "^9.4.0", - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-card": "^9.6.0", - "@fluentui/react-carousel": "^9.9.6", - "@fluentui/react-checkbox": "^9.6.0", - "@fluentui/react-color-picker": "^9.2.15", - "@fluentui/react-combobox": "^9.17.0", - "@fluentui/react-dialog": "^9.17.3", - "@fluentui/react-divider": "^9.7.0", - "@fluentui/react-drawer": "^9.11.6", - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-image": "^9.4.0", - "@fluentui/react-infobutton": "9.0.0-beta.114", - "@fluentui/react-infolabel": "^9.4.19", - "@fluentui/react-input": "^9.8.1", - "@fluentui/react-label": "^9.4.0", - "@fluentui/react-link": "^9.8.0", - "@fluentui/react-list": "^9.6.13", - "@fluentui/react-menu": "^9.24.0", - "@fluentui/react-message-bar": "^9.6.23", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-nav": "^9.3.23", - "@fluentui/react-overflow": "^9.7.1", - "@fluentui/react-persona": "^9.7.2", - "@fluentui/react-popover": "^9.14.1", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", - "@fluentui/react-progress": "^9.5.0", - "@fluentui/react-provider": "^9.22.15", - "@fluentui/react-radio": "^9.6.1", - "@fluentui/react-rating": "^9.4.0", - "@fluentui/react-search": "^9.4.1", - "@fluentui/react-select": "^9.5.0", + "version": "9.73.8", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.73.8.tgz", + "integrity": "sha512-JG4KQjEvRRfPlh4yt6Rv1/k87ydM2y49r5XPNCnuYHahA7kEM+dY8JdOI7n7FW8bdcvZ7qt4smDrQ2XcPfmxlA==", + "license": "MIT", + "dependencies": { + "@fluentui/react-accordion": "^9.11.0", + "@fluentui/react-alert": "9.0.0-beta.139", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-avatar": "^9.11.1", + "@fluentui/react-badge": "^9.5.2", + "@fluentui/react-breadcrumb": "^9.4.1", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-card": "^9.6.1", + "@fluentui/react-carousel": "^9.9.7", + "@fluentui/react-checkbox": "^9.6.1", + "@fluentui/react-color-picker": "^9.2.16", + "@fluentui/react-combobox": "^9.17.1", + "@fluentui/react-dialog": "^9.18.0", + "@fluentui/react-divider": "^9.7.1", + "@fluentui/react-drawer": "^9.12.0", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-image": "^9.4.1", + "@fluentui/react-infobutton": "9.0.0-beta.115", + "@fluentui/react-infolabel": "^9.4.20", + "@fluentui/react-input": "^9.8.2", + "@fluentui/react-label": "^9.4.1", + "@fluentui/react-link": "^9.8.1", + "@fluentui/react-list": "^9.6.14", + "@fluentui/react-menu": "^9.24.1", + "@fluentui/react-message-bar": "^9.7.0", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-nav": "^9.3.24", + "@fluentui/react-overflow": "^9.7.2", + "@fluentui/react-persona": "^9.7.3", + "@fluentui/react-popover": "^9.14.2", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", + "@fluentui/react-progress": "^9.5.1", + "@fluentui/react-provider": "^9.22.16", + "@fluentui/react-radio": "^9.6.2", + "@fluentui/react-rating": "^9.4.1", + "@fluentui/react-search": "^9.4.2", + "@fluentui/react-select": "^9.5.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-skeleton": "^9.7.1", - "@fluentui/react-slider": "^9.6.1", - "@fluentui/react-spinbutton": "^9.6.1", - "@fluentui/react-spinner": "^9.8.1", - "@fluentui/react-swatch-picker": "^9.5.1", - "@fluentui/react-switch": "^9.7.1", - "@fluentui/react-table": "^9.19.14", - "@fluentui/react-tabs": "^9.12.0", - "@fluentui/react-tabster": "^9.26.13", - "@fluentui/react-tag-picker": "^9.8.5", - "@fluentui/react-tags": "^9.8.0", - "@fluentui/react-teaching-popover": "^9.6.20", - "@fluentui/react-text": "^9.6.15", - "@fluentui/react-textarea": "^9.7.1", + "@fluentui/react-skeleton": "^9.7.2", + "@fluentui/react-slider": "^9.6.2", + "@fluentui/react-spinbutton": "^9.6.2", + "@fluentui/react-spinner": "^9.8.2", + "@fluentui/react-swatch-picker": "^9.5.2", + "@fluentui/react-switch": "^9.7.2", + "@fluentui/react-table": "^9.19.15", + "@fluentui/react-tabs": "^9.12.1", + "@fluentui/react-tabster": "^9.26.14", + "@fluentui/react-tag-picker": "^9.8.6", + "@fluentui/react-tags": "^9.8.1", + "@fluentui/react-teaching-popover": "^9.6.21", + "@fluentui/react-text": "^9.6.16", + "@fluentui/react-textarea": "^9.7.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-toast": "^9.7.16", - "@fluentui/react-toolbar": "^9.7.7", - "@fluentui/react-tooltip": "^9.10.0", - "@fluentui/react-tree": "^9.15.16", - "@fluentui/react-utilities": "^9.26.2", - "@fluentui/react-virtualizer": "9.0.0-alpha.111", + "@fluentui/react-toast": "^9.7.17", + "@fluentui/react-toolbar": "^9.8.0", + "@fluentui/react-tooltip": "^9.10.1", + "@fluentui/react-tree": "^9.16.0", + "@fluentui/react-utilities": "^9.26.3", + "@fluentui/react-virtualizer": "9.0.0-alpha.112", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2065,12 +2056,12 @@ } }, "node_modules/@fluentui/react-context-selector": { - "version": "9.2.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.2.15.tgz", - "integrity": "sha512-QymBntFLJNZ9VfTOaBn2ApUSSSC5UuDW8ZcgPJPA+06XEFH+U9Zny2d9QAg1xYNYwIGWahWGQ+7ATOuLxtB8Jw==", + "version": "9.2.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.2.16.tgz", + "integrity": "sha512-D+/X2liT+eZe0rzXbwddPH333ml2SXz71biR13aeyGJQr8+W+icMAIsYhpwk0CC3KtJ3f1/CLTm7vcIrvqsJ4g==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2082,23 +2073,23 @@ } }, "node_modules/@fluentui/react-dialog": { - "version": "9.17.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.17.3.tgz", - "integrity": "sha512-rF5l8n5yhaB//ZHns0my3Tviir7R8NVyRgTtvV2gLhG58YM7qpm54oraG83uwlXCcZp0wlg2LuIe1cZ559ex1A==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.18.0.tgz", + "integrity": "sha512-i+V2o0NJ1itjVADJFov5AR/JetpD2hCMiLye0vfi3/XsFMgEPZnGzILVxPCO/ovULTiCyThcL1UvY0d/PYrZfA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-portal": "^9.8.12", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2110,15 +2101,15 @@ } }, "node_modules/@fluentui/react-divider": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.7.0.tgz", - "integrity": "sha512-U8Nhrghjeh+XCGM4B7aHYosd6fXaxHC3MpZi7DB0xQ20ljn5cSTpBt4Yvl+tB9ld2+/eM8wekx1GVKyI4yWa3g==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.7.1.tgz", + "integrity": "sha512-ptymE6iADb/ugezulaMeoAfGxKSwOjHEHBh8N1ydOR3AoOxsSUPkvoPC0mReO/yV5Nas7pz5s5VuJTspmFz0hA==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2130,20 +2121,20 @@ } }, "node_modules/@fluentui/react-drawer": { - "version": "9.11.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.11.6.tgz", - "integrity": "sha512-E+k3eKVb/xKPm2RH5Q1xBjL89NeB1GXtYHO6qRlhQ9auYVTlaBCR7f/ZfIIJJ2x8MzfntQljyl94VARtmZYnyA==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.12.0.tgz", + "integrity": "sha512-PUXeXUH6JqwpjqYphHesHl75UAFSvxQJQqrevMFHE78ZF0Cqn59Xpa+8hGwRSuoRcYa90jjfHzJOOjN0iNM2iA==", "license": "MIT", "dependencies": { - "@fluentui/react-dialog": "^9.17.3", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-dialog": "^9.18.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-portal": "^9.8.12", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2155,18 +2146,18 @@ } }, "node_modules/@fluentui/react-field": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.5.0.tgz", - "integrity": "sha512-yGjB9RXqKrolkkjyAsKVdrH2Xeinj+vromrSCJelgMJ3Q3D6YkExHQzgtdzqo0fVPppnEA4oDKL3Vqqnz/G5Ug==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.5.1.tgz", + "integrity": "sha512-u8J2d3AWb4yZXvy/mQd95y2lTon890RfybBTCbeBUzApGMI/77WqT5pRJ+zTM3lOMToPHVKylchNFusMpJaX9w==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2178,9 +2169,9 @@ } }, "node_modules/@fluentui/react-icons": { - "version": "2.0.324", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.324.tgz", - "integrity": "sha512-wbtIQWwoTWNU6KyuF59zZ1viFv1i68iwVa1+so/QnfNKNHIXa2MEZ375Vg/pcubFBqlTxsKMrCBFtHEIzBHG/Q==", + "version": "2.0.325", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.325.tgz", + "integrity": "sha512-dbmpGMwyCFfkFdMSTEFnbNMXKDomPpqbzXVKRKM0EEQrcwOoQvm08d+SV+WWH11kni26SrgEtB9ycldD+fr92w==", "license": "MIT", "dependencies": { "@griffel/react": "^1.6.1", @@ -2191,15 +2182,15 @@ } }, "node_modules/@fluentui/react-image": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.4.0.tgz", - "integrity": "sha512-BpcBlmkukm7YYf6PTCbAIMkeCXc8+7aq2eMADsxF5gFD8j3d5lBY3cKByOWRM1NvXcMXmqXr/hQP+ovqNAHzEA==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.4.1.tgz", + "integrity": "sha512-yNd2Wq2xq952UUEVBkWeEmM7bTKdWx6BnsHPYRf0kdTADox2PquApYXsI1xw2pnAh3GSjARrGi9Eto0qxouLqA==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2211,18 +2202,18 @@ } }, "node_modules/@fluentui/react-infobutton": { - "version": "9.0.0-beta.114", - "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.114.tgz", - "integrity": "sha512-3mqnlIcRc0PuW7rsxLFjzqnI/IITZIrHRt8Zwcm8NX7XZIK3wfODb9ytmQDYU/5IfwiSXC+xozqhI6kttaE3iw==", + "version": "9.0.0-beta.115", + "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.115.tgz", + "integrity": "sha512-b+4B0ODzPEb4jNaW9HdT6VVt3CL5FgPL2yuKzALBsYVl3udJdFpyxHsZEPf3JrVTBL/rgF2fRI1iAioX6Fl7DA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.237", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", - "@fluentui/react-popover": "^9.14.1", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", + "@fluentui/react-popover": "^9.14.2", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2234,19 +2225,19 @@ } }, "node_modules/@fluentui/react-infolabel": { - "version": "9.4.19", - "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.4.19.tgz", - "integrity": "sha512-b/3ETF5DPgHcRUcj85iGyiEXUFozFq+IY6tPcyCiUcmIoKScD8McFaHozjpaVqngLbCz0uKNNA0JDy1x/T2ItQ==", + "version": "9.4.20", + "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.4.20.tgz", + "integrity": "sha512-w4FOnNP+CtbVdKBEO6wXAcmOuPZWvmB/BJj+7J/8cLAQm7+4kQgitFHncU6rtFhPdGbikVoBf707/0R1mA4aIg==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", - "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", + "@fluentui/react-popover": "^9.14.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2258,16 +2249,16 @@ } }, "node_modules/@fluentui/react-input": { - "version": "9.8.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.8.1.tgz", - "integrity": "sha512-ZlMeYBf1EQg4alI5+9gfx3Icmq3xibPiIYeARtFzOKJ2XzpnD4d/yswx3IDkzXCbqw9rSHtHV03vEeYLUPPTGw==", + "version": "9.8.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.8.2.tgz", + "integrity": "sha512-t9zmqZR4bqeRjpWuCGfI4yrtPoCXFiK2XO4BoV5nNwAesglgz4+Vtso4YXst9QYEAazHtKI73YFJf1mn55hCuA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2279,12 +2270,12 @@ } }, "node_modules/@fluentui/react-jsx-runtime": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.4.1.tgz", - "integrity": "sha512-ZodSm7jRa4kaLKDi+emfHFMP/IDnYwFQQAI2BdtKbVrvfwvzPRprGcnTgivnqKBT1ROvKOCY2ddz7+yZzesnNw==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.4.2.tgz", + "integrity": "sha512-y3o0PBg2qzSdvgxDm7rH9BWq7E1h/eUWS+IhjQhd9dRpme6Py01+OLOglHojM5Tc9QjIp2Rjy2mFWBHXOR+8mw==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2293,15 +2284,15 @@ } }, "node_modules/@fluentui/react-label": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.4.0.tgz", - "integrity": "sha512-joQ7YNz2dgwDd134sc7e8/vxfFKBUT5AdWx0apT0ohWKgh7RBjB3AdXsaJ8FaMKMNZIGTxZVsP4hHcGsWMTAFw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.4.1.tgz", + "integrity": "sha512-4O3cPX6dSJVBKlIEbznjJ08utEc98lKbZz/6MZTTQfFgYl0TxAhxEDsIIIyNjj0Xy9eJpqubJsaswucWXTG/qg==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2313,17 +2304,17 @@ } }, "node_modules/@fluentui/react-link": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.8.0.tgz", - "integrity": "sha512-TH5LS4iuQ4jYzlR84A4n7lQTKaJuiuuGFHMIxoEqtKeMoL9F5AiabuBs6m7Q7clSdTrrcRMNzXLuEFarQrzGTQ==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.8.1.tgz", + "integrity": "sha512-ZxrCeX4pMWHujdmYV8b0QW0ztLtu0rHHvRNx67Y3WqSijVyij8QtNNiZ/nab+UDNlz9t8QIXKdWQgYj1uKDpMg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2335,19 +2326,19 @@ } }, "node_modules/@fluentui/react-list": { - "version": "9.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.6.13.tgz", - "integrity": "sha512-MIP0XKxU68m8VsBCyNBame46nnZ94FCNUArw9T2JuumyKMgV07C+sNhXCe9BCVpUr8e2Hfofo7CZjAsXWDZ0nw==", + "version": "9.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.6.14.tgz", + "integrity": "sha512-B1mUQFvJOUlZysSduVnATNZggrGpgEWnW9ZSJAZ17LM0+9nWEQRi40jpUGI/d3PGKHt5O2df78s+1nEPAk0L6A==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-checkbox": "^9.6.0", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-checkbox": "^9.6.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2359,24 +2350,24 @@ } }, "node_modules/@fluentui/react-menu": { - "version": "9.24.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.24.0.tgz", - "integrity": "sha512-HqIwEM6lPropSHUnbPFufLYdkAIVca87XbNQHCTes4QSLeaF4oEjlBH60rIqQ52k78FwZuUFIciWkSChxJ9ekg==", + "version": "9.24.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.24.1.tgz", + "integrity": "sha512-NLB5EhzKFiwax3O5JTRTtsqdEFDGEXzEuP/suyxNAaaQsIuXygo//Rmdq6dSn7GybTpEOZHKxYDyyG7dj+a4YA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2388,20 +2379,20 @@ } }, "node_modules/@fluentui/react-message-bar": { - "version": "9.6.23", - "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.6.23.tgz", - "integrity": "sha512-mGnFmYWx6tq36OMTdVtJmxyn3j0p+Shll3+w4W2fW8fcOVSeyrnZ++HLmpurUkVzwI2xR2lL842kxC3GtbwmNw==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.7.0.tgz", + "integrity": "sha512-ICFDxZ62r5OG97/FcfK1EfJPxGlyDNyFixLD/a3gOREvEcT/hyZgnlUM9Y30u92HjxChx2SwGWnv3iaQPsvToQ==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.9.0", + "@fluentui/react-button": "^9.9.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-link": "^9.8.0", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-link": "^9.8.1", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2413,13 +2404,13 @@ } }, "node_modules/@fluentui/react-motion": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.14.0.tgz", - "integrity": "sha512-gOy8+fUP1KQRM/J6mRhioCMmUrHW9jbLF0DZ9T8nKPQsLrLaSXHxnnI8DcKZjlYc2fKuZitBnbpximgff6HajQ==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.15.0.tgz", + "integrity": "sha512-ZNQHYzE6MRbLQFT08/mrcqQ9k7F5niktRP93X1v/kmwKfPjvdDofySfbhQXQs3zQw600690C9rfJTKUd3h+zlg==", "license": "MIT", "dependencies": { "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2430,9 +2421,9 @@ } }, "node_modules/@fluentui/react-motion-components-preview": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.15.3.tgz", - "integrity": "sha512-dUH2+GmEWX9q2ojx70VfFLRqzA9fR4YISC6daXkz3iPx4PtesTDn7jwsuXXquaAhltJeBptJ8+K4jbtBrwCMYQ==", + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.15.4.tgz", + "integrity": "sha512-gAHPlyEYylZzUSGwc68VaB+vO8CTX6tgIA3d2+jFrpcwvXZjsdCpF1w1zK1+hTuiipmEaZLZyBz0e0CKH2+3XQ==", "license": "MIT", "dependencies": { "@fluentui/react-motion": "*", @@ -2447,25 +2438,25 @@ } }, "node_modules/@fluentui/react-nav": { - "version": "9.3.23", - "resolved": "https://registry.npmjs.org/@fluentui/react-nav/-/react-nav-9.3.23.tgz", - "integrity": "sha512-Z9hA70n5i62sO9IJItkX5+v1F7Lo/539joPaHCLHHca+rySQQZKqy8zLRIfLbh/qF8Nm04ywY19Qt14XjI59cQ==", + "version": "9.3.24", + "resolved": "https://registry.npmjs.org/@fluentui/react-nav/-/react-nav-9.3.24.tgz", + "integrity": "sha512-OlB5k5Zev5VNjSRfJvJLO09Hjcv2UHAjLpSVa6gKHx+1NqqSJWZeDLSF7r+/nyZ4CWP5jWZYq7whEu3WvzdVZw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-divider": "^9.7.0", - "@fluentui/react-drawer": "^9.11.6", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-divider": "^9.7.1", + "@fluentui/react-drawer": "^9.12.0", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-tooltip": "^9.10.0", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-tooltip": "^9.10.1", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2477,15 +2468,15 @@ } }, "node_modules/@fluentui/react-overflow": { - "version": "9.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.7.1.tgz", - "integrity": "sha512-Ml1GlcLrAUv31d9WN15WGOZv32gzDtZD5Mp1MOQ3ichDfTtxrswIch7MDzZ8hLMGf/7Y2IzBpV8iFR1XdSrGBA==", + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.7.2.tgz", + "integrity": "sha512-5PA67LgnVmbbOzBN2H5gH3OvSVy1373VJfsHq2+6TLCfm+LXAkWBoFwvBuFI7HsMYae9A0FVlgX7gTsKVfMddw==", "license": "MIT", "dependencies": { "@fluentui/priority-overflow": "^9.3.0", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2497,17 +2488,17 @@ } }, "node_modules/@fluentui/react-persona": { - "version": "9.7.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.7.2.tgz", - "integrity": "sha512-u6buhC6Haf8YewBnZAzi49YCwiC8vt0O0YPADemk+4uJ8bhCnayzLxMYGuQ95XO4HFhvVnSPEYjMDdKrMO1hIw==", + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.7.3.tgz", + "integrity": "sha512-OY3xpSD6l4NDdeKihriC+H0q6P1CA2xyZ+pe/WwfKPnatxs2BALoRFtDQduMO7AK/j0w7UAxnaZrvEeftLen2g==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.11.0", - "@fluentui/react-badge": "^9.5.1", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-avatar": "^9.11.1", + "@fluentui/react-badge": "^9.5.2", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2519,23 +2510,23 @@ } }, "node_modules/@fluentui/react-popover": { - "version": "9.14.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.14.1.tgz", - "integrity": "sha512-EODa5yWSfDLPDurjWoZXfkf2ccnbQQbk3s1XYRzxA6RDfdVqUI5W64RJzHWBiNhOLzQEhd6Qb4e6Mshj4FSbdQ==", + "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.14.2.tgz", + "integrity": "sha512-EDvzLkT98/vcCSGrcZWUACGsvLjrHin0Xf9eowMQKiiHFWbu8HNRmr7W2XB9Eja1W5HSIK6+mV8ro9zrLibG4w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2547,14 +2538,14 @@ } }, "node_modules/@fluentui/react-portal": { - "version": "9.8.11", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.8.11.tgz", - "integrity": "sha512-2eg4MdW7e2UGRYWPg05GCytAjWYNd55YOP9+iUDINoQwwto9oeFTtZRyn08HYw37cSNqoH24qGz/VBctzTkqDA==", + "version": "9.8.12", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.8.12.tgz", + "integrity": "sha512-+WH0wH/5lsodGP6Mam1alHXpkMCYA5uMcnF98RVOs7/GR69KiFcza1mCnvPJUaJ55AfwLuz/xLxuWdWgQnUdMQ==", "license": "MIT", "dependencies": { "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-tabster": "^9.26.14", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2566,16 +2557,16 @@ } }, "node_modules/@fluentui/react-positioning": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.22.0.tgz", - "integrity": "sha512-i3DLC4jd4MoYSZMYLKQNUTpkjKAJ0snIcihvkrjt2jpvv34CifKJhqVtjFQ470pRW4XNx/pBBX07vdXpA3poxA==", + "version": "9.22.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.22.1.tgz", + "integrity": "sha512-/r1BHQKr/WCjEM8UGloiq7bWWBSYB/Uqt7D1sAF9EHd968VH07cAN3RMVKmWWjeJO31rstOZHdgcz0WHhFF+2Q==", "license": "MIT", "dependencies": { "@floating-ui/devtools": "^0.2.3", "@floating-ui/dom": "^1.6.12", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "use-sync-external-store": "^1.2.0" @@ -2588,17 +2579,17 @@ } }, "node_modules/@fluentui/react-progress": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.5.0.tgz", - "integrity": "sha512-VcWXI6UJfBkrDuC/e9oR4YBlpnLUE+FqRRjMG4mVXV+AJzFiljF3mQkFAj94G6dsr54TcoDXC6oydgXLCOTW2A==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.5.1.tgz", + "integrity": "sha512-EXJ/Bp67d5+bXPNpPabxdtXUgCMTtvYrBoKtIS6wE5KeUzaek/rgQ3v5wnGfbuLnJ4J/kj+n7XQEc9fhoFPy9w==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2610,17 +2601,17 @@ } }, "node_modules/@fluentui/react-provider": { - "version": "9.22.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.22.15.tgz", - "integrity": "sha512-a+ImgL9DOlylDM4UYPnxQTA3yXxbVj+O0iNEyTZ6fMzdMsHzpALU4GAq6tOyW4L7RaQtRBmNpVfwTCEKpqaTJQ==", + "version": "9.22.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.22.16.tgz", + "integrity": "sha512-S77n5ASUWE/V1I6lX09CrHm4TAKSGENhIrKz9qMKDv2Vrq44/j3eGBLz12k8IW4TJVu9nwGwst9kBpCT+3WHpA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/core": "^1.16.0", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" @@ -2633,18 +2624,18 @@ } }, "node_modules/@fluentui/react-radio": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.6.1.tgz", - "integrity": "sha512-QBoV6l8fVLP+H9Tigq/Y6boiEqMDRhhVMkIfUiWFbnsU/Uc7J5fxW8GoNqzMmoOmC7yvQ/g4jsoTQF27+PzK5w==", + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.6.2.tgz", + "integrity": "sha512-Sp2us4eWRopUKOMCQw5/iks7euPKY6FeesBCCUIVGBg5VKZf2/CfEtbCa9hMjn4D4PCHGivnUTf23t238mvvnw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2656,17 +2647,17 @@ } }, "node_modules/@fluentui/react-rating": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.4.0.tgz", - "integrity": "sha512-qVesFNgQ7uuX8z9d8xqxIXn5ax06xffgBr/eAuZfqVYZG5aRrPHHRoiWf0HDrYD4Lb/HRBLPtbNihNxhXj/LEA==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.4.1.tgz", + "integrity": "sha512-DfWipzrT44j+yaShtfHz96/vHEa5ut5IR1kobrO0bSqAcpetOn327gFeY+sG/W6xzork/STcy/T836yK8A2+DQ==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2678,17 +2669,17 @@ } }, "node_modules/@fluentui/react-search": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.4.1.tgz", - "integrity": "sha512-Lv2zhPad7SDhMd5NeabXluw4y0Gov9YxDkJhjShMnkiN3yCOA5tlVviNvRXOXxy0gS//d8CiGJ5mBT1bzz2Rrw==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.4.2.tgz", + "integrity": "sha512-PIb50euHoMsKWLqFymf8wo/+z1jrx1MB7uNuhjNT5DvwTP4VYAy5EtRCSwVRyxWNSaWSL6iy6dDy517EQE96mA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-input": "^9.8.1", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-input": "^9.8.2", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2700,17 +2691,17 @@ } }, "node_modules/@fluentui/react-select": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.5.0.tgz", - "integrity": "sha512-pGOD6MBwQsiHKkEdNmVrTavcfC9pOjt4nz/DRlFD444j6iR1PALlus5cNOp7A0JOnGDDvW+1afIvgySCqN0oiA==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.5.1.tgz", + "integrity": "sha512-8GocQKiUHEUlAks6zA0HbGGSF2lpjuSZuxPzIBqTyuWof8vFiK6eFAcSXb0hTYIVH3RsTihhfc6G3NRnHoBrzg==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2736,16 +2727,16 @@ } }, "node_modules/@fluentui/react-skeleton": { - "version": "9.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.7.1.tgz", - "integrity": "sha512-9WniFEe6gbhkZuBurpQNFmMMhP/Ox84Xm9/iu6q8OmnRkFCyZrEuCFlWGDffnBREKIJqE0VJn5ZrUYWMMh45KA==", + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.7.2.tgz", + "integrity": "sha512-PrUgdSGDAZw9FIP5NyvPoPfHDe2N9VxMyBfyTwWfZVg03dzRfnE3vEqr7N5xyfv4JsRs6u1xSqVn/0jdS0IEMQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2757,17 +2748,17 @@ } }, "node_modules/@fluentui/react-slider": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.6.1.tgz", - "integrity": "sha512-ytF1gOEho8DrI817H8WCBsck1RXOlW7JRXYtu9VwH3SnDRM2Jz1CNxbou80+BpvyR1KKkvCc/JSgREgUAnkRAQ==", + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.6.2.tgz", + "integrity": "sha512-lVavtTg8eqovfRokeYDk4popwCi8nuicacJ/HZdF3ni5e3y/2WT/bVP0eErS/GvC7+90ACQQ8uxdr4sjjY/HWA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2779,18 +2770,18 @@ } }, "node_modules/@fluentui/react-spinbutton": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.6.1.tgz", - "integrity": "sha512-szqGlEfeJYkBzszEWBjj7ux522ckw9YtKAH0CS0Npd0xcY1GFkdywPwJMOoRUhsO08BOhv6P70Wlx0eYqURgIA==", + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.6.2.tgz", + "integrity": "sha512-P4vvJH7P5yHPFAv6aSo3dZxtErN62DiRJN+nEKS+/XBoRGsOGQdqyyx5Q/PQKOmyQrtwuZdXNHUjcyv8b50T2w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2802,16 +2793,16 @@ } }, "node_modules/@fluentui/react-spinner": { - "version": "9.8.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.8.1.tgz", - "integrity": "sha512-vSM5FwjASEor8NBOJx/1MLp8VCw7+pOJqZSvMn29LrUmMbgSZ6CifZFx0GfiX+1fM0EZ2/pqJzFFHpoQQubAyw==", + "version": "9.8.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.8.2.tgz", + "integrity": "sha512-0LxykLJGUD/I3XEeIXAWznwdg9XRe0piaByR0nLFOOV3UPwkVc2w5UdPhy2Y0NZDvtPHbNaMCuQAq82+bxg/0w==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2823,19 +2814,19 @@ } }, "node_modules/@fluentui/react-swatch-picker": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.5.1.tgz", - "integrity": "sha512-7rs4dgnFMV2m/2A1tkevrVfThVEJs9crnVWCiSE4XADb9hFp7mqVyN8dKbQCJJMXODLF/Bc90nTCtLV8WaEj4Q==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.5.2.tgz", + "integrity": "sha512-DK6UU9OJY9XaGBPU2ROx+B5/7XdwVtHBdVthOAptyKSsYGOdQt5AQqg3ZOXH6r5WYbMRQDuP2OZ2iKtwidFCVQ==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2847,19 +2838,19 @@ } }, "node_modules/@fluentui/react-switch": { - "version": "9.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.7.1.tgz", - "integrity": "sha512-61zJhxG9UBcZ+5T/Dk9yzOJDCOc2ZMZef/ImgIMB4lVsyWs/3n/ec/PKPwjp9SNz2FhQvayhMytEbGzri00jGw==", + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.7.2.tgz", + "integrity": "sha512-j3e5se+3d+befV9MytkxxvJ9nHZOeZ7thKDTF4YVSYf6kcNx9eOlLvPgDjhGO08gzngO4B7aaprhDN7DJc3W1g==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-label": "^9.4.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-label": "^9.4.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2871,23 +2862,23 @@ } }, "node_modules/@fluentui/react-table": { - "version": "9.19.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.19.14.tgz", - "integrity": "sha512-IZ3tDqlQDC+R6nzX4thU8A7Aw3BMhbBZ5tgMOHnW733Xfton7wqKiumjsGJBnef3I48mqnBHJZQEzWBgzLsdqg==", + "version": "9.19.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.19.15.tgz", + "integrity": "sha512-OdQ2Nwx2nAlPMlJeyAFrKa3Zy5Ya/H87OU8MvtFJhabM/FkHiZoli/DO1mavVI+jqavOlJuQWmJ55D6jjuGa7g==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-avatar": "^9.11.0", - "@fluentui/react-checkbox": "^9.6.0", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-avatar": "^9.11.1", + "@fluentui/react-checkbox": "^9.6.1", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-radio": "^9.6.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2899,17 +2890,17 @@ } }, "node_modules/@fluentui/react-tabs": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.12.0.tgz", - "integrity": "sha512-gKCi1XNDYRvF6R5wETeQptzQRVBlM7VETaQHS/ue1x7+Vo42MbWMtYOmvqeg5CPjqy2hAwch0IA9bzWEQAm2ZA==", + "version": "9.12.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.12.1.tgz", + "integrity": "sha512-WvzOtpC6C/7Mo5X+xmE+3stpCbx2iH9BqrEN5KuGrsHJ78DjMDeabYeL90vlrHBdP4VlTpwdORBui/jtWkxnmQ==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2921,14 +2912,14 @@ } }, "node_modules/@fluentui/react-tabster": { - "version": "9.26.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.26.13.tgz", - "integrity": "sha512-uOuJj7jn1ME52Vc685/Ielf6srK/sfFQA5zBIbXIvy2Eisfp7R1RmJe2sXWoszz/Fu/XDkPwdM/GLv23N3vrvQ==", + "version": "9.26.14", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.26.14.tgz", + "integrity": "sha512-WibgoF67hl6BXfmsY6RSIWSHadeMP/6EDG9gAacfHlwKvK0+FiHp5ernwuXTPAmu2kiHicn2qUZ8EteCFiFryg==", "license": "MIT", "dependencies": { "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "keyborg": "^2.6.0", @@ -2942,25 +2933,25 @@ } }, "node_modules/@fluentui/react-tag-picker": { - "version": "9.8.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.8.5.tgz", - "integrity": "sha512-uhZUWDdg7zmQNjb1/5YI3l6agSDg/yFFaYZDH4eQDOmKIm35jAT2GmEMZVomZZVW/dDhZpezfMWZA5r442cZYQ==", + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.8.6.tgz", + "integrity": "sha512-sOZ+wBA3hgGhKrOP7wbjB2yRvAxjcRXtcj1jDTrtSkaDPXb3K0nGmjiqp2mve995ps3wvCGnNKK4EurX842ZbA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-combobox": "^9.17.0", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-field": "^9.5.0", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-combobox": "^9.17.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-field": "^9.5.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", - "@fluentui/react-tags": "^9.8.0", + "@fluentui/react-tabster": "^9.26.14", + "@fluentui/react-tags": "^9.8.1", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2972,20 +2963,20 @@ } }, "node_modules/@fluentui/react-tags": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.8.0.tgz", - "integrity": "sha512-O/Kf8pFgS0/eguzDCPm8FmrPG64dU36xTI1uYKwgF6iVOpmWFjk+7aPQtkoFHQzVwl1iLUL4mQFSutR4A8s38Q==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.8.1.tgz", + "integrity": "sha512-6ZTW78fu5eWByKHIM3i+raDrX3hwfZ67ONfZ8wEUXfZHowskxqpMHI8Gw7IAMWkC1scgLqEnht8TnHvZgjo7Ug==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-avatar": "^9.11.0", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-avatar": "^9.11.1", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -2997,21 +2988,21 @@ } }, "node_modules/@fluentui/react-teaching-popover": { - "version": "9.6.20", - "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.6.20.tgz", - "integrity": "sha512-XB/SJXdJabulcDBp6z4NNSFOcAnaOoIUZdmzqpx09UxtQwU/eFnYvZw/k1SI8Nc7IpHBgjzId8gHy6jvaN8JHw==", + "version": "9.6.21", + "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.6.21.tgz", + "integrity": "sha512-V86zLB1B8xu3U/02FvvMdsJP+ZC9l3vT9bQ2Gr7hZHxJ4/0NLpVcrYSBFHpON9e/WK3p+A5b5V96p86b5Pavlg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-popover": "^9.14.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-popover": "^9.14.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1", "use-sync-external-store": "^1.2.0" @@ -3024,15 +3015,15 @@ } }, "node_modules/@fluentui/react-text": { - "version": "9.6.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.6.15.tgz", - "integrity": "sha512-YB1azhq8MGfnYTGlEAX1mzcFZ6CvqkkaxaCogU4TM9BtPgQ1YUAxE01RMenl8VVi8W9hNbJKkuc8R8GzYwzT4Q==", + "version": "9.6.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.6.16.tgz", + "integrity": "sha512-ZzCSJWQ6LrVuPqA6sqNEZaXbLvhi2NxBOtlMudWlqYzidLQp038d7mMGSzNnhyeblg+gj+bOVE2eOgWFuVHGYw==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3044,16 +3035,16 @@ } }, "node_modules/@fluentui/react-textarea": { - "version": "9.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.7.1.tgz", - "integrity": "sha512-YG0j202PRLDLZZDn8QQgREd4Ery2fDYMYb2HUvFdfo6MuSXMvv0RCKEUBCgajIXsHwT31Hsg5+xzM40X4jlOBg==", + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.7.2.tgz", + "integrity": "sha512-awlkZoW81WaOqSoXTT9rZs3mTAzCCHnC9eAm6J8ZxI5+ASX07BTolBfZ82it5wxOHI5GMDfbFOl+xIy8uAMdzA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.5.0", - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-field": "^9.5.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3075,22 +3066,22 @@ } }, "node_modules/@fluentui/react-toast": { - "version": "9.7.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.7.16.tgz", - "integrity": "sha512-Yq4yJboYqtdL5pNJBIYlSdT/kR6m449O95taJCh/msXJyRgqQZ46EmpTcwsxu3D55LTHbqI6Vxu+AikDYH1W7w==", + "version": "9.7.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.7.17.tgz", + "integrity": "sha512-DWA5EARWSo1k19iWAulLpKrcUHT+Dq/Bw9zfdpoQEWWybrAZwyN7WiYFkBjKCQRxSp10OjLASSQK91CXfb1wJA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", + "@fluentui/react-aria": "^9.17.11", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-portal": "^9.8.11", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-portal": "^9.8.12", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3102,20 +3093,20 @@ } }, "node_modules/@fluentui/react-toolbar": { - "version": "9.7.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.7.7.tgz", - "integrity": "sha512-49nrRvGqJfdXhwaKZfNIcTiZSqTbThNG8uCa0FvJ88cO11PRPGcr5s6u3plUVxDXUKXpZJ7PKr/TTA0MvP7yIg==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.8.0.tgz", + "integrity": "sha512-EIe+QWOaFR1pZzENefsFTmjxGa2yJb4A/by3kGuGqSjx7isqPUllPq0/kFQzfoUYgPDJbJtQ+KyuRDekTL0QpQ==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-context-selector": "^9.2.15", - "@fluentui/react-divider": "^9.7.0", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-context-selector": "^9.2.16", + "@fluentui/react-divider": "^9.7.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-radio": "^9.6.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3127,19 +3118,19 @@ } }, "node_modules/@fluentui/react-tooltip": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.10.0.tgz", - "integrity": "sha512-+aM0S1mcXy8XKKWgU3TocqTxHjcai7fHns3KwONLJPTp3jXTjyqEoj/o4XX1ka2IM3gdOFfyUU0Gfvw708dn9w==", + "version": "9.10.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.10.1.tgz", + "integrity": "sha512-IPHBFjqGhaaMDhLt5NSNOE9LEpDOpT7qgEqNz+Mlflo0A4qI2LW/EnkNop7IRmX/bC88A+wUtEONTjjR87dNBw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-portal": "^9.8.11", - "@fluentui/react-positioning": "^9.22.0", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-portal": "^9.8.12", + "@fluentui/react-positioning": "^9.22.1", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3151,26 +3142,26 @@ } }, "node_modules/@fluentui/react-tree": { - "version": "9.15.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.15.16.tgz", - "integrity": "sha512-WP4WjbF/UWCp0JKaZsMFtah/kXu+mxqN8/kghppRYfVHWzLiMgFAPB/OzrGejLNwx+ai3t2dHOIHxXHnR1jYHA==", + "version": "9.16.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.16.0.tgz", + "integrity": "sha512-c+Q4AVaYk9U69aGDgmJVNne+CtWKS75YIfGoxs6+9+wE2Wqz4T0E+gE1ng7ARCQQgI7E2NEJlot6DuI6nYYrRw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.17.10", - "@fluentui/react-avatar": "^9.11.0", - "@fluentui/react-button": "^9.9.0", - "@fluentui/react-checkbox": "^9.6.0", - "@fluentui/react-context-selector": "^9.2.15", + "@fluentui/react-aria": "^9.17.11", + "@fluentui/react-avatar": "^9.11.1", + "@fluentui/react-button": "^9.9.1", + "@fluentui/react-checkbox": "^9.6.1", + "@fluentui/react-context-selector": "^9.2.16", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.4.1", - "@fluentui/react-motion": "^9.14.0", - "@fluentui/react-motion-components-preview": "^0.15.3", - "@fluentui/react-radio": "^9.6.1", + "@fluentui/react-jsx-runtime": "^9.4.2", + "@fluentui/react-motion": "^9.15.0", + "@fluentui/react-motion-components-preview": "^0.15.4", + "@fluentui/react-radio": "^9.6.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-tabster": "^9.26.13", + "@fluentui/react-tabster": "^9.26.14", "@fluentui/react-theme": "^9.2.1", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3182,9 +3173,9 @@ } }, "node_modules/@fluentui/react-utilities": { - "version": "9.26.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.26.2.tgz", - "integrity": "sha512-Yp2GGNoWifj8Z/VVir4HyRumRsqXnLJd4IP/Y70vEm9ruAvyqUvfn+1lQUuA+k/Reqw8GI+Ix7FTo3rogixZBg==", + "version": "9.26.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.26.3.tgz", + "integrity": "sha512-bXB3jMm/RroT8c5eGZkijkPbLd4MqMI6biBHjavo0e7OkZHv9IPfH2nDkGhSn5Sh8e6kRcX0IjYhbM10WUK2iQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", @@ -3197,14 +3188,14 @@ } }, "node_modules/@fluentui/react-virtualizer": { - "version": "9.0.0-alpha.111", - "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.111.tgz", - "integrity": "sha512-yku++0779Ve1RNz6y/HWjlXKd2x1wCSbWMydT2IdCICBVwolXjPYMpkqqZUSjbJ0N9gl6BfsCBpU9Dfe2bR8Zg==", + "version": "9.0.0-alpha.112", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.112.tgz", + "integrity": "sha512-dao/mQssaPFxCXMx7K+G/DrRoZg28kXcE1NGbJ1RPtbkVCzJgwrEEeDhM5/wyOXO/Z5EZ31FIerDDVOyr6FAaw==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.4.1", + "@fluentui/react-jsx-runtime": "^9.4.2", "@fluentui/react-shared-contexts": "^9.26.2", - "@fluentui/react-utilities": "^9.26.2", + "@fluentui/react-utilities": "^9.26.3", "@griffel/react": "^1.5.32", "@swc/helpers": "^0.5.1" }, @@ -3225,27 +3216,27 @@ } }, "node_modules/@github/copilot": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.34.tgz", - "integrity": "sha512-jFYulj1v00b3j43Er9+WwhZ/XldGq7+gti2s2pRhrdPwYEd1PMvscDZwRa/1iUBz/XQ5HUGac1tD8P7+VUpWjg==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-1.0.39.tgz", + "integrity": "sha512-AY0VPYf6QQm88wUcOav2B36iedWKBUaMegKRxxY2uIHESiU6HueEuQR/n7D3U2UdD0zLox3jFRjYbZAsr2CgkQ==", "devOptional": true, "license": "SEE LICENSE IN LICENSE.md", "bin": { "copilot": "npm-loader.js" }, "optionalDependencies": { - "@github/copilot-darwin-arm64": "1.0.34", - "@github/copilot-darwin-x64": "1.0.34", - "@github/copilot-linux-arm64": "1.0.34", - "@github/copilot-linux-x64": "1.0.34", - "@github/copilot-win32-arm64": "1.0.34", - "@github/copilot-win32-x64": "1.0.34" + "@github/copilot-darwin-arm64": "1.0.39", + "@github/copilot-darwin-x64": "1.0.39", + "@github/copilot-linux-arm64": "1.0.39", + "@github/copilot-linux-x64": "1.0.39", + "@github/copilot-win32-arm64": "1.0.39", + "@github/copilot-win32-x64": "1.0.39" } }, "node_modules/@github/copilot-darwin-arm64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.34.tgz", - "integrity": "sha512-g94EhSLd3a6fckZ6xb/zP2DZJZEx7kONWdOoDiHXUtSqc4RiZ7OBq1EwT4WrPY1lsmy9sioJIcZSGzJd0C1M7Q==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-1.0.39.tgz", + "integrity": "sha512-E8WfNL43NMzMTDDpCiYikaEmYCMAr6mz8LHrJtkaFuVXVkBr/q2NI3hAtwHFy8M11Fac/MeIe3/VEymWwwh3kw==", "cpu": [ "arm64" ], @@ -3259,9 +3250,9 @@ } }, "node_modules/@github/copilot-darwin-x64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.34.tgz", - "integrity": "sha512-tIgFEZV0ohCF/VgTODJWre3xURsvEd+6IPN/HPKWxG6AXtJOxzjlr5kLYYdPHdNlHNmSxGQw8fWsN2FZ4nyDdw==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-1.0.39.tgz", + "integrity": "sha512-0zbC4lDVX7l8Wvq+JSCMjO0xTN69nWLejTBCl3Ev5bP6P+/7wPURcUvZKoHEaXxOULQ3AGj0DwZNAsvvQkA/6Q==", "cpu": [ "x64" ], @@ -3275,9 +3266,9 @@ } }, "node_modules/@github/copilot-linux-arm64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.34.tgz", - "integrity": "sha512-feqjEetrlqBUhYskIsPmwACQOWO99cvRpKwIFl3OlEjWoj+//HA7yXh49UIe0gD8wQUI8hy05uVz3K2/xti2nQ==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-1.0.39.tgz", + "integrity": "sha512-x88FuByweJlHlAmUZXjq4JlmtqgoM57Fe7nXzQkGr2Y5wnc2EDydBzFYEOlYDSWozQreimaJIm0KEMAA5T8/Fg==", "cpu": [ "arm64" ], @@ -3291,9 +3282,9 @@ } }, "node_modules/@github/copilot-linux-x64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.34.tgz", - "integrity": "sha512-3l0rZZqmceklHizJaaO+Iy2PsAZpVZS9Mn9VYnVcY/8Yzt4Y2hmXSFcKVfc4l+JlhFsPs7trhMdIkfwkjaKPLg==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-1.0.39.tgz", + "integrity": "sha512-ssahg8r7a0VCsHVXPRmFFXx70xNAxaTM2SZfG7qPRfFB2OM8gHrW26F2oikTklDF6D+A2MfSAMpzJLBUZbPnhw==", "cpu": [ "x64" ], @@ -3322,9 +3313,9 @@ } }, "node_modules/@github/copilot-win32-arm64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.34.tgz", - "integrity": "sha512-06kEJO3iyohmAqF4iIbOxOfWLFSIpLDJ1L1oEHRtouMrH2Ll1wrUjsoQT1gXgBOv7rifl25qx/Avx5zKqvuORw==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-1.0.39.tgz", + "integrity": "sha512-hhBWGZQIywbp6MBxlqMX2GSmHqtUAOGwpo9b0igscecL4i0kz89QNasC+mKiN+zFEHP6I8gggOu87XPI17Io8Q==", "cpu": [ "arm64" ], @@ -3338,9 +3329,9 @@ } }, "node_modules/@github/copilot-win32-x64": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.34.tgz", - "integrity": "sha512-QLL8pS4q2TTyQbClEXxqXtQGPr4lk+pwc8hPMUL7iw7HGDOvs1WCLMT1ZSDPPcxSrTnR/dURX5za1NMA8uF/fw==", + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-1.0.39.tgz", + "integrity": "sha512-0ehlMtBiwKjmfEY3hVZggdn7qrmPMC8ueBQv/b+6UY3SMRS/M/1Y7xkOCwG84NvJsktdSsk3SlQnE2LbkTVpSA==", "cpu": [ "x64" ], @@ -3354,9 +3345,9 @@ } }, "node_modules/@griffel/core": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/@griffel/core/-/core-1.20.1.tgz", - "integrity": "sha512-ld1mX04zpmeHn8agx4slSEh8kJ+8or3Y0x9gsJNKSKn6GdCkZBSiGUh+oBXCBn8RKzz8l60TA9IhVSStnyKekA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/@griffel/core/-/core-1.20.3.tgz", + "integrity": "sha512-m810TeUVL+uq8WAFabAN7dT5gX49IvMN6dA+mR6wwXA6IynYe0NxcqUi+Kel6FScx5joSUBDnF3NxJXNNP+qDg==", "license": "MIT", "dependencies": { "@emotion/hash": "^0.9.0", @@ -3368,16 +3359,16 @@ } }, "node_modules/@griffel/react": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@griffel/react/-/react-1.6.1.tgz", - "integrity": "sha512-mNM4/+dIXzqeHboWpVZ1/jiwTAYNc5/8y/V/HasnQ2QXnV6gSUYpeUk/0n6IFU3NJmVJly9JrLSfNo0hM/IFeA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@griffel/react/-/react-1.7.1.tgz", + "integrity": "sha512-QJXjOi+U0JbgD5LaI0XcpTWLBXM6nSbCL+XmRuPHQWXoteMqJnjrb5Na8EUtf4xk0be8pcE34mY7CnxpfnQ6rw==", "license": "MIT", "dependencies": { - "@griffel/core": "^1.20.1", + "@griffel/core": "^1.20.3", "tslib": "^2.1.0" }, "peerDependencies": { - "react": ">=16.8.0 <20.0.0" + "react": ">=16.14.0 <20.0.0" } }, "node_modules/@griffel/style-types": { @@ -3561,39 +3552,6 @@ "@nevware21/ts-utils": ">= 0.12.6 < 2.x" } }, - "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", - "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", - "license": "MIT", - "dependencies": { - "@microsoft/applicationinsights-shims": "3.0.1", - "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.5 < 2.x", - "@nevware21/ts-utils": ">= 0.12.6 < 2.x" - }, - "peerDependencies": { - "tslib": ">= 1.0.0" - } - }, - "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/applicationinsights-shims": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", - "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.9.4 < 2.x" - } - }, - "node_modules/@microsoft/1ds-core-js/node_modules/@microsoft/dynamicproto-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", - "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.10.4 < 2.x" - } - }, "node_modules/@microsoft/1ds-post-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@microsoft/1ds-post-js/-/1ds-post-js-4.4.1.tgz", @@ -3607,12 +3565,13 @@ "@nevware21/ts-utils": ">= 0.12.6 < 2.x" } }, - "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/applicationinsights-core-js": { + "node_modules/@microsoft/applicationinsights-channel-js": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", - "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.4.1.tgz", + "integrity": "sha512-QS1k6iwVwR1MznGAB1H0F9raqpevbFNbadLS5O1419pz9OEWBfF9wRQLnENCyo8QS9Q0IdiqnGAON/D8IywpWg==", "license": "MIT", "dependencies": { + "@microsoft/applicationinsights-core-js": "3.4.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.5 < 2.x", @@ -3622,41 +3581,22 @@ "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/applicationinsights-shims": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", - "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.9.4 < 2.x" - } - }, - "node_modules/@microsoft/1ds-post-js/node_modules/@microsoft/dynamicproto-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", - "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.10.4 < 2.x" - } - }, - "node_modules/@microsoft/applicationinsights-channel-js": { + "node_modules/@microsoft/applicationinsights-common": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.4.1.tgz", - "integrity": "sha512-QS1k6iwVwR1MznGAB1H0F9raqpevbFNbadLS5O1419pz9OEWBfF9wRQLnENCyo8QS9Q0IdiqnGAON/D8IywpWg==", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.4.1.tgz", + "integrity": "sha512-CTbD0g/68tiv2yCItsodDQBYxyHdfQkG7VhvVU8OHenukpl/7W4wEuxZuOntqhv5m9Nx/DFncbz+T83nvYTG3g==", "license": "MIT", "dependencies": { "@microsoft/applicationinsights-core-js": "3.4.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.5 < 2.x", "@nevware21/ts-utils": ">= 0.12.6 < 2.x" }, "peerDependencies": { "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-core-js": { + "node_modules/@microsoft/applicationinsights-core-js": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", @@ -3671,7 +3611,7 @@ "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/applicationinsights-shims": { + "node_modules/@microsoft/applicationinsights-shims": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", @@ -3680,15 +3620,6 @@ "@nevware21/ts-utils": ">= 0.9.4 < 2.x" } }, - "node_modules/@microsoft/applicationinsights-channel-js/node_modules/@microsoft/dynamicproto-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", - "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.10.4 < 2.x" - } - }, "node_modules/@microsoft/applicationinsights-web-basic": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.4.1.tgz", @@ -3706,31 +3637,7 @@ "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", - "integrity": "sha512-eXIHZ1+nvBiJgVpufBiTP801Vtr5FEwjWZioUsb44NC/z/UcsZh2MDJ1mBpjaDO73LVYUw/ZZmDCCo6Pg/61kA==", - "license": "MIT", - "dependencies": { - "@microsoft/applicationinsights-shims": "3.0.1", - "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.5 < 2.x", - "@nevware21/ts-utils": ">= 0.12.6 < 2.x" - }, - "peerDependencies": { - "tslib": ">= 1.0.0" - } - }, - "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/applicationinsights-shims": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz", - "integrity": "sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==", - "license": "MIT", - "dependencies": { - "@nevware21/ts-utils": ">= 0.9.4 < 2.x" - } - }, - "node_modules/@microsoft/applicationinsights-web-basic/node_modules/@microsoft/dynamicproto-js": { + "node_modules/@microsoft/dynamicproto-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.3.tgz", "integrity": "sha512-JTWTU80rMy3mdxOjjpaiDQsTLZ6YSGGqsjURsY6AUQtIj0udlF/jYmhdLZu8693ZIC0T1IwYnFa0+QeiMnziBA==", @@ -3929,8 +3836,8 @@ }, "node_modules/@microsoft/vscode-azext-webview": { "version": "1.0.0", - "resolved": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", - "integrity": "sha512-O3G/hRKpAO1hKtvB1Ph5BhJbW7g8zP2kZUp4L3pEmoHpQwBDH2kSdOzmIrrEyY0LiRvcSlWJe+QosC+HYiwPoQ==", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-webview/-/vscode-azext-webview-1.0.0.tgz", + "integrity": "sha512-djZAoGs/V4afP2M+MLThE35wcAnjdC4RV833kr6cRcsJYOzgcvpW3wuYxrl2rc6JDWH7BWE2ykxSTNI0SGnM4Q==", "license": "MIT", "dependencies": { "@fluentui/react-components": "^9.56.2", @@ -3952,6 +3859,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -3974,16 +3882,13 @@ } }, "node_modules/@microsoft/vscode-processutils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-processutils/-/vscode-processutils-0.2.1.tgz", - "integrity": "sha512-aa0JJqcNkFetPfkoA0cOy+wCdC0RN88vho33J8niwuBv//AceNv4vqpY9C3PnjBojr2IRmAVvElINjFhTDnWrg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-processutils/-/vscode-processutils-0.2.2.tgz", + "integrity": "sha512-kvADRfnSAUcusBzBAn0eDsh880MjTw1tvYGUes6yxUBALkg7RiQPuy2p3gDR4+p+VZqb2T2youY4jgq3/6jnKw==", "license": "See LICENSE in the project root for license information.", "dependencies": { "tree-kill": "^1.2.2", "which": "^5.0.0" - }, - "engines": { - "vscode": "^1.105.0" } }, "node_modules/@nevware21/ts-async": { @@ -4557,22 +4462,6 @@ "node": ">=14" } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "cpu": [ - "x64" - ], - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@secretlint/config-creator": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/@secretlint/config-creator/-/config-creator-10.2.2.tgz", @@ -4783,24 +4672,24 @@ } }, "node_modules/@textlint/ast-node-types": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.5.4.tgz", - "integrity": "sha512-bVtB6VEy9U9DpW8cTt25k5T+lz86zV5w6ImePZqY1AXzSuPhqQNT77lkMPxonXzUducEIlSvUu3o7sKw3y9+Sw==", + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.6.0.tgz", + "integrity": "sha512-CxZHFbYAU7J0A4izz31wV2ZZfySR6aVj2OSR6/3tppZm7VV6hM7nA7sutsLwIiBL/v4lsB1RM79l4Dc/VrH4qw==", "dev": true, "license": "MIT" }, "node_modules/@textlint/linter-formatter": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.5.4.tgz", - "integrity": "sha512-D9qJedKBLmAo+kiudop4UKgSxXMi4O8U86KrCidVXZ9RsK0NSVIw6+r2rlMUOExq79iEY81FRENyzmNVRxDBsg==", + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.6.0.tgz", + "integrity": "sha512-IwHRhjwxs0a5t1eNAoKAdV224CDca38LyopPofXpwO/d0J75wBvzf/cBHXNl4TMsLKhYGtR83UprcLEKj/gZsA==", "dev": true, "license": "MIT", "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.5.4", - "@textlint/resolver": "15.5.4", - "@textlint/types": "15.5.4", + "@textlint/module-interop": "15.6.0", + "@textlint/resolver": "15.6.0", + "@textlint/types": "15.6.0", "chalk": "^4.1.2", "debug": "^4.4.3", "js-yaml": "^4.1.1", @@ -4843,33 +4732,33 @@ } }, "node_modules/@textlint/module-interop": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.5.4.tgz", - "integrity": "sha512-JyAUd26ll3IFF87LP0uGoa8Tzw5ZKiYvGs6v8jLlzyND1lUYCI4+2oIAslrODLkf0qwoCaJrBQWM3wsw+asVGQ==", + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.6.0.tgz", + "integrity": "sha512-MHY6pJx9i5kOlrvUSK51887tYZjHAV2qnr6unBm7LtBLGDFo93utdYqHyWep8r9QLsilQdeijWtufJI46z4v4w==", "dev": true, "license": "MIT" }, "node_modules/@textlint/resolver": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.5.4.tgz", - "integrity": "sha512-5GUagtpQuYcmhlOzBGdmVBvDu5lKgVTjwbxtdfoidN4OIqblIxThJHHjazU+ic+/bCIIzI2JcOjHGSaRmE8Gcg==", + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.6.0.tgz", + "integrity": "sha512-T1l2Gd3455pwtm0cTewhX/LLy3bL9z6/Fu/am+jj+jjGfXVoknYkjfkZEKrjHlA7xzay0EfUKnu//teYemLeZw==", "dev": true, "license": "MIT" }, "node_modules/@textlint/types": { - "version": "15.5.4", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.5.4.tgz", - "integrity": "sha512-mY28j2U7nrWmZbxyKnRvB8vJxJab4AxqOobLfb6iozrLelJbqxcOTvBQednadWPfAk9XWaZVMqUr9Nird3mutg==", + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.6.0.tgz", + "integrity": "sha512-CvgYb1PiqF4BGyoZebGWzAJCZ4ChJAZ9gtWjpQIMKE4Xe2KlSwDA8m8MsiZIV321f5Ibx38BMjC1Z/2ZYP2GQg==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.5.4" + "@textlint/ast-node-types": "15.6.0" } }, "node_modules/@tony.ganchev/eslint-plugin-header": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/@tony.ganchev/eslint-plugin-header/-/eslint-plugin-header-3.4.3.tgz", - "integrity": "sha512-C8oGfJNGGcYl3y55JRS6Sfr9pAtjXyVN4qJllr5g3g6wrDkxcPMQ0654FsZtnQJTXA4swcwtR1cUhCBvW0WDKA==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@tony.ganchev/eslint-plugin-header/-/eslint-plugin-header-3.4.4.tgz", + "integrity": "sha512-O3PDvjikVWECu078bLdRb2HwjVgR+wa7D0GX8gN1A8axlgEc7tordHOoEYcKRVxGcAw7bxXjwiKGXaY17qXD+Q==", "dev": true, "license": "MIT", "peerDependencies": { @@ -5016,9 +4905,9 @@ "license": "MIT" }, "node_modules/@types/vscode": { - "version": "1.116.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.116.0.tgz", - "integrity": "sha512-sYHp4MO6BqJ2PD7Hjt0hlIS3tMaYsVPJrd0RUjDJ8HtOYnyJIEej0bLSccM8rE77WrC+Xox/kdBwEFDO8MsxNA==", + "version": "1.118.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.118.0.tgz", + "integrity": "sha512-Ah6eTlqDcwIMELEVwQMO++rJAFBRz/oLluLD/vWdYrH1KuI9kfpaM+7pg0OvvascgcJy+ghLCERAYouM4QbzGw==", "dev": true, "license": "MIT" }, @@ -5030,17 +4919,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", - "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.1.tgz", + "integrity": "sha512-BOziFIfE+6osHO9FoJG4zjoHUcvI7fTNBSpdAwrNH0/TLvzjsk2oo8XSSOT2HhqUyhZPfHv4UOffoJ9oEEQ7Ag==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/type-utils": "8.59.0", - "@typescript-eslint/utils": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.59.1", + "@typescript-eslint/type-utils": "8.59.1", + "@typescript-eslint/utils": "8.59.1", + "@typescript-eslint/visitor-keys": "8.59.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -5053,7 +4942,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.0", + "@typescript-eslint/parser": "^8.59.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -5069,16 +4958,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", - "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.1.tgz", + "integrity": "sha512-HDQH9O/47Dxi1ceDhBXdaldtf/WV9yRYMjbjCuNk3qnaTD564qwv61Y7+gTxwxRKzSrgO5uhtw584igXVuuZkA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.59.1", + "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/typescript-estree": "8.59.1", + "@typescript-eslint/visitor-keys": "8.59.1", "debug": "^4.4.3" }, "engines": { @@ -5094,14 +4983,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", - "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.1.tgz", + "integrity": "sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.0", - "@typescript-eslint/types": "^8.59.0", + "@typescript-eslint/tsconfig-utils": "^8.59.1", + "@typescript-eslint/types": "^8.59.1", "debug": "^4.4.3" }, "engines": { @@ -5116,14 +5005,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", - "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.1.tgz", + "integrity": "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0" + "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/visitor-keys": "8.59.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5134,9 +5023,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", - "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.1.tgz", + "integrity": "sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA==", "dev": true, "license": "MIT", "engines": { @@ -5151,15 +5040,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", - "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.1.tgz", + "integrity": "sha512-klWPBR2ciQHS3f++ug/mVnWKPjBUo7icEL3FAO1lhAR1Z1i5NQYZ1EannMSRYcq5qCv5wNALlXr6fksRHyYl7w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/typescript-estree": "8.59.1", + "@typescript-eslint/utils": "8.59.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -5176,9 +5065,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", - "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.1.tgz", + "integrity": "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A==", "dev": true, "license": "MIT", "engines": { @@ -5190,16 +5079,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", - "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.1.tgz", + "integrity": "sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.0", - "@typescript-eslint/tsconfig-utils": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/project-service": "8.59.1", + "@typescript-eslint/tsconfig-utils": "8.59.1", + "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/visitor-keys": "8.59.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -5257,16 +5146,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", - "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.1.tgz", + "integrity": "sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0" + "@typescript-eslint/scope-manager": "8.59.1", + "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/typescript-estree": "8.59.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5281,13 +5170,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", - "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.1.tgz", + "integrity": "sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/types": "8.59.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -5828,9 +5717,9 @@ } }, "node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -6955,14 +6844,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", - "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -7248,9 +7137,9 @@ } }, "node_modules/eslint/node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -7479,9 +7368,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.1.tgz", - "integrity": "sha512-8Cc3f8GUGUULg34pBch/KGyPLglS+OFs05deyOlY7fL2MTagYPKrVQNmR1fLF/yJ9PH5ZSTd3YDF6pnmeZU+zA==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.2.tgz", + "integrity": "sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==", "funding": [ { "type": "github", @@ -8502,9 +8391,9 @@ } }, "node_modules/keyborg": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/keyborg/-/keyborg-2.6.0.tgz", - "integrity": "sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/keyborg/-/keyborg-2.14.1.tgz", + "integrity": "sha512-/WmmVBa6Me3hIKAOIyIq1sql+6oydQZzGMBDLNfOcJ8710byMsq3KSLS8GQhBJHOMtvnXnUBrDAIbABcZVipcg==", "license": "MIT" }, "node_modules/keytar": { @@ -10795,16 +10684,13 @@ } }, "node_modules/tabster": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/tabster/-/tabster-8.7.0.tgz", - "integrity": "sha512-AKYquti8AdWzuqJdQo4LUMQDZrHoYQy6V+8yUq2PmgLZV10EaB+8BD0nWOfC/3TBp4mPNg4fbHkz6SFtkr0PpA==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/tabster/-/tabster-8.8.0.tgz", + "integrity": "sha512-eGFXgtvKOQP5BywDI9Ngs+Atm6TRj45epAAqWKyVoi+HmOmdamEB//1H/FttLdNly/+Cz+GJ4RN8TnXTw0KwfA==", "license": "MIT", "dependencies": { - "keyborg": "2.6.0", + "keyborg": "^2.14.0", "tslib": "^2.8.1" - }, - "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "4.53.3" } }, "node_modules/tapable": { @@ -11210,16 +11096,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", - "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", + "version": "8.59.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.1.tgz", + "integrity": "sha512-xqDcFVBmlrltH64lklOVp1wYxgJr6LVdg3NamBgH2OOQDLFdTKfIZXF5PfghrnXQKXZGTQs8tr1vL7fJvq8CTQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.0", - "@typescript-eslint/parser": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0" + "@typescript-eslint/eslint-plugin": "8.59.1", + "@typescript-eslint/parser": "8.59.1", + "@typescript-eslint/typescript-estree": "8.59.1", + "@typescript-eslint/utils": "8.59.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11713,9 +11599,9 @@ } }, "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.1.tgz", + "integrity": "sha512-a6ENMBBGZBsnlSebQ/eKCguSBeGKSf4O7BPnqVPmYGtpBYI7VSqoVqw+QcB7kPRjbqPwhYTpFbVj/RqNz/CT0Q==", "devOptional": true, "license": "MIT", "funding": { diff --git a/package.json b/package.json index 163cba5b4..d1e6926c7 100644 --- a/package.json +++ b/package.json @@ -850,7 +850,8 @@ "@microsoft/vscode-azext-azureutils": "^4.0.1", "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", - "@microsoft/vscode-azext-webview": "file:../vscode-azuretools/webview/microsoft-vscode-azext-webview-1.0.0.tgz", + "@microsoft/vscode-azext-webview": "^1.0.0", + "@microsoft/applicationinsights-common": "3.4.1", "@microsoft/vscode-azureresources-api": "^3.1.0", "@vscode/codicons": "0.0.38", "dayjs": "^1.11.3", From 05bd7521bb44c272f9f6a885e5f5ed9d5278a6ac Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Thu, 30 Apr 2026 08:18:25 -0700 Subject: [PATCH 5/8] remove --- package-lock.json | 16 ---------------- package.json | 1 - 2 files changed, 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46dc013a9..f3bdc3ab0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,6 @@ "@fluentui/react-components": "^9.56.2", "@fluentui/react-icons": "^2.0.265", "@github/copilot-sdk": "*", - "@microsoft/applicationinsights-common": "3.4.1", "@microsoft/vscode-azext-azureutils": "^4.0.1", "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", @@ -3581,21 +3580,6 @@ "tslib": ">= 1.0.0" } }, - "node_modules/@microsoft/applicationinsights-common": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.4.1.tgz", - "integrity": "sha512-CTbD0g/68tiv2yCItsodDQBYxyHdfQkG7VhvVU8OHenukpl/7W4wEuxZuOntqhv5m9Nx/DFncbz+T83nvYTG3g==", - "license": "MIT", - "dependencies": { - "@microsoft/applicationinsights-core-js": "3.4.1", - "@microsoft/applicationinsights-shims": "3.0.1", - "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-utils": ">= 0.12.6 < 2.x" - }, - "peerDependencies": { - "tslib": ">= 1.0.0" - } - }, "node_modules/@microsoft/applicationinsights-core-js": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.4.1.tgz", diff --git a/package.json b/package.json index d1e6926c7..d14cbd4c5 100644 --- a/package.json +++ b/package.json @@ -851,7 +851,6 @@ "@microsoft/vscode-azext-github": "^2.0.1", "@microsoft/vscode-azext-utils": "^4.0.7", "@microsoft/vscode-azext-webview": "^1.0.0", - "@microsoft/applicationinsights-common": "3.4.1", "@microsoft/vscode-azureresources-api": "^3.1.0", "@vscode/codicons": "0.0.38", "dayjs": "^1.11.3", From 2c07fadb479936e02fdd3ac60592ea2c8cd01c2d Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Thu, 30 Apr 2026 08:27:20 -0700 Subject: [PATCH 6/8] small change --- esbuild.mjs | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/esbuild.mjs b/esbuild.mjs index 23120427e..dedf32b41 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -4,33 +4,12 @@ *--------------------------------------------------------------------------------------------*/ import { autoEsbuildOrWatch, autoSelectEsbuildConfig } from '@microsoft/vscode-azext-eng/esbuild'; -import { copyFileSync, mkdirSync, readFileSync } from 'node:fs'; +import { copyFileSync, mkdirSync } from 'node:fs'; import { createRequire } from 'node:module'; import { dirname, join } from 'node:path'; const require = createRequire(import.meta.url); -// Workaround for tas-client UMD/ESM mismatch: -// tas-client declares "type": "module" in package.json but its entry file is UMD -// and does `module.exports = factory()`. esbuild wraps it with __esm() (no scoped -// module/exports) instead of __commonJS(), so the UMD code overwrites the bundle's -// top-level module.exports, destroying the extension's activate/deactivate exports. -// This plugin scopes module/exports within the tas-client file to prevent the leak. -const fixTasClientPlugin = { - name: 'fix-tas-client-umd', - setup(build) { - build.onLoad({ filter: /tas-client[\\/]dist[\\/]tas-client\.min\.js$/ }, (args) => { - const contents = readFileSync(args.path, 'utf8'); - return { - // Wrap in IIFE that provides scoped module/exports so the UMD - // `module.exports = factory()` doesn't overwrite the bundle's exports - contents: `(function(module, exports) {\n${contents}\n})({exports: {}}, {});\n`, - loader: 'js', - }; - }); - } -}; - const pkgDist = dirname(require.resolve('@microsoft/vscode-azext-webview/package.json')) + '/dist'; const outDir = 'dist/webview-assets'; mkdirSync(outDir, { recursive: true }); From e6fdad503f9dc5f93c085e3b6bce76837d867b0f Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Fri, 1 May 2026 08:14:36 -0700 Subject: [PATCH 7/8] remove --- esbuild.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/esbuild.mjs b/esbuild.mjs index dedf32b41..ffede9c08 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -17,5 +17,4 @@ copyFileSync(join(pkgDist, 'views.js'), join(outDir, 'views.js')); copyFileSync(join(pkgDist, 'views.css'), join(outDir, 'views.css')); const configs = autoSelectEsbuildConfig(); -configs.extensionConfig.plugins.unshift(fixTasClientPlugin); await autoEsbuildOrWatch(configs); From f50f050bea29d18484e248998c519fa93dab5b79 Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Mon, 8 Jun 2026 13:43:50 -0700 Subject: [PATCH 8/8] update tas client --- package-lock.json | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbb8809a4..5ae20373f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3473,7 +3473,7 @@ "dayjs": "^1.11.19", "html-to-text": "^9.0.5", "semver": "^7.7.4", - "vscode-tas-client": "^0.1.84" + "vscode-tas-client": "^0.2.1" }, "engines": { "vscode": "^1.105.0" @@ -10412,10 +10412,13 @@ } }, "node_modules/tas-client": { - "version": "0.2.33", - "resolved": "https://registry.npmjs.org/tas-client/-/tas-client-0.2.33.tgz", - "integrity": "sha512-V+uqV66BOQnWxvI6HjDnE4VkInmYZUQ4dgB7gzaDyFyFSK1i1nF/j7DpS9UbQAgV9NaF1XpcyuavnM1qOeiEIg==", - "license": "MIT" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/tas-client/-/tas-client-0.4.1.tgz", + "integrity": "sha512-cNwPitLm+VvWtUYyZu6YOfP1qwgwRzqTHC7StkhCcI4zHp3l/uRAG+29LV4SpRnagd+jAEKmJFOIV6KwZDiA6w==", + "license": "MIT", + "engines": { + "node": ">=22" + } }, "node_modules/terminal-link": { "version": "4.0.0", @@ -10862,12 +10865,12 @@ "license": "MIT" }, "node_modules/vscode-tas-client": { - "version": "0.1.84", - "resolved": "https://registry.npmjs.org/vscode-tas-client/-/vscode-tas-client-0.1.84.tgz", - "integrity": "sha512-rUTrUopV+70hvx1hW5ebdw1nd6djxubkLvVxjGdyD/r5v/wcVF41LIfiAtbm5qLZDtQdsMH1IaCuDoluoIa88w==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vscode-tas-client/-/vscode-tas-client-0.2.1.tgz", + "integrity": "sha512-htmjTFhOkM213OKv42cyCboc6D4vhZTdGHLb+GiNvFeK66eBdTbec2P41rgIg9YxnBgcDOlkvTElRorm3VitXw==", "license": "MIT", "dependencies": { - "tas-client": "0.2.33" + "tas-client": "^0.4.0" }, "engines": { "vscode": "^1.85.0"