From babb036b7f61982a94145b43bc1ce84e2095869f Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:07:49 +0100 Subject: [PATCH 1/2] Sync with python --- app/frontend/.prettierignore | 2 + app/frontend/index.html | 20 +- app/frontend/package-lock.json | 1637 +++++++++-------- app/frontend/package.json | 15 +- app/frontend/src/api/api.ts | 2 +- app/frontend/src/api/models.ts | 8 +- app/frontend/src/authConfig.ts | 53 +- .../src/components/Answer/Answer.module.css | 4 +- app/frontend/src/components/Answer/Answer.tsx | 2 +- .../src/components/Answer/AnswerParser.tsx | 8 +- .../src/components/Example/Example.module.css | 4 +- .../LoginButton/LoginButton.module.css | 2 +- .../components/LoginButton/LoginButton.tsx | 69 +- .../src/components/LoginButton/index.tsx | 2 +- .../QuestionInput/QuestionInput.module.css | 4 +- .../SupportingContent.module.css | 4 +- .../TokenClaimsDisplay/TokenClaimsDisplay.tsx | 57 +- .../components/TokenClaimsDisplay/index.tsx | 2 +- .../UserChatMessage.module.css | 4 +- app/frontend/src/index.css | 12 +- app/frontend/src/index.tsx | 12 +- app/frontend/src/pages/chat/Chat.tsx | 37 +- app/frontend/src/pages/layout/Layout.tsx | 6 +- app/frontend/src/pages/oneshot/OneShot.tsx | 25 +- 24 files changed, 1030 insertions(+), 961 deletions(-) create mode 100644 app/frontend/.prettierignore diff --git a/app/frontend/.prettierignore b/app/frontend/.prettierignore new file mode 100644 index 0000000..fc355bc --- /dev/null +++ b/app/frontend/.prettierignore @@ -0,0 +1,2 @@ +# Ignore JSON +**/*.json diff --git a/app/frontend/index.html b/app/frontend/index.html index 93f351d..e4081a0 100644 --- a/app/frontend/index.html +++ b/app/frontend/index.html @@ -1,13 +1,13 @@ - + - - - - + + + + GPT + Enterprise data | Java Sample - - -
- - + + +
+ + diff --git a/app/frontend/package-lock.json b/app/frontend/package-lock.json index 709cf69..b5a6e36 100644 --- a/app/frontend/package-lock.json +++ b/app/frontend/package-lock.json @@ -10,20 +10,21 @@ "dependencies": { "@azure/msal-browser": "^3.1.0", "@azure/msal-react": "^2.0.4", - "@fluentui/react": "^8.112.2", - "@fluentui/react-components": "^9.34.2", - "@fluentui/react-icons": "^2.0.219", + "@fluentui/react": "^8.112.3", + "@fluentui/react-components": "^9.35.0", + "@fluentui/react-icons": "^2.0.220", "@react-spring/web": "^9.7.3", "dompurify": "^3.0.6", "ndjson-readablestream": "^1.0.7", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.16.0" + "react-router-dom": "^6.16.0", + "scheduler": "^0.20.2" }, "devDependencies": { "@types/dompurify": "^3.0.3", - "@types/react": "^18.2.27", - "@types/react-dom": "^18.2.12", + "@types/react": "^18.2.28", + "@types/react-dom": "^18.2.13", "@vitejs/plugin-react": "^4.1.0", "prettier": "^3.0.3", "typescript": "^5.2.2", @@ -877,9 +878,9 @@ } }, "node_modules/@fluentui/react": { - "version": "8.112.2", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.112.2.tgz", - "integrity": "sha512-NdE2LIsWuhC1jTHAch8+eY3fplivwYfVeP3wKsNCm0aEf6JgbuyQB+ZN1CN7eqCNeSd9TPYaXn1gwfuBxef1mA==", + "version": "8.112.3", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.112.3.tgz", + "integrity": "sha512-2yDtzw8AvSkSO1B//Lj+E6Wy0RrWV0ai2hXN3q0SRkFocudvek5riHHK89OJAcKaAxqe/VUg7OJQ9P+Bqd77fA==", "dependencies": { "@fluentui/date-time-utilities": "^8.5.13", "@fluentui/font-icons-mdl2": "^8.5.25", @@ -904,18 +905,18 @@ } }, "node_modules/@fluentui/react-accordion": { - "version": "9.3.20", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.3.20.tgz", - "integrity": "sha512-bbSufbu77s7awrTFoQDI/UuMC/+BNBPS9fR8yJj0LYNb36XrONYGUawK8RuXaVECDiYz0gS3+3srtJauhuhcvw==", + "version": "9.3.22", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.3.22.tgz", + "integrity": "sha512-AaTPJjCQgA1x8VzgrJ/8AijQ+lkKHoaYoULdFrLvzL0RNw8w0cBUcL91XWY3ymCqfzmkscUBXYRLS9A0ixV47w==", "dependencies": { - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -928,17 +929,17 @@ } }, "node_modules/@fluentui/react-alert": { - "version": "9.0.0-beta.84", - "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.84.tgz", - "integrity": "sha512-5UAGeAbrWQQrDXwgeJHEk975OxTBuujkmKZ37GfY+EJftYqDAYI5i7D72tFXbk4rcC2y72Cur9yqNBvalI30YQ==", + "version": "9.0.0-beta.86", + "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.86.tgz", + "integrity": "sha512-1yz62O6rBmUKHvxfEbYTba9vCyk/MDsn86nDPLiEYVAC94PkiAazLd9QT5DL8uqlxi9ygXHEJlMLcmCxXyGyqw==", "dependencies": { - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-button": "^9.3.47", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-button": "^9.3.49", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -950,12 +951,12 @@ } }, "node_modules/@fluentui/react-aria": { - "version": "9.3.41", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.3.41.tgz", - "integrity": "sha512-ZuICvlG80X7Xh75jvrlBBJQGcZrAL72bmnMjZK4tVFz9MPEJQHLLIc+CtsifQ3CW7KKLJz3GwgJLQiMGDDQF2A==", + "version": "9.3.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.3.42.tgz", + "integrity": "sha512-RZArlsmkCbzTIM1B20QmUuERrxijB8erxC0nXdwcqViXDOJB3/Sgg47mCrm1zwDaD2efp3Tjf8QwIKNmONd5OQ==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -966,20 +967,20 @@ } }, "node_modules/@fluentui/react-avatar": { - "version": "9.5.38", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.5.38.tgz", - "integrity": "sha512-0TtjqxX8fkAzVLT7VbOF+MAr20ciRxqTUasD4KLTiiOY5MB0h4+XbKQYnwhQqb62wP9T0yeUnNwt0C/IWEnP+A==", + "version": "9.5.40", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.5.40.tgz", + "integrity": "sha512-1VD/YaHXr3i5IxWJWreF1ppk/50abiYuBXCrS4jt/P9bGKWTbiItdMrm1FqzH34gofeqbufbIJxWuwptqrrGwQ==", "dependencies": { - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-popover": "^9.8.13", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-popover": "^9.8.15", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-tooltip": "^9.3.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-tooltip": "^9.3.16", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -992,15 +993,15 @@ } }, "node_modules/@fluentui/react-badge": { - "version": "9.2.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.7.tgz", - "integrity": "sha512-bXx4EffQn1D0/RgH13G33MiAD2aMp0qRLlz8RuPwy7fKR9XX/VXc01DyZI8mABnXPht+TPw8LokKL19W8XGMsg==", + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.9.tgz", + "integrity": "sha512-epgNV6M48M4ZhZB02Qybk8kmsP0Vxl9x4wuK/MAWj3p0ZUN48DQp77NwWBqfF13AH8i2zx2/5h5m7/p0USnY3w==", "dependencies": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1012,18 +1013,18 @@ } }, "node_modules/@fluentui/react-button": { - "version": "9.3.47", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.47.tgz", - "integrity": "sha512-fGaqg/7oeeM6HR8KMqkhwVOkabByqdcK4E5baHO4YhXA9ST45Mujihruteuey78OReJP4CbH8ktli4ySSr6gHQ==", + "version": "9.3.49", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.49.tgz", + "integrity": "sha512-hWI7fVG039b1AsMcgRrHrd9rGdjQoBzzEfkeko9JRtvOmyrsyoczLbj/uT1NVfkO3RHAozybPwt+BzJ45FSWqA==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", + "@fluentui/react-aria": "^9.3.42", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1035,15 +1036,15 @@ } }, "node_modules/@fluentui/react-card": { - "version": "9.0.46", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.46.tgz", - "integrity": "sha512-JzD2tnPJ65KmxEAKk8ckTXv6kpxggflCooNBAp6WRROTP9FGy5xE9TD+VIJSS48l+NKwiHXOqyJpIl+estxRdA==", + "version": "9.0.48", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.48.tgz", + "integrity": "sha512-tjEjoN8ICIuI5i6RTe+40aRC5JAlvQgX2O7FzcHTF+OcA+Fo+1haLRTlDOvc7b6hcaapCHSP3gD5G7kNHucFvQ==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1055,18 +1056,18 @@ } }, "node_modules/@fluentui/react-checkbox": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.1.48.tgz", - "integrity": "sha512-eURLwdj781wEEvbWmm+9nrv3NK01dYULwcL/FUDNvTgUcdpViaYclMJ6KPMAzkg079Ho2/vkyTDAx54VMVINGw==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.1.50.tgz", + "integrity": "sha512-UmBfpys1AR3ToTnzArKGzwiwker/2ZuP8JE3vKVpOjtk3bFj8TbuLt+JsHMXVsPSk3zHkH32McwBG81itytLQg==", "dependencies": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1078,20 +1079,20 @@ } }, "node_modules/@fluentui/react-combobox": { - "version": "9.5.22", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.5.22.tgz", - "integrity": "sha512-KogtGNzNhUBa5ewE0w8+gN/iLHFQLvLpceDkkrUUT71+YxsZLMa3j/PPSJGc8vUNd0RmsmJ3KQSJrQMFDgIdjw==", + "version": "9.5.24", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.5.24.tgz", + "integrity": "sha512-D6fDZKMMa3/kQsKBGSIgUlm/EBdEuPFutPHPih0dQb1ObqyAGQUqBe9oZEvSxTVVFXpueGD/GZRkqx3n2fet/Q==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1104,56 +1105,57 @@ } }, "node_modules/@fluentui/react-components": { - "version": "9.34.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.34.2.tgz", - "integrity": "sha512-8KrEd/g+juLTFSbhHbsO1YED4emG2+yvvvsDum4q8jN5IoSA6LkxsOMXDUY52S3eoSMTrpK+B7HShZWpaB+jpQ==", - "dependencies": { - "@fluentui/react-accordion": "^9.3.20", - "@fluentui/react-alert": "9.0.0-beta.84", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-card": "^9.0.46", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-combobox": "^9.5.22", - "@fluentui/react-dialog": "^9.7.7", - "@fluentui/react-divider": "^9.2.43", - "@fluentui/react-drawer": "9.0.0-beta.33", - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-image": "^9.1.40", - "@fluentui/react-infobutton": "9.0.0-beta.68", - "@fluentui/react-input": "^9.4.45", - "@fluentui/react-label": "^9.1.43", - "@fluentui/react-link": "^9.1.26", - "@fluentui/react-menu": "^9.12.24", - "@fluentui/react-overflow": "^9.0.38", - "@fluentui/react-persona": "^9.2.48", - "@fluentui/react-popover": "^9.8.13", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", - "@fluentui/react-progress": "^9.1.45", - "@fluentui/react-provider": "^9.10.5", - "@fluentui/react-radio": "^9.1.48", - "@fluentui/react-select": "^9.1.45", + "version": "9.35.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.35.0.tgz", + "integrity": "sha512-nr3r7oAfftBlLbXxjNfQDb4qqvJ4MoyPxUpqj/sordgGtdeUGRg7CWIe3ZhV+z0nVvq02Qa50DqfNRkfGmRuhw==", + "dependencies": { + "@fluentui/react-accordion": "^9.3.22", + "@fluentui/react-alert": "9.0.0-beta.86", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-card": "^9.0.48", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-combobox": "^9.5.24", + "@fluentui/react-dialog": "^9.7.9", + "@fluentui/react-divider": "^9.2.45", + "@fluentui/react-drawer": "9.0.0-beta.35", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-image": "^9.1.42", + "@fluentui/react-infobutton": "9.0.0-beta.70", + "@fluentui/react-input": "^9.4.47", + "@fluentui/react-label": "^9.1.45", + "@fluentui/react-link": "^9.1.28", + "@fluentui/react-menu": "^9.12.26", + "@fluentui/react-message-bar": "9.0.0", + "@fluentui/react-overflow": "^9.0.39", + "@fluentui/react-persona": "^9.2.50", + "@fluentui/react-popover": "^9.8.15", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", + "@fluentui/react-progress": "^9.1.47", + "@fluentui/react-provider": "^9.10.7", + "@fluentui/react-radio": "^9.1.50", + "@fluentui/react-select": "^9.1.47", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-skeleton": "^9.0.33", - "@fluentui/react-slider": "^9.1.48", - "@fluentui/react-spinbutton": "^9.2.45", - "@fluentui/react-spinner": "^9.3.23", - "@fluentui/react-switch": "^9.1.48", - "@fluentui/react-table": "^9.10.3", - "@fluentui/react-tabs": "^9.3.49", - "@fluentui/react-tabster": "^9.13.5", - "@fluentui/react-tags": "^9.0.2", - "@fluentui/react-text": "^9.3.40", - "@fluentui/react-textarea": "^9.3.45", + "@fluentui/react-skeleton": "^9.0.35", + "@fluentui/react-slider": "^9.1.50", + "@fluentui/react-spinbutton": "^9.2.47", + "@fluentui/react-spinner": "^9.3.25", + "@fluentui/react-switch": "^9.1.50", + "@fluentui/react-table": "^9.10.5", + "@fluentui/react-tabs": "^9.3.51", + "@fluentui/react-tabster": "^9.13.6", + "@fluentui/react-tags": "^9.0.4", + "@fluentui/react-text": "^9.3.42", + "@fluentui/react-textarea": "^9.3.47", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-toast": "^9.3.9", - "@fluentui/react-toolbar": "^9.1.48", - "@fluentui/react-tooltip": "^9.3.14", - "@fluentui/react-tree": "^9.4.3", - "@fluentui/react-utilities": "^9.14.2", - "@fluentui/react-virtualizer": "9.0.0-alpha.49", + "@fluentui/react-toast": "^9.3.11", + "@fluentui/react-toolbar": "^9.1.50", + "@fluentui/react-tooltip": "^9.3.16", + "@fluentui/react-tree": "^9.4.5", + "@fluentui/react-utilities": "^9.15.0", + "@fluentui/react-virtualizer": "9.0.0-alpha.51", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1166,11 +1168,11 @@ } }, "node_modules/@fluentui/react-context-selector": { - "version": "9.1.39", - "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.39.tgz", - "integrity": "sha512-rZJM2XeeHZt7wv0aQTdSIX+KSGqoOvMv1CBfRRuWYcZHjixLPxQn3yDyo0tvuJoT3CzIrrehU5PSzEIn3v6dww==", + "version": "9.1.40", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.40.tgz", + "integrity": "sha512-//oxMK9ItVNQBZDNwb20KZGsNqATPFWskhUG3zPc4dkyewfJBAGAytjkpOAAWwPZkN/GLk3il11slgvSmtOZHw==", "dependencies": { - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -1182,20 +1184,20 @@ } }, "node_modules/@fluentui/react-dialog": { - "version": "9.7.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.7.7.tgz", - "integrity": "sha512-A/JJrRdolMBsoBaOHton1ljjLiix4vHe+QX6t9tCdaBmwQiVQVVRW45+kochpYXXz+ydWcGq+wGENmN1xNdGXA==", + "version": "9.7.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.7.9.tgz", + "integrity": "sha512-XEUV42d+zgjE/bJS+WFuCsKCmeuAkB+V67YpbZknnIJE4QXMf5GRWgesVHsHSMP8HlZEx9NZN9wlrjwl4n7yqg==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1207,14 +1209,14 @@ } }, "node_modules/@fluentui/react-divider": { - "version": "9.2.43", - "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.43.tgz", - "integrity": "sha512-UmH8ugXqHDOQPQtfzN/4QS9HjagvbyBIdNDr/rhExILEZKoOwSFVAPUoQUEtNKV7MsM56+7LXIdc969ogHIexg==", + "version": "9.2.45", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.45.tgz", + "integrity": "sha512-Oped8aMwKD9Oo/W43Nwq6l+ShmgnAxTnAwOkZ0207BOWuCmuOgpEz+kRUgqWsRiim299o+pLjeBBWUd2Tsbmzw==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1226,17 +1228,17 @@ } }, "node_modules/@fluentui/react-drawer": { - "version": "9.0.0-beta.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.0.0-beta.33.tgz", - "integrity": "sha512-HfoDsQs+0AKvvP+Xv8vFYteJfJI8reKZuYgNuLMvHFm9Khy4HUPqfzkEOsIgKr5WPbMcuQPmRqA3QRWrqiZidw==", + "version": "9.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.0.0-beta.35.tgz", + "integrity": "sha512-UihTfl1Fl38hOL48cY0SwW+MU/RWOY3M6wvaK9EKm1ipaPMblhNMNsUYvMu2v3G5fbhLtxGWrGNrtzqBsGaAsQ==", "dependencies": { - "@fluentui/react-dialog": "^9.7.7", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-motion-preview": "^0.3.1", + "@fluentui/react-dialog": "^9.7.9", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-motion-preview": "^0.3.3", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1248,16 +1250,16 @@ } }, "node_modules/@fluentui/react-field": { - "version": "9.1.35", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.35.tgz", - "integrity": "sha512-uJQwm0WxNAHO20b/+LsiAb9tdo00+4spLUaFVYSqrUUBgLVMLm+HIOYSO6jyGOOg4qjEhEELZeJehNxuu1vPjw==", + "version": "9.1.37", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.37.tgz", + "integrity": "sha512-niAikmjtShof2pOmJKzHHw2DLYcHkewWqKmxyEtUEpKjuuEczlfQ1YU/vS0H0x/Pjz8DFAxCf/AsP8saCGvYww==", "dependencies": { - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1301,9 +1303,9 @@ } }, "node_modules/@fluentui/react-icons": { - "version": "2.0.219", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.219.tgz", - "integrity": "sha512-KYOtNfB7Zlk/zbs3LfFQWD1q2cUs62tTC2LulAsPjSEbWwzrDcAGrTxtSnFvohjkHqM4kiY1a10DC9QlLCLLZw==", + "version": "2.0.220", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.220.tgz", + "integrity": "sha512-AIe0y3QuG2dATGVlszyt/xCzVhyBcDulQnDepSLZvDXkuu8zL/zqQaSuiOizwZUVxxuF0SvePyf4zgi86zgtjg==", "dependencies": { "@griffel/react": "^1.0.0", "tslib": "^2.1.0" @@ -1313,14 +1315,14 @@ } }, "node_modules/@fluentui/react-image": { - "version": "9.1.40", - "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.40.tgz", - "integrity": "sha512-FPjaLpz2mhf0WHm9mC/TvUskiD6MHCQw2T2Y5jwtSVRiNHxHmY1nd09mJWOhDH2jwCK3azmwhQk+/fTI78vAww==", + "version": "9.1.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.42.tgz", + "integrity": "sha512-Wxv4EGvK93fnw/hRonZxQTtzA5O6g0FTCLawXmnE8/X4URiMQdccO8v5iztPfYXEbjcQ+/08t2b7PaO4p5AIew==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1332,18 +1334,17 @@ } }, "node_modules/@fluentui/react-infobutton": { - "version": "9.0.0-beta.68", - "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.68.tgz", - "integrity": "sha512-j2MTzmxPjKdo985dARYFgqhDXRIE02Y041DEvjjeZ6zWsCqqkfMrtYHRayM4wUypBDIez1D0vDCBuVeMscaldg==", + "version": "9.0.0-beta.70", + "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.70.tgz", + "integrity": "sha512-rrqotdiMJqpfQuHYW4QYs8O0nZyPIPfUsvQqpfkFmbGXfn1NvRdZt3AOfHEAIIUEP2Na4UMnM1UhAXyXnvAZ9A==", "dependencies": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", - "@fluentui/react-popover": "^9.8.13", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", + "@fluentui/react-popover": "^9.8.15", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1355,15 +1356,15 @@ } }, "node_modules/@fluentui/react-input": { - "version": "9.4.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.45.tgz", - "integrity": "sha512-MF+Rfbm0pFQO1dbjcoJ+b2u21Lwetqysmn3gDSORaVQSJJAowj6bGGYNdDo/Ji4i+am+a202dw+04UMYi5Db1w==", + "version": "9.4.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.47.tgz", + "integrity": "sha512-WaTErvxo1CUPy/nHbataSuxWkuhpVhwYl+JbwbdYOktZVDIvM/us+YGmtEr2mA/FXCVqQ839k2mlmZCma4Hkwg==", "dependencies": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1375,12 +1376,13 @@ } }, "node_modules/@fluentui/react-jsx-runtime": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.15.tgz", - "integrity": "sha512-5CyzxTm3PCbJ2S3iiQi1uZRkIrIc+o0GsnmLohQKW20I8Shv8Rhh9yf7x5k81AJw2raZho/G7yQ1uNmns58YVA==", + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.17.tgz", + "integrity": "sha512-gTwrWs0I4RkP9TmumGHGp5us8RU6tCf3Wjmx34DEutsDfsMmxzOHbsnhsymEBuhDIbHe6kricQ9McTkGhYP9SQ==", "dependencies": { - "@fluentui/react-utilities": "^9.14.2", - "@swc/helpers": "^0.5.1" + "@fluentui/react-utilities": "^9.15.0", + "@swc/helpers": "^0.5.1", + "react-is": "^17.0.2" }, "peerDependencies": { "@types/react": ">=16.14.0 <19.0.0", @@ -1388,14 +1390,14 @@ } }, "node_modules/@fluentui/react-label": { - "version": "9.1.43", - "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.43.tgz", - "integrity": "sha512-HR69f/QHl8d1vnot4oZmqzE/z9zYvWkxTjZxb7M5ah+FcnTyIwdK5T2ZeymPDjy7aSkMp79ZKQiSMI0gwq8GHw==", + "version": "9.1.45", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.45.tgz", + "integrity": "sha512-d5lOvlSChf8uyWSpoPVjXcjHdHVLJCH2+ox6Ad+fQK/onKByzIGNPBwXAbZX7IHRVgg14PAJXvdXQNvHzc99Tg==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1407,16 +1409,16 @@ } }, "node_modules/@fluentui/react-link": { - "version": "9.1.26", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.1.26.tgz", - "integrity": "sha512-lDbaBvV2ePY6/8FKJxhjXSabFWYr3Amurs1+Dy6+6SAhrhFPJPlMDzrrGTfDQfVc4Ke7rCvlTz48JS8PR5rsiQ==", + "version": "9.1.28", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.1.28.tgz", + "integrity": "sha512-kJaev1RSxGYVNwJ5ABqknwXMsfIFuGJ7scczpNstmNqvuNE5mJ5OC+XF6u29a2kg6AGnQthI/k6xC4Ipo9EuTQ==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1428,21 +1430,21 @@ } }, "node_modules/@fluentui/react-menu": { - "version": "9.12.24", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.12.24.tgz", - "integrity": "sha512-P+Wpx+ghMLjzfi0yU/cE1a+Lmt9e3MEgbvo0+6erN+ecocymS6S3NHywYGy4xGt8eXW8w+lD+oCXKU+V3aXfgg==", + "version": "9.12.26", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.12.26.tgz", + "integrity": "sha512-oCwxmyMC4/mG1FfRhh1nHqcvNp5ONukbsi8TKhY+YVPDAd5C0CrTGrVyTB+vz873gUdnVpXSZnv6ZlneANbjxA==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1454,15 +1456,37 @@ "scheduler": "^0.19.0 || ^0.20.0" } }, + "node_modules/@fluentui/react-message-bar": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.0.0.tgz", + "integrity": "sha512-pm2+xzKOEPfUm6gqckMHybD6mqjj9N5WVfm0ssFcLuE6FqXT8wiGvvhdUb0kd8ctzrAfdysPKCZY35BXVw8zTQ==", + "dependencies": { + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-icons": "^2.0.217", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-shared-contexts": "^9.10.0", + "@fluentui/react-theme": "^9.1.14", + "@fluentui/react-utilities": "^9.15.0", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, "node_modules/@fluentui/react-motion-preview": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion-preview/-/react-motion-preview-0.3.1.tgz", - "integrity": "sha512-7EhCwUHKj3W2QoFy08RuKYXcSBKpet4jcegoC8BRQWwS03a/005hy+5oGF2Uii69/l2p59ZYPy994OLAwOCqbA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-preview/-/react-motion-preview-0.3.3.tgz", + "integrity": "sha512-IcUmrmhhaaznqJm+qwjEOj4d7NQEDaJHJ0AEWou7s4ggX5kU71mJBXssNsyXmBgMQ6xSvtaXXEtlHYvK+qKyDA==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1474,14 +1498,14 @@ } }, "node_modules/@fluentui/react-overflow": { - "version": "9.0.38", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.0.38.tgz", - "integrity": "sha512-vrofilg4SFsDIS4sSaGRmQxZdIFNAKoaYGIYUym7Zf5JzrrfUyEUxhxefeP9EFhDXqhtn0kyLhJEDe+1DAQwdQ==", + "version": "9.0.39", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.0.39.tgz", + "integrity": "sha512-u4VxKA+n9HhEngubM+MDonpu9Z0bN72iTAU95LCL0pAdesczh6SPKupnz5M1bzFvDkEELij6m+hmNF+py3Z30A==", "dependencies": { "@fluentui/priority-overflow": "^9.1.7", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1494,16 +1518,16 @@ } }, "node_modules/@fluentui/react-persona": { - "version": "9.2.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.48.tgz", - "integrity": "sha512-QPTYF0FuXV12+H85GqbTUPcD+ArvMG6NKL7m/NKj6aLaEZedk1r4AeZ55CC3/xaaWwvVWQcN/qZcoLAkLVEq3w==", + "version": "9.2.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.50.tgz", + "integrity": "sha512-qEA2ud4qtWirKFvfuN57PZSLO2aKP2RN/lGkNRucapu9+MJ8q7+ugHYGqXTIrjigK6rUQf2lFDDc6ghjJD20CA==", "dependencies": { - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1515,20 +1539,20 @@ } }, "node_modules/@fluentui/react-popover": { - "version": "9.8.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.13.tgz", - "integrity": "sha512-Pa4i2yw6fUMut5ySrczTAJc55/V2lkqOtP+14c1toIr6QS6qEKxxnm8uONVOVIblDV4atlUVJSpxGclAOdEM6w==", + "version": "9.8.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.15.tgz", + "integrity": "sha512-phCp8RORWzKZDrysPhiiShosXzfE1D/hYTJn7pSmyJ7uTWCdNU2wT5Z93LoPZv8gwaiBZUmIE0TW4W9xBEpwnw==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1541,13 +1565,13 @@ } }, "node_modules/@fluentui/react-portal": { - "version": "9.3.22", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.3.22.tgz", - "integrity": "sha512-Q+/mlRV80IcWv/ELz0yy+SMfGF351xUWYWShZjdmyZ4rVbqG19Qi4lj+6EbLG1bzWn7pkMsrSClMB3ATp0fPBw==", + "version": "9.3.23", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.3.23.tgz", + "integrity": "sha512-8GdKXPZSD9s+KuGnPfc8npzBYd9hNmchZjgExMuv7BUqHPcuRIwHhMtvW+OvWseC5BxeybDFzlhNG1ZpzbigTg==", "dependencies": { "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-tabster": "^9.13.6", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "use-disposable": "^1.0.1" @@ -1572,14 +1596,14 @@ } }, "node_modules/@fluentui/react-positioning": { - "version": "9.9.19", - "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.9.19.tgz", - "integrity": "sha512-wlXEBmXMTNZ60dfaiMbfwdYFDNLlxJxVILDbJ48icoccHdM7SqkZlJlGNzMNH4hj5KEasa5CrEitLGvv1iWtQw==", + "version": "9.9.20", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.9.20.tgz", + "integrity": "sha512-XrB4d+PDKFf9Z14nry8JwJ62YLI1OV5EqDw4Rw2g1qgbGYYQSz0T/1ouYlpa9oE367xRnawYBGpPYuUdo4S0Vw==", "dependencies": { "@floating-ui/dom": "^1.2.0", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1591,15 +1615,15 @@ } }, "node_modules/@fluentui/react-progress": { - "version": "9.1.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.45.tgz", - "integrity": "sha512-AcyNEHgt5iZwVH6gH/0SBugJ0S0O4Yd0VWAR1rgVKglVj+3NqEuLPtXwId2MSx7qvWHng5Xp5vtDjScV5Yy6PQ==", + "version": "9.1.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.47.tgz", + "integrity": "sha512-fm0Ho6nVEZ8i9r+ZT91EAyc88I66xkPBXqmYL5Vz/9qHE23+IoYg4pExINm525N6Do/Gs0zwEqcnFKJ7G52eGg==", "dependencies": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1611,16 +1635,16 @@ } }, "node_modules/@fluentui/react-provider": { - "version": "9.10.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.10.5.tgz", - "integrity": "sha512-SxIT1qCoN0orlZTxpraMG/jmRUr5u91BYD4LdYWolJZFvgdRG99wOOp8E830/ZiX9qZG2Y3SaKTr3mfdFMiAww==", + "version": "9.10.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.10.7.tgz", + "integrity": "sha512-i/dWzfaQwIU+yb5+/dBqFKQ3ixbh667lGOnEn+Pk4TABOEDXoLXX+muykP/Mdgj8MZppXR3HcaUkn5zc6w6HqA==", "dependencies": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/core": "^1.14.1", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" @@ -1633,18 +1657,18 @@ } }, "node_modules/@fluentui/react-radio": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.1.48.tgz", - "integrity": "sha512-iqle5Y0EoqtqdwKUUy2Kab4wLXp3YH9hiBv/bRm5ZlbNKeNiA4+JgxgTPWqnCynAKhk2oPtfopmvgUz9dxT77g==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.1.50.tgz", + "integrity": "sha512-WIE31WS5120xJ0FEQUclTSlK2g+D3k+rIvj68PW0maL8D0yCRS81jD/pJeqd885v+KEU1aFbAYmMvY+3l5s1Gg==", "dependencies": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1657,16 +1681,16 @@ } }, "node_modules/@fluentui/react-select": { - "version": "9.1.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.45.tgz", - "integrity": "sha512-viyw7+KgJJ3C2eT2zEVwtUZbagaNBd2m13CY170PyS0hB0ICZ0ImEqK/OuBrm9jhN+HpFM5JFHqho7w9Z0v8Tw==", + "version": "9.1.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.47.tgz", + "integrity": "sha512-VZoY0pzSiecte9Ln+QG2vNMi8GqDUqLuipsi+KQ5ybrgfWuIYfo2R7kEZKSlJb5zFrZG+e4Y14P0dHKUQkCClQ==", "dependencies": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1691,15 +1715,15 @@ } }, "node_modules/@fluentui/react-skeleton": { - "version": "9.0.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.0.33.tgz", - "integrity": "sha512-QXIrmrkNs/cZV+I90e/kAP3xf/NNWbkGTgnO8exv/Dq+ARXp0xWahJgV6uIzupjnYq5QLp3wrAPR1et4wK+0jg==", + "version": "9.0.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.0.35.tgz", + "integrity": "sha512-Em8bFv+Wp4gjiEH9YF9G+pzxIM6zJVVo5L6XWx8rAKMwP5gTwxr1mGOoHtLma2bzUhZYeKSfbGP54/Wr63aUsg==", "dependencies": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1711,16 +1735,16 @@ } }, "node_modules/@fluentui/react-slider": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.48.tgz", - "integrity": "sha512-tFUAifIjYAb/cIPBFxRBsctBxH0gRBfC/I2bQQwsDiF7/rRpfbY2Vc50Q73PPAsTpbtRoHVeWAo+7+H9W/xPZg==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.50.tgz", + "integrity": "sha512-/qWK6/aRNwl/I3GU5NQK/CSRV9TKL5KpS4SOpGb5eSAUYrAKCY6GfYqDiNYKCZZ0rbX8L9VbSL+i+autdV8YNQ==", "dependencies": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1732,17 +1756,17 @@ } }, "node_modules/@fluentui/react-spinbutton": { - "version": "9.2.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.45.tgz", - "integrity": "sha512-k8R9lJRX5+H+zaAjrtfSiol9jjGN7e6qtX7eHAePxkXa3vkGQmCvwaKgOhY79ht+KnmIUulyZZO7F9TucWDvlA==", + "version": "9.2.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.47.tgz", + "integrity": "sha512-dj3tCIw1XwZHq4Mbqsheit8RSsPyNXn6XytEZPOGVaegJItF/cbfzIKOVcwXjjfGNU4iDPuDkSo97QqHZUFhig==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1754,15 +1778,15 @@ } }, "node_modules/@fluentui/react-spinner": { - "version": "9.3.23", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.3.23.tgz", - "integrity": "sha512-ZcF+0VymOUfymgP6juafO0ZfQrSKB5XzLaodSZY/ulMMUqOof6IpA8id6jSt/RrfFIN9TeJLblRvjLgd4Kc/QA==", + "version": "9.3.25", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.3.25.tgz", + "integrity": "sha512-8LyIQgv1nUSE3VuuHzFjMy9VQFw4oCd5kMOqOB4Hjog8AV2GW58Umb4fc+0tDrwfcGmX3ORi71fWyIivVs4Nzg==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1774,18 +1798,18 @@ } }, "node_modules/@fluentui/react-switch": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.48.tgz", - "integrity": "sha512-VRqTNrggb0n+X2ecAT65YesXyZENf28vDfIT6yabmw4DBVBJdiMmMiZr4K/77Dey/+gBZ8+CrEUc8Y8M0Vigxw==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.50.tgz", + "integrity": "sha512-kNsaknbutksBSR6VVvsuEbeaKUB2rVHsYSERkdsIcLhfpgJHmbFCtgHHuPNjUU1xgDpg1uLXRqH0aJiwZD8h5w==", "dependencies": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1797,22 +1821,22 @@ } }, "node_modules/@fluentui/react-table": { - "version": "9.10.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.10.3.tgz", - "integrity": "sha512-LqAKAS9fuTHuJDxcguYEUK4/FenE+yqysjSpK1Tamvd2DAh/tLNrJJ0K8KCmelz4M8WMrG3VImqsZpXUabHwPw==", + "version": "9.10.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.10.5.tgz", + "integrity": "sha512-SgSXeBJdnQz23Kr1qyw3i+nCMJxYwgI3N6RWQHs6Lm/GZ4e2ddSHhZxnizwsAnLQhXYy+IU+veJk8K+f8UEFKw==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-radio": "^9.1.48", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1824,16 +1848,16 @@ } }, "node_modules/@fluentui/react-tabs": { - "version": "9.3.49", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.3.49.tgz", - "integrity": "sha512-RRlY9KML4UdfKCqrcOATcIWU4eO5ltcu2FJin3bmKTQeyZltUbtiE5ucXzKtLVqj8jxeOlco9eq9MOSlxiqbGw==", + "version": "9.3.51", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.3.51.tgz", + "integrity": "sha512-+oQeZSoIuWSZ79/7VRc4GCjJBTEI6EBHCKCU1JEwGWStRbtRRJPblyq/3sagkHU/Qyz3uas5+Bq7Ll31jI2Big==", "dependencies": { - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1846,13 +1870,13 @@ } }, "node_modules/@fluentui/react-tabster": { - "version": "9.13.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.13.5.tgz", - "integrity": "sha512-MaWv5XfZcgKrEWP+hUhwa8Monl2yrrmWp3UwyX8bgUMm+AiXGpTcZqB4EeBclqhMQSAYkoyRIVsHd5RJ9qirhQ==", + "version": "9.13.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.13.6.tgz", + "integrity": "sha512-NjSFil+JfGSC92upv/FIjSzvfoOn/Lh87hABCR+5FN/bQIyAduB/293qOztV63KLaEdrqC3yJyQbPV2Nz4DwQg==", "dependencies": { "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "keyborg": "^2.0.0", @@ -1866,19 +1890,19 @@ } }, "node_modules/@fluentui/react-tags": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.0.2.tgz", - "integrity": "sha512-svZ7+Yh/6hPzvsMKAE78k+UpZaQZMNXaPkbsTdWiQu/8ZREeBH1GfxHddeuU5MV0KUVuHvk1C9ooDgD1PJzFgA==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.0.4.tgz", + "integrity": "sha512-tgS2/u6rCzFWCovvev6Ey1OiH1dSi756rVvWTJyCEha3PPqXahmbs3EL+60npiIEur89nAA/aEVbSFbMDqwV5g==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1890,14 +1914,14 @@ } }, "node_modules/@fluentui/react-text": { - "version": "9.3.40", - "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.3.40.tgz", - "integrity": "sha512-QzhjsfEI/tggNWPW/ne9+Sz913vq5s+nOF2nsIWKu3zFW2d7KrjdU+HlcUUcnv6+YVUcAiHtaKQpUE54dQYG3w==", + "version": "9.3.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.3.42.tgz", + "integrity": "sha512-PxBsOh6Bk10FpKUhcTN3PnAGh3uIK6gRSKWuzT+h23A/RTZP5UrCmGLaxPMJXFm9cltWRiwqfC4AMiBYF1RLZg==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1909,15 +1933,15 @@ } }, "node_modules/@fluentui/react-textarea": { - "version": "9.3.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.45.tgz", - "integrity": "sha512-qpuNpbqH+2sOxUIP4OOreD5iL+TobryiJTeRCajYCtm+ldrURyYc8ii5PZ0Q4mujgLezqpDcr6Ym1oAglOKikA==", + "version": "9.3.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.47.tgz", + "integrity": "sha512-ebC9u8Swl7ajUTm55WG6k6QqXvaoPFTGqdagtXLSEPQ0Dt7otqKnQh39jS4SmGVmRT4Oh4LGnuh7Fe6aJW/rvw==", "dependencies": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1938,19 +1962,19 @@ } }, "node_modules/@fluentui/react-toast": { - "version": "9.3.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.9.tgz", - "integrity": "sha512-ydnRVG0GZfAWTfKTEGo07gtnXR5Hi+1BayMApNOguP5iioZ57eaUk64p9HGSdAY8KZs0o6ZSv3FYCHwN211arw==", + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.11.tgz", + "integrity": "sha512-fIFMQMDcekgMpX3+f934cyrFNJ8vF4/k8CxK6vvWzE3B8z+2zLKwHye5dYFKoeG4c8o4c9CAHWjiAP/R3fENOA==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", + "@fluentui/react-aria": "^9.3.42", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "react-transition-group": "^4.4.1" @@ -1963,19 +1987,19 @@ } }, "node_modules/@fluentui/react-toolbar": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.1.48.tgz", - "integrity": "sha512-6THb2BIx96gzqV/W1LKYWA3kBYzWKo30USa619/yAsomneeZZyAGo5FRmZcL/K6Vckjk5NChEi5fqRSfKIy9XA==", - "dependencies": { - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-divider": "^9.2.43", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-radio": "^9.1.48", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.1.50.tgz", + "integrity": "sha512-/3TSImj6YLHf0nNRODdE53allFOoOwiHesp4+El7CUvRey6EoDXATbPCVC4jcsB62bIKif4DqVPsCGrdmJIs8Q==", + "dependencies": { + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-divider": "^9.2.45", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -1987,17 +2011,17 @@ } }, "node_modules/@fluentui/react-tooltip": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.3.14.tgz", - "integrity": "sha512-lpsX8Nwm5BSa8MAqYFHCxIt8HrUrrt/cFoY5PWeVyIxaIGXVqk3wby+q8WdiTm8UTUTaxBz50WTrnO4JmBds9Q==", + "version": "9.3.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.3.16.tgz", + "integrity": "sha512-dFk2uq1QWk4pI3+FrJdZ1jFg1tnIUT3Zu70rsUHzIfnE/HDDSQ014baCbNJJpYblSdEad6FLyw42zEAO+gwvmA==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -2009,24 +2033,23 @@ } }, "node_modules/@fluentui/react-tree": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.4.3.tgz", - "integrity": "sha512-3bTaGrswlqz4zjjNY8p0lllGjII6bVNxSKxUMHc87XtdYnv80jFpp/ZM0YtOq/AVL0ISooxwAftwsOIsYNq73w==", + "version": "9.4.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.4.5.tgz", + "integrity": "sha512-awIJG252HwzyYLKidw8OKZWZOMW1S6ytiaQuK8cd029FO4CUTCkiXmWkg8Fxs6isQhcmaUTsuBvlBD5MYXCdww==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-radio": "^9.1.48", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -2038,9 +2061,9 @@ } }, "node_modules/@fluentui/react-utilities": { - "version": "9.14.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.14.2.tgz", - "integrity": "sha512-ZuMbclGxaF+xm8Y6RD77DlXsB/gyieSlXzOeDMZxvL3XLKVJ18USakEYuTja1KhXUIW+OLKUCUpaS7XBxqv1eA==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.15.0.tgz", + "integrity": "sha512-kWuWKN8Ygd3HMlkSBmgZjvVC/jbOpnNC916sTPKCRv9ZYUwfkViV3UCeTNonRjzAhI8g+o+sP9/XQxp6QN5C5Q==", "dependencies": { "@fluentui/keyboard-keys": "^9.0.6", "@swc/helpers": "^0.5.1" @@ -2051,12 +2074,12 @@ } }, "node_modules/@fluentui/react-virtualizer": { - "version": "9.0.0-alpha.49", - "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.49.tgz", - "integrity": "sha512-2LYCo9T57pppFTawB8fJ0zJ35SnQjdQK71E33CoDalBAyT2S+2gdxU3bML3uWjDSyeyodDVjd3E7JBBqK/t57A==", + "version": "9.0.0-alpha.51", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.51.tgz", + "integrity": "sha512-1DhsNUovlp3fvZAsJAKINyDweUOsLR83gu7Pu00PmIHb5Y32gmsMm5CkGddMsrWiPB6duKuhDAkTjHI6VV/23w==", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" }, @@ -2414,9 +2437,9 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { - "version": "18.2.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", - "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2424,9 +2447,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", - "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz", + "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==", "dependencies": { "@types/react": "*" } @@ -2901,6 +2924,11 @@ "react-is": "^16.13.1" } }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -2933,9 +2961,9 @@ } }, "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/react-refresh": { "version": "0.14.0", @@ -3039,7 +3067,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -3092,9 +3119,9 @@ } }, "node_modules/tabster": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/tabster/-/tabster-4.7.3.tgz", - "integrity": "sha512-z34vfwtYefjk/rAnhf/2sd1EuYbefF6jR4cqUAx5bjwXwWsMaM7139/yUXreaiRxbySQqqL59pQaodzA8uPYBA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/tabster/-/tabster-4.8.0.tgz", + "integrity": "sha512-R1ib3x0Rd+iepvrzXdEkd2Qa2O5dV7jaZtR4BhkhE9sBYMolbVc6EgHGTHBQvdXQBdU8I2MXCMn0c6jarJb+GA==", "dependencies": { "keyborg": "^2.0.0", "tslib": "^2.3.1" @@ -3765,9 +3792,9 @@ } }, "@fluentui/react": { - "version": "8.112.2", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.112.2.tgz", - "integrity": "sha512-NdE2LIsWuhC1jTHAch8+eY3fplivwYfVeP3wKsNCm0aEf6JgbuyQB+ZN1CN7eqCNeSd9TPYaXn1gwfuBxef1mA==", + "version": "8.112.3", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.112.3.tgz", + "integrity": "sha512-2yDtzw8AvSkSO1B//Lj+E6Wy0RrWV0ai2hXN3q0SRkFocudvek5riHHK89OJAcKaAxqe/VUg7OJQ9P+Bqd77fA==", "requires": { "@fluentui/date-time-utilities": "^8.5.13", "@fluentui/font-icons-mdl2": "^8.5.25", @@ -3786,271 +3813,272 @@ } }, "@fluentui/react-accordion": { - "version": "9.3.20", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.3.20.tgz", - "integrity": "sha512-bbSufbu77s7awrTFoQDI/UuMC/+BNBPS9fR8yJj0LYNb36XrONYGUawK8RuXaVECDiYz0gS3+3srtJauhuhcvw==", + "version": "9.3.22", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.3.22.tgz", + "integrity": "sha512-AaTPJjCQgA1x8VzgrJ/8AijQ+lkKHoaYoULdFrLvzL0RNw8w0cBUcL91XWY3ymCqfzmkscUBXYRLS9A0ixV47w==", "requires": { - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-alert": { - "version": "9.0.0-beta.84", - "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.84.tgz", - "integrity": "sha512-5UAGeAbrWQQrDXwgeJHEk975OxTBuujkmKZ37GfY+EJftYqDAYI5i7D72tFXbk4rcC2y72Cur9yqNBvalI30YQ==", + "version": "9.0.0-beta.86", + "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.86.tgz", + "integrity": "sha512-1yz62O6rBmUKHvxfEbYTba9vCyk/MDsn86nDPLiEYVAC94PkiAazLd9QT5DL8uqlxi9ygXHEJlMLcmCxXyGyqw==", "requires": { - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-button": "^9.3.47", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-button": "^9.3.49", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-aria": { - "version": "9.3.41", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.3.41.tgz", - "integrity": "sha512-ZuICvlG80X7Xh75jvrlBBJQGcZrAL72bmnMjZK4tVFz9MPEJQHLLIc+CtsifQ3CW7KKLJz3GwgJLQiMGDDQF2A==", + "version": "9.3.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.3.42.tgz", + "integrity": "sha512-RZArlsmkCbzTIM1B20QmUuERrxijB8erxC0nXdwcqViXDOJB3/Sgg47mCrm1zwDaD2efp3Tjf8QwIKNmONd5OQ==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-avatar": { - "version": "9.5.38", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.5.38.tgz", - "integrity": "sha512-0TtjqxX8fkAzVLT7VbOF+MAr20ciRxqTUasD4KLTiiOY5MB0h4+XbKQYnwhQqb62wP9T0yeUnNwt0C/IWEnP+A==", + "version": "9.5.40", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.5.40.tgz", + "integrity": "sha512-1VD/YaHXr3i5IxWJWreF1ppk/50abiYuBXCrS4jt/P9bGKWTbiItdMrm1FqzH34gofeqbufbIJxWuwptqrrGwQ==", "requires": { - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-popover": "^9.8.13", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-popover": "^9.8.15", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-tooltip": "^9.3.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-tooltip": "^9.3.16", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-badge": { - "version": "9.2.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.7.tgz", - "integrity": "sha512-bXx4EffQn1D0/RgH13G33MiAD2aMp0qRLlz8RuPwy7fKR9XX/VXc01DyZI8mABnXPht+TPw8LokKL19W8XGMsg==", + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.9.tgz", + "integrity": "sha512-epgNV6M48M4ZhZB02Qybk8kmsP0Vxl9x4wuK/MAWj3p0ZUN48DQp77NwWBqfF13AH8i2zx2/5h5m7/p0USnY3w==", "requires": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-button": { - "version": "9.3.47", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.47.tgz", - "integrity": "sha512-fGaqg/7oeeM6HR8KMqkhwVOkabByqdcK4E5baHO4YhXA9ST45Mujihruteuey78OReJP4CbH8ktli4ySSr6gHQ==", + "version": "9.3.49", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.49.tgz", + "integrity": "sha512-hWI7fVG039b1AsMcgRrHrd9rGdjQoBzzEfkeko9JRtvOmyrsyoczLbj/uT1NVfkO3RHAozybPwt+BzJ45FSWqA==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", + "@fluentui/react-aria": "^9.3.42", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-card": { - "version": "9.0.46", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.46.tgz", - "integrity": "sha512-JzD2tnPJ65KmxEAKk8ckTXv6kpxggflCooNBAp6WRROTP9FGy5xE9TD+VIJSS48l+NKwiHXOqyJpIl+estxRdA==", + "version": "9.0.48", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.48.tgz", + "integrity": "sha512-tjEjoN8ICIuI5i6RTe+40aRC5JAlvQgX2O7FzcHTF+OcA+Fo+1haLRTlDOvc7b6hcaapCHSP3gD5G7kNHucFvQ==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-checkbox": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.1.48.tgz", - "integrity": "sha512-eURLwdj781wEEvbWmm+9nrv3NK01dYULwcL/FUDNvTgUcdpViaYclMJ6KPMAzkg079Ho2/vkyTDAx54VMVINGw==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.1.50.tgz", + "integrity": "sha512-UmBfpys1AR3ToTnzArKGzwiwker/2ZuP8JE3vKVpOjtk3bFj8TbuLt+JsHMXVsPSk3zHkH32McwBG81itytLQg==", "requires": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-combobox": { - "version": "9.5.22", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.5.22.tgz", - "integrity": "sha512-KogtGNzNhUBa5ewE0w8+gN/iLHFQLvLpceDkkrUUT71+YxsZLMa3j/PPSJGc8vUNd0RmsmJ3KQSJrQMFDgIdjw==", + "version": "9.5.24", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.5.24.tgz", + "integrity": "sha512-D6fDZKMMa3/kQsKBGSIgUlm/EBdEuPFutPHPih0dQb1ObqyAGQUqBe9oZEvSxTVVFXpueGD/GZRkqx3n2fet/Q==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-components": { - "version": "9.34.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.34.2.tgz", - "integrity": "sha512-8KrEd/g+juLTFSbhHbsO1YED4emG2+yvvvsDum4q8jN5IoSA6LkxsOMXDUY52S3eoSMTrpK+B7HShZWpaB+jpQ==", - "requires": { - "@fluentui/react-accordion": "^9.3.20", - "@fluentui/react-alert": "9.0.0-beta.84", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-card": "^9.0.46", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-combobox": "^9.5.22", - "@fluentui/react-dialog": "^9.7.7", - "@fluentui/react-divider": "^9.2.43", - "@fluentui/react-drawer": "9.0.0-beta.33", - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-image": "^9.1.40", - "@fluentui/react-infobutton": "9.0.0-beta.68", - "@fluentui/react-input": "^9.4.45", - "@fluentui/react-label": "^9.1.43", - "@fluentui/react-link": "^9.1.26", - "@fluentui/react-menu": "^9.12.24", - "@fluentui/react-overflow": "^9.0.38", - "@fluentui/react-persona": "^9.2.48", - "@fluentui/react-popover": "^9.8.13", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", - "@fluentui/react-progress": "^9.1.45", - "@fluentui/react-provider": "^9.10.5", - "@fluentui/react-radio": "^9.1.48", - "@fluentui/react-select": "^9.1.45", + "version": "9.35.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.35.0.tgz", + "integrity": "sha512-nr3r7oAfftBlLbXxjNfQDb4qqvJ4MoyPxUpqj/sordgGtdeUGRg7CWIe3ZhV+z0nVvq02Qa50DqfNRkfGmRuhw==", + "requires": { + "@fluentui/react-accordion": "^9.3.22", + "@fluentui/react-alert": "9.0.0-beta.86", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-card": "^9.0.48", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-combobox": "^9.5.24", + "@fluentui/react-dialog": "^9.7.9", + "@fluentui/react-divider": "^9.2.45", + "@fluentui/react-drawer": "9.0.0-beta.35", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-image": "^9.1.42", + "@fluentui/react-infobutton": "9.0.0-beta.70", + "@fluentui/react-input": "^9.4.47", + "@fluentui/react-label": "^9.1.45", + "@fluentui/react-link": "^9.1.28", + "@fluentui/react-menu": "^9.12.26", + "@fluentui/react-message-bar": "9.0.0", + "@fluentui/react-overflow": "^9.0.39", + "@fluentui/react-persona": "^9.2.50", + "@fluentui/react-popover": "^9.8.15", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", + "@fluentui/react-progress": "^9.1.47", + "@fluentui/react-provider": "^9.10.7", + "@fluentui/react-radio": "^9.1.50", + "@fluentui/react-select": "^9.1.47", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-skeleton": "^9.0.33", - "@fluentui/react-slider": "^9.1.48", - "@fluentui/react-spinbutton": "^9.2.45", - "@fluentui/react-spinner": "^9.3.23", - "@fluentui/react-switch": "^9.1.48", - "@fluentui/react-table": "^9.10.3", - "@fluentui/react-tabs": "^9.3.49", - "@fluentui/react-tabster": "^9.13.5", - "@fluentui/react-tags": "^9.0.2", - "@fluentui/react-text": "^9.3.40", - "@fluentui/react-textarea": "^9.3.45", + "@fluentui/react-skeleton": "^9.0.35", + "@fluentui/react-slider": "^9.1.50", + "@fluentui/react-spinbutton": "^9.2.47", + "@fluentui/react-spinner": "^9.3.25", + "@fluentui/react-switch": "^9.1.50", + "@fluentui/react-table": "^9.10.5", + "@fluentui/react-tabs": "^9.3.51", + "@fluentui/react-tabster": "^9.13.6", + "@fluentui/react-tags": "^9.0.4", + "@fluentui/react-text": "^9.3.42", + "@fluentui/react-textarea": "^9.3.47", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-toast": "^9.3.9", - "@fluentui/react-toolbar": "^9.1.48", - "@fluentui/react-tooltip": "^9.3.14", - "@fluentui/react-tree": "^9.4.3", - "@fluentui/react-utilities": "^9.14.2", - "@fluentui/react-virtualizer": "9.0.0-alpha.49", + "@fluentui/react-toast": "^9.3.11", + "@fluentui/react-toolbar": "^9.1.50", + "@fluentui/react-tooltip": "^9.3.16", + "@fluentui/react-tree": "^9.4.5", + "@fluentui/react-utilities": "^9.15.0", + "@fluentui/react-virtualizer": "9.0.0-alpha.51", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-context-selector": { - "version": "9.1.39", - "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.39.tgz", - "integrity": "sha512-rZJM2XeeHZt7wv0aQTdSIX+KSGqoOvMv1CBfRRuWYcZHjixLPxQn3yDyo0tvuJoT3CzIrrehU5PSzEIn3v6dww==", + "version": "9.1.40", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.40.tgz", + "integrity": "sha512-//oxMK9ItVNQBZDNwb20KZGsNqATPFWskhUG3zPc4dkyewfJBAGAytjkpOAAWwPZkN/GLk3il11slgvSmtOZHw==", "requires": { - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-dialog": { - "version": "9.7.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.7.7.tgz", - "integrity": "sha512-A/JJrRdolMBsoBaOHton1ljjLiix4vHe+QX6t9tCdaBmwQiVQVVRW45+kochpYXXz+ydWcGq+wGENmN1xNdGXA==", + "version": "9.7.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.7.9.tgz", + "integrity": "sha512-XEUV42d+zgjE/bJS+WFuCsKCmeuAkB+V67YpbZknnIJE4QXMf5GRWgesVHsHSMP8HlZEx9NZN9wlrjwl4n7yqg==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-divider": { - "version": "9.2.43", - "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.43.tgz", - "integrity": "sha512-UmH8ugXqHDOQPQtfzN/4QS9HjagvbyBIdNDr/rhExILEZKoOwSFVAPUoQUEtNKV7MsM56+7LXIdc969ogHIexg==", + "version": "9.2.45", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.45.tgz", + "integrity": "sha512-Oped8aMwKD9Oo/W43Nwq6l+ShmgnAxTnAwOkZ0207BOWuCmuOgpEz+kRUgqWsRiim299o+pLjeBBWUd2Tsbmzw==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-drawer": { - "version": "9.0.0-beta.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.0.0-beta.33.tgz", - "integrity": "sha512-HfoDsQs+0AKvvP+Xv8vFYteJfJI8reKZuYgNuLMvHFm9Khy4HUPqfzkEOsIgKr5WPbMcuQPmRqA3QRWrqiZidw==", + "version": "9.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.0.0-beta.35.tgz", + "integrity": "sha512-UihTfl1Fl38hOL48cY0SwW+MU/RWOY3M6wvaK9EKm1ipaPMblhNMNsUYvMu2v3G5fbhLtxGWrGNrtzqBsGaAsQ==", "requires": { - "@fluentui/react-dialog": "^9.7.7", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-motion-preview": "^0.3.1", + "@fluentui/react-dialog": "^9.7.9", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-motion-preview": "^0.3.3", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-field": { - "version": "9.1.35", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.35.tgz", - "integrity": "sha512-uJQwm0WxNAHO20b/+LsiAb9tdo00+4spLUaFVYSqrUUBgLVMLm+HIOYSO6jyGOOg4qjEhEELZeJehNxuu1vPjw==", + "version": "9.1.37", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.37.tgz", + "integrity": "sha512-niAikmjtShof2pOmJKzHHw2DLYcHkewWqKmxyEtUEpKjuuEczlfQ1YU/vS0H0x/Pjz8DFAxCf/AsP8saCGvYww==", "requires": { - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } @@ -4080,183 +4108,199 @@ } }, "@fluentui/react-icons": { - "version": "2.0.219", - "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.219.tgz", - "integrity": "sha512-KYOtNfB7Zlk/zbs3LfFQWD1q2cUs62tTC2LulAsPjSEbWwzrDcAGrTxtSnFvohjkHqM4kiY1a10DC9QlLCLLZw==", + "version": "2.0.220", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.220.tgz", + "integrity": "sha512-AIe0y3QuG2dATGVlszyt/xCzVhyBcDulQnDepSLZvDXkuu8zL/zqQaSuiOizwZUVxxuF0SvePyf4zgi86zgtjg==", "requires": { "@griffel/react": "^1.0.0", "tslib": "^2.1.0" } }, "@fluentui/react-image": { - "version": "9.1.40", - "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.40.tgz", - "integrity": "sha512-FPjaLpz2mhf0WHm9mC/TvUskiD6MHCQw2T2Y5jwtSVRiNHxHmY1nd09mJWOhDH2jwCK3azmwhQk+/fTI78vAww==", + "version": "9.1.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.42.tgz", + "integrity": "sha512-Wxv4EGvK93fnw/hRonZxQTtzA5O6g0FTCLawXmnE8/X4URiMQdccO8v5iztPfYXEbjcQ+/08t2b7PaO4p5AIew==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-infobutton": { - "version": "9.0.0-beta.68", - "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.68.tgz", - "integrity": "sha512-j2MTzmxPjKdo985dARYFgqhDXRIE02Y041DEvjjeZ6zWsCqqkfMrtYHRayM4wUypBDIez1D0vDCBuVeMscaldg==", + "version": "9.0.0-beta.70", + "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.70.tgz", + "integrity": "sha512-rrqotdiMJqpfQuHYW4QYs8O0nZyPIPfUsvQqpfkFmbGXfn1NvRdZt3AOfHEAIIUEP2Na4UMnM1UhAXyXnvAZ9A==", "requires": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", - "@fluentui/react-popover": "^9.8.13", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", + "@fluentui/react-popover": "^9.8.15", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-input": { - "version": "9.4.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.45.tgz", - "integrity": "sha512-MF+Rfbm0pFQO1dbjcoJ+b2u21Lwetqysmn3gDSORaVQSJJAowj6bGGYNdDo/Ji4i+am+a202dw+04UMYi5Db1w==", + "version": "9.4.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.47.tgz", + "integrity": "sha512-WaTErvxo1CUPy/nHbataSuxWkuhpVhwYl+JbwbdYOktZVDIvM/us+YGmtEr2mA/FXCVqQ839k2mlmZCma4Hkwg==", "requires": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-jsx-runtime": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.15.tgz", - "integrity": "sha512-5CyzxTm3PCbJ2S3iiQi1uZRkIrIc+o0GsnmLohQKW20I8Shv8Rhh9yf7x5k81AJw2raZho/G7yQ1uNmns58YVA==", + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.17.tgz", + "integrity": "sha512-gTwrWs0I4RkP9TmumGHGp5us8RU6tCf3Wjmx34DEutsDfsMmxzOHbsnhsymEBuhDIbHe6kricQ9McTkGhYP9SQ==", "requires": { - "@fluentui/react-utilities": "^9.14.2", - "@swc/helpers": "^0.5.1" + "@fluentui/react-utilities": "^9.15.0", + "@swc/helpers": "^0.5.1", + "react-is": "^17.0.2" } }, "@fluentui/react-label": { - "version": "9.1.43", - "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.43.tgz", - "integrity": "sha512-HR69f/QHl8d1vnot4oZmqzE/z9zYvWkxTjZxb7M5ah+FcnTyIwdK5T2ZeymPDjy7aSkMp79ZKQiSMI0gwq8GHw==", + "version": "9.1.45", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.45.tgz", + "integrity": "sha512-d5lOvlSChf8uyWSpoPVjXcjHdHVLJCH2+ox6Ad+fQK/onKByzIGNPBwXAbZX7IHRVgg14PAJXvdXQNvHzc99Tg==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-link": { - "version": "9.1.26", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.1.26.tgz", - "integrity": "sha512-lDbaBvV2ePY6/8FKJxhjXSabFWYr3Amurs1+Dy6+6SAhrhFPJPlMDzrrGTfDQfVc4Ke7rCvlTz48JS8PR5rsiQ==", + "version": "9.1.28", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.1.28.tgz", + "integrity": "sha512-kJaev1RSxGYVNwJ5ABqknwXMsfIFuGJ7scczpNstmNqvuNE5mJ5OC+XF6u29a2kg6AGnQthI/k6xC4Ipo9EuTQ==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-menu": { - "version": "9.12.24", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.12.24.tgz", - "integrity": "sha512-P+Wpx+ghMLjzfi0yU/cE1a+Lmt9e3MEgbvo0+6erN+ecocymS6S3NHywYGy4xGt8eXW8w+lD+oCXKU+V3aXfgg==", + "version": "9.12.26", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.12.26.tgz", + "integrity": "sha512-oCwxmyMC4/mG1FfRhh1nHqcvNp5ONukbsi8TKhY+YVPDAd5C0CrTGrVyTB+vz873gUdnVpXSZnv6ZlneANbjxA==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, + "@fluentui/react-message-bar": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.0.0.tgz", + "integrity": "sha512-pm2+xzKOEPfUm6gqckMHybD6mqjj9N5WVfm0ssFcLuE6FqXT8wiGvvhdUb0kd8ctzrAfdysPKCZY35BXVw8zTQ==", + "requires": { + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-icons": "^2.0.217", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-shared-contexts": "^9.10.0", + "@fluentui/react-theme": "^9.1.14", + "@fluentui/react-utilities": "^9.15.0", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" + } + }, "@fluentui/react-motion-preview": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion-preview/-/react-motion-preview-0.3.1.tgz", - "integrity": "sha512-7EhCwUHKj3W2QoFy08RuKYXcSBKpet4jcegoC8BRQWwS03a/005hy+5oGF2Uii69/l2p59ZYPy994OLAwOCqbA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-preview/-/react-motion-preview-0.3.3.tgz", + "integrity": "sha512-IcUmrmhhaaznqJm+qwjEOj4d7NQEDaJHJ0AEWou7s4ggX5kU71mJBXssNsyXmBgMQ6xSvtaXXEtlHYvK+qKyDA==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-overflow": { - "version": "9.0.38", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.0.38.tgz", - "integrity": "sha512-vrofilg4SFsDIS4sSaGRmQxZdIFNAKoaYGIYUym7Zf5JzrrfUyEUxhxefeP9EFhDXqhtn0kyLhJEDe+1DAQwdQ==", + "version": "9.0.39", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.0.39.tgz", + "integrity": "sha512-u4VxKA+n9HhEngubM+MDonpu9Z0bN72iTAU95LCL0pAdesczh6SPKupnz5M1bzFvDkEELij6m+hmNF+py3Z30A==", "requires": { "@fluentui/priority-overflow": "^9.1.7", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-persona": { - "version": "9.2.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.48.tgz", - "integrity": "sha512-QPTYF0FuXV12+H85GqbTUPcD+ArvMG6NKL7m/NKj6aLaEZedk1r4AeZ55CC3/xaaWwvVWQcN/qZcoLAkLVEq3w==", + "version": "9.2.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.50.tgz", + "integrity": "sha512-qEA2ud4qtWirKFvfuN57PZSLO2aKP2RN/lGkNRucapu9+MJ8q7+ugHYGqXTIrjigK6rUQf2lFDDc6ghjJD20CA==", "requires": { - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-badge": "^9.2.7", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-badge": "^9.2.9", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-popover": { - "version": "9.8.13", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.13.tgz", - "integrity": "sha512-Pa4i2yw6fUMut5ySrczTAJc55/V2lkqOtP+14c1toIr6QS6qEKxxnm8uONVOVIblDV4atlUVJSpxGclAOdEM6w==", + "version": "9.8.15", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.15.tgz", + "integrity": "sha512-phCp8RORWzKZDrysPhiiShosXzfE1D/hYTJn7pSmyJ7uTWCdNU2wT5Z93LoPZv8gwaiBZUmIE0TW4W9xBEpwnw==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-portal": { - "version": "9.3.22", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.3.22.tgz", - "integrity": "sha512-Q+/mlRV80IcWv/ELz0yy+SMfGF351xUWYWShZjdmyZ4rVbqG19Qi4lj+6EbLG1bzWn7pkMsrSClMB3ATp0fPBw==", + "version": "9.3.23", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.3.23.tgz", + "integrity": "sha512-8GdKXPZSD9s+KuGnPfc8npzBYd9hNmchZjgExMuv7BUqHPcuRIwHhMtvW+OvWseC5BxeybDFzlhNG1ZpzbigTg==", "requires": { "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-tabster": "^9.13.6", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "use-disposable": "^1.0.1" @@ -4271,76 +4315,76 @@ } }, "@fluentui/react-positioning": { - "version": "9.9.19", - "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.9.19.tgz", - "integrity": "sha512-wlXEBmXMTNZ60dfaiMbfwdYFDNLlxJxVILDbJ48icoccHdM7SqkZlJlGNzMNH4hj5KEasa5CrEitLGvv1iWtQw==", + "version": "9.9.20", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.9.20.tgz", + "integrity": "sha512-XrB4d+PDKFf9Z14nry8JwJ62YLI1OV5EqDw4Rw2g1qgbGYYQSz0T/1ouYlpa9oE367xRnawYBGpPYuUdo4S0Vw==", "requires": { "@floating-ui/dom": "^1.2.0", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-progress": { - "version": "9.1.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.45.tgz", - "integrity": "sha512-AcyNEHgt5iZwVH6gH/0SBugJ0S0O4Yd0VWAR1rgVKglVj+3NqEuLPtXwId2MSx7qvWHng5Xp5vtDjScV5Yy6PQ==", + "version": "9.1.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.47.tgz", + "integrity": "sha512-fm0Ho6nVEZ8i9r+ZT91EAyc88I66xkPBXqmYL5Vz/9qHE23+IoYg4pExINm525N6Do/Gs0zwEqcnFKJ7G52eGg==", "requires": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-provider": { - "version": "9.10.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.10.5.tgz", - "integrity": "sha512-SxIT1qCoN0orlZTxpraMG/jmRUr5u91BYD4LdYWolJZFvgdRG99wOOp8E830/ZiX9qZG2Y3SaKTr3mfdFMiAww==", + "version": "9.10.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.10.7.tgz", + "integrity": "sha512-i/dWzfaQwIU+yb5+/dBqFKQ3ixbh667lGOnEn+Pk4TABOEDXoLXX+muykP/Mdgj8MZppXR3HcaUkn5zc6w6HqA==", "requires": { "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/core": "^1.14.1", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-radio": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.1.48.tgz", - "integrity": "sha512-iqle5Y0EoqtqdwKUUy2Kab4wLXp3YH9hiBv/bRm5ZlbNKeNiA4+JgxgTPWqnCynAKhk2oPtfopmvgUz9dxT77g==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.1.50.tgz", + "integrity": "sha512-WIE31WS5120xJ0FEQUclTSlK2g+D3k+rIvj68PW0maL8D0yCRS81jD/pJeqd885v+KEU1aFbAYmMvY+3l5s1Gg==", "requires": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-select": { - "version": "9.1.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.45.tgz", - "integrity": "sha512-viyw7+KgJJ3C2eT2zEVwtUZbagaNBd2m13CY170PyS0hB0ICZ0ImEqK/OuBrm9jhN+HpFM5JFHqho7w9Z0v8Tw==", + "version": "9.1.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.47.tgz", + "integrity": "sha512-VZoY0pzSiecte9Ln+QG2vNMi8GqDUqLuipsi+KQ5ybrgfWuIYfo2R7kEZKSlJb5zFrZG+e4Y14P0dHKUQkCClQ==", "requires": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } @@ -4355,125 +4399,125 @@ } }, "@fluentui/react-skeleton": { - "version": "9.0.33", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.0.33.tgz", - "integrity": "sha512-QXIrmrkNs/cZV+I90e/kAP3xf/NNWbkGTgnO8exv/Dq+ARXp0xWahJgV6uIzupjnYq5QLp3wrAPR1et4wK+0jg==", + "version": "9.0.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.0.35.tgz", + "integrity": "sha512-Em8bFv+Wp4gjiEH9YF9G+pzxIM6zJVVo5L6XWx8rAKMwP5gTwxr1mGOoHtLma2bzUhZYeKSfbGP54/Wr63aUsg==", "requires": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-slider": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.48.tgz", - "integrity": "sha512-tFUAifIjYAb/cIPBFxRBsctBxH0gRBfC/I2bQQwsDiF7/rRpfbY2Vc50Q73PPAsTpbtRoHVeWAo+7+H9W/xPZg==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.50.tgz", + "integrity": "sha512-/qWK6/aRNwl/I3GU5NQK/CSRV9TKL5KpS4SOpGb5eSAUYrAKCY6GfYqDiNYKCZZ0rbX8L9VbSL+i+autdV8YNQ==", "requires": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-spinbutton": { - "version": "9.2.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.45.tgz", - "integrity": "sha512-k8R9lJRX5+H+zaAjrtfSiol9jjGN7e6qtX7eHAePxkXa3vkGQmCvwaKgOhY79ht+KnmIUulyZZO7F9TucWDvlA==", + "version": "9.2.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.47.tgz", + "integrity": "sha512-dj3tCIw1XwZHq4Mbqsheit8RSsPyNXn6XytEZPOGVaegJItF/cbfzIKOVcwXjjfGNU4iDPuDkSo97QqHZUFhig==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-spinner": { - "version": "9.3.23", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.3.23.tgz", - "integrity": "sha512-ZcF+0VymOUfymgP6juafO0ZfQrSKB5XzLaodSZY/ulMMUqOof6IpA8id6jSt/RrfFIN9TeJLblRvjLgd4Kc/QA==", + "version": "9.3.25", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.3.25.tgz", + "integrity": "sha512-8LyIQgv1nUSE3VuuHzFjMy9VQFw4oCd5kMOqOB4Hjog8AV2GW58Umb4fc+0tDrwfcGmX3ORi71fWyIivVs4Nzg==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-switch": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.48.tgz", - "integrity": "sha512-VRqTNrggb0n+X2ecAT65YesXyZENf28vDfIT6yabmw4DBVBJdiMmMiZr4K/77Dey/+gBZ8+CrEUc8Y8M0Vigxw==", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.50.tgz", + "integrity": "sha512-kNsaknbutksBSR6VVvsuEbeaKUB2rVHsYSERkdsIcLhfpgJHmbFCtgHHuPNjUU1xgDpg1uLXRqH0aJiwZD8h5w==", "requires": { - "@fluentui/react-field": "^9.1.35", + "@fluentui/react-field": "^9.1.37", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-label": "^9.1.43", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-label": "^9.1.45", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-table": { - "version": "9.10.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.10.3.tgz", - "integrity": "sha512-LqAKAS9fuTHuJDxcguYEUK4/FenE+yqysjSpK1Tamvd2DAh/tLNrJJ0K8KCmelz4M8WMrG3VImqsZpXUabHwPw==", + "version": "9.10.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.10.5.tgz", + "integrity": "sha512-SgSXeBJdnQz23Kr1qyw3i+nCMJxYwgI3N6RWQHs6Lm/GZ4e2ddSHhZxnizwsAnLQhXYy+IU+veJk8K+f8UEFKw==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-radio": "^9.1.48", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-tabs": { - "version": "9.3.49", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.3.49.tgz", - "integrity": "sha512-RRlY9KML4UdfKCqrcOATcIWU4eO5ltcu2FJin3bmKTQeyZltUbtiE5ucXzKtLVqj8jxeOlco9eq9MOSlxiqbGw==", + "version": "9.3.51", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.3.51.tgz", + "integrity": "sha512-+oQeZSoIuWSZ79/7VRc4GCjJBTEI6EBHCKCU1JEwGWStRbtRRJPblyq/3sagkHU/Qyz3uas5+Bq7Ll31jI2Big==", "requires": { - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-tabster": { - "version": "9.13.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.13.5.tgz", - "integrity": "sha512-MaWv5XfZcgKrEWP+hUhwa8Monl2yrrmWp3UwyX8bgUMm+AiXGpTcZqB4EeBclqhMQSAYkoyRIVsHd5RJ9qirhQ==", + "version": "9.13.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.13.6.tgz", + "integrity": "sha512-NjSFil+JfGSC92upv/FIjSzvfoOn/Lh87hABCR+5FN/bQIyAduB/293qOztV63KLaEdrqC3yJyQbPV2Nz4DwQg==", "requires": { "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "keyborg": "^2.0.0", @@ -4481,46 +4525,46 @@ } }, "@fluentui/react-tags": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.0.2.tgz", - "integrity": "sha512-svZ7+Yh/6hPzvsMKAE78k+UpZaQZMNXaPkbsTdWiQu/8ZREeBH1GfxHddeuU5MV0KUVuHvk1C9ooDgD1PJzFgA==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.0.4.tgz", + "integrity": "sha512-tgS2/u6rCzFWCovvev6Ey1OiH1dSi756rVvWTJyCEha3PPqXahmbs3EL+60npiIEur89nAA/aEVbSFbMDqwV5g==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-text": { - "version": "9.3.40", - "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.3.40.tgz", - "integrity": "sha512-QzhjsfEI/tggNWPW/ne9+Sz913vq5s+nOF2nsIWKu3zFW2d7KrjdU+HlcUUcnv6+YVUcAiHtaKQpUE54dQYG3w==", + "version": "9.3.42", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.3.42.tgz", + "integrity": "sha512-PxBsOh6Bk10FpKUhcTN3PnAGh3uIK6gRSKWuzT+h23A/RTZP5UrCmGLaxPMJXFm9cltWRiwqfC4AMiBYF1RLZg==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-textarea": { - "version": "9.3.45", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.45.tgz", - "integrity": "sha512-qpuNpbqH+2sOxUIP4OOreD5iL+TobryiJTeRCajYCtm+ldrURyYc8ii5PZ0Q4mujgLezqpDcr6Ym1oAglOKikA==", + "version": "9.3.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.47.tgz", + "integrity": "sha512-ebC9u8Swl7ajUTm55WG6k6QqXvaoPFTGqdagtXLSEPQ0Dt7otqKnQh39jS4SmGVmRT4Oh4LGnuh7Fe6aJW/rvw==", "requires": { - "@fluentui/react-field": "^9.1.35", - "@fluentui/react-jsx-runtime": "^9.0.15", + "@fluentui/react-field": "^9.1.37", + "@fluentui/react-jsx-runtime": "^9.0.17", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } @@ -4535,97 +4579,96 @@ } }, "@fluentui/react-toast": { - "version": "9.3.9", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.9.tgz", - "integrity": "sha512-ydnRVG0GZfAWTfKTEGo07gtnXR5Hi+1BayMApNOguP5iioZ57eaUk64p9HGSdAY8KZs0o6ZSv3FYCHwN211arw==", + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.11.tgz", + "integrity": "sha512-fIFMQMDcekgMpX3+f934cyrFNJ8vF4/k8CxK6vvWzE3B8z+2zLKwHye5dYFKoeG4c8o4c9CAHWjiAP/R3fENOA==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", + "@fluentui/react-aria": "^9.3.42", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1", "react-transition-group": "^4.4.1" } }, "@fluentui/react-toolbar": { - "version": "9.1.48", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.1.48.tgz", - "integrity": "sha512-6THb2BIx96gzqV/W1LKYWA3kBYzWKo30USa619/yAsomneeZZyAGo5FRmZcL/K6Vckjk5NChEi5fqRSfKIy9XA==", - "requires": { - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-context-selector": "^9.1.39", - "@fluentui/react-divider": "^9.2.43", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-radio": "^9.1.48", + "version": "9.1.50", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.1.50.tgz", + "integrity": "sha512-/3TSImj6YLHf0nNRODdE53allFOoOwiHesp4+El7CUvRey6EoDXATbPCVC4jcsB62bIKif4DqVPsCGrdmJIs8Q==", + "requires": { + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-context-selector": "^9.1.40", + "@fluentui/react-divider": "^9.2.45", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-tooltip": { - "version": "9.3.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.3.14.tgz", - "integrity": "sha512-lpsX8Nwm5BSa8MAqYFHCxIt8HrUrrt/cFoY5PWeVyIxaIGXVqk3wby+q8WdiTm8UTUTaxBz50WTrnO4JmBds9Q==", + "version": "9.3.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.3.16.tgz", + "integrity": "sha512-dFk2uq1QWk4pI3+FrJdZ1jFg1tnIUT3Zu70rsUHzIfnE/HDDSQ014baCbNJJpYblSdEad6FLyw42zEAO+gwvmA==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-positioning": "^9.9.19", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-portal": "^9.3.23", + "@fluentui/react-positioning": "^9.9.20", "@fluentui/react-shared-contexts": "^9.10.0", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-tree": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.4.3.tgz", - "integrity": "sha512-3bTaGrswlqz4zjjNY8p0lllGjII6bVNxSKxUMHc87XtdYnv80jFpp/ZM0YtOq/AVL0ISooxwAftwsOIsYNq73w==", + "version": "9.4.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.4.5.tgz", + "integrity": "sha512-awIJG252HwzyYLKidw8OKZWZOMW1S6ytiaQuK8cd029FO4CUTCkiXmWkg8Fxs6isQhcmaUTsuBvlBD5MYXCdww==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", - "@fluentui/react-aria": "^9.3.41", - "@fluentui/react-avatar": "^9.5.38", - "@fluentui/react-button": "^9.3.47", - "@fluentui/react-checkbox": "^9.1.48", - "@fluentui/react-context-selector": "^9.1.39", + "@fluentui/react-aria": "^9.3.42", + "@fluentui/react-avatar": "^9.5.40", + "@fluentui/react-button": "^9.3.49", + "@fluentui/react-checkbox": "^9.1.50", + "@fluentui/react-context-selector": "^9.1.40", "@fluentui/react-icons": "^2.0.217", - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-portal": "^9.3.22", - "@fluentui/react-radio": "^9.1.48", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-radio": "^9.1.50", "@fluentui/react-shared-contexts": "^9.10.0", - "@fluentui/react-tabster": "^9.13.5", + "@fluentui/react-tabster": "^9.13.6", "@fluentui/react-theme": "^9.1.14", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-utilities": { - "version": "9.14.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.14.2.tgz", - "integrity": "sha512-ZuMbclGxaF+xm8Y6RD77DlXsB/gyieSlXzOeDMZxvL3XLKVJ18USakEYuTja1KhXUIW+OLKUCUpaS7XBxqv1eA==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.15.0.tgz", + "integrity": "sha512-kWuWKN8Ygd3HMlkSBmgZjvVC/jbOpnNC916sTPKCRv9ZYUwfkViV3UCeTNonRjzAhI8g+o+sP9/XQxp6QN5C5Q==", "requires": { "@fluentui/keyboard-keys": "^9.0.6", "@swc/helpers": "^0.5.1" } }, "@fluentui/react-virtualizer": { - "version": "9.0.0-alpha.49", - "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.49.tgz", - "integrity": "sha512-2LYCo9T57pppFTawB8fJ0zJ35SnQjdQK71E33CoDalBAyT2S+2gdxU3bML3uWjDSyeyodDVjd3E7JBBqK/t57A==", + "version": "9.0.0-alpha.51", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.51.tgz", + "integrity": "sha512-1DhsNUovlp3fvZAsJAKINyDweUOsLR83gu7Pu00PmIHb5Y32gmsMm5CkGddMsrWiPB6duKuhDAkTjHI6VV/23w==", "requires": { - "@fluentui/react-jsx-runtime": "^9.0.15", - "@fluentui/react-utilities": "^9.14.2", + "@fluentui/react-jsx-runtime": "^9.0.17", + "@fluentui/react-utilities": "^9.15.0", "@griffel/react": "^1.5.14", "@swc/helpers": "^0.5.1" } @@ -4908,9 +4951,9 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { - "version": "18.2.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", - "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4918,9 +4961,9 @@ } }, "@types/react-dom": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", - "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz", + "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==", "requires": { "@types/react": "*" } @@ -5242,6 +5285,13 @@ "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } } }, "react": { @@ -5272,9 +5322,9 @@ } }, "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "react-refresh": { "version": "0.14.0", @@ -5345,7 +5395,6 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "peer": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -5383,9 +5432,9 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "tabster": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/tabster/-/tabster-4.7.3.tgz", - "integrity": "sha512-z34vfwtYefjk/rAnhf/2sd1EuYbefF6jR4cqUAx5bjwXwWsMaM7139/yUXreaiRxbySQqqL59pQaodzA8uPYBA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/tabster/-/tabster-4.8.0.tgz", + "integrity": "sha512-R1ib3x0Rd+iepvrzXdEkd2Qa2O5dV7jaZtR4BhkhE9sBYMolbVc6EgHGTHBQvdXQBdU8I2MXCMn0c6jarJb+GA==", "requires": { "keyborg": "^2.0.0", "tslib": "^2.3.1" diff --git a/app/frontend/package.json b/app/frontend/package.json index b08995f..c417a24 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -9,25 +9,26 @@ "scripts": { "dev": "vite --port=8080", "build": "tsc && vite build", - "watch": "tsc && vite build --watch" + "preview": "vite preview" }, "dependencies": { "@azure/msal-react": "^2.0.4", "@azure/msal-browser": "^3.1.0", - "@fluentui/react": "^8.112.2", - "@fluentui/react-components": "^9.34.2", - "@fluentui/react-icons": "^2.0.219", + "@fluentui/react": "^8.112.3", + "@fluentui/react-components": "^9.35.0", + "@fluentui/react-icons": "^2.0.220", "@react-spring/web": "^9.7.3", "dompurify": "^3.0.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.16.0", - "ndjson-readablestream": "^1.0.7" + "ndjson-readablestream": "^1.0.7", + "scheduler": "^0.20.2" }, "devDependencies": { "@types/dompurify": "^3.0.3", - "@types/react": "^18.2.27", - "@types/react-dom": "^18.2.12", + "@types/react": "^18.2.28", + "@types/react-dom": "^18.2.13", "@vitejs/plugin-react": "^4.1.0", "prettier": "^3.0.3", "typescript": "^5.2.2", diff --git a/app/frontend/src/api/api.ts b/app/frontend/src/api/api.ts index 83c126f..fb8f511 100644 --- a/app/frontend/src/api/api.ts +++ b/app/frontend/src/api/api.ts @@ -4,7 +4,7 @@ import { useLogin } from "../authConfig"; const BACKEND_URI = import.meta.env.VITE_BACKEND_URI ? import.meta.env.VITE_BACKEND_URI : ""; function getHeaders(idToken: string | undefined, stream:boolean): Record { - var headers : Record = { + var headers: Record = { "Content-Type": "application/json" }; // If using login, add the id token of the logged in account as the authorization diff --git a/app/frontend/src/api/models.ts b/app/frontend/src/api/models.ts index 3bb345c..c468488 100644 --- a/app/frontend/src/api/models.ts +++ b/app/frontend/src/api/models.ts @@ -34,17 +34,18 @@ export type ChatAppRequestOverrides = { export type ResponseMessage = { content: string; role: string; -} +}; export type ResponseContext = { thoughts: string | null; data_points: string[]; -} +}; export type ResponseChoice = { index: number; message: ResponseMessage; context: ResponseContext; + session_state: any; }; export type ChatAppResponseOrError = { @@ -58,11 +59,12 @@ export type ChatAppResponse = { export type ChatAppRequestContext = { overrides?: ChatAppRequestOverrides; -} +}; export type ChatAppRequest = { messages: ResponseMessage[]; approach: Approaches; context?: ChatAppRequestContext; stream?: boolean; + session_state: any; }; diff --git a/app/frontend/src/authConfig.ts b/app/frontend/src/authConfig.ts index bb482cd..7e583ab 100644 --- a/app/frontend/src/authConfig.ts +++ b/app/frontend/src/authConfig.ts @@ -1,4 +1,5 @@ // Refactored from https://github.com/Azure-Samples/ms-identity-javascript-react-tutorial/blob/main/1-Authentication/1-sign-in/SPA/src/authConfig.js + import { AuthenticationResult, IPublicClientApplication } from "@azure/msal-browser"; const BACKEND_URI = import.meta.env.VITE_BACKEND_URI ? import.meta.env.VITE_BACKEND_URI : ""; @@ -13,17 +14,17 @@ interface AuthSetup { */ msalConfig: { auth: { - clientId: string, // Client app id used for login - authority: string, // Directory to use for login https://learn.microsoft.com/azure/active-directory/develop/msal-client-application-configuration#authority - redirectUri: string, // Points to window.location.origin. You must register this URI on Azure Portal/App Registration. - postLogoutRedirectUri: string, // Indicates the page to navigate after logout. - navigateToLoginRequestUrl: boolean // If "true", will navigate back to the original request location before processing the auth code response. - }, + clientId: string; // Client app id used for login + authority: string; // Directory to use for login https://learn.microsoft.com/azure/active-directory/develop/msal-client-application-configuration#authority + redirectUri: string; // Points to window.location.origin. You must register this URI on Azure Portal/App Registration. + postLogoutRedirectUri: string; // Indicates the page to navigate after logout. + navigateToLoginRequestUrl: boolean; // If "true", will navigate back to the original request location before processing the auth code response. + }; cache: { - cacheLocation: string, // Configures cache location. "sessionStorage" is more secure, but "localStorage" gives you SSO between tabs. - storeAuthStateInCookie: boolean // Set this to "true" if you are having issues on IE11 or Edge - } - }, + cacheLocation: string; // Configures cache location. "sessionStorage" is more secure, but "localStorage" gives you SSO between tabs. + storeAuthStateInCookie: boolean; // Set this to "true" if you are having issues on IE11 or Edge + }; + }; loginRequest: { /** * Scopes you add here will be prompted for user consent during sign-in. @@ -31,11 +32,11 @@ interface AuthSetup { * For more information about OIDC scopes, visit: * https://docs.microsoft.com/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes */ - scopes: Array - }, + scopes: Array; + }; tokenRequest: { - scopes: Array - } + scopes: Array; + }; } // Fetch the auth setup JSON data from the API if not already cached @@ -68,15 +69,21 @@ export const loginRequest = authSetup.loginRequest; const tokenRequest = authSetup.tokenRequest; +// Build an absolute redirect URI using the current window's location and the relative redirect URI from auth setup +export const getRedirectUri = () => { + return window.location.origin + authSetup.msalConfig.auth.redirectUri; +}; + // Get an access token for use with the API server. // ID token received when logging in may not be used for this purpose because it has the incorrect audience export const getToken = (client: IPublicClientApplication): Promise => { - return client.acquireTokenSilent({ - ...tokenRequest, - redirectUri: authSetup.msalConfig.auth.redirectUri - }) - .catch((error) => { - console.log(error); - return undefined; - }) -} + return client + .acquireTokenSilent({ + ...tokenRequest, + redirectUri: getRedirectUri() + }) + .catch(error => { + console.log(error); + return undefined; + }); +}; diff --git a/app/frontend/src/components/Answer/Answer.module.css b/app/frontend/src/components/Answer/Answer.module.css index f2c3bf6..782f05d 100644 --- a/app/frontend/src/components/Answer/Answer.module.css +++ b/app/frontend/src/components/Answer/Answer.module.css @@ -2,7 +2,9 @@ padding: 20px; background: rgb(249, 249, 249); border-radius: 8px; - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 2px 4px rgba(0, 0, 0, 0.14), + 0px 0px 2px rgba(0, 0, 0, 0.12); outline: transparent solid 1px; } diff --git a/app/frontend/src/components/Answer/Answer.tsx b/app/frontend/src/components/Answer/Answer.tsx index 5e796e8..b79e806 100644 --- a/app/frontend/src/components/Answer/Answer.tsx +++ b/app/frontend/src/components/Answer/Answer.tsx @@ -30,7 +30,7 @@ export const Answer = ({ showFollowupQuestions }: Props) => { const messageContent = answer.choices[0].message.content; - const parsedAnswer = useMemo(() => parseAnswerToHtml(messageContent, isStreaming, onCitationClicked ), [answer]); + const parsedAnswer = useMemo(() => parseAnswerToHtml(messageContent, isStreaming, onCitationClicked), [answer]); const sanitizedAnswerHtml = DOMPurify.sanitize(parsedAnswer.answerHtml); diff --git a/app/frontend/src/components/Answer/AnswerParser.tsx b/app/frontend/src/components/Answer/AnswerParser.tsx index 984216d..bf09a61 100644 --- a/app/frontend/src/components/Answer/AnswerParser.tsx +++ b/app/frontend/src/components/Answer/AnswerParser.tsx @@ -21,19 +21,19 @@ export function parseAnswerToHtml(answer: string, isStreaming: boolean, onCitati parsedAnswer = parsedAnswer.trim(); // Omit a citation that is still being typed during streaming - if (isStreaming){ + if (isStreaming) { let lastIndex = parsedAnswer.length; for (let i = parsedAnswer.length - 1; i >= 0; i--) { - if (parsedAnswer[i] === ']') { + if (parsedAnswer[i] === "]") { break; - } else if (parsedAnswer[i] === '[') { + } else if (parsedAnswer[i] === "[") { lastIndex = i; break; } } const truncatedAnswer = parsedAnswer.substring(0, lastIndex); parsedAnswer = truncatedAnswer; - } + } const parts = parsedAnswer.split(/\[([^\]]+)\]/g); diff --git a/app/frontend/src/components/Example/Example.module.css b/app/frontend/src/components/Example/Example.module.css index 796f217..2911450 100644 --- a/app/frontend/src/components/Example/Example.module.css +++ b/app/frontend/src/components/Example/Example.module.css @@ -20,7 +20,9 @@ } .example:hover { - box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 8px 16px rgba(0, 0, 0, 0.14), + 0px 0px 2px rgba(0, 0, 0, 0.12); outline: 2px solid rgba(115, 118, 225, 1); } diff --git a/app/frontend/src/components/LoginButton/LoginButton.module.css b/app/frontend/src/components/LoginButton/LoginButton.module.css index 25bbaba..f808ac9 100644 --- a/app/frontend/src/components/LoginButton/LoginButton.module.css +++ b/app/frontend/src/components/LoginButton/LoginButton.module.css @@ -2,4 +2,4 @@ border-radius: 5px; padding: 30px 30px; font-weight: 100; -} \ No newline at end of file +} diff --git a/app/frontend/src/components/LoginButton/LoginButton.tsx b/app/frontend/src/components/LoginButton/LoginButton.tsx index f2a52d9..7378ecf 100644 --- a/app/frontend/src/components/LoginButton/LoginButton.tsx +++ b/app/frontend/src/components/LoginButton/LoginButton.tsx @@ -1,40 +1,39 @@ -import { DefaultButton } from '@fluentui/react'; -import { useMsal } from '@azure/msal-react'; +import { DefaultButton } from "@fluentui/react"; +import { useMsal } from "@azure/msal-react"; import styles from "./LoginButton.module.css"; -import { loginRequest } from '../../authConfig'; - +import { getRedirectUri, loginRequest } from "../../authConfig"; export const LoginButton = () => { - const { instance } = useMsal(); - const activeAccount = instance.getActiveAccount(); - const handleLoginPopup = () => { - /** - * When using popup and silent APIs, we recommend setting the redirectUri to a blank page or a page - * that does not implement MSAL. Keep in mind that all redirect routes must be registered with the application - * For more information, please follow this link: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/login-user.md#redirecturi-considerations - */ - instance - .loginPopup({ - ...loginRequest, - redirectUri: '/redirect', - }) - .catch((error) => console.log(error)); - }; - const handleLogoutPopup = () => { - instance - .logoutPopup({ - mainWindowRedirectUri: '/', // redirects the top level app after logout - account: instance.getActiveAccount(), - }) - .catch((error) => console.log(error)); - }; - const logoutText = `Logout\n${activeAccount?.username}` - return ( - - - ) + const { instance } = useMsal(); + const activeAccount = instance.getActiveAccount(); + const handleLoginPopup = () => { + /** + * When using popup and silent APIs, we recommend setting the redirectUri to a blank page or a page + * that does not implement MSAL. Keep in mind that all redirect routes must be registered with the application + * For more information, please follow this link: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/login-user.md#redirecturi-considerations + */ + instance + .loginPopup({ + ...loginRequest, + redirectUri: getRedirectUri() + }) + .catch(error => console.log(error)); + }; + const handleLogoutPopup = () => { + instance + .logoutPopup({ + mainWindowRedirectUri: "/", // redirects the top level app after logout + account: instance.getActiveAccount() + }) + .catch(error => console.log(error)); + }; + const logoutText = `Logout\n${activeAccount?.username}`; + return ( + + ); }; diff --git a/app/frontend/src/components/LoginButton/index.tsx b/app/frontend/src/components/LoginButton/index.tsx index 06bd34e..06a844c 100644 --- a/app/frontend/src/components/LoginButton/index.tsx +++ b/app/frontend/src/components/LoginButton/index.tsx @@ -1 +1 @@ -export * from "./LoginButton" +export * from "./LoginButton"; diff --git a/app/frontend/src/components/QuestionInput/QuestionInput.module.css b/app/frontend/src/components/QuestionInput/QuestionInput.module.css index 8fa6d53..419523e 100644 --- a/app/frontend/src/components/QuestionInput/QuestionInput.module.css +++ b/app/frontend/src/components/QuestionInput/QuestionInput.module.css @@ -1,6 +1,8 @@ .questionInputContainer { border-radius: 8px; - box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 8px 16px rgba(0, 0, 0, 0.14), + 0px 0px 2px rgba(0, 0, 0, 0.12); height: 90px; width: 100%; padding: 15px; diff --git a/app/frontend/src/components/SupportingContent/SupportingContent.module.css b/app/frontend/src/components/SupportingContent/SupportingContent.module.css index 3ce11a6..b38d5d9 100644 --- a/app/frontend/src/components/SupportingContent/SupportingContent.module.css +++ b/app/frontend/src/components/SupportingContent/SupportingContent.module.css @@ -10,7 +10,9 @@ word-break: break-word; background: rgb(249, 249, 249); border-radius: 8px; - box-shadow: rgb(0 0 0 / 5%) 0px 0px 0px 1px, rgb(0 0 0 / 10%) 0px 2px 3px 0px; + box-shadow: + rgb(0 0 0 / 5%) 0px 0px 0px 1px, + rgb(0 0 0 / 10%) 0px 2px 3px 0px; outline: transparent solid 1px; display: flex; diff --git a/app/frontend/src/components/TokenClaimsDisplay/TokenClaimsDisplay.tsx b/app/frontend/src/components/TokenClaimsDisplay/TokenClaimsDisplay.tsx index fc1c948..53035a1 100644 --- a/app/frontend/src/components/TokenClaimsDisplay/TokenClaimsDisplay.tsx +++ b/app/frontend/src/components/TokenClaimsDisplay/TokenClaimsDisplay.tsx @@ -1,5 +1,5 @@ -import { Label } from '@fluentui/react'; -import { useMsal } from '@azure/msal-react'; +import { Label } from "@fluentui/react"; +import { useMsal } from "@azure/msal-react"; import { DataGridBody, DataGridRow, @@ -9,80 +9,69 @@ import { DataGridCell, createTableColumn, TableColumnDefinition -} from '@fluentui/react-table'; +} from "@fluentui/react-table"; type Claim = { name: string; value: string; -} - +}; export const TokenClaimsDisplay = () => { const { instance } = useMsal(); const activeAccount = instance.getActiveAccount(); const ToString = (a: string | any) => { - if (typeof a === 'string') { + if (typeof a === "string") { return a; } else { return JSON.stringify(a); } }; - const items: Claim[] = activeAccount?.idTokenClaims ? - Object.keys(activeAccount.idTokenClaims).map( - (key: string) => { return { name: key, value: ToString((activeAccount.idTokenClaims ?? {})[key]) }; }) : - [] + const items: Claim[] = activeAccount?.idTokenClaims + ? Object.keys(activeAccount.idTokenClaims).map((key: string) => { + return { name: key, value: ToString((activeAccount.idTokenClaims ?? {})[key]) }; + }) + : []; const columns: TableColumnDefinition[] = [ createTableColumn({ - columnId: 'name', + columnId: "name", compare: (a: Claim, b: Claim) => { return a.name.localeCompare(b.name); }, renderHeaderCell: () => { - return 'Name'; + return "Name"; }, renderCell: item => { - return item.name - }, + return item.name; + } }), createTableColumn({ - columnId: 'value', + columnId: "value", compare: (a: Claim, b: Claim) => { return a.value.localeCompare(b.value); }, renderHeaderCell: () => { - return 'Value'; + return "Value"; }, renderCell: item => { - return item.value - }, + return item.value; + } }) - ] + ]; return (
- item.name} - > + item.name}> - - {({ renderHeaderCell }) => {renderHeaderCell()}} - + {({ renderHeaderCell }) => {renderHeaderCell()}} > - {({ item, rowId }) => ( - key={rowId}> - {({ renderCell }) => {renderCell(item)}} - - )} + {({ item, rowId }) => key={rowId}>{({ renderCell }) => {renderCell(item)}}}
- ) + ); }; diff --git a/app/frontend/src/components/TokenClaimsDisplay/index.tsx b/app/frontend/src/components/TokenClaimsDisplay/index.tsx index 52c4634..baec9b5 100644 --- a/app/frontend/src/components/TokenClaimsDisplay/index.tsx +++ b/app/frontend/src/components/TokenClaimsDisplay/index.tsx @@ -1 +1 @@ -export * from './TokenClaimsDisplay' \ No newline at end of file +export * from "./TokenClaimsDisplay"; diff --git a/app/frontend/src/components/UserChatMessage/UserChatMessage.module.css b/app/frontend/src/components/UserChatMessage/UserChatMessage.module.css index c80bea6..591f314 100644 --- a/app/frontend/src/components/UserChatMessage/UserChatMessage.module.css +++ b/app/frontend/src/components/UserChatMessage/UserChatMessage.module.css @@ -10,6 +10,8 @@ padding: 20px; background: #e8ebfa; border-radius: 8px; - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.14), 0px 0px 2px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 2px 4px rgba(0, 0, 0, 0.14), + 0px 0px 2px rgba(0, 0, 0, 0.12); outline: transparent solid 1px; } diff --git a/app/frontend/src/index.css b/app/frontend/src/index.css index 2efb29b..44e9bf2 100644 --- a/app/frontend/src/index.css +++ b/app/frontend/src/index.css @@ -12,7 +12,17 @@ body { html { background: #f2f2f2; - font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + font-family: + "Segoe UI", + -apple-system, + BlinkMacSystemFont, + "Roboto", + "Oxygen", + "Ubuntu", + "Cantarell", + "Fira Sans", + "Droid Sans", + "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; diff --git a/app/frontend/src/index.tsx b/app/frontend/src/index.tsx index 47b0689..d0c06c3 100644 --- a/app/frontend/src/index.tsx +++ b/app/frontend/src/index.tsx @@ -2,9 +2,9 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { createHashRouter, RouterProvider } from "react-router-dom"; import { initializeIcons } from "@fluentui/react"; -import { MsalProvider } from '@azure/msal-react'; -import { PublicClientApplication, EventType, AccountInfo } from '@azure/msal-browser'; -import { msalConfig, useLogin } from './authConfig'; +import { MsalProvider } from "@azure/msal-react"; +import { PublicClientApplication, EventType, AccountInfo } from "@azure/msal-browser"; +import { msalConfig, useLogin } from "./authConfig"; import "./index.css"; @@ -22,7 +22,7 @@ if (useLogin) { } // Listen for sign-in event and set active account - msalInstance.addEventCallback((event) => { + msalInstance.addEventCallback(event => { if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) { const account = event.payload as AccountInfo; msalInstance.setActiveAccount(account); @@ -33,9 +33,9 @@ if (useLogin) { - ) + ); } else { - layout = + layout = ; } initializeIcons(); diff --git a/app/frontend/src/pages/chat/Chat.tsx b/app/frontend/src/pages/chat/Chat.tsx index bc86f7f..66fa3a7 100644 --- a/app/frontend/src/pages/chat/Chat.tsx +++ b/app/frontend/src/pages/chat/Chat.tsx @@ -5,15 +5,7 @@ import readNDJSONStream from "ndjson-readablestream"; import styles from "./Chat.module.css"; -import { - chatApi, - RetrievalMode, - ChatAppResponse, - ChatAppResponseOrError, - ChatAppRequest, - ResponseMessage, - Approaches -} from "../../api"; +import { chatApi, RetrievalMode, ChatAppResponse, ChatAppResponseOrError, ChatAppRequest, ResponseMessage, Approaches } from "../../api"; import { Answer, AnswerError, AnswerLoading } from "../../components/Answer"; import { QuestionInput } from "../../components/QuestionInput"; import { ExampleList } from "../../components/Example"; @@ -31,7 +23,6 @@ const Chat = () => { const [retrieveCount, setRetrieveCount] = useState(3); const [retrievalMode, setRetrievalMode] = useState(RetrievalMode.Hybrid); const [useSemanticRanker, setUseSemanticRanker] = useState(true); - // TODO enable streaming const [shouldStream, setShouldStream] = useState(true); const [useSemanticCaptions, setUseSemanticCaptions] = useState(false); const [excludeCategory, setExcludeCategory] = useState(""); @@ -61,12 +52,9 @@ const Chat = () => { return new Promise(resolve => { setTimeout(() => { answer += newContent; - const latestResponse: ChatAppResponse = { ...askResponse, - choices: [{ ...askResponse.choices[0], - message: { content: answer, - role: askResponse.choices[0].message.role - } } - ] + const latestResponse: ChatAppResponse = { + ...askResponse, + choices: [{ ...askResponse.choices[0], message: { content: answer, role: askResponse.choices[0].message.role } }] }; setStreamedAnswers([...answers, [question, latestResponse]]); resolve(null); @@ -88,12 +76,9 @@ const Chat = () => { } finally { setIsStreaming(false); } - const fullResponse: ChatAppResponse = { ...askResponse, - choices: [{ ...askResponse.choices[0], - message: { content: answer, - role: askResponse.choices[0].message.role - } } - ] + const fullResponse: ChatAppResponse = { + ...askResponse, + choices: [{ ...askResponse.choices[0], message: { content: answer, role: askResponse.choices[0].message.role } }] }; return fullResponse; }; @@ -111,10 +96,10 @@ const Chat = () => { const token = client ? await getToken(client) : undefined; try { - const messages: ResponseMessage[] = answers.flatMap(a => ([ + const messages: ResponseMessage[] = answers.flatMap(a => [ { content: a[0], role: "user" }, - { content: a[1].choices[0].message.content, role: "bot" } - ])); + { content: a[1].choices[0].message.content, role: "assistant" } + ]); const request: ChatAppRequest = { messages: [...messages, { content: question, role: "user" }], @@ -133,6 +118,8 @@ const Chat = () => { } }, approach: Approaches.JAVA_OPENAI_SDK, + // ChatAppProtocol: Client must pass on any session state received from the server + session_state: answers.length ? answers[answers.length - 1][1].choices[0].session_state : null }; const response = await chatApi(request, token?.accessToken); diff --git a/app/frontend/src/pages/layout/Layout.tsx b/app/frontend/src/pages/layout/Layout.tsx index 4ab2da0..943f602 100644 --- a/app/frontend/src/pages/layout/Layout.tsx +++ b/app/frontend/src/pages/layout/Layout.tsx @@ -4,9 +4,9 @@ import github from "../../assets/github.svg"; import styles from "./Layout.module.css"; -import { useLogin } from "../../authConfig" +import { useLogin } from "../../authConfig"; -import { LoginButton } from "../../components/LoginButton" +import { LoginButton } from "../../components/LoginButton"; const Layout = () => { return ( @@ -43,7 +43,7 @@ const Layout = () => {

