diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 67f8dc4..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true, - "jest": true - }, - "plugins": [ - "hooks", - "sonarjs" - ], - "extends": [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:react-hooks/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:sonarjs/recommended-legacy", - "plugin:testing-library/react", - "standard" - ], - "settings": { - "react": { - "version": "detect" - } - }, - "rules": { - "array-bracket-spacing": [ - "error", - "always", - { - "arraysInArrays": false - } - ], - "arrow-parens": [ - "error", - "always" - ], - "arrow-spacing": "error", - "dot-notation": [ - "error", - { - "allowPattern": "^[a-z]+(_[a-z]+)+$" - } - ], - "hooks/sort": [ - "error", - { - "groups": [ - "useContext", - "useReducer", - "useState", - "useMemo", - "useRef", - "useCallback", - "useEffect" - ] - } - ], - "key-spacing": [ - "error", - { - "afterColon": true - } - ], - "linebreak-style": [ - "error", - "unix" - ], - "multiline-ternary": [ - "error", - "never" - ], - "no-alert": "error", - "no-console": [ - "warn", - { - "allow": [ - "error" - ] - } - ], - "no-unused-vars": "off", - "no-use-before-define": "off", - "no-var": "error", - "operator-linebreak": [ - "error", - "after" - ], - "padded-blocks": "off", - "quotes": [ - "error", - "single" - ], - "semi": [ - "error", - "always" - ], - "sort-imports": "off", - "space-before-function-paren": [ - "error", - { - "anonymous": "never", - "named": "never", - "asyncArrow": "always" - } - ], - "@typescript-eslint/array-type": [ - "error", - { - "default": "array" - } - ], - "@typescript-eslint/member-delimiter-style": [ - "error", - { - "multiline": { - "delimiter": "comma", - "requireLast": false - }, - "singleline": { - "delimiter": "comma", - "requireLast": false - } - } - ], - "@typescript-eslint/no-unused-vars": "error", - "@typescript-eslint/no-use-before-define": "error", - "import/order": [ - "error", - { - "pathGroups": [ - { - "pattern": "react", - "group": "builtin", - "position": "before" - }, - { - "pattern": "react-dom/**", - "group": "builtin", - "position": "before" - }, - { - "pattern": "react**", - "group": "builtin", - "position": "before" - }, - { - "pattern": "@testing-library/**", - "group": "builtin", - "position": "after" - }, - { - "pattern": "@automapper/**", - "group": "builtin", - "position": "after" - }, - { - "pattern": "@fluentui/**", - "group": "builtin", - "position": "after" - }, - { - "pattern": "@microsoft/**", - "group": "builtin", - "position": "after" - }, - { - "pattern": "@azure/**", - "group": "builtin", - "position": "after" - } - ], - "pathGroupsExcludedImportTypes": [ - "react", - "react-dom/**", - "react**", - "@testing-library/**", - "@automapper/**", - "@fluentui/**", - "@microsoft/**", - "@azure/**" - ], - "alphabetize": { - "order": "asc" - }, - "newlines-between": "always" - } - ], - "react/jsx-closing-bracket-location": [ - "error", - "after-props" - ], - "react/jsx-first-prop-new-line": [ - "error", - "multiline" - ], - "react/jsx-indent": [ - "error", - 2 - ], - "react/jsx-indent-props": [ - "error", - 2 - ], - "react/jsx-max-props-per-line": [ - "error", - { - "maximum": 1 - } - ], - "react/jsx-sort-props": [ - "error", - { - "callbacksLast": true, - "multiline": "last", - "reservedFirst": true - } - ], - "react/jsx-tag-spacing": [ - "error", - { - "beforeSelfClosing": "always" - } - ], - "react/no-unknown-property": [ - "error", - { - "ignore": [ - "css" - ] - } - ], - "react/prop-types": "off", - "sonarjs/no-collapsible-if": "warn", - "sonarjs/no-duplicate-string": "off", - "sonarjs/no-small-switch": "warn", - "sonarjs/prefer-single-boolean-return": "off" - } -} diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 0fac0bd..9a69329 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -5,7 +5,7 @@ on: - develop env: - BUILD_VERSION: '1.13.5' + BUILD_VERSION: '1.13.6' jobs: select-environment: @@ -15,15 +15,10 @@ jobs: id: select-environment shell: pwsh run: | - if ("${{github.ref}}" -eq "refs/heads/main") { - Write-Output "env-name=production" >> $env:GITHUB_OUTPUT - } - if ("${{github.ref}}" -eq "refs/heads/develop") { - Write-Output "env-name=development" >> $env:GITHUB_OUTPUT - } + Write-Output "env-name=$(@{'main'='production';'develop'='development'}['${{github.ref_name}}'])" >> $env:GITHUB_OUTPUT outputs: env-name: ${{steps.select-environment.outputs.env-name}} - build-client: + build-source: needs: select-environment runs-on: ubuntu-latest environment: @@ -82,10 +77,10 @@ jobs: fail_ci_if_error: true token: ${{secrets.CODECOV_TOKEN}} slug: karamem0/hitofude - deploy-client: + deploy-source: needs: - select-environment - - build-client + - build-source runs-on: ubuntu-latest environment: name: ${{needs.select-environment.outputs.env-name}} diff --git a/.stylelintrc.json b/.stylelintrc.json deleted file mode 100644 index 7d29f10..0000000 --- a/.stylelintrc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": [ - "stylelint-config-standard-scss", - "stylelint-config-recess-order" - ], - "overrides": [ - { - "customSyntax": "postcss-styled-syntax", - "files": [ - "src/**/*.{jsx,tsx}" - ], - "rules": { - "at-rule-empty-line-before": "never", - "declaration-empty-line-before": "never", - "rule-empty-line-before": "never" - } - } - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json index 2a608a5..fbb1e5e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "eslint.format.enable": true, + "eslint.useFlatConfig": true, "jest.runMode": "on-demand", "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 921ee74..b9281d0 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -31,7 +31,7 @@ "background": { "activeOnStart": true, "beginsPattern": "^VITE v[0-9\\.]+ ready in [0-9]+ms$", - "endsPattern": "https://(localhost|127.0.0.1):[0-9]+/$" + "endsPattern": "https://(?:localhost|127.0.0.1):[0-9]+/$" } } ], diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 0000000..e301cdd --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1,32 @@ +// +// Copyright (c) 2023-2024 karamem0 +// +// This software is released under the MIT License. +// +// https://github.com/karamem0/hitofude/blob/main/LICENSE +// + +module.exports = { + 'plugins': [ + '@emotion/babel-plugin', + [ + 'formatjs', + { + 'ast': true, + 'idInterpolationPattern': '[sha512:contenthash:base64:6]' + } + ] + ], + 'presets': [ + [ + '@babel/preset-env', + { + 'targets': { + 'node': 'current' + } + } + ], + '@babel/preset-react', + '@babel/preset-typescript' + ] +}; diff --git a/babel.config.json b/babel.config.json deleted file mode 100644 index 90ea2f0..0000000 --- a/babel.config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "plugins": [ - "@emotion/babel-plugin", - [ - "formatjs", - { - "ast": true, - "idInterpolationPattern": "[sha512:contenthash:base64:6]" - } - ] - ], - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ], - "@babel/preset-react", - "@babel/preset-typescript" - ] -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..b5c1c97 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,267 @@ +// +// Copyright (c) 2023-2024 karamem0 +// +// This software is released under the MIT License. +// +// https://github.com/karamem0/hitofude/blob/main/LICENSE +// + +import path from 'path'; +import { fileURLToPath } from 'url'; + +import { fixupConfigRules, fixupPluginRules } from '@eslint/compat'; +import { FlatCompat } from '@eslint/eslintrc'; +import js from '@eslint/js'; +import hooks from 'eslint-plugin-hooks'; +import sonarjs from 'eslint-plugin-sonarjs'; +import globals from 'globals'; + +const compat = new FlatCompat({ + baseDirectory: path.dirname(fileURLToPath(import.meta.url)), + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [ + ...fixupConfigRules(compat.extends( + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react-hooks/recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:sonarjs/recommended-legacy', + 'plugin:testing-library/react', + 'standard' + )), + { + 'plugins': { + hooks, + 'sonarjs': fixupPluginRules(sonarjs) + }, + 'languageOptions': { + 'globals': { + ...globals.browser, + ...globals.jest + } + }, + 'settings': { + 'react': { + 'version': 'detect' + } + }, + 'rules': { + 'array-bracket-spacing': [ + 'error', + 'always', + { + 'arraysInArrays': false + } + ], + 'arrow-parens': [ + 'error', + 'always' + ], + 'arrow-spacing': 'error', + 'dot-notation': [ + 'error', + { + 'allowPattern': '^[a-z]+(_[a-z]+)+$' + } + ], + 'hooks/sort': [ + 'error', + { + 'groups': [ + 'useContext', + 'useReducer', + 'useState', + 'useMemo', + 'useRef', + 'useCallback', + 'useEffect' + ] + } + ], + 'key-spacing': [ + 'error', + { + 'afterColon': true + } + ], + 'linebreak-style': [ + 'error', + 'unix' + ], + 'multiline-ternary': [ + 'error', + 'never' + ], + 'no-alert': 'error', + 'no-console': [ + 'warn', + { + 'allow': [ + 'error' + ] + } + ], + 'no-unused-vars': 'off', + 'no-use-before-define': 'off', + 'no-var': 'error', + 'operator-linebreak': [ + 'error', + 'after' + ], + 'padded-blocks': 'off', + 'quote-props': [ + 'error', + 'consistent' + ], + 'quotes': [ + 'error', 'single' + ], + 'semi': [ + 'error', 'always' + ], + 'sort-imports': 'off', + 'space-before-function-paren': [ + 'error', + { + 'anonymous': 'never', + 'named': 'never', + 'asyncArrow': 'always' + } + ], + '@typescript-eslint/array-type': [ + 'error', + { + 'default': 'array' + } + ], + '@typescript-eslint/member-delimiter-style': [ + 'error', + { + 'multiline': { + 'delimiter': 'comma', + 'requireLast': false + }, + 'singleline': { + 'delimiter': 'comma', + 'requireLast': false + } + } + ], + '@typescript-eslint/no-unused-vars': 'error', + '@typescript-eslint/no-use-before-define': 'error', + 'import/order': [ + 'error', + { + 'pathGroups': [ + { + 'pattern': 'react', + 'group': 'builtin', + 'position': 'before' + }, + { + 'pattern': 'react-dom/**', + 'group': 'builtin', + 'position': 'before' + }, + { + 'pattern': 'react**', + 'group': 'builtin', + 'position': 'before' + }, + { + 'pattern': '@testing-library/**', + 'group': 'builtin', + 'position': 'after' + }, + { + 'pattern': '@automapper/**', + 'group': 'builtin', + 'position': 'after' + }, + { + 'pattern': '@fluentui/**', + 'group': 'builtin', + 'position': 'after' + }, + { + 'pattern': '@microsoft/**', + 'group': 'builtin', + 'position': 'after' + }, + { + 'pattern': '@azure/**', + 'group': 'builtin', + 'position': 'after' + } + ], + 'pathGroupsExcludedImportTypes': [ + 'react', + 'react-dom/**', + 'react**', + '@testing-library/**', + '@automapper/**', + '@fluentui/**', + '@microsoft/**', + '@azure/**' + ], + 'alphabetize': { + 'order': 'asc' + }, + 'newlines-between': 'always' + } + ], + 'react/jsx-closing-bracket-location': [ + 'error', + 'after-props' + ], + 'react/jsx-first-prop-new-line': [ + 'error', + 'multiline' + ], + 'react/jsx-indent': [ + 'error', + 2 + ], + 'react/jsx-indent-props': [ + 'error', + 2 + ], + 'react/jsx-max-props-per-line': [ + 'error', + { + 'maximum': 1 + } + ], + 'react/jsx-sort-props': [ + 'error', + { + 'callbacksLast': true, + 'multiline': 'last', + 'reservedFirst': true + } + ], + 'react/jsx-tag-spacing': [ + 'error', + { + 'beforeSelfClosing': 'always' + } + ], + 'react/no-unknown-property': [ + 'error', + { + 'ignore': [ + 'css' + ] + } + ], + 'react/prop-types': 'off', + 'sonarjs/no-collapsible-if': 'warn', + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/no-small-switch': 'warn', + 'sonarjs/prefer-single-boolean-return': 'off' + } + } +]; diff --git a/jest.config.json b/jest.config.json deleted file mode 100644 index 66aeb96..0000000 --- a/jest.config.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "automock": false, - "coverageDirectory": "coverage", - "reporters": [ - "default", - [ - "jest-junit", - { - "outputDirectory": "test" - } - ] - ], - "snapshotSerializers": [ - "@emotion/jest/serializer" - ], - "testEnvironment": "jsdom", - "testMatch": [ - "**/*.test.ts", - "**/*.test.tsx" - ], - "transform": { - "^.+\\.[tj]sx?$": "babel-jest" - }, - "transformIgnorePatterns": [ - "/node_modules/(?!@fluentui)" - ] -} diff --git a/jest.config.mjs b/jest.config.mjs new file mode 100644 index 0000000..af0ba04 --- /dev/null +++ b/jest.config.mjs @@ -0,0 +1,27 @@ +export default { + 'automock': false, + 'coverageDirectory': 'coverage', + 'reporters': [ + 'default', + [ + 'jest-junit', + { + 'outputDirectory': 'test' + } + ] + ], + 'snapshotSerializers': [ + '@emotion/jest/serializer' + ], + 'testEnvironment': 'jsdom', + 'testMatch': [ + '**/*.test.ts', + '**/*.test.tsx' + ], + 'transform': { + '^.+\\.(?:js|mjs|ts|jsx|tsx)$': 'babel-jest' + }, + 'transformIgnorePatterns': [ + '/node_modules/(?!@fluentui)' + ] +}; diff --git a/package-lock.json b/package-lock.json index 8f3b7b2..734535d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,13 +10,13 @@ "dependencies": { "@automapper/core": "^8.8.1", "@automapper/pojos": "^8.8.1", - "@azure/msal-browser": "^3.20.0", + "@azure/msal-browser": "^3.21.0", "@azure/msal-react": "^2.0.22", - "@fluentui/react-components": "^9.54.9", - "@fluentui/react-icons-mdl2": "^1.3.73", - "@fluentui/react-icons-mdl2-branded": "^1.2.75", + "@fluentui/react-components": "^9.54.12", + "@fluentui/react-icons-mdl2": "^1.3.75", + "@fluentui/react-icons-mdl2-branded": "^1.2.77", "@microsoft/applicationinsights-react-js": "^17.3.0", - "@microsoft/applicationinsights-web": "^3.3.0", + "@microsoft/applicationinsights-web": "^3.3.1", "@microsoft/microsoft-graph-client": "^3.0.7", "bytes": "^3.1.2", "mime": "^4.0.4", @@ -28,7 +28,7 @@ "react-hook-form": "^7.52.2", "react-intl": "^6.6.8", "react-markdown": "^9.0.1", - "react-router-dom": "^6.26.0", + "react-router-dom": "^6.26.1", "react-syntax-highlighter": "^15.5.0", "react-use": "^17.5.1", "rehype-raw": "^7.0.0", @@ -43,6 +43,9 @@ "@emotion/babel-plugin": "^11.12.0", "@emotion/jest": "^11.13.0", "@emotion/react": "^11.13.0", + "@eslint/compat": "^1.1.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.9.0", "@formatjs/cli": "^6.2.12", "@microsoft/microsoft-graph-types": "^2.40.0", "@testing-library/jest-dom": "^6.4.8", @@ -66,18 +69,19 @@ "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-sonarjs": "^1.0.4", - "eslint-plugin-testing-library": "^6.2.2", + "eslint-plugin-testing-library": "^6.3.0", + "globals": "^15.9.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-junit": "^16.0.0", "postcss": "^8.4.41", "postcss-styled-syntax": "^0.6.4", "sass": "^1.77.8", - "stylelint": "^16.8.1", + "stylelint": "^16.8.2", "stylelint-config-recess-order": "^5.0.1", "stylelint-config-standard-scss": "^13.1.0", "typescript": "^5.5.4", - "vite": "^5.3.5" + "vite": "^5.4.1" } }, "node_modules/@adobe/css-tools": { @@ -123,21 +127,21 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.20.0.tgz", - "integrity": "sha512-ErsxbfCGIwdqD8jipqdxpfAGiUEQS7MWUe39Rjhl0ZVPsb1JEe9bZCe2+0g23HDH6DGyCAtnTNN9scPtievrMQ==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.21.0.tgz", + "integrity": "sha512-BAwcFsVvOrYzKuUZHhFuvRykUmQGq6lDxst2qGnjxnpNZc3d/tnVPcmhgvUdeKl28VSE0ltgBzT3HkdpDtz9rg==", "license": "MIT", "dependencies": { - "@azure/msal-common": "14.14.0" + "@azure/msal-common": "14.14.1" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.14.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.0.tgz", - "integrity": "sha512-OxcOk9H1/1fktHh6//VCORgSNJc2dCQObTm6JNmL824Z6iZSO6eFo/Bttxe0hETn9B+cr7gDouTQtsRq3YPuSQ==", + "version": "14.14.1", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.14.1.tgz", + "integrity": "sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw==", "license": "MIT", "engines": { "node": ">=0.8.0" @@ -1089,6 +1093,16 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", @@ -2110,6 +2124,16 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", @@ -2133,9 +2157,9 @@ "license": "MIT" }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", - "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.0.tgz", + "integrity": "sha512-20hEErXV9GEx15qRbsJVzB91ryayx1F2duHPBrfZXQAHz/dJG0u/611URpr28+sFjm3EI7U17Pj9SVA9NSAGJA==", "dev": true, "funding": [ { @@ -2149,16 +2173,16 @@ ], "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.4.1" + "@csstools/css-tokenizer": "^3.0.0" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", - "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.0.tgz", + "integrity": "sha512-efZvfJyYrqH9hPCKtOBywlTsCXnEzAI9sLHFzUsDpBb+1bQ+bxJnwL9V2bRKv9w4cpIp75yxGeZRaVKoMQnsEg==", "dev": true, "funding": [ { @@ -2172,13 +2196,13 @@ ], "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", - "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.0.tgz", + "integrity": "sha512-W0JlkUFwXjo703wt06AcaWuUcS+6x6IEDyxV6W65Sw+vLCYp+uPsrps+PXTiIfN0V1Pqj5snPzN7EYLmbz1zjg==", "dev": true, "funding": [ { @@ -2192,17 +2216,17 @@ ], "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.7.1", - "@csstools/css-tokenizer": "^2.4.1" + "@csstools/css-parser-algorithms": "^3.0.0", + "@csstools/css-tokenizer": "^3.0.0" } }, "node_modules/@csstools/selector-specificity": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", - "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz", + "integrity": "sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==", "dev": true, "funding": [ { @@ -2216,10 +2240,10 @@ ], "license": "MIT-0", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "postcss-selector-parser": "^6.0.13" + "postcss-selector-parser": "^6.1.0" } }, "node_modules/@dual-bundle/import-meta-resolve": { @@ -2894,17 +2918,27 @@ "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/compat": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.1.1.tgz", + "integrity": "sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2912,93 +2946,33 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", + "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@floating-ui/core": { @@ -3054,9 +3028,9 @@ } }, "node_modules/@fluentui/merge-styles": { - "version": "8.6.12", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.12.tgz", - "integrity": "sha512-v8njux9frUkoGGlBnQXKHaKCX2nLZVHPFMDMzibtAIt4vIkkv+oY2lFmJ2h96tSIkg4eVN7h5sSDTFVoAPwpYg==", + "version": "8.6.13", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", + "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", "license": "MIT", "dependencies": { "@fluentui/set-version": "^8.2.23", @@ -3073,19 +3047,19 @@ } }, "node_modules/@fluentui/react-accordion": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.5.0.tgz", - "integrity": "sha512-GKkY+626XF+k0oWZV2aI8UBhM3E3KE73udzAvJ18mHVVTZ6fSRvz71ieFA6nR8h5USf0CO8RPgF98iXxaz1LKQ==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.5.2.tgz", + "integrity": "sha512-3Xhi0Qc+WiYRmuHD1Usn0hDbdYwZP+d9pjhJVYeD/P0KUNnrVoOjPe6jLphT/BU+K4ww2IAdDSHsuShd5v54kg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-motion": "^9.3.0", + "@fluentui/react-motion": "^9.4.0", "@fluentui/react-motion-components-preview": "^0.1.1", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3122,15 +3096,15 @@ } }, "node_modules/@fluentui/react-aria": { - "version": "9.13.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.13.2.tgz", - "integrity": "sha512-lb93r/FiE3bj1/lfixy/Hb+LW8MQ9HCqdDWLRo1gmP4f3QgIj/Gz7oTB+NilwzytiH4OBDXq0apdUHGLwGkotA==", + "version": "9.13.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.13.4.tgz", + "integrity": "sha512-kFavxrWnOOkScy1Ue7YvnofxjjPzdEROziyApEp7QhyWd8syfNvTZh79WnBza0RBEPvWqExphS95J3vmyM8avA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-utilities": "^9.18.13", "@swc/helpers": "^0.5.1" }, @@ -3142,20 +3116,20 @@ } }, "node_modules/@fluentui/react-avatar": { - "version": "9.6.35", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.35.tgz", - "integrity": "sha512-3KZfMvNwn3h2sGbUVtML6joBs1VUj3a0kOcUVaHxuDcdFSrhrDiiwf6l+poFpI6OKo/wDtnqHAb1QaypL0zGjg==", + "version": "9.6.37", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.37.tgz", + "integrity": "sha512-6/5AgZ/s353FhCscFWOiec0j4vJCjHXbWO4F9JDItYDUm0t+egN7rb98LZhAezfapo4GUxdx7ZNpqWy0bZ5GDw==", "license": "MIT", "dependencies": { "@fluentui/react-badge": "^9.2.41", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-popover": "^9.9.17", + "@fluentui/react-popover": "^9.9.19", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", - "@fluentui/react-tooltip": "^9.4.35", + "@fluentui/react-tooltip": "^9.4.37", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" @@ -3189,18 +3163,18 @@ } }, "node_modules/@fluentui/react-breadcrumb": { - "version": "9.0.34", - "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.0.34.tgz", - "integrity": "sha512-uSMlQme/Rrt6giWJRz5el0soY9GjKsnm8v6b/md1cehivc6FX8iys2Lmk5oJM+m3a2gxKQYr3sp8CvKsyKOGlw==", + "version": "9.0.36", + "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.0.36.tgz", + "integrity": "sha512-InuZqcokYVyEjLZWQNXUapBi7ryo8i5q0onNxDEf0J+Qolg3baqRN1jY4cKC4UzjlMJgjr+Vz/+gMIRGNLDIKw==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-button": "^9.3.87", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-button": "^9.3.89", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-link": "^9.2.28", + "@fluentui/react-link": "^9.2.30", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3214,17 +3188,17 @@ } }, "node_modules/@fluentui/react-button": { - "version": "9.3.87", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.87.tgz", - "integrity": "sha512-Di8RWjIswa1jriYfed6FH90fqmTwBkaILWxzJzChaBbUAOtxEYn3K57F+9PS9s05z7PhlDuVnfd2RV0dIrYHtg==", + "version": "9.3.89", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.89.tgz", + "integrity": "sha512-fliozeCpApuDpevvHLC2rTdhyVymXZHaXSR2cFqgYdYtHrXFE7JbMHVMNAszQCo+T+4uovzKU/SL1z7xMr1VhQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3238,14 +3212,14 @@ } }, "node_modules/@fluentui/react-card": { - "version": "9.0.89", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.89.tgz", - "integrity": "sha512-i8eBIROVBndc0duwPy8UREnFix0CLS3Va4rsZAQ4pW8woGoandP+I2S0h3NNesuqz0I/15imekMR38APLbSnNg==", + "version": "9.0.91", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.91.tgz", + "integrity": "sha512-5p1d5hpEnkXNnj7BAvl6pLyvX3bOOY0kFB/gGn32rpFpdxs5vCsGe1qNs2Ju9MlMhSFh7c2mBMHOixc/eD9JiA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-text": "^9.4.23", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", @@ -3260,17 +3234,17 @@ } }, "node_modules/@fluentui/react-checkbox": { - "version": "9.2.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.2.33.tgz", - "integrity": "sha512-5bccf0H4as8vjQXslFrZhEIosNUUOqpuZ20OLkpoI+NVzVfQtwa4sI8BaSr8oATJU3haXVBxItOa/zOOiBzWvA==", + "version": "9.2.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.2.35.tgz", + "integrity": "sha512-YK6jYbW/Sg9raJ3uoHUhLO7htEA4VZponhG3vfHg1ss6BHjfArSHHMHLRaHhHmzfeQewoA7A6Y/XDSGLeffXVw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-label": "^9.1.74", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3284,21 +3258,21 @@ } }, "node_modules/@fluentui/react-combobox": { - "version": "9.13.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.13.3.tgz", - "integrity": "sha512-q1B/1e/beA8dkPZS8MV+jHF092W8y0bCdxfTrsnWuapKIXIn0BMPSE04f0aNED8R4yxxZN27y8LR/9EGcWeHtA==", + "version": "9.13.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.13.5.tgz", + "integrity": "sha512-nfhERKiTB73jcVsSJYlX1cXu/Tcd1YE9TrldgIm1Rb79vDlX0WT3hpf4yvHMuPwA6qPGISm8RmYGj6mjs4ucLA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-context-selector": "^9.1.65", - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3312,65 +3286,65 @@ } }, "node_modules/@fluentui/react-components": { - "version": "9.54.10", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.54.10.tgz", - "integrity": "sha512-vudQzlKx1vBqY9djsJBJ8vhtzpslFQ0ziOAo1hz7vruSRFy1dhZqY1LANDaT9kk8Ri8nKVxXlqlxI461OW07hg==", + "version": "9.54.12", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.54.12.tgz", + "integrity": "sha512-EwcAPJVVaJCp1UaK8AQ2IZVYJm2cHMYqNGxjXBRlwkzvFJ126xfUuBh0O06SUIUdF5CcbZQRyX3m7bmU4oyNqA==", "license": "MIT", "dependencies": { - "@fluentui/react-accordion": "^9.5.0", + "@fluentui/react-accordion": "^9.5.2", "@fluentui/react-alert": "9.0.0-beta.124", - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-avatar": "^9.6.35", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-avatar": "^9.6.37", "@fluentui/react-badge": "^9.2.41", - "@fluentui/react-breadcrumb": "^9.0.34", - "@fluentui/react-button": "^9.3.87", - "@fluentui/react-card": "^9.0.89", - "@fluentui/react-checkbox": "^9.2.33", - "@fluentui/react-combobox": "^9.13.3", - "@fluentui/react-dialog": "^9.11.9", + "@fluentui/react-breadcrumb": "^9.0.36", + "@fluentui/react-button": "^9.3.89", + "@fluentui/react-card": "^9.0.91", + "@fluentui/react-checkbox": "^9.2.35", + "@fluentui/react-combobox": "^9.13.5", + "@fluentui/react-dialog": "^9.11.11", "@fluentui/react-divider": "^9.2.73", - "@fluentui/react-drawer": "^9.5.9", - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-drawer": "^9.5.11", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-image": "^9.1.71", "@fluentui/react-infobutton": "9.0.0-beta.102", - "@fluentui/react-infolabel": "^9.0.42", - "@fluentui/react-input": "^9.4.85", + "@fluentui/react-infolabel": "^9.0.44", + "@fluentui/react-input": "^9.4.87", "@fluentui/react-label": "^9.1.74", - "@fluentui/react-link": "^9.2.28", - "@fluentui/react-menu": "^9.14.12", - "@fluentui/react-message-bar": "^9.2.7", + "@fluentui/react-link": "^9.2.30", + "@fluentui/react-menu": "^9.14.14", + "@fluentui/react-message-bar": "^9.2.9", "@fluentui/react-motion": "^9.4.0", - "@fluentui/react-overflow": "^9.1.26", - "@fluentui/react-persona": "^9.2.94", - "@fluentui/react-popover": "^9.9.17", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-overflow": "^9.1.28", + "@fluentui/react-persona": "^9.2.96", + "@fluentui/react-popover": "^9.9.19", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", - "@fluentui/react-progress": "^9.1.83", - "@fluentui/react-provider": "^9.17.0", - "@fluentui/react-radio": "^9.2.28", - "@fluentui/react-rating": "^9.0.15", - "@fluentui/react-search": "^9.0.14", - "@fluentui/react-select": "^9.1.83", + "@fluentui/react-progress": "^9.1.85", + "@fluentui/react-provider": "^9.17.2", + "@fluentui/react-radio": "^9.2.30", + "@fluentui/react-rating": "^9.0.17", + "@fluentui/react-search": "^9.0.16", + "@fluentui/react-select": "^9.1.85", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-skeleton": "^9.1.12", - "@fluentui/react-slider": "^9.1.90", - "@fluentui/react-spinbutton": "^9.2.84", + "@fluentui/react-skeleton": "^9.1.14", + "@fluentui/react-slider": "^9.1.92", + "@fluentui/react-spinbutton": "^9.2.86", "@fluentui/react-spinner": "^9.4.12", - "@fluentui/react-swatch-picker": "^9.1.6", - "@fluentui/react-switch": "^9.1.90", - "@fluentui/react-table": "^9.15.13", - "@fluentui/react-tabs": "^9.4.28", - "@fluentui/react-tabster": "^9.22.3", - "@fluentui/react-tag-picker": "^9.2.5", - "@fluentui/react-tags": "^9.3.14", - "@fluentui/react-teaching-popover": "^9.1.13", + "@fluentui/react-swatch-picker": "^9.1.8", + "@fluentui/react-switch": "^9.1.92", + "@fluentui/react-table": "^9.15.15", + "@fluentui/react-tabs": "^9.4.30", + "@fluentui/react-tabster": "^9.22.5", + "@fluentui/react-tag-picker": "^9.3.1", + "@fluentui/react-tags": "^9.3.16", + "@fluentui/react-teaching-popover": "^9.1.15", "@fluentui/react-text": "^9.4.23", - "@fluentui/react-textarea": "^9.3.84", + "@fluentui/react-textarea": "^9.3.86", "@fluentui/react-theme": "^9.1.19", - "@fluentui/react-toast": "^9.3.51", - "@fluentui/react-toolbar": "^9.2.1", - "@fluentui/react-tooltip": "^9.4.35", - "@fluentui/react-tree": "^9.7.8", + "@fluentui/react-toast": "^9.3.53", + "@fluentui/react-toolbar": "^9.2.3", + "@fluentui/react-tooltip": "^9.4.37", + "@fluentui/react-tree": "^9.7.10", "@fluentui/react-utilities": "^9.18.13", "@fluentui/react-virtualizer": "9.0.0-alpha.82", "@griffel/react": "^1.5.22", @@ -3401,20 +3375,20 @@ } }, "node_modules/@fluentui/react-dialog": { - "version": "9.11.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.11.9.tgz", - "integrity": "sha512-D5amuofpLM/9Rw3NCbzNTBRvOUZf64zK4lKQDykygui9XNlu7+nS05MyB6+M58500LN8el6rFqLjJbPVye09SQ==", + "version": "9.11.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.11.11.tgz", + "integrity": "sha512-WuM+a5SmGUciOPK8hl0htdK/I6kvUP5EaFu/amXfwQ89RUwx259vZw6bkAau+TVVvL5bpovH9miWGas4mmpbuQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-motion": "^9.4.0", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3448,16 +3422,16 @@ } }, "node_modules/@fluentui/react-drawer": { - "version": "9.5.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.5.9.tgz", - "integrity": "sha512-T6oK5jV1WG7E3uSaSXjoyXd+z8db3b4j0TPLAwBY/MWgsno/6NzADnwf/caNhIjsibxyDQA0gPtETVG+IOJstw==", + "version": "9.5.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.5.11.tgz", + "integrity": "sha512-f02BcWXfsKFHQgodlKUslwIs7ZcjO9K/+nnNMGv0XziTMer8JqMDdeohaOkapSBuxKp4CvT4llQwXix+b8MOCg==", "license": "MIT", "dependencies": { - "@fluentui/react-dialog": "^9.11.9", + "@fluentui/react-dialog": "^9.11.11", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-motion": "^9.4.0", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3471,9 +3445,9 @@ } }, "node_modules/@fluentui/react-field": { - "version": "9.1.72", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.72.tgz", - "integrity": "sha512-39DsB0nIOU7FdWN7+a8x2RKPaZrAMmsGaz85DOYryzbp8y9bn990BjU8WnhquNABkW2xJNI9gEi0goW/R3tmiQ==", + "version": "9.1.74", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.74.tgz", + "integrity": "sha512-Z4RJXJ4PP2YnAzz+TWYXv0QcaREV9eW1lv0fcWQKWzmHgOdeIqHruUigteoRaatmOfW6t/SjttTheoV09h/8LA==", "license": "MIT", "dependencies": { "@fluentui/react-context-selector": "^9.1.65", @@ -3493,13 +3467,13 @@ } }, "node_modules/@fluentui/react-icon-provider": { - "version": "1.3.69", - "resolved": "https://registry.npmjs.org/@fluentui/react-icon-provider/-/react-icon-provider-1.3.69.tgz", - "integrity": "sha512-Ls+c/OkuBryG84dPngtWT7SQZvF5UqmPFSHXqEnz9iZbNgXa0i8Fsmd5tnGYmBUBhb5oKOFvQI1UB/vc2C09tQ==", + "version": "1.3.71", + "resolved": "https://registry.npmjs.org/@fluentui/react-icon-provider/-/react-icon-provider-1.3.71.tgz", + "integrity": "sha512-Lv3ZuFgVemUIfT9YiuGbEfk0rYrMnRM6rTXTdBbGIfwvvtWxwZWakR8Xi9GF/kxnnFeXaTNvbOQUSyum1swFaw==", "license": "MIT", "dependencies": { "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.10.19", + "@fluentui/style-utilities": "^8.10.21", "tslib": "^2.1.0" }, "peerDependencies": { @@ -3510,9 +3484,9 @@ } }, "node_modules/@fluentui/react-icons": { - "version": "2.0.252", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.252.tgz", - "integrity": "sha512-MvvgjRL2Hb0ftQkJwQRqwlNNMUTqh246psL1Xb4DRWZjpxR+CcDY9UxAyIu2Fp6i2/BEWtizIMzo8sxH0e1YRw==", + "version": "2.0.253", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.253.tgz", + "integrity": "sha512-RYwfILx3hbA+QKtBC9jOuvCUzTQwxDak03NoR6LVEKBSNgTYkwswRCHQH9zUyLhiUQ3z75Jb/UG+xkUwPujiJw==", "license": "MIT", "dependencies": { "@griffel/react": "^1.0.0", @@ -3523,14 +3497,14 @@ } }, "node_modules/@fluentui/react-icons-mdl2": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons-mdl2/-/react-icons-mdl2-1.3.73.tgz", - "integrity": "sha512-tZariw4FzyZxQjH+R22Z4S8euIkm5RV2oUK6kjQRnarMwOnIgN3pxoc1RgfzSSm9MaqtfSa+IsSVxsUT1KzyPw==", + "version": "1.3.75", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons-mdl2/-/react-icons-mdl2-1.3.75.tgz", + "integrity": "sha512-4RMUsWkLL/sLDigTlL+QwSVe58DA9WmH+FPRMo8GIkag7ZtbtWNlxDuHeczX98qJoERGH+zCjsEd3vq/WbL5sg==", "license": "MIT", "dependencies": { - "@fluentui/react-icon-provider": "^1.3.69", + "@fluentui/react-icon-provider": "^1.3.71", "@fluentui/set-version": "^8.2.23", - "@fluentui/utilities": "^8.15.14", + "@fluentui/utilities": "^8.15.15", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -3539,12 +3513,12 @@ } }, "node_modules/@fluentui/react-icons-mdl2-branded": { - "version": "1.2.75", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons-mdl2-branded/-/react-icons-mdl2-branded-1.2.75.tgz", - "integrity": "sha512-1v9c3GYBvDGEf1F+FK+5ijTXOqxHH2NV0x3SOk3lh5n74mMJy3JpzdHgMaiRKW8ToGxKzWWLR0TiE2ECnCn8RQ==", + "version": "1.2.77", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons-mdl2-branded/-/react-icons-mdl2-branded-1.2.77.tgz", + "integrity": "sha512-7ydzxxRItSKs4L09zOSIJEdI87AHzTKCRE3x11HAMZt5CdyMRPq2JzIbzFbb3hg9NuyaKi2J15tCn8aRWN4gWA==", "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@fluentui/react-icons-mdl2": "^1.3.73", + "@fluentui/react-icons-mdl2": "^1.3.75", "@fluentui/set-version": "^8.2.23", "tslib": "^2.1.0" }, @@ -3599,16 +3573,16 @@ } }, "node_modules/@fluentui/react-infolabel": { - "version": "9.0.42", - "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.0.42.tgz", - "integrity": "sha512-8BIngNXmPqBVyxnbUnWsLOqk8V12Oc7PiInf78i6nFsQee507lp4gt5n7dzIkuXauEQFo1e0WQnC7Z7K3Czkrg==", + "version": "9.0.44", + "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.0.44.tgz", + "integrity": "sha512-GWw6UlF0s8HujWaCkGLfnbGaukQycfax7GPe38xVn/TkQp7KPNMgFp1Ag7kwaQtMqDbPIKJeDkaz8kdFziIT9w==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-label": "^9.1.74", - "@fluentui/react-popover": "^9.9.17", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-popover": "^9.9.19", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3622,12 +3596,12 @@ } }, "node_modules/@fluentui/react-input": { - "version": "9.4.85", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.85.tgz", - "integrity": "sha512-uCqWY7C+WV/1BXebSUSENgRAkTvWtzwkI+V9TGELnpOolBQ6YlQDUjaL5vO/mWILntocO9dGeRtnceZOSrn/rw==", + "version": "9.4.87", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.87.tgz", + "integrity": "sha512-rIJEL+/xUrTWVi4CJlaCPyauQRMs3nTNvOuy3vBy3+C4IipTOAEM6cyR3RJUCt5IjKLsxJBTLZWRzwhZhAGx8Q==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", "@fluentui/react-theme": "^9.1.19", @@ -3678,15 +3652,15 @@ } }, "node_modules/@fluentui/react-link": { - "version": "9.2.28", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.2.28.tgz", - "integrity": "sha512-k1/i8ktTCbztK88YogIt2FYCpJJMFxC4IzXAvpKLioTw6N3ITmxo9KuNNMvOYckGgHyvJliWutu/rSozFXTDmg==", + "version": "9.2.30", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.2.30.tgz", + "integrity": "sha512-Vgd3x6wyDvG20P6t3j0zXqncy5grkCDV05Gpt6Q77qwqDLNUUpu/DoolgCxVidp91Vlvt6/M9NZAJS4XXDBqTA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3700,20 +3674,20 @@ } }, "node_modules/@fluentui/react-menu": { - "version": "9.14.12", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.14.12.tgz", - "integrity": "sha512-aBFXf5dtDLctNTb5+VTS7zqZgV3VOv6hEOpf4PmRZiWfw1WAjSwMKdWTWXunqIdd5eOZu9mB7y1RWSoyBrN7Jg==", + "version": "9.14.14", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.14.14.tgz", + "integrity": "sha512-QBwpi6qUWCNNTdxtn+n/xpzbC4L2stdRnzYedodvby2Q1MQ95RmCFkxjjujJvcF4R5lOxwaNQAoVDtRY6rhxzw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3727,12 +3701,12 @@ } }, "node_modules/@fluentui/react-message-bar": { - "version": "9.2.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.2.7.tgz", - "integrity": "sha512-GS+HCZ46UgDnsw4qc14eS47Ti0e5C6xYbtpOYLo7gcT0/57ij/B9rDhgTwZtso/haS62fWHYK0gHOu03Y2zvCg==", + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.2.9.tgz", + "integrity": "sha512-r8KN/CECCKzMTSDzN4Iztn+Ta5mXz4LW4E8vYRl8l4LV5/Si5msK2VYAgVAVnIL0KTBDO9XIsXS+zxHl2xwFHw==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.3.87", + "@fluentui/react-button": "^9.3.89", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", @@ -3784,9 +3758,9 @@ } }, "node_modules/@fluentui/react-overflow": { - "version": "9.1.26", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.1.26.tgz", - "integrity": "sha512-zrJfbLvxrW10GH+JtRhPclCeV/mxUxSYRsHBpD/RwABaE+L2PR//3QKHXCV7xIlFpNJUpmRbFe71dtb7Eyt2Xw==", + "version": "9.1.28", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.1.28.tgz", + "integrity": "sha512-J6WDAy22IJTCQAZiIRGn+DEqKnCS2xWHrAz+6F4JwTfjWWdbgTYofIQNTus8p4/vBjw5/ORwCERBkfrRsLBEBQ==", "license": "MIT", "dependencies": { "@fluentui/priority-overflow": "^9.1.13", @@ -3804,12 +3778,12 @@ } }, "node_modules/@fluentui/react-persona": { - "version": "9.2.94", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.94.tgz", - "integrity": "sha512-k0q0i7eXpGQxIjaQQ7aIZAbVWQPDu0ZKZxVrXXX62fXmk0RQE20wPRPG426WENrglMNTNFr3aGKw7hz905iQHg==", + "version": "9.2.96", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.96.tgz", + "integrity": "sha512-SG2y8EKKMGdHqJjtilT2uDrlbTDPxrrTjQYRLj8Rlr7P2NT4SkiMpx826eexV6/8ZNcmyn/kvaR5EvlG9SWkbg==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.6.35", + "@fluentui/react-avatar": "^9.6.37", "@fluentui/react-badge": "^9.2.41", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", @@ -3826,19 +3800,19 @@ } }, "node_modules/@fluentui/react-popover": { - "version": "9.9.17", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.9.17.tgz", - "integrity": "sha512-eoTt3wklArnFkxknwGQKhLAKsZBCRPv50Jlps17JsSswNTO7EtZX9syVIHy/YyrzWBmgKdrXrtjxWprPQ8Cqgg==", + "version": "9.9.19", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.9.19.tgz", + "integrity": "sha512-iT/UvfwBdtPbYgQC2nNyogrocrhVHKftd30yElDnFN/tz8TIFyIS8Wghxtti0Qmg5bo7H5CQGUU7+wkL/bNI7Q==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3852,13 +3826,13 @@ } }, "node_modules/@fluentui/react-portal": { - "version": "9.4.31", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.4.31.tgz", - "integrity": "sha512-c/mrsn29MvBIxkyYrIAdI9E9JCMicF7mCxpWFbQQZMYKdu4/qLCtkmQfvQKEI9WFQzLS8IzTRM+NajNewUi/nA==", + "version": "9.4.33", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.4.33.tgz", + "integrity": "sha512-x+RaGu5ICWgsBXTu2onF34bitZVK362j+9EGqXDpq0FoEb/e3/pFvBW2J2dou+rmviaKhNNprwL29dII8aUPZw==", "license": "MIT", "dependencies": { "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1", @@ -3893,12 +3867,12 @@ } }, "node_modules/@fluentui/react-progress": { - "version": "9.1.83", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.83.tgz", - "integrity": "sha512-hZGlarZwPhi90LwUsNStEymd/oqHt3Dc8mBm402RHD3XJOhJ+T7k71ROLblZOwm98m2hNJ0lSB3o6FztQlrtsw==", + "version": "9.1.85", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.85.tgz", + "integrity": "sha512-cHFvJnZ5Em5RKiK4tq8c+ZbPF9JlJJcydE2j/y2aXKtufsCrD0SuNDDjEyCP7UUdJ8FWeoO2Azq3oSsP/VaT7A==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", "@fluentui/react-theme": "^9.1.19", @@ -3914,15 +3888,15 @@ } }, "node_modules/@fluentui/react-provider": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.17.0.tgz", - "integrity": "sha512-z2nKk8MEDmDivxhcySLhD4xuEuSJgXjO14SjMcLnerAimm3Wftgoayga23cvwGgLmoeqAjG7ykEgLEfAzRDk7A==", + "version": "9.17.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.17.2.tgz", + "integrity": "sha512-0JNFaL6fqDxV0IvXov/QBqJbjuCoGJw8SOE5Fn7X0wORtGpGlR6rJgsccNs4s/hEOlmmnS79d0q3xyyDiGSuUg==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/core": "^1.16.0", @@ -3937,16 +3911,16 @@ } }, "node_modules/@fluentui/react-radio": { - "version": "9.2.28", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.28.tgz", - "integrity": "sha512-WoH95UndR6sx+BfBH4MdztHWIodi6smpZekKBUN7Y5YjvD2delCxEDaEn5Ct5qyF3pY6rwlkVTSvmZ+GSC/baQ==", + "version": "9.2.30", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.30.tgz", + "integrity": "sha512-1FklLprqvi4307PcA0aH0H4LtvtyD0hP/xqvrAP5uZdrBwFxMcbP258E4zmsRcUPAi1bQNUbUOrwe4GuQFjSog==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-label": "^9.1.74", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3960,14 +3934,14 @@ } }, "node_modules/@fluentui/react-rating": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.0.15.tgz", - "integrity": "sha512-fa8rDyvxQplqL234IMThWRVfVj3U7y3LiJcjliZ1YrTNkTVRg/w7LK010625Ased2IOBIWS4YLP1UFBFdxIflw==", + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.0.17.tgz", + "integrity": "sha512-nNe/YZXnUFYzCTvAiFMo18X/hpmXFgOQIs8itBbLWUUu0H48dbjO/HQFhd/1aOeEPURc/h+XbozztGDj5LbJNA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -3981,13 +3955,13 @@ } }, "node_modules/@fluentui/react-search": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.0.14.tgz", - "integrity": "sha512-FBsZ9S43XePR2BuVa8MJmvJjgPXhBQ9jmPo8akhFKmY6SqAFnJcMxK52iC30LpLSVsUbPKpcLv4exVtYyUAP+A==", + "version": "9.0.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.0.16.tgz", + "integrity": "sha512-daJUhwD659svOlhT6lvTwmvdFTSN53MmE80btdYYCnahJfBn27OT7askdH7iiqiogI/7VP2+sZnbWANEkd2Zvw==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-input": "^9.4.85", + "@fluentui/react-input": "^9.4.87", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", @@ -4002,12 +3976,12 @@ } }, "node_modules/@fluentui/react-select": { - "version": "9.1.83", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.83.tgz", - "integrity": "sha512-vdbkFOtkG3ychVsX1b1nMxsewzu2e+ox+p+rIn2X6hBqa989797VJdhXRRQYMfCs1phSlDL1HCPM1p1s7827Lw==", + "version": "9.1.85", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.85.tgz", + "integrity": "sha512-4mgCTMoQN68vW+1WjptvIkWmnfdiz0WmyY670dp0JEL5KvMp5WVYIUmXjmR/fP1Nbp0df0BspUDPMrKTS6DEyw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", @@ -4038,12 +4012,12 @@ } }, "node_modules/@fluentui/react-skeleton": { - "version": "9.1.12", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.1.12.tgz", - "integrity": "sha512-B/yrhbv5pV7kHRN08m83HUnyGespNQUehKd9OqFkfswyVAi0ocmqXiwChw2Y+xiOrEn89946QfLZU+Wx2dlQoA==", + "version": "9.1.14", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.1.14.tgz", + "integrity": "sha512-4rSQdV2W98uiK9k3o8ivTaUcpxo9GDyBWkECNCtLYNxvjG1RSpGooNCaT5YlMGWvZYjr0QQy/3KVztY9ZFBYQw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", "@fluentui/react-theme": "^9.1.19", @@ -4059,15 +4033,15 @@ } }, "node_modules/@fluentui/react-slider": { - "version": "9.1.90", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.90.tgz", - "integrity": "sha512-k+NppSxPKYji9KqtKbpfo6Lva8g6dO289Hpkt8UAwyuV1c7BxnwgOLfPXE9OyQg28J0vcsluxYXFwsLyRqj/Fg==", + "version": "9.1.92", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.92.tgz", + "integrity": "sha512-MwbvKQRxwSvGWa/6mnb81cN23QsCEWaYfkcmYdLkP9ijf0BFKlMscyv9E3UdbEdZ8WtJEm0gaQ62BTR6wTATOA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4081,13 +4055,13 @@ } }, "node_modules/@fluentui/react-spinbutton": { - "version": "9.2.84", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.84.tgz", - "integrity": "sha512-3Zsqk5zYXNrCjAR6wIrwvMMbrKthdXJKQH3Z37LhF+gfRfwq34dyj8N5CFhXYi0bClWRqK3namX2cMXZ7FqIsQ==", + "version": "9.2.86", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.86.tgz", + "integrity": "sha512-LOgLKBSRsli0zEMSlV+Kqvj3tFs6w7y+VP7dQQ7zPlvhGcm/U9/R5ax/tJ1DC6iRDIUQlNHXpyXITHscilodvA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", @@ -4125,16 +4099,16 @@ } }, "node_modules/@fluentui/react-swatch-picker": { - "version": "9.1.6", - "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.1.6.tgz", - "integrity": "sha512-vLpmM2ENFPs+4qemjswfO5gEveUFIqSS/Gu1z7FiBbp/tUNS13rXYQBiUPFCS8xEsQG4gNcozBs9Lejdyean4g==", + "version": "9.1.8", + "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.1.8.tgz", + "integrity": "sha512-zlAghHbgHBUiK3CCxebQzbyyGkRc68IIpsSEq0wDZ8D/sSjageBdcveavKLSRChXp4qkdGPnMIMWyHyenl6Z5A==", "license": "MIT", "dependencies": { "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4148,17 +4122,17 @@ } }, "node_modules/@fluentui/react-switch": { - "version": "9.1.90", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.90.tgz", - "integrity": "sha512-0xd7vn1o+XsGk4jIkA6mAXJm4HxnFcK2WoQI3NFjsJ1wXdghHZEEV+1YX0bgUUh4DouXfETrQzgZKkF0c1uCFA==", + "version": "9.1.92", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.92.tgz", + "integrity": "sha512-Rd9vz+R8fniGsSv5yfaRRmc4y6vbnr8pnttQA67Mku5jhbwB2aUFEZ8iL0FOIxyS8RSJEi0yyar96Hn1sMhaAA==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-label": "^9.1.74", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4172,21 +4146,21 @@ } }, "node_modules/@fluentui/react-table": { - "version": "9.15.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.15.13.tgz", - "integrity": "sha512-hr3hls6bZkMnQQnch0dtDhOU2Cncjf+antTd9/5JaTT/9yOzFzktPxytH8n2i2XcwAJy4E4x0+RfFb3t4SgWKw==", + "version": "9.15.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.15.15.tgz", + "integrity": "sha512-UVYVprXZwx108qzSNwiflqPKuZTvf0r8JFOKFsO65hV3gSeYncOM6FcCdQAHJ2RTpPHQJ4ba+iwJvaaHG4JQ5w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-avatar": "^9.6.35", - "@fluentui/react-checkbox": "^9.2.33", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-avatar": "^9.6.37", + "@fluentui/react-checkbox": "^9.2.35", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-radio": "^9.2.28", + "@fluentui/react-radio": "^9.2.30", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4200,15 +4174,15 @@ } }, "node_modules/@fluentui/react-tabs": { - "version": "9.4.28", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.4.28.tgz", - "integrity": "sha512-rCgILc1obGRvgJZSkwBl426wLZLEXPKdIaIj0NuRaBBu0pmBAE/lopSsyQZd8BFS1uUHmW7+QR4UtAMfjSS6lg==", + "version": "9.4.30", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.4.30.tgz", + "integrity": "sha512-pYGL80Wwg2UCU837+R9ehOuGteeBej2tWbqbERb9cvRdwdbLCdKcbI+Cy9V+ny1zSRZ+U/7ltlmxosP5DiaM+w==", "license": "MIT", "dependencies": { "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4222,9 +4196,9 @@ } }, "node_modules/@fluentui/react-tabster": { - "version": "9.22.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.22.3.tgz", - "integrity": "sha512-z/icX1sMTHVXJxq2tlNKGM9A9J7RYLgu03vVh+0z4N+Q4k5Oe0HvKFNyi447+R5UEHbWebMEpabbTIox3DuLQw==", + "version": "9.22.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.22.5.tgz", + "integrity": "sha512-ddSy6/v1JLNH09SCXLwSf4ERKHTxcqN/dX8yl18jEk34VxveAXFR5x+0XbO5/8nPBxkdl1LEkTgn5EKH4joDCg==", "license": "MIT", "dependencies": { "@fluentui/react-shared-contexts": "^9.20.0", @@ -4243,23 +4217,23 @@ } }, "node_modules/@fluentui/react-tag-picker": { - "version": "9.2.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.2.5.tgz", - "integrity": "sha512-+c3shNzfq+uIk6pYzajEPmwFGQJOfDI89MAZwIbk2UqDvVJrenTvpO6U+CuxlqVNdBRMhKnfncXlQVx0GwmynA==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.3.1.tgz", + "integrity": "sha512-XIVmCRWxRGV35cXivKdA4OMI8ND4l7nRUK0VzlAb7rDESc4fzAhhao5YuB4JwAUHrfagP8aCmH7V8NRS0a9J4g==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-combobox": "^9.13.3", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-combobox": "^9.13.5", "@fluentui/react-context-selector": "^9.1.65", - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", - "@fluentui/react-tags": "^9.3.14", + "@fluentui/react-tabster": "^9.22.5", + "@fluentui/react-tags": "^9.3.16", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4273,18 +4247,18 @@ } }, "node_modules/@fluentui/react-tags": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.3.14.tgz", - "integrity": "sha512-aTugqzBVx5JmMXbUA0FH064DTjoCM7Pl7K6kCEk7Kxt6YVVB+uWX2a4JepX166p5FyjX5VtffyJoinw2gfWvdA==", + "version": "9.3.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.3.16.tgz", + "integrity": "sha512-NESGP9hUOmN3fqfKtAe2/fWc/Buvyt6cbp3eNgLUsZq9J1lwn4cnHBvEfvAJVv4fd8qwb8W2UTJ57/jrtISy4w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-avatar": "^9.6.35", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-avatar": "^9.6.37", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4298,19 +4272,19 @@ } }, "node_modules/@fluentui/react-teaching-popover": { - "version": "9.1.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.1.13.tgz", - "integrity": "sha512-ig3Kk7kuOASr/Enkr8fNLfXb1EO1Yy7MbCAjR3VciTBMhgr5Vym7umV+/4jsqXSTcyHq+qmlngiwyZq/awq+Ng==", + "version": "9.1.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.1.15.tgz", + "integrity": "sha512-pDTTL/xHr/pb+D/5UeYirTaxlTRqBwquc1GjvtibaxXrTgIfDfs/20HkgB5EPtPa7o6z2gd0OoByfseD0EgMwg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-button": "^9.3.87", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-button": "^9.3.89", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-popover": "^9.9.17", + "@fluentui/react-popover": "^9.9.19", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4345,12 +4319,12 @@ } }, "node_modules/@fluentui/react-textarea": { - "version": "9.3.84", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.84.tgz", - "integrity": "sha512-ORBGHRX4rJMo3CMVt459KJucPSIo5liedQjs5Uzlp5eJsWuWQdWj0j9bKf34wNc3kD+ciyDrjGI4xSgaRd30OQ==", + "version": "9.3.86", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.86.tgz", + "integrity": "sha512-ZUDXTiaFxIico7n14yVStNa3emLrm3one3HWTwpifr2vBuZtDHczShn+5E4rfHIZZfB0p0i0o2sX/gUBldVi6w==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.72", + "@fluentui/react-field": "^9.1.74", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-shared-contexts": "^9.20.0", "@fluentui/react-theme": "^9.1.19", @@ -4376,19 +4350,19 @@ } }, "node_modules/@fluentui/react-toast": { - "version": "9.3.51", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.51.tgz", - "integrity": "sha512-msbIdN1x4XlifDDxaoV54aQ+dCjIVH7l9J37mG98ySrjP1F+QpDcaZ87xPb0Cpfg/oUkdvsK6FCeCl6HrWIGWA==", + "version": "9.3.53", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.53.tgz", + "integrity": "sha512-iF3FEXL8zf0eNANgejfAsXAbfY4UdpvyopU06ZShY2qIdyFHps2qmzdxAXcM/2NTWjDebsBj9MUF2XKgQ20Ifg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", + "@fluentui/react-aria": "^9.13.4", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-motion": "^9.4.0", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4402,18 +4376,18 @@ } }, "node_modules/@fluentui/react-toolbar": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.2.1.tgz", - "integrity": "sha512-r0BvW+kn6ukxfrUkZDpJY8xJlHomci4wEYZc/e/yGuhbvfc3MsxHZAhXZ4o6QEuuAl14l7WJsAF/mgge9tGowQ==", + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.2.3.tgz", + "integrity": "sha512-6cXvalIkqTG0Rc8KojLGv16ah4lhyYOCPzdmZr6L55yGr2AZujkc31DIOv/nWMQmubZP0yXKN9jX+uC79xyi9w==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.3.87", + "@fluentui/react-button": "^9.3.89", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-divider": "^9.2.73", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-radio": "^9.2.28", + "@fluentui/react-radio": "^9.2.30", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4427,17 +4401,17 @@ } }, "node_modules/@fluentui/react-tooltip": { - "version": "9.4.35", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.4.35.tgz", - "integrity": "sha512-UgFRwNaOYCgMv88ds5kBZY6NPsj5eH5RYSw09WsXPpeow84eDSovH4iAW3iduDYThoFIYdJc4cUuhn49f131zQ==", + "version": "9.4.37", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.4.37.tgz", + "integrity": "sha512-Tk8a3W+8UBu0y1vAfLNU/OPWXuoDgX3Kts6ml8bZAKmKbq5M9OlnoXA7rOEU2IV7LWHTw25mkqUpPebjW4zpRw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", "@fluentui/react-jsx-runtime": "^9.0.42", - "@fluentui/react-portal": "^9.4.31", + "@fluentui/react-portal": "^9.4.33", "@fluentui/react-positioning": "^9.15.7", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4451,24 +4425,24 @@ } }, "node_modules/@fluentui/react-tree": { - "version": "9.7.8", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.7.8.tgz", - "integrity": "sha512-3czWjfr0A/Y/cjoBUNOmORG3x4EjHMqyqjyzndmE9OFV0l5Wup5yFRrr/UE2zUN0xDyKoz5VXI+gbQYI86LvbA==", + "version": "9.7.10", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.7.10.tgz", + "integrity": "sha512-F6NYPwTe+NQZHqVJFRyqi+UeXCuUbE9RdtrDl06G8jD0HorbAbmnIBfg22nT5HX8+27l3BtEvfZUIEa7cWn8+w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.7", - "@fluentui/react-aria": "^9.13.2", - "@fluentui/react-avatar": "^9.6.35", - "@fluentui/react-button": "^9.3.87", - "@fluentui/react-checkbox": "^9.2.33", + "@fluentui/react-aria": "^9.13.4", + "@fluentui/react-avatar": "^9.6.37", + "@fluentui/react-button": "^9.3.89", + "@fluentui/react-checkbox": "^9.2.35", "@fluentui/react-context-selector": "^9.1.65", "@fluentui/react-icons": "^2.0.245", "@fluentui/react-jsx-runtime": "^9.0.42", "@fluentui/react-motion": "^9.4.0", "@fluentui/react-motion-components-preview": "^0.1.1", - "@fluentui/react-radio": "^9.2.28", + "@fluentui/react-radio": "^9.2.30", "@fluentui/react-shared-contexts": "^9.20.0", - "@fluentui/react-tabster": "^9.22.3", + "@fluentui/react-tabster": "^9.22.5", "@fluentui/react-theme": "^9.1.19", "@fluentui/react-utilities": "^9.18.13", "@griffel/react": "^1.5.22", @@ -4539,28 +4513,28 @@ } }, "node_modules/@fluentui/style-utilities": { - "version": "8.10.19", - "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.10.19.tgz", - "integrity": "sha512-8cHkBblNb7c8HQL6jyz6prlK/JTH49LxiQIxMG5A+WnypVkwvu88BiEYv3mr+HfE+I39fhZnHq9bPV7tHfXcIw==", + "version": "8.10.21", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.10.21.tgz", + "integrity": "sha512-tqdSQI1MAnNUPtNKKV9LeNqmEhBZL+lpV+m6Ngl6SDuR0aQkMkuo1jA9rPxNRLUf5+pbI8LrNQ4WiCWqYkV/QQ==", "license": "MIT", "dependencies": { - "@fluentui/merge-styles": "^8.6.12", + "@fluentui/merge-styles": "^8.6.13", "@fluentui/set-version": "^8.2.23", - "@fluentui/theme": "^2.6.57", - "@fluentui/utilities": "^8.15.14", + "@fluentui/theme": "^2.6.59", + "@fluentui/utilities": "^8.15.15", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" } }, "node_modules/@fluentui/theme": { - "version": "2.6.57", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.57.tgz", - "integrity": "sha512-mm6UJJeGCbySmYW61Wc91JZ0lNb3pUzJIXuLYIari/qhF4cXHU3DnGbIwUehzBSOh5X3PEFIuXbpbstis+JhqQ==", + "version": "2.6.59", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.59.tgz", + "integrity": "sha512-o/6UgKgPW6QI/+2OfCXeJfcOCbtzLIwM/3W/DzI2Pjt56ubT98IEcb32NCHoIKB2xkEnJoTjGgN1m+vHAvcQxA==", "license": "MIT", "dependencies": { - "@fluentui/merge-styles": "^8.6.12", + "@fluentui/merge-styles": "^8.6.13", "@fluentui/set-version": "^8.2.23", - "@fluentui/utilities": "^8.15.14", + "@fluentui/utilities": "^8.15.15", "tslib": "^2.1.0" }, "peerDependencies": { @@ -4578,13 +4552,13 @@ } }, "node_modules/@fluentui/utilities": { - "version": "8.15.14", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.15.14.tgz", - "integrity": "sha512-TCOkX+1EN2UZKGdvaxaozjDbJcr+BhocdE23uZMZ+XphPW+2Dqij0+2k5jWO4UMCigKdcbLFZzhSc5YRpT+aFg==", + "version": "8.15.15", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.15.15.tgz", + "integrity": "sha512-7GpET/AuWR8aBEQSQj9iO2j+9riAaoK1qBduCB4Ht6353d25vwwsKXreHZGqS8efv+NNIxQTlLWz0Rq73iQFWw==", "license": "MIT", "dependencies": { "@fluentui/dom-utilities": "^2.3.7", - "@fluentui/merge-styles": "^8.6.12", + "@fluentui/merge-styles": "^8.6.13", "@fluentui/react-window-provider": "^2.2.28", "@fluentui/set-version": "^8.2.23", "tslib": "^2.1.0" @@ -4896,30 +4870,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -4959,6 +4909,30 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -5759,13 +5733,13 @@ } }, "node_modules/@microsoft/applicationinsights-analytics-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-3.3.0.tgz", - "integrity": "sha512-lG2JQutAla84Z9ZoPYyVkTOhzukk1JTuiTmL3f8AoQIHaDdJ2sQdvuTh9sHX8jLnbuAy0KdRiukAaYUGcuc5Dg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-3.3.1.tgz", + "integrity": "sha512-x+XYpeaik2PduV4n4bhDjStAyYbU9DoePaQ3v+ZB5Sd9A0a6azo1QZamv0Hzloh2HA17PHYYYy/DNQQBHal3WA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" @@ -5775,13 +5749,13 @@ } }, "node_modules/@microsoft/applicationinsights-cfgsync-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-cfgsync-js/-/applicationinsights-cfgsync-js-3.3.0.tgz", - "integrity": "sha512-m9VpZNAQK+yvpS/sHhWczRoGl7t6VKZ8lvLduDmRMarqQw+CUVAJ1LEYQYcznZlOICfMGBPr9t0kpPP/u1ZGqg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-cfgsync-js/-/applicationinsights-cfgsync-js-3.3.1.tgz", + "integrity": "sha512-NFYzRvxaG1KKSHZQ8EcMpgS1i+gD+zuB3jdabZUC3FMelYfbI+R2dHHe4HXdlQRwR52z+fW8SXzpr3TCYDrdHw==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -5792,13 +5766,13 @@ } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.3.0.tgz", - "integrity": "sha512-xlxcfwgFgvHoY/STVgtRoUSvAKOMNbe4CIBeY8zTHsjE9x3/kY9R9kpRkTBectuD7xVm1/FmzrzqaxcJO7R/sw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.3.1.tgz", + "integrity": "sha512-j2+qxOyG2ezMFQdTs597mskYMLo/+2oQtw0GTbnyvN1brQHKRE9Avu/gNxyZGtC+AjXXUOKbxuhFFvuK2YcvCg==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -5809,12 +5783,12 @@ } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.3.0.tgz", - "integrity": "sha512-5t6WtL9wCQUA06sioaTenz5qWgrCk7QRm99pDuP+vyjcAiT6//f+Qn1K9KXtEX5WfEMHx3vBIDGLl6ppnF1YAQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-3.3.1.tgz", + "integrity": "sha512-5cniYigDAMGXdmPQeSg/oAXe7eeQkaMQgdxdjCsdB+/j+dOR+Z30vziiY7mkwMvtHvlcoPoiIfUpSu1FNGXEhg==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" @@ -5824,9 +5798,9 @@ } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.3.0.tgz", - "integrity": "sha512-so0fFTqgZMjClH+MsiRYGspo5fpgwHEUYNMjyzpf9rjrY7FaUH8kkWzrQ3V0Cs4axZwf+WuIndtDOAws7aBmGQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.3.1.tgz", + "integrity": "sha512-6mef2NmyQF1B/zvB8BLZlo0B6gAOfFhE5+2l7SqLVdeftWOZILZj7/oqXLECTQ+P3WcthMVWjXtOe8MpGz255g==", "license": "MIT", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", @@ -5839,13 +5813,13 @@ } }, "node_modules/@microsoft/applicationinsights-dependencies-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-3.3.0.tgz", - "integrity": "sha512-6dILyoRyP1qOGY63yY/dHSoCRgba8+B+q1SNw57DrwpmmnEcZ1CYU0x9qLdXoFPDVWFlj+8RuLFFwd0k+flGLQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-3.3.1.tgz", + "integrity": "sha512-jGDT7Cl7T8vLxe9vsv3tJt7gZLOu5Wm5wzle0qIxRKNGQngMEw/+tMvmG6nL1uW+vdjJx57EogsCMo6Q5qCrjw==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -5856,13 +5830,13 @@ } }, "node_modules/@microsoft/applicationinsights-properties-js": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-3.3.0.tgz", - "integrity": "sha512-hNw/7cv7zfg5WE+McWAPqW8NVI+VIG2DPht9IbusjMsOSP7P+zx62Y/8AHAG9QsAuqzS+TdbxTlQTdjbHCMNsw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-3.3.1.tgz", + "integrity": "sha512-9RnUNHE+MhCXORXzBRdrxpCEWdXx4Sbi6/ZdPQZMuFEpP1dSkOSCAnnr1kNCunjfKF3DDUVO+BPj4sXKL/ihGA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" @@ -5899,18 +5873,18 @@ } }, "node_modules/@microsoft/applicationinsights-web": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-3.3.0.tgz", - "integrity": "sha512-sNavVlkt5HTfZcKcNatlLq35A6Hc9citdvY3r6Ks5IlPsP5c4hIWC3z+/aECBa+YikewcunZQW2i2Uz020Z3xQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-3.3.1.tgz", + "integrity": "sha512-Sh79Mufn/76davi5tAX8iLh9ZF1vPeB61LNMePJ/z+hVagSJYxt1NmkmdV0RgzYRkmyL9Thjl89S1WxAD0QxEA==", "license": "MIT", "dependencies": { - "@microsoft/applicationinsights-analytics-js": "3.3.0", - "@microsoft/applicationinsights-cfgsync-js": "3.3.0", - "@microsoft/applicationinsights-channel-js": "3.3.0", - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", - "@microsoft/applicationinsights-dependencies-js": "3.3.0", - "@microsoft/applicationinsights-properties-js": "3.3.0", + "@microsoft/applicationinsights-analytics-js": "3.3.1", + "@microsoft/applicationinsights-cfgsync-js": "3.3.1", + "@microsoft/applicationinsights-channel-js": "3.3.1", + "@microsoft/applicationinsights-common": "3.3.1", + "@microsoft/applicationinsights-core-js": "3.3.1", + "@microsoft/applicationinsights-dependencies-js": "3.3.1", + "@microsoft/applicationinsights-properties-js": "3.3.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -6023,9 +5997,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.0.tgz", - "integrity": "sha512-zDICCLKEwbVYTS6TjYaWtHXxkdoUvD/QXvyVZjGCsWz5vyH7aFeONlPffPdW+Y/t6KT0MgXb2Mfjun9YpWN1dA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", + "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -6795,13 +6769,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.13.0" + "undici-types": "~6.18.2" } }, "node_modules/@types/parse-json": { @@ -6868,9 +6842,9 @@ "license": "MIT" }, "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, "node_modules/@types/yargs": { @@ -7042,6 +7016,32 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -7267,14 +7267,11 @@ } }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.0", @@ -7706,24 +7703,27 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -7777,13 +7777,14 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -7938,9 +7939,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001650", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001650.tgz", - "integrity": "sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "dev": true, "funding": [ { @@ -8729,9 +8730,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", - "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz", + "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==", "dev": true, "license": "ISC" }, @@ -9292,17 +9293,6 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -9326,19 +9316,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-n": { "version": "16.6.2", "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", @@ -9369,18 +9346,6 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-n/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-n/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -9398,20 +9363,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-n/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-n/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -9503,17 +9454,6 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -9527,19 +9467,6 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -9572,9 +9499,9 @@ } }, "node_modules/eslint-plugin-testing-library": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.2.tgz", - "integrity": "sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.3.0.tgz", + "integrity": "sha512-GYcEErTt6EGwE0bPDY+4aehfEBpB2gDBFKohir8jlATSUvzStEyzCx8QWB/14xeKc/AwyXkzScSzMHnFojkWrA==", "dev": true, "license": "MIT", "dependencies": { @@ -9760,38 +9687,54 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/eslint/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/eslint/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "license": "Python-2.0" + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/eslint/node_modules/chalk": { @@ -9831,6 +9774,24 @@ "dev": true, "license": "MIT" }, + "node_modules/eslint/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -9874,19 +9835,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -9903,19 +9851,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/eslint/node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", @@ -9959,18 +9894,31 @@ } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -10518,30 +10466,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", @@ -10584,13 +10508,16 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -10924,9 +10851,9 @@ } }, "node_modules/hastscript/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, "node_modules/hastscript/node_modules/comma-separated-tokens": { @@ -11108,9 +11035,9 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -13951,14 +13878,13 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -15294,19 +15220,16 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { @@ -15691,9 +15614,9 @@ } }, "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, "node_modules/parse-json": { @@ -15864,9 +15787,9 @@ "license": "MIT" }, "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz", - "integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", "dev": true, "license": "MIT" }, @@ -15925,9 +15848,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "license": "MIT", "dependencies": { @@ -16270,12 +16193,12 @@ } }, "node_modules/react-router": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.0.tgz", - "integrity": "sha512-wVQq0/iFYd3iZ9H2l3N3k4PL8EEHcb0XlU2Na8nEwmiXgIUElEH6gaJDtUQxJ+JFzmIXaQjfdpcGWaM6IoQGxg==", + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", + "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.0" + "@remix-run/router": "1.19.1" }, "engines": { "node": ">=14.0.0" @@ -16285,13 +16208,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.0.tgz", - "integrity": "sha512-RRGUIiDtLrkX3uYcFiCIxKFWMcWQGMojpYZfcstc63A1+sSnVgILGIm9gNUA6na3Fm1QuPGSBQH2EMbAZOnMsQ==", + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", + "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.19.0", - "react-router": "6.26.0" + "@remix-run/router": "1.19.1", + "react-router": "6.26.1" }, "engines": { "node": ">=14.0.0" @@ -17516,9 +17439,9 @@ } }, "node_modules/stylelint": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.1.tgz", - "integrity": "sha512-O8aDyfdODSDNz/B3gW2HQ+8kv8pfhSu7ZR7xskQ93+vI6FhKKGUJMQ03Ydu+w3OvXXE0/u4hWU4hCPNOyld+OA==", + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.2.tgz", + "integrity": "sha512-fInKATippQhcSm7AB+T32GpI+626yohrg33GkFT/5jzliUw5qhlwZq2UQQwgl3HsHrf09oeARi0ZwgY/UWEv9A==", "dev": true, "funding": [ { @@ -17532,10 +17455,10 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-parser-algorithms": "^2.7.1", - "@csstools/css-tokenizer": "^2.4.1", - "@csstools/media-query-list-parser": "^2.1.13", - "@csstools/selector-specificity": "^3.1.1", + "@csstools/css-parser-algorithms": "^3.0.0", + "@csstools/css-tokenizer": "^3.0.0", + "@csstools/media-query-list-parser": "^3.0.0", + "@csstools/selector-specificity": "^4.0.0", "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", @@ -17550,7 +17473,7 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.1", + "ignore": "^5.3.2", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.34.0", @@ -17559,10 +17482,10 @@ "micromatch": "^4.0.7", "normalize-path": "^3.0.0", "picocolors": "^1.0.1", - "postcss": "^8.4.40", - "postcss-resolve-nested-selector": "^0.1.4", + "postcss": "^8.4.41", + "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.1.1", + "postcss-selector-parser": "^6.1.2", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", @@ -17758,13 +17681,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/stylelint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", @@ -17840,19 +17756,6 @@ "node": ">=18" } }, - "node_modules/stylelint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/stylelint/node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -18051,30 +17954,6 @@ "node": ">=8" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -18404,9 +18283,9 @@ } }, "node_modules/undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==", "dev": true, "license": "MIT" }, @@ -18714,14 +18593,14 @@ } }, "node_modules/vite": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", - "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.1.tgz", + "integrity": "sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.40", + "postcss": "^8.4.41", "rollup": "^4.13.0" }, "bin": { diff --git a/package.json b/package.json index a05e630..b6f29ee 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,13 @@ "dependencies": { "@automapper/core": "^8.8.1", "@automapper/pojos": "^8.8.1", - "@azure/msal-browser": "^3.20.0", + "@azure/msal-browser": "^3.21.0", "@azure/msal-react": "^2.0.22", - "@fluentui/react-components": "^9.54.9", - "@fluentui/react-icons-mdl2": "^1.3.73", - "@fluentui/react-icons-mdl2-branded": "^1.2.75", + "@fluentui/react-components": "^9.54.12", + "@fluentui/react-icons-mdl2": "^1.3.75", + "@fluentui/react-icons-mdl2-branded": "^1.2.77", "@microsoft/applicationinsights-react-js": "^17.3.0", - "@microsoft/applicationinsights-web": "^3.3.0", + "@microsoft/applicationinsights-web": "^3.3.1", "@microsoft/microsoft-graph-client": "^3.0.7", "bytes": "^3.1.2", "mime": "^4.0.4", @@ -38,7 +38,7 @@ "react-hook-form": "^7.52.2", "react-intl": "^6.6.8", "react-markdown": "^9.0.1", - "react-router-dom": "^6.26.0", + "react-router-dom": "^6.26.1", "react-syntax-highlighter": "^15.5.0", "react-use": "^17.5.1", "rehype-raw": "^7.0.0", @@ -53,6 +53,9 @@ "@emotion/babel-plugin": "^11.12.0", "@emotion/jest": "^11.13.0", "@emotion/react": "^11.13.0", + "@eslint/compat": "^1.1.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.9.0", "@formatjs/cli": "^6.2.12", "@microsoft/microsoft-graph-types": "^2.40.0", "@testing-library/jest-dom": "^6.4.8", @@ -76,18 +79,19 @@ "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-sonarjs": "^1.0.4", - "eslint-plugin-testing-library": "^6.2.2", + "eslint-plugin-testing-library": "^6.3.0", + "globals": "^15.9.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-junit": "^16.0.0", "postcss": "^8.4.41", "postcss-styled-syntax": "^0.6.4", "sass": "^1.77.8", - "stylelint": "^16.8.1", + "stylelint": "^16.8.2", "stylelint-config-recess-order": "^5.0.1", "stylelint-config-standard-scss": "^13.1.0", "typescript": "^5.5.4", - "vite": "^5.3.5" + "vite": "^5.4.1" }, "volta": { "node": "20.16.0" diff --git a/src/features/markdown/components/MarkdownCodeRenderer.presenter.tsx b/src/features/markdown/components/MarkdownCodeRenderer.presenter.tsx index 04b595a..8b3b56f 100644 --- a/src/features/markdown/components/MarkdownCodeRenderer.presenter.tsx +++ b/src/features/markdown/components/MarkdownCodeRenderer.presenter.tsx @@ -39,7 +39,7 @@ function MarkdownCodeRenderer(props: Readonly { + + it('should return true if the folder is empty', () => { + const param = { + folder: { + id: 'foo', + folders: [], + files: [] + }, + allFiles: false + }; + const expected = { + value: true + }; + const actual = isEmpty(param.folder, param.allFiles); + expect(actual).toStrictEqual(expected.value); + }); + + it('should return true if the folder contains unsupported files', () => { + const param = { + folder: { + id: 'foo', + folders: [], + files: [ + { + id: 'bar', + fullName: 'bar.dat', + baseName: 'bar', + mimeType: 'application/octet-stream' + } + ] + }, + allFiles: false + }; + const expected = { + value: true + }; + const actual = isEmpty(param.folder, param.allFiles); + expect(actual).toStrictEqual(expected.value); + }); + + it('should return false if the folder contains folders', () => { + const param = { + folder: { + id: 'foo', + folders: [ + { + id: 'bar', + folders: [], + files: [] + } + ], + files: [] + }, + allFiles: false + }; + const expected = { + value: false + }; + const actual = isEmpty(param.folder, param.allFiles); + expect(actual).toStrictEqual(expected.value); + }); + + it('should return false if the folder contains supported files', () => { + const param = { + folder: { + id: 'foo', + folders: [], + files: [ + { + id: 'bar', + fullName: 'bar.md', + baseName: 'bar', + mimeType: 'text/markdown' + } + ] + }, + allFiles: false + }; + const expected = { + value: false + }; + const actual = isEmpty(param.folder, param.allFiles); + expect(actual).toStrictEqual(expected.value); + }); + + it('should return false if the folder contains unsupported files but show all files', () => { + const param = { + folder: { + id: 'foo', + folders: [], + files: [ + { + id: 'bar', + fullName: 'bar.dat', + baseName: 'bar', + mimeType: 'application/octet-stream' + } + ] + }, + allFiles: true + }; + const expected = { + value: false + }; + const actual = isEmpty(param.folder, param.allFiles); + expect(actual).toStrictEqual(expected.value); + }); + +}); diff --git a/stylelint.config.mjs b/stylelint.config.mjs new file mode 100644 index 0000000..aa4f635 --- /dev/null +++ b/stylelint.config.mjs @@ -0,0 +1,27 @@ +// +// Copyright (c) 2023-2024 karamem0 +// +// This software is released under the MIT License. +// +// https://github.com/karamem0/hitofude/blob/main/LICENSE +// + +export default { + 'extends': [ + 'stylelint-config-standard-scss', + 'stylelint-config-recess-order' + ], + 'overrides': [ + { + 'customSyntax': 'postcss-styled-syntax', + 'files': [ + 'src/**/*.{jsx,tsx}' + ], + 'rules': { + 'at-rule-empty-line-before': 'never', + 'declaration-empty-line-before': 'never', + 'rule-empty-line-before': 'never' + } + } + ] +}; diff --git a/vite.config.mjs b/vite.config.mjs new file mode 100644 index 0000000..18d6590 --- /dev/null +++ b/vite.config.mjs @@ -0,0 +1,50 @@ +// +// Copyright (c) 2023-2024 karamem0 +// +// This software is released under the MIT License. +// +// https://github.com/karamem0/hitofude/blob/main/LICENSE +// + +import fs from 'fs'; + +import reactPlugin from '@vitejs/plugin-react'; +import { + defineConfig, + loadEnv +} from 'vite'; + +const htmlPlugin = (env) => ({ + name: 'html-transform', + transformIndexHtml: { + order: 'pre', + handler: (html) => html.replace(/%(.*?)%/g, (match, p1) => env[p1] ?? match) + } +}); + +export default defineConfig(({ mode }) => ({ + 'plugins': [ + reactPlugin({ + 'babel': { + 'plugins': [ + '@emotion/babel-plugin', + [ + 'formatjs', + { + ast: true, + idInterpolationPattern: '[sha512:contenthash:base64:6]' + } + ] + ] + }, + 'jsxImportSource': '@emotion/react' + }), + htmlPlugin(loadEnv(mode, '.')) + ], + 'server': { + 'https': { + 'cert': fs.readFileSync('./cert/localhost.crt'), + 'key': fs.readFileSync('./cert/localhost.key') + } + } +})); diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index f9a090d..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,55 +0,0 @@ -// -// Copyright (c) 2023-2024 karamem0 -// -// This software is released under the MIT License. -// -// https://github.com/karamem0/hitofude/blob/main/LICENSE -// - -import fs from 'fs'; - -import reactPlugin from '@vitejs/plugin-react'; -import { - defineConfig, - loadEnv, - Plugin -} from 'vite'; - -export default defineConfig(({ mode }) => { - - const htmlPlugin = (env: ReturnType): Plugin => ({ - name: 'html-transform', - transformIndexHtml: { - order: 'pre', - handler: (html: string): string => html.replace(/%(.*?)%/g, (match, p1) => env[p1] ?? match) - } - }); - - return { - plugins: [ - reactPlugin({ - babel: { - plugins: [ - '@emotion/babel-plugin', - [ - 'formatjs', - { - ast: true, - idInterpolationPattern: '[sha512:contenthash:base64:6]' - } - ] - ] - }, - jsxImportSource: '@emotion/react' - }), - htmlPlugin(loadEnv(mode, '.')) - ], - server: { - https: { - cert: fs.readFileSync('./cert/localhost.crt'), - key: fs.readFileSync('./cert/localhost.key') - } - } - }; - -});