Azure OpenAI + Cognitive Search

- {useLogin && } + {useLogin && } diff --git a/app/frontend/src/pages/oneshot/OneShot.tsx b/app/frontend/src/pages/oneshot/OneShot.tsx index 5831ce9..b773a77 100644 --- a/app/frontend/src/pages/oneshot/OneShot.tsx +++ b/app/frontend/src/pages/oneshot/OneShot.tsx @@ -3,7 +3,7 @@ import { Checkbox, ChoiceGroup, IChoiceGroupOption, Panel, DefaultButton, Spinne import styles from "./OneShot.module.css"; -import {askApi, Approaches, ChatAppResponse, RetrievalMode, SKMode, ChatAppRequest} from "../../api"; +import {askApi, Approaches, ChatAppResponse, RetrievalMode, SKMode } from "../../api"; import { Answer, AnswerError } from "../../components/Answer"; import { QuestionInput } from "../../components/QuestionInput"; import { ExampleList } from "../../components/Example"; @@ -37,7 +37,7 @@ export function Component(): JSX.Element { const [activeCitation, setActiveCitation] = useState(); const [activeAnalysisPanelTab, setActiveAnalysisPanelTab] = useState(undefined); - const client = useLogin ? useMsal().instance : undefined + const client = useLogin ? useMsal().instance : undefined; const makeApiRequest = async (question: string) => { lastQuestionRef.current = question; @@ -47,7 +47,7 @@ export function Component(): JSX.Element { setActiveCitation(undefined); setActiveAnalysisPanelTab(undefined); - const token = client ? await getToken(client) : undefined + const token = client ? await getToken(client) : undefined; try { const request: ChatAppRequest = { @@ -72,7 +72,9 @@ export function Component(): JSX.Element { semantic_kernel_mode: skMode } }, - approach: approach + approach: approach, + // ChatAppProtocol: Client must pass on any session state received from the server + session_state: answer ? answer.choices[0].session_state : null }; const result = await askApi(request, token?.accessToken); setAnswer(result); @@ -302,7 +304,7 @@ export function Component(): JSX.Element { onChange={onUseOidSecurityFilterChange} /> )} - {useLogin && ( + {useLogin && ( )} - { useLogin && } + + {useLogin && } ); From 17678c21ed89d6e7ccb8e9010ba2b8d424d211cb Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Thu, 26 Oct 2023 14:00:58 +0100 Subject: [PATCH 2/2] Fix build --- app/frontend/src/pages/oneshot/OneShot.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/src/pages/oneshot/OneShot.tsx b/app/frontend/src/pages/oneshot/OneShot.tsx index b773a77..1a25ddf 100644 --- a/app/frontend/src/pages/oneshot/OneShot.tsx +++ b/app/frontend/src/pages/oneshot/OneShot.tsx @@ -3,7 +3,7 @@ import { Checkbox, ChoiceGroup, IChoiceGroupOption, Panel, DefaultButton, Spinne import styles from "./OneShot.module.css"; -import {askApi, Approaches, ChatAppResponse, RetrievalMode, SKMode } from "../../api"; +import { askApi, Approaches, ChatAppResponse, RetrievalMode, SKMode, ChatAppRequest } from "../../api"; import { Answer, AnswerError } from "../../components/Answer"; import { QuestionInput } from "../../components/QuestionInput"; import { ExampleList } from "../../components/Example";