diff --git a/.yo-rc.json b/.yo-rc.json index a4d131149..5177e4e48 100644 --- a/.yo-rc.json +++ b/.yo-rc.json @@ -1,6 +1,6 @@ { "@microsoft/generator-sharepoint": { - "version": "1.20.0", + "version": "1.21.1", "libraryName": "sp-dev-fx-controls-react", "libraryId": "92b1e52c-a5fa-490a-bcf4-76080f39442c", "environment": "spo", diff --git a/CHANGELOG.json b/CHANGELOG.json index 478645614..300104164 100644 --- a/CHANGELOG.json +++ b/CHANGELOG.json @@ -1,5 +1,52 @@ { "versions": [ + { + "version": "3.22.0", + "changes": { + "new": [ + "`WorldMap`: new control `WorldMap` [#2023](https://github.com/pnp/sp-dev-fx-controls-react/pull/2023)" + ], + "enhancements": [ + "SharePoint Framework v1.21.1 support [#1998](https://github.com/pnp/sp-dev-fx-controls-react/pull/1998)", + "`ListItemComments`: Implement like and unlike ability to list item comments control [#1974](https://github.com/pnp/sp-dev-fx-controls-react/pull/1974)", + "`ListItemComments`: Need a feature to view the list of users who liked a comment [#2003](https://github.com/pnp/sp-dev-fx-controls-react/issues/2003)", + "`ListItemComments`: Clickable links [#1969](https://github.com/pnp/sp-dev-fx-controls-react/issues/1969)", + "`Polish translations`: Updates Polish translations. Closes #1991](https://github.com/pnp/sp-dev-fx-controls-react/issues/1991)", + "`Dashboard`: Dashboard widget rowspan [#2007](https://github.com/pnp/sp-dev-fx-controls-react/pull/2007)", + "`ListItemComments`: Guest user @-mentions and styling fix for ListItemComments [#1990](https://github.com/pnp/sp-dev-fx-controls-react/pull/1990)", + "`GridLayout`: 1852 - Grid layout settings as parameters [#1976](https://github.com/pnp/sp-dev-fx-controls-react/pull/1976)" + ], + "fixes": [ + "`DynamicForm`: Added choice radio button handling [#1798](https://github.com/pnp/sp-dev-fx-controls-react/pull/1798)", + "`FilePicker`: Global quill styles from FilePicker overwrite other quill editors [#1996](https://github.com/pnp/sp-dev-fx-controls-react/issues/1996)", + "`FilePicker`: Unable to browse through organization assets library when located on root site [#1784](https://github.com/pnp/sp-dev-fx-controls-react/issues/1784)", + "`Calendar`: Fix - fix-typo-enableOnHover [#2021](https://github.com/pnp/sp-dev-fx-controls-react/pull/2021)", + "`Dynamic Form`: Hotfix for issue 2014 [#2026](https://github.com/pnp/sp-dev-fx-controls-react/issues/2014)", + "`ListItemAttachments`: Update ListItemAttachments.tsx: let user set webUrl fix for issue 1975 [#2009](https://github.com/pnp/sp-dev-fx-controls-react/issues/1975", + "`FilePicker`: Files keep loading when previewing all files in OneDrive [#2021](https://github.com/pnp/sp-dev-fx-controls-react/issues/1994)", + "`ListItemAttachments`: ListItemAttachments cancel event is hanging the control [#1982](https://github.com/pnp/sp-dev-fx-controls-react/issues/1966)", + "`filePicker`: FilePicker order of tabs and default tab[#1980](https://github.com/pnp/sp-dev-fx-controls-react/issues/921) ", + "`ListView` ListView: add new prop - flattenItems [#189](https://github.com/pnp/sp-dev-fx-controls-react/issues/189) , [#222](https://github.com/pnp/sp-dev-fx-controls-react/issues/222)", + "`DynamicForm`: issue with fields that are not part of [#1986](https://github.com/pnp/sp-dev-fx-controls-react/issues/1986)" + ] + }, + "contributions": [ + "[Alberto Gutierrez Perez](https://github.com/albegut)", + "[Alex Terentiev](https://github.com/AJIXuMuK)", + "[Antanina Druzhkina](https://github.com/Ateina)", + "[Floris Pleegzorg Oost-Vlaanderen](https://github.com/Floris-Pleegzorg-Oost-Vlaanderen)", + "[Guido Zambarda](https://github.com/GuidoZam)", + "[joaojmendes](https://github.com/joaojmendes)", + "[Joseph Jang](https://github.com/heesungjang)", + "[Michał Kornet](https://github.com/mkm17)", + "[Michaël Maillot](https://github.com/michaelmaillot)", + "[Nishkalank Bezawada](https://github.com/NishkalankBezawada)", + "[Patrik Hellgren](https://github.com/PatrikHellgren)", + "[Sandeep P S](https://github.com/Sandeep-FED)", + "[Valeras Narbutas](https://github.com/ValerasNarbutas)", + "[wuxiaojun514](https://github.com/wuxiaojun514)" + ] + }, { "version": "3.21.0", "changes": { diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ac558af4..e05d51081 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Releases +## 3.22.0 + +### New control(s) + +- `WorldMap`: new control `WorldMap` [#2023](https://github.com/pnp/sp-dev-fx-controls-react/pull/2023) + +### Enhancements + +- SharePoint Framework v1.21.1 support [#1998](https://github.com/pnp/sp-dev-fx-controls-react/pull/1998) +- `ListItemComments`: Implement like and unlike ability to list item comments control [#1974](https://github.com/pnp/sp-dev-fx-controls-react/pull/1974) +- `ListItemComments`: Need a feature to view the list of users who liked a comment [#2003](https://github.com/pnp/sp-dev-fx-controls-react/issues/2003) +- `ListItemComments`: Clickable links [#1969](https://github.com/pnp/sp-dev-fx-controls-react/issues/1969) +- `Polish translations`: Updates Polish translations. Closes #1991](https://github.com/pnp/sp-dev-fx-controls-react/issues/1991) +- `Dashboard`: Dashboard widget rowspan [#2007](https://github.com/pnp/sp-dev-fx-controls-react/pull/2007) +- `ListItemComments`: Guest user @-mentions and styling fix for ListItemComments [#1990](https://github.com/pnp/sp-dev-fx-controls-react/pull/1990) +- `GridLayout`: 1852 - Grid layout settings as parameters [#1976](https://github.com/pnp/sp-dev-fx-controls-react/pull/1976) + +### Fixes + +- `DynamicForm`: Added choice radio button handling [#1798](https://github.com/pnp/sp-dev-fx-controls-react/pull/1798) +- `FilePicker`: Global quill styles from FilePicker overwrite other quill editors [#1996](https://github.com/pnp/sp-dev-fx-controls-react/issues/1996) +- `FilePicker`: Unable to browse through organization assets library when located on root site [#1784](https://github.com/pnp/sp-dev-fx-controls-react/issues/1784) +- `Calendar`: Fix - fix-typo-enableOnHover [#2021](https://github.com/pnp/sp-dev-fx-controls-react/pull/2021) +- `Dynamic Form`: Hotfix for issue 2014 [#2026](https://github.com/pnp/sp-dev-fx-controls-react/issues/2014) +- `ListItemAttachments`: Update ListItemAttachments.tsx: let user set webUrl fix for issue 1975 [#2009](https://github.com/pnp/sp-dev-fx-controls-react/issues/1975 +- `FilePicker`: Files keep loading when previewing all files in OneDrive [#2021](https://github.com/pnp/sp-dev-fx-controls-react/issues/1994) +- `ListItemAttachments`: ListItemAttachments cancel event is hanging the control [#1982](https://github.com/pnp/sp-dev-fx-controls-react/issues/1966) +- `filePicker`: FilePicker order of tabs and default tab[#1980](https://github.com/pnp/sp-dev-fx-controls-react/issues/921) +- `ListView` ListView: add new prop - flattenItems [#189](https://github.com/pnp/sp-dev-fx-controls-react/issues/189) , [#222](https://github.com/pnp/sp-dev-fx-controls-react/issues/222) +- `DynamicForm`: issue with fields that are not part of [#1986](https://github.com/pnp/sp-dev-fx-controls-react/issues/1986) + +### Contributors + +Special thanks to our contributors (in alphabetical order): [Alberto Gutierrez Perez](https://github.com/albegut), [Alex Terentiev](https://github.com/AJIXuMuK), [Antanina Druzhkina](https://github.com/Ateina), [Floris Pleegzorg Oost-Vlaanderen](https://github.com/Floris-Pleegzorg-Oost-Vlaanderen), [Guido Zambarda](https://github.com/GuidoZam), [joaojmendes](https://github.com/joaojmendes), [Joseph Jang](https://github.com/heesungjang), [Michał Kornet](https://github.com/mkm17), [Michaël Maillot](https://github.com/michaelmaillot), [Nishkalank Bezawada](https://github.com/NishkalankBezawada), [Patrik Hellgren](https://github.com/PatrikHellgren), [Sandeep P S](https://github.com/Sandeep-FED), [Valeras Narbutas](https://github.com/ValerasNarbutas), [wuxiaojun514](https://github.com/wuxiaojun514). + ## 3.21.0 ### New control(s) diff --git a/docs/documentation/docs/about/release-notes.md b/docs/documentation/docs/about/release-notes.md index 7ac558af4..e05d51081 100644 --- a/docs/documentation/docs/about/release-notes.md +++ b/docs/documentation/docs/about/release-notes.md @@ -1,5 +1,40 @@ # Releases +## 3.22.0 + +### New control(s) + +- `WorldMap`: new control `WorldMap` [#2023](https://github.com/pnp/sp-dev-fx-controls-react/pull/2023) + +### Enhancements + +- SharePoint Framework v1.21.1 support [#1998](https://github.com/pnp/sp-dev-fx-controls-react/pull/1998) +- `ListItemComments`: Implement like and unlike ability to list item comments control [#1974](https://github.com/pnp/sp-dev-fx-controls-react/pull/1974) +- `ListItemComments`: Need a feature to view the list of users who liked a comment [#2003](https://github.com/pnp/sp-dev-fx-controls-react/issues/2003) +- `ListItemComments`: Clickable links [#1969](https://github.com/pnp/sp-dev-fx-controls-react/issues/1969) +- `Polish translations`: Updates Polish translations. Closes #1991](https://github.com/pnp/sp-dev-fx-controls-react/issues/1991) +- `Dashboard`: Dashboard widget rowspan [#2007](https://github.com/pnp/sp-dev-fx-controls-react/pull/2007) +- `ListItemComments`: Guest user @-mentions and styling fix for ListItemComments [#1990](https://github.com/pnp/sp-dev-fx-controls-react/pull/1990) +- `GridLayout`: 1852 - Grid layout settings as parameters [#1976](https://github.com/pnp/sp-dev-fx-controls-react/pull/1976) + +### Fixes + +- `DynamicForm`: Added choice radio button handling [#1798](https://github.com/pnp/sp-dev-fx-controls-react/pull/1798) +- `FilePicker`: Global quill styles from FilePicker overwrite other quill editors [#1996](https://github.com/pnp/sp-dev-fx-controls-react/issues/1996) +- `FilePicker`: Unable to browse through organization assets library when located on root site [#1784](https://github.com/pnp/sp-dev-fx-controls-react/issues/1784) +- `Calendar`: Fix - fix-typo-enableOnHover [#2021](https://github.com/pnp/sp-dev-fx-controls-react/pull/2021) +- `Dynamic Form`: Hotfix for issue 2014 [#2026](https://github.com/pnp/sp-dev-fx-controls-react/issues/2014) +- `ListItemAttachments`: Update ListItemAttachments.tsx: let user set webUrl fix for issue 1975 [#2009](https://github.com/pnp/sp-dev-fx-controls-react/issues/1975 +- `FilePicker`: Files keep loading when previewing all files in OneDrive [#2021](https://github.com/pnp/sp-dev-fx-controls-react/issues/1994) +- `ListItemAttachments`: ListItemAttachments cancel event is hanging the control [#1982](https://github.com/pnp/sp-dev-fx-controls-react/issues/1966) +- `filePicker`: FilePicker order of tabs and default tab[#1980](https://github.com/pnp/sp-dev-fx-controls-react/issues/921) +- `ListView` ListView: add new prop - flattenItems [#189](https://github.com/pnp/sp-dev-fx-controls-react/issues/189) , [#222](https://github.com/pnp/sp-dev-fx-controls-react/issues/222) +- `DynamicForm`: issue with fields that are not part of [#1986](https://github.com/pnp/sp-dev-fx-controls-react/issues/1986) + +### Contributors + +Special thanks to our contributors (in alphabetical order): [Alberto Gutierrez Perez](https://github.com/albegut), [Alex Terentiev](https://github.com/AJIXuMuK), [Antanina Druzhkina](https://github.com/Ateina), [Floris Pleegzorg Oost-Vlaanderen](https://github.com/Floris-Pleegzorg-Oost-Vlaanderen), [Guido Zambarda](https://github.com/GuidoZam), [joaojmendes](https://github.com/joaojmendes), [Joseph Jang](https://github.com/heesungjang), [Michał Kornet](https://github.com/mkm17), [Michaël Maillot](https://github.com/michaelmaillot), [Nishkalank Bezawada](https://github.com/NishkalankBezawada), [Patrik Hellgren](https://github.com/PatrikHellgren), [Sandeep P S](https://github.com/Sandeep-FED), [Valeras Narbutas](https://github.com/ValerasNarbutas), [wuxiaojun514](https://github.com/wuxiaojun514). + ## 3.21.0 ### New control(s) diff --git a/docs/documentation/docs/assets/WorldMap.png b/docs/documentation/docs/assets/WorldMap.png new file mode 100644 index 000000000..ff5c74a66 Binary files /dev/null and b/docs/documentation/docs/assets/WorldMap.png differ diff --git a/docs/documentation/docs/controls/FilePicker.md b/docs/documentation/docs/controls/FilePicker.md index 81b19ea63..aa036b862 100644 --- a/docs/documentation/docs/controls/FilePicker.md +++ b/docs/documentation/docs/controls/FilePicker.md @@ -107,8 +107,10 @@ The FilePicker component can be configured with the following properties: | includePageLibraries | boolean | no | Specifies if Site Pages library to be visible on Sites tab | | allowExternalLinks | boolean | no | Specifies if external links should be allowed. | | checkIfFileExists | boolean | no | When using file links, this property allows the user to choose if the control should check if the link point to a file that exists or not. | +| tabOrder | FilePickerTab[]| no | Defines a custom display order for the tabs. Tabs not listed will follow their default order. | +| defaultSelectedTab | FilePickerTab | no | Sets the default selected tab. If not specified, the first visible tab is used. | -interface `IFilePickerResult` +Interface `IFilePickerResult` Provides options for carousel buttons location. @@ -120,4 +122,20 @@ Provides options for carousel buttons location. | fileSize | number | Size of the result (in bytes). Set only for file upload | | downloadFileContent | () => Promise<File> | Function allows to download file content. Returns File object. | +Enum `FilePickerTab` + +Represents the available tabs in the File Picker component. Each tab corresponds to a different source from which users can select files. + +| Name | Description | +|-----------------|-------------------------------------------------------| +| Recent | Displays recently used files. | +| StockImages | Shows stock image selection. | +| Web | Allows searching files from the web. | +| OrgAssets | Displays organizational assets. | +| OneDrive | Allows file selection from OneDrive. | +| Site | Enables browsing site files. | +| Upload | Provides option to upload local files. | +| Link | Lets the user add a file via a URL. | +| MultipleUpload | Supports uploading multiple files at once. | + ![](https://telemetry.sharepointpnp.com/sp-dev-fx-controls-react/filePicker/FilePicker) diff --git a/docs/documentation/docs/controls/WorldMap.md b/docs/documentation/docs/controls/WorldMap.md new file mode 100644 index 000000000..c3253f861 --- /dev/null +++ b/docs/documentation/docs/controls/WorldMap.md @@ -0,0 +1,423 @@ +# WorldMapControl Documentation + +A React component for displaying interactive world maps with markers, search functionality, and customizable styling using MapLibre GL JS. + +This use Mapitiler API for map tiles and supports custom styles. +By default, it uses a free demo map without requiring an API key, but if you want to use MapTiler or a custom style, you can provide an API key and style URL. +To Get the API key, you can register on [MapTiler](https://www.maptiler.com/) and create a Account to get your API key. + +## Table of Contents + +- [Installation](#installation) +- [Basic Usage](#basic-usage) +- [Properties](#properties) +- [Data Structure](#data-structure) +- [Map Configuration](#map-configuration) +- [Search Feature](#search-feature) +- [Marker Customization](#marker-customization) +- [Examples](#examples) + +## Installation + +```bash +npm install @pnp/spfx-controls-react +``` + +## Example of WorldMapControl +![WorldMapControl Example](../assets/WorldMap.png) + +## Basic Usage + +```tsx +import React from 'react'; +import { MaplibreWorldMap } from '@pnp/spfx-controls-react/lib/WorldMapControl'; +import { IData } from '@pnp/spfx-controls-react/lib/worldMap'; + +const MyMapComponent: React.FC = () => { + const locations: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/nyc.jpg', + link: 'https://example.com/nyc', + coordinates: [-74.006, 40.7128] + }, + { + id: '2', + name: 'London', + imageUrl: 'https://example.com/london.jpg', + link: 'https://example.com/london', + coordinates: [-0.1276, 51.5074] + } + ]; + + const handleMarkerClick = (location: IData) => { + console.log('Clicked:', location.name); + // Navigate to location.link or show details + }; + + return ( + + ); +}; +``` + +## Properties + +### Core Properties + +| Property | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `data` | `IData[]` | ✅ | - | Array of location data to display | +| `onClick` | `(item: IData) => void` | ❌ | - | Callback when marker is clicked | +| `title` | `string \| ReactNode` | ❌ | `'World Map'` | Map title | +| `style` | `CSSProperties` | ❌ | - | Custom styles for map container | +| `className` | `string` | ❌ | - | CSS class for root container | +| `theme` | `Theme` | ❌ | - | Fluent UI theme object | + +### Map Configuration + +| Property | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `mapKey` | `string` | ❌ | - | MapTiler API key | +| `mapStyleUrl` | `string` | ❌ | - | Custom map style URL | +| `fitPadding` | `number` | ❌ | `20` | Padding when fitting to markers | + +### Search Configuration + +| Property | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `search.enabled` | `boolean` | ❌ | `true` | Enable search feature | +| `search.placeholder` | `string` | ❌ | `'Search locations...'` | Search input placeholder | +| `search.searchField` | `keyof IData \| function` | ❌ | `'name'` | Field to search or custom function | +| `search.zoomLevel` | `number` | ❌ | `8` | Zoom level for search results | +| `search.position` | `object` | ❌ | `{top: '10px', left: '10px'}` | Search overlay position | +| `search.onSearchChange` | `function` | ❌ | - | Callback when search changes | + +### Marker Configuration + +| Property | Type | Required | Default | Description | +|----------|------|----------|---------|-------------| +| `marker.markerClassName` | `string` | ❌ | - | CSS class for markers | +| `marker.markerStyle` | `CSSProperties` | ❌ | - | Custom marker styles | +| `marker.imageSize` | `number` | ❌ | `40` | Marker image size (px) | +| `marker.renderToolTip` | `function` | ❌ | - | Custom tooltip renderer | +| `marker.tooltipClassName` | `string` | ❌ | - | CSS class for tooltips | +| `marker.tooltipStyle` | `CSSProperties` | ❌ | - | Custom tooltip styles | + +## Data Structure + +Each location item must implement the `IData` interface: + +```tsx +interface IData { + id: string; // Unique identifier + name: string; // Display name (used for search) + imageUrl: string; // Image URL for marker/tooltip + link: string; // Associated URL/link + coordinates: [number, number]; // [longitude, latitude] +} +``` + +### Example Data + +```tsx +const sampleData: IData[] = [ + { + id: 'paris-001', + name: 'Paris, France', + imageUrl: 'https://example.com/images/paris.jpg', + link: 'https://example.com/locations/paris', + coordinates: [2.3522, 48.8566] // [longitude, latitude] + }, + { + id: 'tokyo-001', + name: 'Tokyo, Japan', + imageUrl: 'https://example.com/images/tokyo.jpg', + link: '/locations/tokyo', + coordinates: [139.6917, 35.6895] + } +]; +``` + +## Map Configuration + +### Using Demo Map (Free) + +```tsx + +``` + +### Using MapTiler API Key + +```tsx + +``` + +### Custom Map Style + +```tsx + +``` + +### Map Style Priority + +1. **mapKey + mapStyleUrl**: Uses the style URL with API key +2. **mapKey only**: Uses MapTiler streets style +3. **mapStyleUrl only**: Uses URL as-is +4. **Neither**: Uses free demo map + +## Search Feature + +### Basic Search + +```tsx + +``` + +### Custom Search Field + +```tsx + +``` + +### Custom Search Function + +```tsx + `${item.name} ${item.link}`, // Search multiple fields + onSearchChange: (term, results) => { + console.log(`Found ${results.length} results for "${term}"`); + } + }} +/> +``` + +### Search Positioning + +```tsx + +``` + +## Marker Customization + +### Basic Marker Styling + +```tsx + +``` + +### Custom Tooltips + +```tsx + ( +
+

{item.name}

+ {item.name} +

Click to visit: Learn more

+
+ ), + tooltipStyle: { + backgroundColor: 'white', + border: '1px solid #ccc', + borderRadius: '8px', + padding: '12px', + maxWidth: '200px' + } + }} +/> +``` + +## Examples + +### Complete Example with All Features + +```tsx +import React from 'react'; +import { MaplibreWorldMap } from '@pnp/spfx-controls-react/lib/WorldMapControl'; +import { IData } from '@pnp/spfx-controls-react/lib/worldMap'; + +const AdvancedMapExample: React.FC = () => { + const locations: IData[] = [ + { + id: 'nyc', + name: 'New York City', + imageUrl: 'https://example.com/nyc.jpg', + link: 'https://example.com/nyc', + coordinates: [-74.006, 40.7128] + }, + // ... more locations + ]; + + const handleLocationClick = (location: IData) => { + window.open(location.link, '_blank'); + }; + + const handleSearchChange = (term: string, results: IData[]) => { + console.log(`Search: "${term}" - ${results.length} results`); + }; + + return ( + `${item.name} ${item.id}` + }} + marker={{ + imageSize: 45, + markerStyle: { + borderRadius: '50%', + border: '3px solid #0078d4', + boxShadow: '0 2px 8px rgba(0,0,0,0.3)' + }, + renderToolTip: (item) => ( +
+

{item.name}

+ {item.name} +

+ Click marker to visit location page +

+
+ ), + tooltipStyle: { + backgroundColor: 'white', + border: '1px solid #ccc', + borderRadius: '8px', + padding: '12px', + maxWidth: '160px', + textAlign: 'center' + } + }} + /> + ); +}; + +export default AdvancedMapExample; +``` + +### Minimal Example + +```tsx + alert(`Clicked: ${location.name}`)} +/> +``` + +## TypeScript Support + +The component is fully typed with TypeScript. Import the interfaces for type safety: + +```tsx +import { IMaplibreWorldMapProps, IData } from '@pnp/spfx-controls-react/lib/worldMap'; + +const MyComponent: React.FC<{locations: IData[]}> = ({ locations }) => { + const mapProps: IMaplibreWorldMapProps = { + data: locations, + onClick: (item) => console.log(item.name), + // ... other props with full type checking + }; + + return ; +}; +``` + +## Browser Support + +- Modern browsers with ES6+ support +- WebGL support required for map rendering +- Mobile browsers supported + +## Performance Tips + +1. **Limit data size**: For large datasets (>100 markers), consider clustering or pagination +2. **Optimize images**: Use appropriate image sizes for markers +3. **API key**: Use your own MapTiler API key for production to avoid rate limits +4. **Lazy loading**: Load the component only when needed to reduce initial bundle size + +## Troubleshooting + +### Common Issues + +1. **Map not loading**: Check if `mapKey` is valid or use demo map +2. **Markers not appearing**: Verify `coordinates` format is `[longitude, latitude]` +3. **Search not working**: Ensure `searchField` matches available data properties +4. **Performance issues**: Reduce number of markers or optimize marker images + +### Getting Help + +- Check the browser console for error messages +- Verify all required properties are provided +- Ensure coordinate format is correct (longitude first, then latitude) +- Test with demo data to isolate issues diff --git a/package-lock.json b/package-lock.json index 73b8b06c0..c79048804 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@pnp/spfx-controls-react", - "version": "3.21.0", + "version": "3.22.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@pnp/spfx-controls-react", - "version": "3.21.0", + "version": "3.22.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -26,23 +26,23 @@ "@fluentui/theme": "^2.6.6", "@iconify/react": "^4.1.1", "@juggle/resize-observer": "3.4.0", - "@microsoft/decorators": "1.20.0", + "@microsoft/decorators": "1.21.1", "@microsoft/mgt-react": "3.1.3", "@microsoft/mgt-spfx": "3.1.3", - "@microsoft/sp-adaptive-card-extension-base": "1.20.0", - "@microsoft/sp-application-base": "1.20.0", - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-dialog": "1.20.0", - "@microsoft/sp-extension-base": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-listview-extensibility": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-office-ui-fabric-core": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", - "@microsoft/sp-property-pane": "1.20.0", - "@microsoft/sp-webpart-base": "1.20.0", + "@microsoft/sp-adaptive-card-extension-base": "1.21.1", + "@microsoft/sp-application-base": "1.21.1", + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-dialog": "1.21.1", + "@microsoft/sp-extension-base": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-listview-extensibility": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-office-ui-fabric-core": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@microsoft/sp-property-pane": "1.21.1", + "@microsoft/sp-webpart-base": "1.21.1", "@monaco-editor/loader": "^1.3.1", "@nuvemerudita/react-controls": "1.0.0", "@pnp/common": "2.5.0", @@ -63,13 +63,16 @@ "he": "^1.2.0", "jotai": "^2.4.2", "lodash": "4.17.21", + "maplibre-gl": "^5.6.1", "markdown-it": "^14.1.0", "monaco-editor": "^0.29.1", "nano-css": "^5.3.4", + "pmtiles": "^4.3.0", "react": "17.0.1", "react-accessible-accordion": "^5.0.0", "react-dom": "17.0.1", "react-dropzone": "^14.2.3", + "react-map-gl": "^8.0.4", "react-mentions": "^4.3.0", "react-quill": "2.0.0", "regexify-string": "^1.0.16", @@ -77,12 +80,12 @@ "swiper": "^8.2.6" }, "devDependencies": { - "@microsoft/eslint-config-spfx": "1.20.2", - "@microsoft/eslint-plugin-spfx": "1.20.2", + "@microsoft/eslint-config-spfx": "1.21.1", + "@microsoft/eslint-plugin-spfx": "1.21.1", "@microsoft/microsoft-graph-types": "^2.1.0", - "@microsoft/rush-stack-compiler-4.7": "0.1.0", - "@microsoft/sp-build-web": "1.20.2", - "@microsoft/sp-module-interfaces": "1.20.2", + "@microsoft/rush-stack-compiler-5.3": "0.1.0", + "@microsoft/sp-build-web": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", "@rushstack/eslint-config": "4.0.1", "@types/chart.js": "2.7.40", "@types/enzyme": "^2.8.12", @@ -90,6 +93,7 @@ "@types/he": "^1.1.2", "@types/jest": "25.2.3", "@types/lodash": "4.14.202", + "@types/maplibre-gl": "^1.13.2", "@types/quill": "^1.3.10", "@types/react": "17.0.45", "@types/react-dom": "17.0.17", @@ -103,7 +107,7 @@ "chai": "^4.3.4", "codecov": "3.8.3", "enzyme": "^3.11.0", - "eslint": "8.57.0", + "eslint": "8.57.1", "eslint-plugin-react-hooks": "4.3.0", "gulp": "4.0.2", "husky": "^8.0.3", @@ -119,8 +123,11 @@ "spfx-fast-serve-helpers": "1.20.2", "ts-jest": "^29.1.1", "tslib": "2.3.1", - "typescript": "4.7.4", + "typescript": "5.3.3", "webpack-bundle-analyzer": "^4.1.0" + }, + "engines": { + "node": ">=22.14.0 < 23.0.0" } }, "node_modules/@ampproject/remapping": { @@ -254,6 +261,41 @@ "node": ">=14.0.0" } }, + "node_modules/@azure/core-http-compat": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@azure/core-http-compat/-/core-http-compat-2.3.0.tgz", + "integrity": "sha512-qLQujmUypBBG0gxHd0j6/Jdmul6ttl24c8WGiLXIk7IHXdBlfoBqW27hyz3Xn6xbfdyVSarl1Ttbk0AwnZBYCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-client": "^1.3.0", + "@azure/core-rest-pipeline": "^1.20.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-http-compat/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-http-compat/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, "node_modules/@azure/core-lro": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.7.2.tgz", @@ -306,18 +348,18 @@ "dev": true }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.17.0.tgz", - "integrity": "sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.20.0.tgz", + "integrity": "sha512-ASoP8uqZBS3H/8N8at/XwFr6vYrRP3syTK0EUjDXQy0Y1/AUS+QeIRThKmTNJO2RggvBBxaXDPM7YoIwDGeA0g==", "dev": true, + "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.8.0", "@azure/core-tracing": "^1.0.1", - "@azure/core-util": "^1.9.0", + "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", + "@typespec/ts-http-runtime": "^0.2.2", "tslib": "^2.6.2" }, "engines": { @@ -348,19 +390,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@azure/core-rest-pipeline/node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -411,6 +440,59 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, + "node_modules/@azure/core-xml": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@azure/core-xml/-/core-xml-1.4.5.tgz", + "integrity": "sha512-gT4H8mTaSXRz7eGTuQyq1aIJnJqeXzpOe9Ay7Z3FrCouer14CbV3VzjnJrNrQfbBpGBLO9oy8BmrY75A0p53cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-xml-parser": "^5.0.7", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-xml/node_modules/fast-xml-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.3.tgz", + "integrity": "sha512-OdCYfRqfpuLUFonTNjvd30rCBZUneHpSQkCqfaeWQ9qrKcl6XlWeDBNVwGb+INAIxRshuN2jF+BE0L6gbBO2mw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^2.1.0" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/@azure/core-xml/node_modules/strnum": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", + "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/@azure/core-xml/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, "node_modules/@azure/identity": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.2.1.tgz", @@ -959,12 +1041,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", - "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", + "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -1301,10 +1381,11 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -1352,11 +1433,12 @@ } }, "node_modules/@fluentui/date-time-utilities": { - "version": "8.6.9", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.6.9.tgz", - "integrity": "sha512-dgOlVm4nXBWDLqijmvn4iAtyv1hVpQZjN6p0So74BW+7ASUTkQGe3lf8PHV/OjBiXfZa4qwONvmTQBGCheNU0w==", + "version": "8.6.10", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.6.10.tgz", + "integrity": "sha512-Bxq8DIMkFvkpCA1HKtCHdnFwPAnXLz3TkGp9kpi2T6VIv6VtLVSxRn95mbsUydpP9Up/DLglp/z9re5YFBGNbw==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, @@ -1375,41 +1457,44 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@fluentui/fluent2-theme": { - "version": "8.107.109", - "resolved": "https://registry.npmjs.org/@fluentui/fluent2-theme/-/fluent2-theme-8.107.109.tgz", - "integrity": "sha512-h30MtD74uJA9+yGH749qkrVbWcbPfzNbFvP59iRMF2a6a5TZQkVC2bEdGuP2HVwfSkPXMy0IbGQs1V7pgAbq2A==", + "version": "8.107.135", + "resolved": "https://registry.npmjs.org/@fluentui/fluent2-theme/-/fluent2-theme-8.107.135.tgz", + "integrity": "sha512-RMizCcsaEH+5+JUy6Zom9kAlA3jAJFIPwBII8xCobkty2q8BhuGtXFY0XxKBIUzn2s7ya3ces+AGY9EfiwL8rw==", + "license": "MIT", "dependencies": { - "@fluentui/react": "^8.121.6", - "@fluentui/set-version": "^8.2.23", + "@fluentui/react": "^8.122.18", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@fluentui/fluent2-theme/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@fluentui/fluent2-theme/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -1423,28 +1508,31 @@ "node_modules/@fluentui/fluent2-theme/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@fluentui/font-icons-mdl2": { - "version": "8.5.55", - "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.55.tgz", - "integrity": "sha512-nboUBzP8q05C2NstMgEBSGBVHlgjwIjtttX7RQzsmXRr6C5w/DstImp7Gg/L1GnJUNXhy0pcGuV4V+kyR+f8xA==", + "version": "8.5.62", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.62.tgz", + "integrity": "sha512-8yIJ1RlOJIXNS+Ac3dKL8LucFlnAPK3jbzYWRNq7rg1pVSdbtCmFCz1eEAgLxVdAfjx1/9Bei/yQr5Fv7WwV5Q==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/utilities": "^8.15.19", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/utilities": "^8.15.22", "tslib": "^2.1.0" } }, "node_modules/@fluentui/foundation-legacy": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.4.21.tgz", - "integrity": "sha512-8lqf61wGi7EHtH3o/UaFSsFO7CnhIz316TMoGtLgBwkmLXzKAC+vS+jCf6+nU+bHKF7/d1Z+B54ZE/dH0Rtsrw==", + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.4.28.tgz", + "integrity": "sha512-u4ej3J7zl/DG9gYK48uz3QCVu6wLxhDYDCt4YDtz0kjtgWLeK3To3/nn6aRoauMytGzoJpAsJJVy6OQiGGIMBA==", + "license": "MIT", "dependencies": { - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/utilities": "^8.15.19", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/utilities": "^8.15.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -1453,11 +1541,12 @@ } }, "node_modules/@fluentui/foundation-legacy/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, @@ -1488,9 +1577,9 @@ } }, "node_modules/@fluentui/priority-overflow": { - "version": "9.1.14", - "resolved": "https://registry.npmjs.org/@fluentui/priority-overflow/-/priority-overflow-9.1.14.tgz", - "integrity": "sha512-tIH8EhvjZF4MhxSjqrWOyodrQQW+RlVZqxuNFQF5OWRdSqcIK8g+Z+UbC5fYHQooCgVsthk2mFurfGMKFtf9ug==", + "version": "9.1.15", + "resolved": "https://registry.npmjs.org/@fluentui/priority-overflow/-/priority-overflow-9.1.15.tgz", + "integrity": "sha512-/3jPBBq64hRdA416grVj+ZeMBUIaKZk2S5HiRg7CKCAV1JuyF84Do0rQI6ns8Vb9XOGuc4kurMcL/UEftoEVrg==", "license": "MIT", "dependencies": { "@swc/helpers": "^0.5.1" @@ -1524,21 +1613,21 @@ } }, "node_modules/@fluentui/react-accordion": { - "version": "9.5.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.5.14.tgz", - "integrity": "sha512-mS9NHxeZn3WwRR0T/D7JKfLY2QEksCewrZIcSvYdgyPmlJCyd71YlkICn3PIvZIpySpoSEA/dqwWTYcC8cU8Zg==", + "version": "9.6.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.6.9.tgz", + "integrity": "sha512-NPcPPhB8+MsyV4Nxc84ZpW9I2Nm71JBZLiYLT4sh3LcMW9/5H/i9a+ETkHp/mW6WAjr45kyQR4swY4gQlHN6Sg==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-motion-components-preview": "^0.4.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-motion-components-preview": "^0.5.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1572,16 +1661,16 @@ } }, "node_modules/@fluentui/react-aria": { - "version": "9.13.14", - "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.13.14.tgz", - "integrity": "sha512-+RbBh5sTJ9CguPfj9Bw6AUgTC05ts2XqBepNFZ3H51rZMF3PB/YCPftebmySIW6jp1ZbJ10EtQZ/EqJqgJH7YQ==", + "version": "9.14.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.14.7.tgz", + "integrity": "sha512-rOZC7SJAmYfea5Dqilmcn2t6jgCj05W/PkfmQdKJhJqeGc6uR9uSBkdKmLnVONFQ+CwlqBMdHWZBv7Tuj2CayQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-utilities": "^9.19.0", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -1592,21 +1681,21 @@ } }, "node_modules/@fluentui/react-avatar": { - "version": "9.6.50", - "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.50.tgz", - "integrity": "sha512-xhgOIm9l/yPsSbMvwWOk1LbylcoYGsWotghgX8Nurgek4wST+xzegIogKr7PHIEid1InMgzHJmwqZxPtYvpFtw==", + "version": "9.7.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.7.7.tgz", + "integrity": "sha512-Td6p6KdsrKaVkF6F8F7qySASBV6vTJ8zsZkov6B39HpTgt3mMrANDbYrwymEeXbIEHzKBM6o81cI0mKR7RzNEg==", "license": "MIT", "dependencies": { - "@fluentui/react-badge": "^9.2.50", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-badge": "^9.2.54", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-popover": "^9.9.32", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-popover": "^9.10.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-tooltip": "^9.5.5", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-tooltip": "^9.6.7", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1618,16 +1707,16 @@ } }, "node_modules/@fluentui/react-badge": { - "version": "9.2.50", - "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.50.tgz", - "integrity": "sha512-rMptIUeUWwbTvzSo917GOVDY5nKeNbcSfvtvop54zrFNrcMicAZIfrJK8fB1hFggT2cuaiI9qWdWuSTd+q1LZw==", + "version": "9.2.54", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.54.tgz", + "integrity": "sha512-2PU0UA0VDz/XwbYKmMmPQKg4ykYHoUsgs3oZIqdwMPM3zxuhclsFEFx2xj4nxpMKiGCTBSBTM0fdOEQwRrbluQ==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1664,20 +1753,20 @@ } }, "node_modules/@fluentui/react-breadcrumb": { - "version": "9.0.52", - "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.0.52.tgz", - "integrity": "sha512-hjXAD3kIoLuOdF46luqGGPA7FaZkdGbW2VoYKHGhCP09AQWWwXaX3Ou+u8F9ch03rzxYPmiD70ECrDxRmCIl7A==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.1.7.tgz", + "integrity": "sha512-zfyb8FtQrqi48VAIS0fluhL2mlCQW6r7eRVx/sbuEbYxf+Q7brUTGP0iUwxdEFvmVj3DENyNg70yv5zkQMR1zA==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-button": "^9.3.102", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-button": "^9.4.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-link": "^9.3.7", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-link": "^9.4.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1689,19 +1778,19 @@ } }, "node_modules/@fluentui/react-button": { - "version": "9.3.102", - "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.102.tgz", - "integrity": "sha512-m5yhRTfpC47wy9712bVVaJDSFE7VMWo07MvX3GDKyXF20T3+tKWiHT4LIqLTIv7d/229kl4mvrJOgRCUs6tA/A==", + "version": "9.4.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.4.7.tgz", + "integrity": "sha512-n5XyJ6CHEcOfE2sriX7GfF50QGVmMTW/3K4CzB8ZFoFxr2wgIO8OfOuUGewhb3w7a4ux2Dx3k65IlbGfXGuazQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", + "@fluentui/react-aria": "^9.14.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1736,17 +1825,18 @@ } }, "node_modules/@fluentui/react-card": { - "version": "9.0.104", - "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.104.tgz", - "integrity": "sha512-Tb8qyquac3moWqUBH9TH8MznzPSig1Qeu7Q22BmTEN87ENYYsWqtQBqEea95ImzpvNADS/A44hVHuJHsf1aBVg==", + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.2.6.tgz", + "integrity": "sha512-CU3T+ryfGAP7Ar2GZmO62cqyV2G9fBzpsFxuJrqN/mZxBxayc6J8CbcxZdQH/YK3l+c4f0LL3+0wrJd6eUw+dg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-tabster": "^9.23.3", - "@fluentui/react-text": "^9.4.32", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-text": "^9.4.36", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1758,21 +1848,21 @@ } }, "node_modules/@fluentui/react-carousel": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.5.0.tgz", - "integrity": "sha512-itG+1Ti7GVQUbaLDDV8zA+7oPZOdsDLe9sqgV9o2Hv4z2CeXackC3G9XhuhZQA/kKlQ94kw6yjsiJ24W0norZg==", + "version": "9.6.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-carousel/-/react-carousel-9.6.7.tgz", + "integrity": "sha512-IW+QUZHUJCLL4wwoW2oyKH/DJpkxFt+W2eKYDq1sYJzSsKrkKppgwIgUq/kPzuByF7kXSHG7zkF6v9aeMi9S8Q==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-button": "^9.3.102", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-button": "^9.4.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-tooltip": "^9.5.5", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-tooltip": "^9.6.7", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1", "embla-carousel": "^8.5.1", @@ -1786,20 +1876,67 @@ "react-dom": ">=16.14.0 <19.0.0" } }, + "node_modules/@fluentui/react-carousel/node_modules/embla-carousel": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", + "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", + "license": "MIT" + }, + "node_modules/@fluentui/react-carousel/node_modules/embla-carousel-autoplay": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-autoplay/-/embla-carousel-autoplay-8.6.0.tgz", + "integrity": "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/@fluentui/react-carousel/node_modules/embla-carousel-fade": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-fade/-/embla-carousel-fade-8.6.0.tgz", + "integrity": "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, "node_modules/@fluentui/react-checkbox": { - "version": "9.2.47", - "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.2.47.tgz", - "integrity": "sha512-3XETLtPUpRpztQphWZ4Md/pqkDDcE2CqH0gVAEUb7rnLHfimrRvDC+tlccKmqvlK3QoPfX2oDy3nvz/YwxWoTg==", + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.3.7.tgz", + "integrity": "sha512-1Yp51+lJ6FH5tcX7nd9TY+FcvnL2fsTO7LsQHDBzX5/jjAoaHW7PFJsfUdqlDev+22YYIoxdKlXA8gzcSVkH0g==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", + "@griffel/react": "^1.5.22", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.9.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-color-picker": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-color-picker/-/react-color-picker-9.0.5.tgz", + "integrity": "sha512-eq+J18tZwM5xIhMILO9ywnj1SS0G7ihpYwBuC0T2+xY3LUTZjGv5Apj5t6g8LSSk3vgMKjlGD60CLLvmr4dJCg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.3.4", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-theme": "^9.1.24", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1811,23 +1948,23 @@ } }, "node_modules/@fluentui/react-combobox": { - "version": "9.13.18", - "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.13.18.tgz", - "integrity": "sha512-t1sF+TpC0BGwSxY0FSM4GUUyo+ToLgWNyt80usoOe6j4vIP1N6O2JSaWg5/+24mn+whnsheyDTby5kpmyI1rwg==", + "version": "9.14.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.14.7.tgz", + "integrity": "sha512-Z1FQmjUIYt3BRAQMBM7XRatCzaNJT52SGGjoqbsytpezy/zQd99ffwp19E19P5W5oDojsFEUBbbCsMSNjVpD5g==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1877,69 +2014,70 @@ } }, "node_modules/@fluentui/react-components": { - "version": "9.59.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.59.0.tgz", - "integrity": "sha512-2E6iYlMyXbShVOuZ/57ykWCA+ptjXOzVpW89QZgUc8+QHfXEqRnQkxWQXz5rw9olG2oDnAovYRQCd84pbjIYQw==", + "version": "9.64.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.64.0.tgz", + "integrity": "sha512-JTR0aJih8kHGxcVBvO7vzJ6+Dy+sG5klEA9mzYzwH3QUXMMEfJlnC3JrABAnwmnhcCEx42/sqAJTOB0LXZapPw==", "license": "MIT", "dependencies": { - "@fluentui/react-accordion": "^9.5.14", + "@fluentui/react-accordion": "^9.6.9", "@fluentui/react-alert": "9.0.0-beta.124", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-avatar": "^9.6.50", - "@fluentui/react-badge": "^9.2.50", - "@fluentui/react-breadcrumb": "^9.0.52", - "@fluentui/react-button": "^9.3.102", - "@fluentui/react-card": "^9.0.104", - "@fluentui/react-carousel": "^9.5.0", - "@fluentui/react-checkbox": "^9.2.47", - "@fluentui/react-combobox": "^9.13.18", - "@fluentui/react-dialog": "^9.11.31", - "@fluentui/react-divider": "^9.2.82", - "@fluentui/react-drawer": "^9.6.11", - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-image": "^9.1.80", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-avatar": "^9.7.7", + "@fluentui/react-badge": "^9.2.54", + "@fluentui/react-breadcrumb": "^9.1.7", + "@fluentui/react-button": "^9.4.7", + "@fluentui/react-card": "^9.2.6", + "@fluentui/react-carousel": "^9.6.7", + "@fluentui/react-checkbox": "^9.3.7", + "@fluentui/react-color-picker": "^9.0.5", + "@fluentui/react-combobox": "^9.14.7", + "@fluentui/react-dialog": "^9.12.9", + "@fluentui/react-divider": "^9.2.86", + "@fluentui/react-drawer": "^9.7.9", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-image": "^9.1.84", "@fluentui/react-infobutton": "9.0.0-beta.102", - "@fluentui/react-infolabel": "^9.0.57", - "@fluentui/react-input": "^9.4.99", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-link": "^9.3.7", - "@fluentui/react-list": "^9.0.2", - "@fluentui/react-menu": "^9.15.0", - "@fluentui/react-message-bar": "^9.3.3", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-overflow": "^9.2.8", - "@fluentui/react-persona": "^9.2.109", - "@fluentui/react-popover": "^9.9.32", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-progress": "^9.1.97", - "@fluentui/react-provider": "^9.19.0", - "@fluentui/react-radio": "^9.2.42", - "@fluentui/react-rating": "^9.0.28", - "@fluentui/react-search": "^9.0.29", - "@fluentui/react-select": "^9.1.97", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-skeleton": "^9.1.26", - "@fluentui/react-slider": "^9.2.7", - "@fluentui/react-spinbutton": "^9.2.98", - "@fluentui/react-spinner": "^9.5.7", - "@fluentui/react-swatch-picker": "^9.1.20", - "@fluentui/react-switch": "^9.1.104", - "@fluentui/react-table": "^9.15.29", - "@fluentui/react-tabs": "^9.6.7", - "@fluentui/react-tabster": "^9.23.3", - "@fluentui/react-tag-picker": "^9.4.3", - "@fluentui/react-tags": "^9.3.30", - "@fluentui/react-teaching-popover": "^9.2.4", - "@fluentui/react-text": "^9.4.32", - "@fluentui/react-textarea": "^9.3.98", + "@fluentui/react-infolabel": "^9.2.1", + "@fluentui/react-input": "^9.5.7", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-link": "^9.4.7", + "@fluentui/react-list": "^9.1.7", + "@fluentui/react-menu": "^9.16.7", + "@fluentui/react-message-bar": "^9.4.8", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-overflow": "^9.3.7", + "@fluentui/react-persona": "^9.3.7", + "@fluentui/react-popover": "^9.10.7", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-progress": "^9.2.7", + "@fluentui/react-provider": "^9.20.7", + "@fluentui/react-radio": "^9.3.7", + "@fluentui/react-rating": "^9.1.7", + "@fluentui/react-search": "^9.1.7", + "@fluentui/react-select": "^9.2.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-skeleton": "^9.2.7", + "@fluentui/react-slider": "^9.3.8", + "@fluentui/react-spinbutton": "^9.3.7", + "@fluentui/react-spinner": "^9.5.11", + "@fluentui/react-swatch-picker": "^9.2.7", + "@fluentui/react-switch": "^9.2.7", + "@fluentui/react-table": "^9.16.7", + "@fluentui/react-tabs": "^9.7.7", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-tag-picker": "^9.5.7", + "@fluentui/react-tags": "^9.5.5", + "@fluentui/react-teaching-popover": "^9.4.6", + "@fluentui/react-text": "^9.4.36", + "@fluentui/react-textarea": "^9.4.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-toast": "^9.3.65", - "@fluentui/react-toolbar": "^9.2.18", - "@fluentui/react-tooltip": "^9.5.5", - "@fluentui/react-tree": "^9.9.3", - "@fluentui/react-utilities": "^9.18.20", - "@fluentui/react-virtualizer": "9.0.0-alpha.92", + "@fluentui/react-toast": "^9.4.9", + "@fluentui/react-toolbar": "^9.4.6", + "@fluentui/react-tooltip": "^9.6.7", + "@fluentui/react-tree": "^9.10.10", + "@fluentui/react-utilities": "^9.19.0", + "@fluentui/react-virtualizer": "9.0.0-alpha.96", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -1972,12 +2110,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@fluentui/react-context-selector": { - "version": "9.1.72", - "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.72.tgz", - "integrity": "sha512-n9M7o81fuIzKuvrzdOK9Rcc+SyYg9hkr0bXhdclTHWKBYw2RgIEzXuld1qL3+gOFcSYS6AoNKpqrd9mithWYpw==", + "version": "9.1.76", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.76.tgz", + "integrity": "sha512-GmkHiLuMBzYOVvPkXNhMJTusx9hf43+VizFjAhSfZWOnNwLjiekjDocs7S2XD0f3MmcVx+aB2tRdTDHxGAF/1A==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -2018,23 +2156,23 @@ } }, "node_modules/@fluentui/react-dialog": { - "version": "9.11.31", - "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.11.31.tgz", - "integrity": "sha512-RoRPxJm9URck3kgZ6nFu7uNbJvOoCi9zY2OBvPsReCoTnya0Md8vk4OV6O+09a+anTRgVjw3+ETY+bWJ7Me5XQ==", + "version": "9.12.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.12.9.tgz", + "integrity": "sha512-UUibE18ZazXuvc7B9uI1QX6omY6iEWmPCEPH7hYqMdbRkr2kwZRdpsAhSZKQTMpPesAESeiosSVefmV0/u1EyA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-motion-components-preview": "^0.4.3", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-motion-components-preview": "^0.5.0", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2046,15 +2184,15 @@ } }, "node_modules/@fluentui/react-divider": { - "version": "9.2.82", - "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.82.tgz", - "integrity": "sha512-U3krzGswRxpFgMkXafkl12+R7R1SeX+JdTZpw8SMnvQsBroEWgy6hq8bWhh8AFUcqCoHIbieBOrRFV68pvIvGg==", + "version": "9.2.86", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.86.tgz", + "integrity": "sha512-8hzwDVdW7CkumW8XU16lsrrg6s0tNAIWdsFC4Utfb/BL2xgfJRdg/0q6Dzw12uhQHtssC3pKNQV0mp4ia0oqww==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2066,19 +2204,19 @@ } }, "node_modules/@fluentui/react-drawer": { - "version": "9.6.11", - "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.6.11.tgz", - "integrity": "sha512-b0uE3hRDDSS1uGeVwoNqWu8G9M2mHbQYELShyvj0cO0PlIprkQDXfhcqlaGzHUVdUqeuFXb5zYcJbigTDfjiyw==", + "version": "9.7.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.7.9.tgz", + "integrity": "sha512-WdRV8NARmBkfe/146tNJrKgpsXN6JuE5t2QI8poGip3LEb/E0n9oZcBv3f0drdiLLwUP5QCvFLd9SeHWHHgnqA==", "license": "MIT", "dependencies": { - "@fluentui/react-dialog": "^9.11.31", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-dialog": "^9.12.9", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2090,17 +2228,18 @@ } }, "node_modules/@fluentui/react-field": { - "version": "9.1.86", - "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.86.tgz", - "integrity": "sha512-InM4y61PzKp2Y17VdkXYTHKLJhEZLYW0roeBDxMwUbnII059RtC/O30zBIS6n4Cn1+/y1tMZK6NEjTcI1HIVmQ==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.2.7.tgz", + "integrity": "sha512-eFzgz+q1I7VYdRN2HNDMZOT/lBsanzXXtewFm2aAa2p1TCfcz+YHQepdQVv56zggSpu1SZ7wWSpN3cqU2zsTKw==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2126,15 +2265,16 @@ } }, "node_modules/@fluentui/react-focus": { - "version": "8.9.18", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.9.18.tgz", - "integrity": "sha512-IuRE7XmbLkdPvJH5O9kKy2vzdNb8MRLzwkJpPhDCtDWFJSeZmGaCb8IDhaEmiK1dGFkser6AxWttKL/Qt14CxA==", + "version": "8.9.25", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.9.25.tgz", + "integrity": "sha512-okDwer2ZHSBVEm6ISY2moruCuxa4Y0+AqP7DdoZpceoaAdHURZyLP3j7wxCEJEMRSoqKu5C6xNGn/Rxd5xPXLw==", + "license": "MIT", "dependencies": { "@fluentui/keyboard-key": "^0.4.23", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/utilities": "^8.15.19", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/utilities": "^8.15.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -2143,22 +2283,24 @@ } }, "node_modules/@fluentui/react-focus/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@fluentui/react-hooks": { - "version": "8.8.16", - "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.8.16.tgz", - "integrity": "sha512-PQ1BeOp+99mdO0g7j6QLtChfXG1LxXeHG0q5CtUeD1OUGR+vUDK84h60sw7e7qU9sSmvPmHO7jn69Lg3CS+DXw==", + "version": "8.8.19", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.8.19.tgz", + "integrity": "sha512-uXcETVTl2L0G/Ocyb2Rjym96tcJd2NaZ2Hqt6EJcBb9KJD9irNeXjCCxsRNPC5kBDbfrQML2aai+M2kU9lZKNQ==", + "license": "MIT", "dependencies": { - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/utilities": "^8.15.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -2195,15 +2337,15 @@ } }, "node_modules/@fluentui/react-image": { - "version": "9.1.80", - "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.80.tgz", - "integrity": "sha512-Vw6cPJaGSGy9usjXxaK0If9Ow3wo0e2yUIsKRWpWtiX7CTwENGP7N6WYbJFw26gY4AVer/S9bfGlen/gqq3cHg==", + "version": "9.1.84", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.84.tgz", + "integrity": "sha512-+8X9IPtNi+RLsSJEIODUfnnalPXLJpfqSyyjrVcm/xjEasCm77F1kMSzCGiHbFYvz7hq5g5I4B/OH4TjL+fcqg==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2237,18 +2379,19 @@ } }, "node_modules/@fluentui/react-infolabel": { - "version": "9.0.57", - "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.0.57.tgz", - "integrity": "sha512-jIDJvV1Zzqc6gbD+JWGx2xMmoS9dO0pjMC17tlx1oNpmYe0rBdzu7BJqZrEt+uVt/wFUh39YinrPdhtQdQaXIg==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.2.1.tgz", + "integrity": "sha512-ztXIG+M5/6ivNVgP/TAc9MQRlzm17qO7EEgu3E1ydHUqUdLj7lvfcGtLYZQP7+XNAamik76Ts+CGLbMA4KBtUA==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-popover": "^9.9.32", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-popover": "^9.10.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2260,16 +2403,16 @@ } }, "node_modules/@fluentui/react-input": { - "version": "9.4.99", - "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.99.tgz", - "integrity": "sha512-6TEjYtw+PSgkbudNjmAlGgxO5ZQUqrYk0AVlulB202MwKflJ+2A8XcHC5aMuLUI4xRrLWRoYwZTzgxiXa2obsQ==", + "version": "9.5.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.5.7.tgz", + "integrity": "sha512-2pZIrJwaO6WxkFGr0wei/O83kCIFVVtAU8t7242W56LdE55g0oBcMfm7FC2/wGut/eBG9HUbAeL9BvhAvZT0Rw==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2281,12 +2424,12 @@ } }, "node_modules/@fluentui/react-jsx-runtime": { - "version": "9.0.50", - "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.50.tgz", - "integrity": "sha512-dnelPmz0x591tr58B/jbIHVzgjWskMkBmWEvZJc2rlbGH1oZl+MPJqvVdOAMvLTKJzqVmNkeSDtQmkjzjccogA==", + "version": "9.0.54", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.54.tgz", + "integrity": "sha512-zSkP9X/bAFg17QUDBs4bnbDUgeQSpSBVbH4nKYa3cZb78vV3e3m3nyADBvb97NYkywyd7CfIXq8iTpDWVEoWTw==", "license": "MIT", "dependencies": { - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@swc/helpers": "^0.5.1", "react-is": "^17.0.2" }, @@ -2296,15 +2439,15 @@ } }, "node_modules/@fluentui/react-label": { - "version": "9.1.83", - "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.83.tgz", - "integrity": "sha512-XJF78Vwn4sSRJUyWcTj/F6hJVcHlPozDBcGWipMpnFgKBljuVmE2sg581CUGKn4AOTa9/blc81DLv0AE3itNtQ==", + "version": "9.1.87", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.87.tgz", + "integrity": "sha512-vfUppmSWkpwXztHU21oGcduYQ9jldkPrFpl+/zWmbiOia5CKTMqJtHqLJMMe/W1uoNKqoNU37uVp3bZgIWUHJg==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2316,17 +2459,17 @@ } }, "node_modules/@fluentui/react-link": { - "version": "9.3.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.3.7.tgz", - "integrity": "sha512-kjl/TjFO66ROFFXL9FExmoTYWgIb/p6pKqXA+eGTaQZ+7S1qTAKma0cTQtjnqAfj7UcimnWLLmXnlWaXx4FixA==", + "version": "9.4.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.4.7.tgz", + "integrity": "sha512-bc8OoGmQ1ukyJZwNQK2aOmGKopZLy82CYQ5LcFd8pALbmRQ7DCPmjfA3WO2Ffuj8w5FjwOZ7D50R+ktP9oK8+A==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2338,19 +2481,19 @@ } }, "node_modules/@fluentui/react-list": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.0.2.tgz", - "integrity": "sha512-bXwwkzayFMwXPldwZSAQWkhQIUJyPoBYKUpDU+e1Z4wHod8mkTspWqoUTZHkL+t2zLMGR7v9c5PqyjSeYVhXYw==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-list/-/react-list-9.1.7.tgz", + "integrity": "sha512-qmdhxgK6s3ok28XQ5j8yekzyI/RnNrHNuFx2T2/3dDK1r/5QqSnnW0zwQQKnT54NwYQjjh4fj1V4pfq2Cnbdaw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-checkbox": "^9.2.47", - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-checkbox": "^9.3.7", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2362,22 +2505,22 @@ } }, "node_modules/@fluentui/react-menu": { - "version": "9.15.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.15.0.tgz", - "integrity": "sha512-G/WhGTrhQpoa0nbzEEQB8aK4pvtYym2m/sMeN9+fLFVZzAv9hyigzTwaSouQUoMfvIj2bmw5lcfXBKgJ4Rzreg==", + "version": "9.16.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.16.7.tgz", + "integrity": "sha512-1fkdfYI7ZxDlJUMjuYGTb3YUlsDZHht4bxb3hi3SpBbMcR5qWADRHSWdbt18ZzBkVW0gtWbwDf+R2rrOK9h/fA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2389,22 +2532,21 @@ } }, "node_modules/@fluentui/react-message-bar": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.3.3.tgz", - "integrity": "sha512-uAx0BD/+Tyuaau8V06Mmwx70BaYOhWrOwdr+okG4CCNTL49MP1Ol/nljHyjYEe/UkhiqQR3f3TwEkuZe/Jm4ug==", + "version": "9.4.8", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.4.8.tgz", + "integrity": "sha512-L0UTPqYTjzvSubitV25TDP4wQXsB5TVdOOIdxCZ6p1AYWO9KUWbTWcl3hoP/KUDSjLAT+pH8Ks3UTcqanCwLVw==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.3.102", + "@fluentui/react-button": "^9.4.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-link": "^9.3.7", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-motion-components-preview": "^0.4.3", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-link": "^9.4.7", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", - "@swc/helpers": "^0.5.1" + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" }, "peerDependencies": { "@types/react": ">=16.8.0 <19.0.0", @@ -2414,15 +2556,16 @@ } }, "node_modules/@fluentui/react-migration-v8-v9": { - "version": "9.6.35", - "resolved": "https://registry.npmjs.org/@fluentui/react-migration-v8-v9/-/react-migration-v8-v9-9.6.35.tgz", - "integrity": "sha512-q4W2CIkpuK6AR8XUFKsP23n2DwyQfzoKI0v4Lr95w4u77AfidnMiRSWLSGXxyDMdslrN4EC919PjLNRFW8OGAw==", - "dependencies": { - "@ctrl/tinycolor": "3.3.4", - "@fluentui/fluent2-theme": "^8.107.107", - "@fluentui/react": "^8.121.4", - "@fluentui/react-components": "^9.55.1", - "@fluentui/react-hooks": "^8.8.16", + "version": "9.7.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-migration-v8-v9/-/react-migration-v8-v9-9.7.11.tgz", + "integrity": "sha512-L9qhI58NvTuB3kv9jTMNiSQgtCbEUZUql+wt9uwzdQKM8RHUmtZsT1b2iABzJU6h1CQFaovs64sawBJ9rgSu3Q==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.3.4", + "@fluentui/fluent2-theme": "^8.107.134", + "@fluentui/react": "^8.122.17", + "@fluentui/react-components": "^9.64.0", + "@fluentui/react-hooks": "^8.8.18", "@fluentui/react-icons": "^2.0.245", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" @@ -2435,31 +2578,33 @@ } }, "node_modules/@fluentui/react-migration-v8-v9/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@fluentui/react-migration-v8-v9/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -2473,18 +2618,18 @@ "node_modules/@fluentui/react-migration-v8-v9/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@fluentui/react-motion": { - "version": "9.6.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.6.7.tgz", - "integrity": "sha512-xvNsN8n7e7OOMnNK1ynIZcREpoYY+97WuI+qnEiqkwJWKA+WzWYN+ydvH7IFI1PV7wz7qhyXUga5L10CjFeCAA==", + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion/-/react-motion-9.7.3.tgz", + "integrity": "sha512-Zw9/xINOPrKToXf3XYAUwPNYGyf/xYvpK2ukbtFvQnnKve81pnMhjXz1LGmPFS9ZPkpuhvwPfLV61EvuO+xRBg==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-utilities": "^9.18.20", - "@swc/helpers": "^0.5.1", - "react-is": "^17.0.2" + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-utilities": "^9.19.0", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { "@types/react": ">=16.8.0 <19.0.0", @@ -2494,9 +2639,9 @@ } }, "node_modules/@fluentui/react-motion-components-preview": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.4.3.tgz", - "integrity": "sha512-g6ACukFXcZ8TFYP30WnVjkvRuQkkx2Q48jI7TowTsJBQg01FFT4w22ii5s2ABuO6L1TR02kAL3wvvo5O2KP5Ew==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-components-preview/-/react-motion-components-preview-0.5.0.tgz", + "integrity": "sha512-vlwDF0wot/chaWBxwnqJZ7uzkmouV7TditwN06hTGGdMM4XPd4wrE+5VuqBGWho/Bo9/aeskTfW+n8oDXzYOBg==", "license": "MIT", "dependencies": { "@fluentui/react-motion": "*", @@ -2581,15 +2726,15 @@ } }, "node_modules/@fluentui/react-overflow": { - "version": "9.2.8", - "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.2.8.tgz", - "integrity": "sha512-x9RsbQWFv8cgJ8scU6G61IVltliiY/07TT3t1nNtHBJP3tECttphn6EmJHIaKwmCpNzLq8pCYobj8/GxGZ0Kkw==", + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.3.7.tgz", + "integrity": "sha512-7m1WYT+VY36IHquEPSjuT0CQl65cW5OjfNhEd9ew30Wv21QnR6EbGDJGhbP2PhonBrqLpY3P9XyF5AZPFPq34A==", "license": "MIT", "dependencies": { - "@fluentui/priority-overflow": "^9.1.14", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/priority-overflow": "^9.1.15", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2601,17 +2746,17 @@ } }, "node_modules/@fluentui/react-persona": { - "version": "9.2.109", - "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.109.tgz", - "integrity": "sha512-APEuGmInsWTojToruDJ41cjx0qTvOFAozPe1NC3itS3QIBeaz1YHkj/72QKCfSQHpqa2b5bjK6WN9/bBjIAOjA==", + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.3.7.tgz", + "integrity": "sha512-GYfWlyPCzFdwfr57HwSRUBHx1neeL0RruQondVzGCpdvwwkGj22fue+veF7ticMemxJF72B86fUWe8TEuB/vnA==", "license": "MIT", "dependencies": { - "@fluentui/react-avatar": "^9.6.50", - "@fluentui/react-badge": "^9.2.50", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-avatar": "^9.7.7", + "@fluentui/react-badge": "^9.2.54", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2623,21 +2768,21 @@ } }, "node_modules/@fluentui/react-popover": { - "version": "9.9.32", - "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.9.32.tgz", - "integrity": "sha512-8bEjFqWokvk8oB408ZRerGx/+1r+rHB/+KBodBVt8BBlv20Zb4WZbPTN7zt4N1rlkIyFbf4v5otGJCO36PTOGw==", + "version": "9.10.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.10.7.tgz", + "integrity": "sha512-IgTPa+zUsIrOFzHo4hyTaO47x6Vn16E+5ZdcjHHj8oU61oulDRO/f1rJ1CBnHGQng9/n51spZaC011Q7Qg4kFA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2649,17 +2794,16 @@ } }, "node_modules/@fluentui/react-portal": { - "version": "9.4.42", - "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.4.42.tgz", - "integrity": "sha512-x7mH9Y4/ziHKGAL+NnJGJdlH/eqBGpqNRbFLCyAithcpS1TCCROzyTzSxli0f8BcZGy9GMDoxIN9wiHP4wZf/A==", + "version": "9.5.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.5.7.tgz", + "integrity": "sha512-jRFW42EhHA/8Kk54cH9mqzou/vP3lfwnGxW76Uii1Zla/ULTFFO8zLO2FXVty/DkqSMYEWip8Lud3bEFPeD+zw==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", - "@swc/helpers": "^0.5.1", - "use-disposable": "^1.0.1" + "@swc/helpers": "^0.5.1" }, "peerDependencies": { "@types/react": ">=16.14.0 <19.0.0", @@ -2681,16 +2825,16 @@ } }, "node_modules/@fluentui/react-positioning": { - "version": "9.16.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.16.3.tgz", - "integrity": "sha512-z8phNPD0BhREOPsqt4iMsIvzzkBbfuA3TaXwQeLhM0imISWBnctTAaLjDZDQno/Bt/pbEd+qulPV7fagL20tWQ==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.17.0.tgz", + "integrity": "sha512-ktczawcHCvxsh67Aakh8FyTs7BLyDYhXouLb2EOaWeZf3m7wr63B2jowdm7MdjQfc/XNoGb13oZy5PFPXIH/cQ==", "license": "MIT", "dependencies": { "@floating-ui/devtools": "0.2.1", "@floating-ui/dom": "^1.6.12", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2702,16 +2846,16 @@ } }, "node_modules/@fluentui/react-progress": { - "version": "9.1.97", - "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.97.tgz", - "integrity": "sha512-tVqm64vnFNJJygLHPo+ul3CR2fWo0/mwGdUVkvzyQKi6PMNuSHzRAQjrj09c0S12+vbOxuxgpICBQNYw8xzXUw==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.2.7.tgz", + "integrity": "sha512-obY+X2Z+RWaupcn+XMroUp1P4rn4rdkinRhEa86ZZRasgONBQafhpko6zm0lf+hmDwym2yl0bkuXvjiG60z+wQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2733,17 +2877,17 @@ } }, "node_modules/@fluentui/react-provider": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.19.0.tgz", - "integrity": "sha512-fha+QqD7JW3eo+rLOYvfROOkiSLotH7NnpfJ67EBHIh5JGAn3KyiSJj42RvFTo05LyQGYXME6oQ5yitbDT5YIg==", + "version": "9.20.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.20.7.tgz", + "integrity": "sha512-GzRqru/xzLaR3AA7VjCpTCRQ9tM5noFNTPeCs3Q7bpetA49ow+5hvvh8YTymCAMC+JVawKSVrdYWnV1MOrZL5A==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/core": "^1.16.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" @@ -2756,18 +2900,18 @@ } }, "node_modules/@fluentui/react-radio": { - "version": "9.2.42", - "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.42.tgz", - "integrity": "sha512-Tk84/6THneFTInCoXxLuCR/wGogPX40eScoKzrqD82oTlDmLfgaiWM6hh5VsLSLyhnarINVjkaP6ZFqD8lRfZA==", + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.3.7.tgz", + "integrity": "sha512-JJHNMbXRXiXfQjKe1zRMmwRo+B4oWDhFGzxbxtzawrxHLbhewfriK1+7V39s/JwUyy61iciYjainjdsdTku3Ew==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2779,16 +2923,17 @@ } }, "node_modules/@fluentui/react-rating": { - "version": "9.0.28", - "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.0.28.tgz", - "integrity": "sha512-eEU9NeYDg6qTw/6kev8uvfOs0wG3obwFQ14Aix64dZngaG+t00VuCiCSvAs7GpR6ofRwQljqTzWyylmD8Q4m3w==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-rating/-/react-rating-9.1.7.tgz", + "integrity": "sha512-teGi+mlhw5Kps7Ex0m5Elh9SQgwlBIZ92Dg3gUxTRsXhCHiMTNMtGCaO0rwpOwJgs+ZoQTNszZod/jeZY2fd4w==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2800,16 +2945,17 @@ } }, "node_modules/@fluentui/react-search": { - "version": "9.0.29", - "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.0.29.tgz", - "integrity": "sha512-RJKwdomLYpgj11tyS8aqtb1wfuOesl3ZA/E3q/Uj3eNNu6hqT676cxrOwlWSBUYNCYbZbKhFQcoKXQGqB+FBHg==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-search/-/react-search-9.1.7.tgz", + "integrity": "sha512-ZY2a79x23QXFJYa2JBc63DKzdHkcjQMUEqo69A53sbByrhxLDb6M96+VP5Y0QLScpMfQ0+jy1UwN1yoo86JZ+Q==", "license": "MIT", "dependencies": { "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-input": "^9.4.99", - "@fluentui/react-jsx-runtime": "^9.0.50", + "@fluentui/react-input": "^9.5.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2821,17 +2967,17 @@ } }, "node_modules/@fluentui/react-select": { - "version": "9.1.97", - "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.97.tgz", - "integrity": "sha512-tdhakc4UC+jtWHw7/wuYo71zzszukSGdpjl6AYUs0Edxm9LZzJ/zLWEr1y1/OpDZiXnjOcTABzfBc2simRN9VQ==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.2.7.tgz", + "integrity": "sha512-cqhqz0Ty66YJJiFvVGWziThqceZzlZnTqKF4WVFhWrDwir8n6VvRjBSvzXhTYiVabVvCW8iGAklYGnZebRfYuQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2843,9 +2989,9 @@ } }, "node_modules/@fluentui/react-shared-contexts": { - "version": "9.21.2", - "resolved": "https://registry.npmjs.org/@fluentui/react-shared-contexts/-/react-shared-contexts-9.21.2.tgz", - "integrity": "sha512-5hw9CfCmKaEbxmFi+ZF4EZzYWFKrfRLq9pXFIoJWprP1D3ZAds/ymtIOG/CsJzig8zQ1LQ3cNSUzNB75XWg6IQ==", + "version": "9.23.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-shared-contexts/-/react-shared-contexts-9.23.1.tgz", + "integrity": "sha512-mP+7talxLz7n0G36o7Asdvst+JPzUbqbnoMKUWRVB5YwzlOXumEgaQDgL1BkRUJYaDGOjIiSTUjHOEkBt7iSdg==", "license": "MIT", "dependencies": { "@fluentui/react-theme": "^9.1.24", @@ -2857,16 +3003,16 @@ } }, "node_modules/@fluentui/react-skeleton": { - "version": "9.1.26", - "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.1.26.tgz", - "integrity": "sha512-vrFaHRF4DuJneAjRSklb27qICVY3yGETQNv0AFS3IRjb8iwS7gWg5aI9Viy9Su7Zg9lIKes4teAafdkjvLUoyg==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.2.7.tgz", + "integrity": "sha512-YVsH2ZIJGVWe5jC1O48I90sJawsjX752bKyepT8i+MAr2ngN8uf5MkGiozc16hW6k4LC0L0C+62SI1Cweiy01g==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2878,17 +3024,17 @@ } }, "node_modules/@fluentui/react-slider": { - "version": "9.2.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.2.7.tgz", - "integrity": "sha512-K3oZTYXkkqyxT1MahFyk2kpX3WMfuVbiJUqXTZcvd7U79bFeSeHA67r/yj42ngzSQztfaqlYZCnU6+T191zOpw==", + "version": "9.3.8", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.3.8.tgz", + "integrity": "sha512-1VMOD6uRJMmNAoZNJ4P+EK9dWGlLzMjTk2DPBZ+lfHCpWGHZ77aaX96hUMt57lVhZNho/u9fn99+U4IzAwGXIQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2900,18 +3046,18 @@ } }, "node_modules/@fluentui/react-spinbutton": { - "version": "9.2.98", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.98.tgz", - "integrity": "sha512-fJx+a45jTLJs/O5CVum950c8qRLRDirXi+myJHlVF9CyyjXABmosd43WUxa/zQ8H4spSWxKOo4pgUBwST2hYbA==", + "version": "9.3.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.3.7.tgz", + "integrity": "sha512-chrVaxKnSAcg6SirJuXt/TNweh5MmGJm/Q6/DFdu5y4chGYCne4so26ZxxYv/N6Lt1vrojJmUMtSLwarE3O87w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2923,16 +3069,16 @@ } }, "node_modules/@fluentui/react-spinner": { - "version": "9.5.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.5.7.tgz", - "integrity": "sha512-DdfQAbdiz50V2DqRSX1MfN6ehw+9etcLysueSeH2n1PnpZ8TVEZYrJzBW608S/bCWrR8OAEVoY/3W/nDjwf8qw==", + "version": "9.5.11", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.5.11.tgz", + "integrity": "sha512-q0mJLG7LfWSRqa2fO+Qvxw/noZWjk3HM4wurbddTOClezTcBlMXlYlad7rueu9TpzM5caGsWcMF791/gNYLHmQ==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2962,19 +3108,19 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@fluentui/react-swatch-picker": { - "version": "9.1.20", - "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.1.20.tgz", - "integrity": "sha512-XJ5OKBSjQyXxTJjkNm9Orfc3ypDUn56Ylbmx2njOa8xxy4TBov/B0x5/mk++qCgYVgh0MUdf8ugpeYuXPabjRA==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-swatch-picker/-/react-swatch-picker-9.2.7.tgz", + "integrity": "sha512-/uZaRg356I4jQYrXIStlYVj1lWxHMZCx4MmIId9MTvqK64dve/yHvmHaXF0SE2El/tD7oHOLTBPfXSZA739Ytg==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -2986,19 +3132,19 @@ } }, "node_modules/@fluentui/react-switch": { - "version": "9.1.104", - "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.104.tgz", - "integrity": "sha512-MKw9hUPLNVSOkQlYr4QHTymU2R7MVwaAFDFRhT6q45POL/YbbJnSBJCtkkPuc5qMQN62RkarMkOTdLhzxJPe6Q==", + "version": "9.2.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.2.7.tgz", + "integrity": "sha512-nfApUdFbdUEXu+0Q0OdW9jJxPj4K2zUf64blQWG73262kulD56hmE6rXx5cpE3sjuLR5ImsNLg+XDULf6hLo7A==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-label": "^9.1.83", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-label": "^9.1.87", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3010,23 +3156,23 @@ } }, "node_modules/@fluentui/react-table": { - "version": "9.15.29", - "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.15.29.tgz", - "integrity": "sha512-z38vjSJGKqRCCtI9oAzyIO2A15Kre5JAlLr73vE+v4n0bbrIvtpfBi5eQ2CbpyCIWBPO5LKTTNupd267rcu4yg==", + "version": "9.16.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.16.7.tgz", + "integrity": "sha512-9GW0rlDHxXOCxNNtSAIer9FgL67lcy2G8U2Zmihi7RKwS9gQONWwXnUELvheKUixWXo+hbjATb7eo6xibz87kA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-avatar": "^9.6.50", - "@fluentui/react-checkbox": "^9.2.47", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-avatar": "^9.7.7", + "@fluentui/react-checkbox": "^9.3.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-radio": "^9.2.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-radio": "^9.3.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3038,17 +3184,17 @@ } }, "node_modules/@fluentui/react-tabs": { - "version": "9.6.7", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.6.7.tgz", - "integrity": "sha512-7EFDetqfGBb8X0aVBSIB6Ab9V9NiBhju3NqlW9zN8nvXovzkhjTtSY6LOxEdWHEl8NFTW8jQsBpiJTcM+oe8zw==", + "version": "9.7.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.7.7.tgz", + "integrity": "sha512-E0fAXxjTf6+NH/E1HpxaPVG9uno12tBry9ss+oMiBaMEpt1i0CUmKpo/EOv3PECyTuX0gjxX4SeDWGstI/ymjg==", "license": "MIT", "dependencies": { - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3060,18 +3206,18 @@ } }, "node_modules/@fluentui/react-tabster": { - "version": "9.23.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.23.3.tgz", - "integrity": "sha512-sGLePr6QmUbYq/rGkaE6MUTRCFucY5HphKEvWoB8ec32btQmAsMlv9YT5BzJ+YQ2Byc39mm1Uthz/Pw5H+tCpA==", + "version": "9.24.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.24.7.tgz", + "integrity": "sha512-GfJ7rOtqCML9xWFMpjoI/5XzLEOy3g2nk3PIXlwg7nhcY/swVcCJ6/X8njJHNeMY3QZqaQChRG9A+QwxVoAZcA==", "license": "MIT", "dependencies": { - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1", "keyborg": "^2.6.0", - "tabster": "^8.2.0" + "tabster": "^8.5.0" }, "peerDependencies": { "@types/react": ">=16.14.0 <19.0.0", @@ -3081,25 +3227,25 @@ } }, "node_modules/@fluentui/react-tag-picker": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.4.3.tgz", - "integrity": "sha512-5efPjQEZJJyP3PDaGU9gvdNPfA5i2K3/tYk65Er5EBwtsPdQMIY5tMwzdL7hO0SC9ufJvX6EbYN8HOLNfCDPhg==", + "version": "9.5.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-tag-picker/-/react-tag-picker-9.5.7.tgz", + "integrity": "sha512-lrCgVm43UasWWRE7QhZPwX//b/n03jpuz3G4zGffGbh+j2SytHytInCL7hJ0PbJZNZyo92vRs2Zmg2CymFKSIg==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-combobox": "^9.13.18", - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-field": "^9.1.86", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-combobox": "^9.14.7", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-field": "^9.2.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", - "@fluentui/react-tags": "^9.3.30", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", + "@fluentui/react-tags": "^9.5.5", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3111,20 +3257,20 @@ } }, "node_modules/@fluentui/react-tags": { - "version": "9.3.30", - "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.3.30.tgz", - "integrity": "sha512-EyGhog+wUuPhrMleDe0RpvzZMagsPz8y9xU572CbMbk0B8HKe9NV7I2YoHn9ITQInu2l2c0FPbS+eneqcbO+0w==", + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.5.5.tgz", + "integrity": "sha512-/s5PKrMakZuSPrlVYnym0BI3Sj0sSzcsJOcG8i5OMbVoC5M+XOIk1MSTCsoUPqevI0sekdE9kuPsHZ3QJ3dOfw==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-avatar": "^9.6.50", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-avatar": "^9.7.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3136,21 +3282,21 @@ } }, "node_modules/@fluentui/react-teaching-popover": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.2.4.tgz", - "integrity": "sha512-Sems0cZT43g7iNovo8cY7dNJwFWiWjH4+q8OXFGRgN9pOnPbIz/VNMdqLDcbJ+QWcxUs9lkacE9HrY4oHKFwOQ==", + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-teaching-popover/-/react-teaching-popover-9.4.6.tgz", + "integrity": "sha512-4mcsxbeV3YAwEETdJPxoRsekOwhwDxQTTRsFIhh/XDYqBGOl/9kTW+os0ncao3825LQVE5b2/rtEQH+sPrgZKQ==", "license": "MIT", "dependencies": { - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-button": "^9.3.102", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-button": "^9.4.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-popover": "^9.9.32", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-popover": "^9.10.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1", "use-sync-external-store": "^1.2.0" @@ -3163,15 +3309,15 @@ } }, "node_modules/@fluentui/react-text": { - "version": "9.4.32", - "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.4.32.tgz", - "integrity": "sha512-unEqjCSX8MjcW7+ZavEZ2D+JYM8DEpkIlgNb8lF1ye/ACqTQINKFEc9ShAeXIk/1yVNlA02P3pjbHOWL2Vgwhg==", + "version": "9.4.36", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.4.36.tgz", + "integrity": "sha512-oLSGz6uksooCQrc+FXvWwAZCP+ucn2h12vZFyWSAOVODDtQMjtycol03p408BEHnPBQbrYaQCFpd3Id5eLuxBg==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3183,16 +3329,16 @@ } }, "node_modules/@fluentui/react-textarea": { - "version": "9.3.98", - "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.98.tgz", - "integrity": "sha512-dsdASrLG7XgELMB8ddQgHaOU5vN1G+YAgXqFvFXn1IkQZCz439lxnSKyzmMSRhrsg2IPOZNOPiwILj8GOJGgXQ==", + "version": "9.4.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.4.7.tgz", + "integrity": "sha512-GwGlSaxJy8Gv/GJCvHsvGJmlqTJXey/7YzF2dCeWrEoVk1r6k8cxtDtUafmWMdgjBZLJwC3BCHQuXYwTXEwYEQ==", "license": "MIT", "dependencies": { - "@fluentui/react-field": "^9.1.86", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-field": "^9.2.7", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3272,22 +3418,22 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@fluentui/react-toast": { - "version": "9.3.65", - "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.65.tgz", - "integrity": "sha512-rQ3jvvKWjankXpjyrazRtw56pPR7sWF9QF81z7mMdTsIdPpyZTclHJ7tYShk2Qzt0s+WglNO7k4qXw/txemA9w==", + "version": "9.4.9", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.4.9.tgz", + "integrity": "sha512-lAHH6nzogbKXwq9V656qACvhs42pBptQwcafzYV9n4V9viIFf3JpJm9Th0YbPmxzvHP9Ps9DKtaU1jr2W6CdeQ==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", + "@fluentui/react-aria": "^9.14.7", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-motion-components-preview": "^0.4.3", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-motion-components-preview": "^0.5.0", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3299,20 +3445,20 @@ } }, "node_modules/@fluentui/react-toolbar": { - "version": "9.2.18", - "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.2.18.tgz", - "integrity": "sha512-iN1voIcvMoO/qyaeLj+Yo53zlTrU6Rvt5r96GkI7UafuLGXe6XYEemaK4RnUVWV1ba4pMdWPH3FexPiflAwWmQ==", + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.4.6.tgz", + "integrity": "sha512-posqf792aDz0B9DKIGXnzU4Q78BMZXuyD6tWXdtgJjFNGsOYxOPt5WKAtESaxYEJpgnbUBz8u1d/w5mGApAaYA==", "license": "MIT", "dependencies": { - "@fluentui/react-button": "^9.3.102", - "@fluentui/react-context-selector": "^9.1.72", - "@fluentui/react-divider": "^9.2.82", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-radio": "^9.2.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-button": "^9.4.7", + "@fluentui/react-context-selector": "^9.1.76", + "@fluentui/react-divider": "^9.2.86", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-radio": "^9.3.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3324,19 +3470,19 @@ } }, "node_modules/@fluentui/react-tooltip": { - "version": "9.5.5", - "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.5.5.tgz", - "integrity": "sha512-+cA6BRu04LIJEIifnQzL0N0mEkkPOty3LysFklsXSDGKa4kJ1NKgLqbAZivcRPh0pX0Xleq+pCYfB5TI6s7uTw==", + "version": "9.6.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.6.7.tgz", + "integrity": "sha512-NO7zCcd8P57lQs8tHTpiVW1zGMEMf2YqGclZKhztD03XuyQBsqlDv/1PLLhZCMhkln6gWd9KS64jyt7us2XKkA==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-portal": "^9.4.42", - "@fluentui/react-positioning": "^9.16.3", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-portal": "^9.5.7", + "@fluentui/react-positioning": "^9.17.0", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3348,26 +3494,26 @@ } }, "node_modules/@fluentui/react-tree": { - "version": "9.9.3", - "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.9.3.tgz", - "integrity": "sha512-Nbrm3Kj20K+u/kZKGOVOjQM6FbqujowiYVRtsPWxaspJeotXp+YF1a3I6uyBkMwq1MIbADoTatoxHTuxe/gXgQ==", + "version": "9.10.10", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.10.10.tgz", + "integrity": "sha512-ZlG+IqU0r76B6cmBso75dJAAzZUUhX5M/+SluU/4UDGOv8HAhNlY4Z6Xjb0vnYXuIDL4AEt9mS7Z4Ove26Hq7g==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-aria": "^9.13.14", - "@fluentui/react-avatar": "^9.6.50", - "@fluentui/react-button": "^9.3.102", - "@fluentui/react-checkbox": "^9.2.47", - "@fluentui/react-context-selector": "^9.1.72", + "@fluentui/react-aria": "^9.14.7", + "@fluentui/react-avatar": "^9.7.7", + "@fluentui/react-button": "^9.4.7", + "@fluentui/react-checkbox": "^9.3.7", + "@fluentui/react-context-selector": "^9.1.76", "@fluentui/react-icons": "^2.0.245", - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-motion": "^9.6.7", - "@fluentui/react-motion-components-preview": "^0.4.3", - "@fluentui/react-radio": "^9.2.42", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-tabster": "^9.23.3", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-motion": "^9.7.3", + "@fluentui/react-motion-components-preview": "^0.5.0", + "@fluentui/react-radio": "^9.3.7", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-tabster": "^9.24.7", "@fluentui/react-theme": "^9.1.24", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3379,13 +3525,13 @@ } }, "node_modules/@fluentui/react-utilities": { - "version": "9.18.20", - "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.18.20.tgz", - "integrity": "sha512-4uIgf4e4yP1HWAQapFQKNN88+L88NqbzXyQPf+NWE9lmP5xRyyMePKRX7i4PcJFdSt7lN4BYvwUxJ7DkQ/Npnw==", + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.19.0.tgz", + "integrity": "sha512-66Kdpr4xZsov6KSqbPDmKR5CB96RUPZuWihMC3RYHj9uH+oxd81k2Jyrb6rM058xjVKDFSFVLUZlsp1Mgts38w==", "license": "MIT", "dependencies": { "@fluentui/keyboard-keys": "^9.0.8", - "@fluentui/react-shared-contexts": "^9.21.2", + "@fluentui/react-shared-contexts": "^9.23.1", "@swc/helpers": "^0.5.1" }, "peerDependencies": { @@ -3394,14 +3540,14 @@ } }, "node_modules/@fluentui/react-virtualizer": { - "version": "9.0.0-alpha.92", - "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.92.tgz", - "integrity": "sha512-hT7xwMXyXco/tQRdZgPZS3O8DjJnYIKc9EnZ2qQMYrv0PEiee01WwH2NVFbhkn2utD9TZlE3Gu0j25fSYICBxQ==", + "version": "9.0.0-alpha.96", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.96.tgz", + "integrity": "sha512-0o9RSTAAIoJ4xdM2g8hF5u98Up0OHRknRhMolZHZDoqXEvhJ5GroGtp+NPfU7LxU+dxHrZLx9gQ6wVWe/35ZzQ==", "license": "MIT", "dependencies": { - "@fluentui/react-jsx-runtime": "^9.0.50", - "@fluentui/react-shared-contexts": "^9.21.2", - "@fluentui/react-utilities": "^9.18.20", + "@fluentui/react-jsx-runtime": "^9.0.54", + "@fluentui/react-shared-contexts": "^9.23.1", + "@fluentui/react-utilities": "^9.19.0", "@griffel/react": "^1.5.22", "@swc/helpers": "^0.5.1" }, @@ -3413,11 +3559,12 @@ } }, "node_modules/@fluentui/react-window-provider": { - "version": "2.2.28", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.28.tgz", - "integrity": "sha512-YdZ74HTaoDwlvLDzoBST80/17ExIl93tLJpTxnqK5jlJOAUVQ+mxLPF2HQEJq+SZr5IMXHsQ56w/KaZVRn72YA==", + "version": "2.2.30", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.30.tgz", + "integrity": "sha512-2SXuiZcU29W0D9zfExcTfzVx97OI50YCn5fGGO0bTDuP5VxzTQp1mipAY4qm/yJMMinoXkzBGLl1rK0Tdtxh1w==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" }, "peerDependencies": { @@ -3441,9 +3588,10 @@ } }, "node_modules/@fluentui/set-version": { - "version": "8.2.23", - "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.23.tgz", - "integrity": "sha512-VPXaBsiaa3Xn/AY40nLU9bvDQ62lpMVnFzFTlQ8CbpdwrjxNlRxDUY5vRToNzp1+Zu5gD/+CgsXqIZGcry5L5w==", + "version": "8.2.24", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.24.tgz", + "integrity": "sha512-8uNi2ThvNgF+6d3q2luFVVdk/wZV0AbRfJ85kkvf2+oSRY+f6QVK0w13vMorNhA5puumKcZniZoAfUF02w7NSg==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } @@ -3457,24 +3605,26 @@ } }, "node_modules/@fluentui/style-utilities": { - "version": "8.11.4", - "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.11.4.tgz", - "integrity": "sha512-qJGlwX1FiDemPwCuzqYkmjfDNi0JQMum47FNB5dEtGz65/C2MSqLsZChcSpYwQEGCgY+L0qI1EwgbquTFxJqSw==", + "version": "8.12.2", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.12.2.tgz", + "integrity": "sha512-inDXaSs3Fj+oM5vIlqws9sQa+zh0Nk1+ZGFGCxsVw9jSGT2OD08Hx5oh4hio3wWqDUa78zZ6VEzGChTaLyOm4g==", + "license": "MIT", "dependencies": { - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/set-version": "^8.2.23", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/set-version": "^8.2.24", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" } }, "node_modules/@fluentui/style-utilities/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, @@ -3494,13 +3644,14 @@ } }, "node_modules/@fluentui/theme": { - "version": "2.6.63", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.63.tgz", - "integrity": "sha512-BZ+YG4Vqb+ulhmZzDv8yZFuYo2kHp1m2cttBZLkc+61FnrwCaDBmJxwg65gXoF7wwXKh2qJIcJueSLMmvVyAOQ==", + "version": "2.6.67", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.67.tgz", + "integrity": "sha512-+9+VkIkZ+NCQDXFP6+WV2ChAj/KHphOEDCvGO15w8ql7sqRxeRQACtoWYNq1tAAsodbnq/amCfo2PNy2VIcIOQ==", + "license": "MIT", "dependencies": { - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/set-version": "^8.2.23", - "@fluentui/utilities": "^8.15.19", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/set-version": "^8.2.24", + "@fluentui/utilities": "^8.15.22", "tslib": "^2.1.0" }, "peerDependencies": { @@ -3509,11 +3660,12 @@ } }, "node_modules/@fluentui/theme/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, @@ -3527,14 +3679,15 @@ } }, "node_modules/@fluentui/utilities": { - "version": "8.15.19", - "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.15.19.tgz", - "integrity": "sha512-20WoYz0wW7pkmur+7qxTwRfvkdAnHfylLdCYSm91WLupb0cwQ1wWZWIuyo+e0cjcvem1T9TC1+NjWs0kavTWBg==", + "version": "8.15.22", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.15.22.tgz", + "integrity": "sha512-ZhDO+6dVLjf2BbHizCA2bnVFLPmOSpemsTMtEY/Nr5fhot5+xeoZVBJrr10X6wN0fTdfMketj/+rnkh5hWXljg==", + "license": "MIT", "dependencies": { - "@fluentui/dom-utilities": "^2.3.9", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", + "@fluentui/dom-utilities": "^2.3.10", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" }, "peerDependencies": { @@ -3543,20 +3696,22 @@ } }, "node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.3.9.tgz", - "integrity": "sha512-8PPzv31VXnyMvZrzK7iSGPRx8piJjas0xV+qaNQ1tzAXHuTaLXPeADJK/gEDH1XA/e9Vaakb3lPUpRVa8tal+w==", + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.3.10.tgz", + "integrity": "sha512-6WDImiLqTOpkEtfUKSStcTDpzmJfL6ZammomcjawN9xH/8u8G3Hx72CIt2MNck9giw/oUlNLJFdWRAjeP3rmPQ==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@fluentui/utilities/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, @@ -3586,9 +3741,10 @@ } }, "node_modules/@griffel/core/node_modules/stylis": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", - "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==" + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" }, "node_modules/@griffel/react": { "version": "1.5.25", @@ -3611,13 +3767,14 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -3625,13 +3782,6 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -3645,6 +3795,14 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/@iconify/react": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/@iconify/react/-/react-4.1.1.tgz", @@ -4228,10 +4386,11 @@ "dev": true }, "node_modules/@jest/expect/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4910,6 +5069,32 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", + "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz", + "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, "node_modules/@jsonjoy.com/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", @@ -4988,6 +5173,94 @@ "@lit-labs/ssr-dom-shim": "^1.0.0" } }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "license": "ISC", + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/geojson-rewind/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC" + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", + "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "license": "ISC", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "19.3.3", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.3.tgz", + "integrity": "sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^3.0.0", + "minimist": "^1.2.8", + "rw": "^1.3.3", + "sort-object": "^3.0.3" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, "node_modules/@microsoft/api-extractor": { "version": "7.15.2", "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.15.2.tgz", @@ -5070,122 +5343,336 @@ } }, "node_modules/@microsoft/decorators": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/decorators/-/decorators-1.20.0.tgz", - "integrity": "sha512-as9KcTsnWwL8eb1zGmnBFa0FJ8BZ97jK8wJ8KQY8FrND9mgl+sCd5cfshXgEBFpAGgYlsYHOE0JDKUmdz25fZg==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/decorators/-/decorators-1.21.1.tgz", + "integrity": "sha512-MQsrNsxFdeEP1xuRELciyH4kxyf42ogazsDpjIFhUHD6YMxtpwHHA5GSCL2ke4XIIeuiratDHP0LzbGBF9MJCg==", + "license": "https://aka.ms/spfx/license", "dependencies": { + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/eslint-config-spfx": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/eslint-config-spfx/-/eslint-config-spfx-1.20.2.tgz", - "integrity": "sha512-M3kCrwCcuchdni6SFWbJ1SqKcZYzK3Lig98/xCqVzcp4s3FCFcfziUaMA+TfktEuHuSry+n6WYKFrH7SnucePA==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/eslint-config-spfx/-/eslint-config-spfx-1.21.1.tgz", + "integrity": "sha512-7PlBiLrP7FLqI/9zAFfyfrasgZTJiaDF+MGZ/Nn25Uw56GOnuc1aGy0UVbCdo91/L4u4NnQ2UudOr27iKN7C1g==", "dev": true, + "license": "https://aka.ms/spfx/license", "dependencies": { - "@microsoft/eslint-plugin-spfx": "1.20.2", - "@rushstack/eslint-config": "4.0.2", - "@typescript-eslint/utils": "8.1.0" + "@microsoft/eslint-plugin-spfx": "1.21.1", + "@rushstack/eslint-config": "4.3.0", + "@typescript-eslint/utils": "8.26.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@microsoft/tsdoc": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz", - "integrity": "sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==", - "dev": true + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz", + "integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==", + "dev": true, + "license": "MIT" }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@microsoft/tsdoc-config": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.0.tgz", - "integrity": "sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz", + "integrity": "sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==", "dev": true, + "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.15.0", + "@microsoft/tsdoc": "0.15.1", "ajv": "~8.12.0", "jju": "~1.4.0", "resolve": "~1.22.2" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@rushstack/eslint-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-config/-/eslint-config-4.0.2.tgz", - "integrity": "sha512-RFLynEk5hiGjgzFKephENrBWZZfoQe+3e76Q78KXjeGsndbaZXDHy0OxLfZethlEutDQEDiE3vpkbJ1mfcMeGg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-config/-/eslint-config-4.3.0.tgz", + "integrity": "sha512-zb3hsEDAtWgk10S0bm5XvvA7DWXaZOtS5guhrDYLHzgUb1VQu9/XBjY8wov3TTOyhclaE4H7Pete1OJ+LqKodA==", "dev": true, + "license": "MIT", "dependencies": { - "@rushstack/eslint-patch": "1.10.4", - "@rushstack/eslint-plugin": "0.16.1", - "@rushstack/eslint-plugin-packlets": "0.9.2", - "@rushstack/eslint-plugin-security": "0.8.3", - "@typescript-eslint/eslint-plugin": "~8.1.0", - "@typescript-eslint/parser": "~8.1.0", - "@typescript-eslint/typescript-estree": "~8.1.0", - "@typescript-eslint/utils": "~8.1.0", + "@rushstack/eslint-patch": "1.11.0", + "@rushstack/eslint-plugin": "0.18.0", + "@rushstack/eslint-plugin-packlets": "0.11.0", + "@rushstack/eslint-plugin-security": "0.10.0", + "@typescript-eslint/eslint-plugin": "~8.26.1", + "@typescript-eslint/parser": "~8.26.1", + "@typescript-eslint/typescript-estree": "~8.26.1", + "@typescript-eslint/utils": "~8.26.1", "eslint-plugin-promise": "~6.1.1", "eslint-plugin-react": "~7.33.2", - "eslint-plugin-tsdoc": "~0.3.0" + "eslint-plugin-tsdoc": "~0.4.0" }, "peerDependencies": { "eslint": "^8.57.0", "typescript": ">=4.7.0" } }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@rushstack/eslint-patch": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz", + "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@rushstack/eslint-plugin": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin/-/eslint-plugin-0.16.1.tgz", - "integrity": "sha512-e+VVtwBvuGqvVCcXUDTireQFfaIncmlD6rOBils0BeGkrLbP1r330/AFcRoYQEZUZpdhVxFtJrIq48HIlWBFzA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin/-/eslint-plugin-0.18.0.tgz", + "integrity": "sha512-8fHCCGtAPORAurYdPPsarO29wjhNzhH1dKCKsKwKdITKqWJnh1XzyxMNqBWO+eXgvxbLwIMAtgRoqcvZaRGZMg==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/tree-pattern": "0.3.4", - "@typescript-eslint/utils": "~8.1.0" + "@typescript-eslint/utils": "~8.26.1" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@rushstack/eslint-plugin-packlets": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-packlets/-/eslint-plugin-packlets-0.11.0.tgz", + "integrity": "sha512-5hlfQSMgpfWflMS4rDfrMpxL2RXs1L3YLy5ULue2s4OYdkNzhKfZe89Nn2FKfHWG5wOOLJu4Uro306LbIJIXjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/tree-pattern": "0.3.4", + "@typescript-eslint/utils": "~8.26.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/@rushstack/eslint-plugin-security": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-security/-/eslint-plugin-security-0.8.3.tgz", - "integrity": "sha512-2l6bSIyTgaejiRPiFCsons/HA8sS7bKhmL/RHdAZo54jm/W/Xqb4zaFn4+OuMCNLASQhqXMc8FeYPF0V7t1Aow==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-security/-/eslint-plugin-security-0.10.0.tgz", + "integrity": "sha512-kGxPIMNwi7BumebL6W7PoglS/kMZB2gQXC8MtvntK5KuYByrVMztSkkkcWiRHmTIgCe2ycikNig13oSlv8eTVw==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/tree-pattern": "0.3.4", - "@typescript-eslint/utils": "~8.1.0" + "@typescript-eslint/utils": "~8.26.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/parser": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/scope-manager": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/type-utils": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/types": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/utils": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@microsoft/eslint-config-spfx/node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -5202,6 +5689,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -5214,6 +5702,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", "dev": true, + "license": "ISC", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5226,6 +5715,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.6", "array.prototype.flatmap": "^1.3.1", @@ -5251,32 +5741,94 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@microsoft/eslint-config-spfx/node_modules/eslint-plugin-tsdoc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.3.0.tgz", - "integrity": "sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.4.0.tgz", + "integrity": "sha512-MT/8b4aKLdDClnS8mP3R/JNjg29i0Oyqd/0ym6NnQf+gfKbJJ4ZcSh2Bs1H0YiUMTBwww5JwXGTWot/RwyJ7aQ==", "dev": true, + "license": "MIT", "dependencies": { - "@microsoft/tsdoc": "0.15.0", - "@microsoft/tsdoc-config": "0.17.0" + "@microsoft/tsdoc": "0.15.1", + "@microsoft/tsdoc-config": "0.17.1" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@microsoft/eslint-config-spfx/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/resolve": { @@ -5284,6 +5836,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -5297,26 +5850,210 @@ } }, "node_modules/@microsoft/eslint-config-spfx/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@microsoft/eslint-config-spfx/node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" } }, "node_modules/@microsoft/eslint-plugin-spfx": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/eslint-plugin-spfx/-/eslint-plugin-spfx-1.20.2.tgz", - "integrity": "sha512-GfBKb3Xm4n6qMezzU4A4kxZKIAMUUdTQvTCq5uhX96YxciR9Ao3SLu5CCW/hZasIlQHtIyqv6Aju1bRch2zSIw==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/eslint-plugin-spfx/-/eslint-plugin-spfx-1.21.1.tgz", + "integrity": "sha512-Ox9GfnX/2SEICBVfVz5wRN09hHYKFXfXf1KnY4mbUAjZVMRG8ZdoJERMFp7QU8YB+mbLp/cxmzzAnRcox8b4jA==", "dev": true, + "license": "https://aka.ms/spfx/license", "dependencies": { - "@typescript-eslint/utils": "8.1.0" + "@typescript-eslint/utils": "8.26.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/@typescript-eslint/scope-manager": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/@typescript-eslint/types": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/@typescript-eslint/utils": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.26.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@microsoft/eslint-plugin-spfx/node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/@microsoft/fast-colors": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@microsoft/fast-colors/-/fast-colors-5.3.1.tgz", @@ -5444,6 +6181,7 @@ "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-serve/-/gulp-core-build-serve-3.13.0.tgz", "integrity": "sha512-joWmXMkH7Cvypg/zEB2XyBuBQPF/VacLSHt6AbgN9ExF0rSRj+poT47XQlc9YvXA3zY67YOaW3sgVT18dZHlOQ==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/gulp-core-build": "3.19.0", "@rushstack/debug-certificate-manager": "~1.1.19", @@ -5478,6 +6216,7 @@ "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-webpack/-/gulp-core-build-webpack-6.0.3.tgz", "integrity": "sha512-B9t/FZKawVnrHKiP5bdzdl8cQ7IePKOYlEuPtwV0n9uJVgUTFAlNfo37zRz+bdt88z3hZnfAXEC+nhmvR84cyg==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/gulp-core-build": "3.19.0", "@types/gulp": "4.0.6", @@ -5778,7 +6517,8 @@ "node_modules/@microsoft/microsoft-graph-clientv1/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" }, "node_modules/@microsoft/microsoft-graph-types": { "version": "2.40.0", @@ -5960,40 +6700,23 @@ "node": ">=10" } }, - "node_modules/@microsoft/rush-lib/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@microsoft/rush-lib/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@microsoft/rush-lib/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6013,57 +6736,41 @@ "node": ">=10" } }, - "node_modules/@microsoft/rush-lib/node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@microsoft/rush-lib/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@microsoft/rush-stack-compiler-4.7": { + "node_modules/@microsoft/rush-stack-compiler-5.3": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-4.7/-/rush-stack-compiler-4.7-0.1.0.tgz", - "integrity": "sha512-fl7vWuAJjhsJWauSlUgC/ldF4vL8qmMX0LozTvHM5ICmM82O3exPFjLjvgw9q/niGt77P1OGIrwiDClCHfZQJQ==", + "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-5.3/-/rush-stack-compiler-5.3-0.1.0.tgz", + "integrity": "sha512-Jxsx+AJcf1ITCOyW3gGaxKJJxtdvpEsfpYB9IK7l/orKB1crGQF0bM+w8E5POx9rSOJOJjrl3IbIjbbE9stSSw==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/api-extractor": "~7.15.2", "@rushstack/eslint-config": "~2.6.2", "@rushstack/node-core-library": "~3.53.0", "@types/node": "10.17.13", "import-lazy": "~4.0.0", - "typescript": "~4.7.4" + "typescript": "~5.3.3" }, "bin": { "rush-api-extractor": "bin/rush-api-extractor", "rush-eslint": "bin/rush-eslint", - "rush-tsc": "bin/rush-tsc", - "rush-tslint": "bin/rush-tslint" + "rush-tsc": "bin/rush-tsc" }, "peerDependencies": { - "eslint": "^8.7.0" + "eslint": "^8.57.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/eslint-config": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/eslint-config": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/@rushstack/eslint-config/-/eslint-config-2.6.2.tgz", "integrity": "sha512-EcZENq5HlXe5XN9oFZ90K8y946zBXRgliNhy+378H0oK00v3FYADj8aSisEHS5OWz4HO0hYWe6IU57CNg+syYQ==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/eslint-patch": "1.1.4", "@rushstack/eslint-plugin": "0.9.1", @@ -6082,17 +6789,19 @@ "typescript": ">=3.0.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/eslint-patch": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/eslint-patch": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz", "integrity": "sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/eslint-plugin": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/eslint-plugin": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin/-/eslint-plugin-0.9.1.tgz", "integrity": "sha512-iMfRyk9FE1xdhuenIYwDEjJ67u7ygeFw/XBGJC2j4GHclznHWRfSGiwTeYZ66H74h7NkVTuTp8RYw/x2iDblOA==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/tree-pattern": "0.2.4", "@typescript-eslint/experimental-utils": "~5.20.0" @@ -6101,11 +6810,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/eslint-plugin-packlets": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/eslint-plugin-packlets": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-packlets/-/eslint-plugin-packlets-0.4.1.tgz", "integrity": "sha512-A+mb+45fAUV6SRRlRy5EXrZAHNTnvOO3ONxw0hmRDcvyPAJwoX0ClkKQriz56QQE5SL4sPxhYoqbkoKbBmsxcA==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/tree-pattern": "0.2.4", "@typescript-eslint/experimental-utils": "~5.20.0" @@ -6114,11 +6824,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/eslint-plugin-security": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/eslint-plugin-security": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-plugin-security/-/eslint-plugin-security-0.3.1.tgz", "integrity": "sha512-LOBJj7SLPkeonBq2CD9cKqujwgc84YXJP18UXmGYl8xE3OM+Fwgnav7GzsakyvkeWJwq7EtpZjjSW8DTpwfA4w==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/tree-pattern": "0.2.4", "@typescript-eslint/experimental-utils": "~5.20.0" @@ -6127,17 +6838,19 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@rushstack/tree-pattern": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@rushstack/tree-pattern": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@rushstack/tree-pattern/-/tree-pattern-0.2.4.tgz", "integrity": "sha512-H8i0OinWsdKM1TKEKPeRRTw85e+/7AIFpxm7q1blceZJhuxRBjCGAUZvQXZK4CMLx75xPqh/h1t5WHwFmElAPA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/eslint-plugin": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/eslint-plugin": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/scope-manager": "5.20.0", "@typescript-eslint/type-utils": "5.20.0", @@ -6166,30 +6879,12 @@ } } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/experimental-utils": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", - "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.20.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/parser": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/parser": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.20.0", "@typescript-eslint/types": "5.20.0", @@ -6212,11 +6907,12 @@ } } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/scope-manager": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/scope-manager": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.20.0", "@typescript-eslint/visitor-keys": "5.20.0" @@ -6229,11 +6925,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/type-utils": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/type-utils": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "5.20.0", "debug": "^4.3.2", @@ -6255,11 +6952,12 @@ } } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/types": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/types": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6268,11 +6966,12 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/typescript-estree": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/typescript-estree": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.20.0", "@typescript-eslint/visitor-keys": "5.20.0", @@ -6295,11 +6994,12 @@ } } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/utils": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/utils": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "@typescript-eslint/scope-manager": "5.20.0", @@ -6319,11 +7019,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/@typescript-eslint/visitor-keys": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/@typescript-eslint/visitor-keys": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.20.0", "eslint-visitor-keys": "^3.0.0" @@ -6336,20 +7037,22 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/array-union": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/globby": { + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6365,106 +7068,1355 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@microsoft/rush-stack-compiler-5.3/node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@microsoft/sp-adaptive-card-extension-base": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-adaptive-card-extension-base/-/sp-adaptive-card-extension-base-1.21.1.tgz", + "integrity": "sha512-/0M0maRB1gtZCAy6GvNZklv+9yl4ccrqj77yWTe0b+szGmvdkWIBd2AqS0bkpzZPTyl7lkiDBckEzxbKmRyB/Q==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-property-pane": "1.21.1", + "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.32.0", + "@swc/helpers": "0.5.12", + "adaptivecards": "2.11.2", + "tslib": "2.3.1" + }, + "engines": { + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" + } + }, + "node_modules/@microsoft/sp-application-base": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-application-base/-/sp-application-base-1.21.1.tgz", + "integrity": "sha512-b3PJwSZBP/MTpangqAqAJaJqBm0fhBNayWNoAjR31iFSfr6+9RVokn4LMiI4I0GHa8cTYKokvXZK57YgvPR7tQ==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-extension-base": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-odata-types": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@microsoft/sp-search-extensibility": "1.21.1", + "@swc/helpers": "0.5.12", + "tslib": "2.3.1" + }, + "engines": { + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-core-tasks/-/sp-build-core-tasks-1.21.1.tgz", + "integrity": "sha512-JspUAKqVrl4Ewv0EBvyqkdUR0L9nk03CrIBvnJIZYRKTaFzi63h0QGCcqXbDnAJxlc5SQX/rYzNwj7KEGKedWA==", + "dev": true, + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/gulp-core-build": "3.19.0", + "@microsoft/gulp-core-build-serve": "3.13.0", + "@microsoft/gulp-core-build-webpack": "6.0.3", + "@microsoft/spfx-heft-plugins": "1.21.1", + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1", + "@types/lodash": "4.14.117", + "colors": "~1.2.1", + "gulp": "4.0.2", + "lodash": "4.17.21", + "webpack": "~5.95.0" + }, + "engines": { + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@azure/core-tracing": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz", + "integrity": "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@azure/identity": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.5.0.tgz", + "integrity": "sha512-EknvVmtBuSIic47xkOqyNabAme0RYTw52BTMz8eBgU1ysTyMrD1uOoM+JdS0J/4Yfp98IBT3osqq3BfwSaNaGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.26.1", + "@azure/msal-node": "^2.15.0", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@azure/storage-blob": { + "version": "12.26.0", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.26.0.tgz", + "integrity": "sha512-SriLPKezypIsiZ+TtlFfE46uuBIap2HeaQVS78e1P7rz5OSbq0rsd52WE1mC5f7vAeLiXqv7I7oRhL3WFZEw3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.4.0", + "@azure/core-client": "^1.6.2", + "@azure/core-http-compat": "^2.0.0", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.10.1", + "@azure/core-tracing": "^1.1.2", + "@azure/core-util": "^1.6.1", + "@azure/core-xml": "^1.4.3", + "@azure/logger": "^1.0.0", + "events": "^3.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/load-themed-styles": { + "version": "2.0.168", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-2.0.168.tgz", + "integrity": "sha512-r/iVdemMF9EihqSU8XPMG6hvRnEQkgqMgPFBC0YRpip1D/B5Zema5ALabYiPoq+RJ9Hzmzt075gdvZ0NSSrH1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/rush-lib": { + "version": "5.150.0", + "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.150.0.tgz", + "integrity": "sha512-2SBN7A/iCVufTmuXdS+W1wY0MZaEyhxlme/NQTlXbTaYWaMGZJMso3YRBNKJJLE1T7NkxsvCVCp7/2QSh8k+JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/dependency-path": "~5.1.7", + "@pnpm/dependency-path-lockfile-pre-v9": "npm:@pnpm/dependency-path@~2.1.2", + "@pnpm/link-bins": "~5.3.7", + "@rushstack/heft-config-file": "0.16.6", + "@rushstack/lookup-by-path": "0.5.9", + "@rushstack/node-core-library": "5.11.0", + "@rushstack/package-deps-hash": "4.3.10", + "@rushstack/package-extractor": "0.10.14", + "@rushstack/rig-package": "0.5.3", + "@rushstack/rush-amazon-s3-build-cache-plugin": "5.150.0", + "@rushstack/rush-azure-storage-build-cache-plugin": "5.150.0", + "@rushstack/rush-http-build-cache-plugin": "5.150.0", + "@rushstack/stream-collator": "4.1.88", + "@rushstack/terminal": "0.15.0", + "@rushstack/ts-command-line": "4.23.5", + "@yarnpkg/lockfile": "~1.0.2", + "builtin-modules": "~3.1.0", + "cli-table": "~0.3.1", + "dependency-path": "~9.2.8", + "fast-glob": "~3.3.1", + "figures": "3.0.0", + "git-repo-info": "~2.1.0", + "glob-escape": "~0.0.2", + "https-proxy-agent": "~5.0.0", + "ignore": "~5.1.6", + "inquirer": "~7.3.3", + "js-yaml": "~3.13.1", + "npm-check": "~6.0.1", + "npm-package-arg": "~6.1.0", + "pnpm-sync-lib": "0.2.9", + "read-package-tree": "~5.1.5", + "rxjs": "~6.6.7", + "semver": "~7.5.4", + "ssri": "~8.0.0", + "strict-uri-encode": "~2.0.0", + "tapable": "2.2.1", + "tar": "~6.2.1", + "true-case-path": "~2.2.1", + "uuid": "~8.3.2" + }, + "engines": { + "node": ">=5.6.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/rush-lib/node_modules/@rushstack/heft-config-file": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.16.6.tgz", + "integrity": "sha512-V83ucRqVt9quigDNgUggikNSAGtnfKUzzTcr18jYa/BzLyLdg9ITjr2RxVHzl7eNlJFiENr9vZdgaS45YjmhqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "@rushstack/rig-package": "0.5.3", + "@rushstack/terminal": "0.15.0", + "jsonpath-plus": "~10.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/rush-lib/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/rush-lib/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/rush-lib/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/sp-css-loader": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-css-loader/-/sp-css-loader-1.21.1.tgz", + "integrity": "sha512-thc3vuTTIkMrJV1iyCxDFEkNohVtEscL62X73uccObgYSwzqLB2cudUl0IDjd3nPPfLnL60QSzIkdnCDhxPYpg==", + "dev": true, + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/load-themed-styles": "2.0.168", + "@rushstack/node-core-library": "5.12.0", + "autoprefixer": "9.7.1", + "css-loader": "3.4.2", + "cssnano": "~5.1.14", + "loader-utils": "~3.2.1", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "~3.0.0", + "postcss-modules-local-by-default": "~4.0.0", + "postcss-modules-scope": "~3.0.0", + "postcss-modules-values": "~4.0.0" + }, + "peerDependencies": { + "webpack": "^5.88.1" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/spfx-heft-plugins": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/spfx-heft-plugins/-/spfx-heft-plugins-1.21.1.tgz", + "integrity": "sha512-97vdK31iotkzeEoUhgy+HiB23s0i/qBC9ZA3BpyURQDAUYCLWDkeYEf54si7t9zdhPK65M3KP0zksXcO3O4DgA==", + "dev": true, + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@azure/storage-blob": "~12.26.0", + "@microsoft/rush-lib": "5.150.0", + "@microsoft/sp-css-loader": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@rushstack/heft-config-file": "0.16.7", + "@rushstack/localization-utilities": "0.13.5", + "@rushstack/module-minifier": "0.7.12", + "@rushstack/node-core-library": "5.12.0", + "@rushstack/rig-package": "0.5.3", + "@rushstack/set-webpack-public-path-plugin": "5.1.76", + "@rushstack/terminal": "0.15.1", + "@rushstack/webpack5-localization-plugin": "0.13.5", + "@rushstack/webpack5-module-minifier-plugin": "5.5.96", + "@types/tapable": "1.0.6", + "cors": "2.8.5", + "express": "4.18.1", + "fast-glob": "~3.2.12", + "git-repo-info": "~2.1.1", + "html-loader": "~4.2.0", + "jszip": "~3.8.0", + "lodash": "4.17.21", + "mime": "2.5.2", + "resolve": "~1.17.0", + "source-map": "0.6.1", + "source-map-loader": "~4.0.1", + "tapable": "1.1.3", + "uuid": "^9.0.0", + "webpack": "~5.95.0", + "xml": "~1.0.1" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/spfx-heft-plugins/node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/spfx-heft-plugins/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@microsoft/spfx-heft-plugins/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@pnpm/crypto.base32-hash": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@pnpm/crypto.base32-hash/-/crypto.base32-hash-3.0.1.tgz", + "integrity": "sha512-DM4RR/tvB7tMb2FekL0Q97A5PCXNyEC+6ht8SaufAUFSJNxeozqHw9PHTZR03mzjziPzNQLOld0pNINBX3srtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/crypto.polyfill": "1.0.0", + "rfc4648": "^1.5.3" + }, + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@pnpm/dependency-path": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@pnpm/dependency-path/-/dependency-path-5.1.7.tgz", + "integrity": "sha512-MKCyaTy1r9fhBXAnhDZNBVgo6ThPnicwJEG203FDp7pGhD7NruS/FhBI+uMd7GNsK3D7aIFCDAgbWpNTXn/eWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/crypto.base32-hash": "3.0.1", + "@pnpm/types": "12.2.0", + "semver": "^7.6.2" + }, + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@pnpm/dependency-path/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@pnpm/types": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-12.2.0.tgz", + "integrity": "sha512-5RtwWhX39j89/Tmyv2QSlpiNjErA357T/8r1Dkg+2lD3P7RuS7Xi2tChvmOC3VlezEFNcWnEGCOeKoGRkDuqFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/heft-config-file": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.16.7.tgz", + "integrity": "sha512-lUxDcSUSLYcpPuwROtNncRFiNaNsJZ1mbRSV/yzhUXXyG8fHWMMdF+B8wZcZ4meTcFCTV6SFY4ablsBFUvg7aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.12.0", + "@rushstack/rig-package": "0.5.3", + "@rushstack/terminal": "0.15.1", + "jsonpath-plus": "~10.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/localization-utilities": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/@rushstack/localization-utilities/-/localization-utilities-0.13.5.tgz", + "integrity": "sha512-fzeSlUY1iK1JumT3iUjGtLPM7s67qTnsC21i6MtzU62zDpPHwHfVeke3u+qb8hqx/ZYVy7OrQQr6nnY+cZdbqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1", + "@rushstack/typings-generator": "0.14.29", + "pseudolocale": "~1.1.0", + "xmldoc": "~1.1.2" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/lookup-by-path": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/@rushstack/lookup-by-path/-/lookup-by-path-0.5.9.tgz", + "integrity": "sha512-xGdjy6Mj2FDccpzo+wGDWmQoTzZQDjlEFNWbiKeIdA/TkIcOoK+6t0Ppka4XE+od0vggZD6Hqk9kZoXuY8lu+A==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/module-minifier": { + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/@rushstack/module-minifier/-/module-minifier-0.7.12.tgz", + "integrity": "sha512-U0m0bNusiV1WHis14EVT3/CVq2DAOPeE9q/dil4P3o4lagdufCNGgA0Z7JWTkPDhnyW3jJF/lpnM3fcJ+3CP5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/worker-pool": "0.5.12", + "serialize-javascript": "6.0.2", + "source-map": "~0.7.3", + "terser": "^5.9.0" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/module-minifier/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/node-core-library": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.12.0.tgz", + "integrity": "sha512-QSwwzgzWoil1SCQse+yCHwlhRxNv2dX9siPnAb9zR/UmMhac4mjMrlMZpk64BlCeOFi1kJKgXRkihSwRMbboAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/node-core-library/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-deps-hash": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-4.3.10.tgz", + "integrity": "sha512-jqKuD39WnG7E82Y7D5c2yAJLQRC/kv/C6PkPeGcegDl7owmt1pxfiRsoMqK+8W3z2eg4wa4VtuT/DtiLYTDGew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-deps-hash/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-deps-hash/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-extractor": { + "version": "0.10.14", + "resolved": "https://registry.npmjs.org/@rushstack/package-extractor/-/package-extractor-0.10.14.tgz", + "integrity": "sha512-+PKerCm40PNcmqSfQ/OAdruj9/PVMxJroenkQp49FSYHFA1q9xTCKhmUPyFLWbzc5rdQE0jV9hcm/bcDGkS0vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/link-bins": "~5.3.7", + "@rushstack/node-core-library": "5.11.0", + "@rushstack/terminal": "0.15.0", + "@rushstack/ts-command-line": "4.23.5", + "ignore": "~5.1.6", + "jszip": "~3.8.0", + "minimatch": "~3.0.3", + "npm-packlist": "~2.1.2", + "semver": "~7.5.4" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-extractor/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-extractor/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/package-extractor/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rig-package": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", + "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "~1.22.1", + "strip-json-comments": "~3.1.1" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rig-package/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-amazon-s3-build-cache-plugin": { + "version": "5.150.0", + "resolved": "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.150.0.tgz", + "integrity": "sha512-1geEKSppaJQoiqVjsblC631leh0TKY+9/XCcHRnQvfaZGI5/pXQZ83Ydu+RuGvQGxFqZpkkz2iIunT+D1JmrqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "@rushstack/rush-sdk": "5.150.0", + "@rushstack/terminal": "0.15.0", + "https-proxy-agent": "~5.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-azure-storage-build-cache-plugin": { + "version": "5.150.0", + "resolved": "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.150.0.tgz", + "integrity": "sha512-Yn5ZEs5Xzprqi8tS9x5ryBNPhg2ibfH7EC3OC2VbXCbeNLNIUl4JIUDSk4El4dIAyFuDcR7pXqHQY/g/5B2itQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/identity": "~4.5.0", + "@azure/storage-blob": "~12.26.0", + "@rushstack/node-core-library": "5.11.0", + "@rushstack/rush-sdk": "5.150.0", + "@rushstack/terminal": "0.15.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-azure-storage-build-cache-plugin/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-azure-storage-build-cache-plugin/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-azure-storage-build-cache-plugin/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-http-build-cache-plugin": { + "version": "5.150.0", + "resolved": "https://registry.npmjs.org/@rushstack/rush-http-build-cache-plugin/-/rush-http-build-cache-plugin-5.150.0.tgz", + "integrity": "sha512-hTb/rA4jR0p7E5BwfgFe8e1kaRMqCm2B9e18OkKIXxYextoyJM2bwjncc4OakTMeq+Vtoz1D/Ujwr4tow73Y6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "@rushstack/rush-sdk": "5.150.0", + "https-proxy-agent": "~5.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-http-build-cache-plugin/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-http-build-cache-plugin/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-sdk": { + "version": "5.150.0", + "resolved": "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.150.0.tgz", + "integrity": "sha512-ReSRRDgtBIwD0uJFzNOp9ahAFOAi5gxhtVYgoQNcgdzOOLxqKdTFOo4saKKuSfxH74GEz8ZaDdkuj/0nQDBWZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/lockfile.types": "~1.0.3", + "@rushstack/lookup-by-path": "0.5.9", + "@rushstack/node-core-library": "5.11.0", + "@rushstack/package-deps-hash": "4.3.10", + "@rushstack/terminal": "0.15.0", + "tapable": "2.2.1" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-sdk/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-sdk/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/rush-sdk/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/set-webpack-public-path-plugin": { + "version": "5.1.76", + "resolved": "https://registry.npmjs.org/@rushstack/set-webpack-public-path-plugin/-/set-webpack-public-path-plugin-5.1.76.tgz", + "integrity": "sha512-4+QFB6Ae6WgJHoz2OLwc3eqU+xoVjBjWGOk/fWCShXJAlUmBaU8fWDmhHziQbZOG4ZTW2+LDqPCfEhyERlz34w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.12.0", + "@rushstack/webpack-plugin-utilities": "0.4.76" + }, + "peerDependencies": { + "@types/node": "*", + "webpack": "^5.68.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/stream-collator": { + "version": "4.1.88", + "resolved": "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.1.88.tgz", + "integrity": "sha512-p/exF+w2rW0gYHsc6ZaZe6aomdoG3vtYHoUyqX/doToNDzvrGrtNorb0h/9p4ct6QaZKPu5FUhBhiCQjPyP3YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "@rushstack/terminal": "0.15.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/stream-collator/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/stream-collator/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/stream-collator/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/terminal": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.1.tgz", + "integrity": "sha512-3vgJYwumcjoDOXU3IxZfd616lqOdmr8Ezj4OWgJZfhmiBK4Nh7eWcv8sU8N/HdzXcuHDXCRGn/6O2Q75QvaZMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.12.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/ts-command-line": { + "version": "4.23.5", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.5.tgz", + "integrity": "sha512-jg70HfoK44KfSP3MTiL5rxsZH7X1ktX3cZs9Sl8eDu1/LxJSbPsh0MOFRC710lIuYYSgxWjI5AjbCBAl7u3RxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/terminal": "0.15.0", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/ts-command-line/node_modules/@rushstack/node-core-library": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.11.0.tgz", + "integrity": "sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "~8.13.0", + "ajv-draft-04": "~1.0.0", + "ajv-formats": "~3.0.1", + "fs-extra": "~11.3.0", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/ts-command-line/node_modules/@rushstack/terminal": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.15.0.tgz", + "integrity": "sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.11.0", + "supports-color": "~8.1.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/ts-command-line/node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/typings-generator": { + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/@rushstack/typings-generator/-/typings-generator-0.14.29.tgz", + "integrity": "sha512-RTEwkIDsHs5Z/hGhsibPUXG1nQeA0l5/odvgv6Anard5OywJOaKxMq6uuNjPSkK40CQFmnGW2Jx5el99b9U63Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1", + "chokidar": "~3.6.0", + "fast-glob": "~3.3.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/webpack-plugin-utilities": { + "version": "0.4.76", + "resolved": "https://registry.npmjs.org/@rushstack/webpack-plugin-utilities/-/webpack-plugin-utilities-0.4.76.tgz", + "integrity": "sha512-U7kZCHHpvkrTE2OK+jDbGo0KAHiQDX0u9+0Ow69IwForQcLrIqGIWTcaacghjBMc0NR+DcRywpleyKeGCvq1MQ==", "dev": true, - "engines": { - "node": ">= 4" + "license": "MIT", + "dependencies": { + "memfs": "4.12.0", + "webpack-merge": "~5.8.0" + }, + "peerDependencies": { + "@types/webpack": "^4.39.8", + "webpack": "^5.35.1 || ^4.31.0" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/@microsoft/rush-stack-compiler-4.7/node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/webpack5-localization-plugin": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/@rushstack/webpack5-localization-plugin/-/webpack5-localization-plugin-0.13.5.tgz", + "integrity": "sha512-zE0rIsF51f8kM799ykX4Tf8yKU8zUpXbOLpSvV1pMCeP0EDMgPmIwXId+J6BMs6G84SclWeJHHbY69B1OwmdSA==", "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@microsoft/sp-adaptive-card-extension-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-adaptive-card-extension-base/-/sp-adaptive-card-extension-base-1.20.0.tgz", - "integrity": "sha512-66se/0nk4WYjyIyH3x7SosDTDsgyVjdnUCGtXC3S14Iw/iueiDR0OxgxtmyWRwOjFMdbERnyUM+po6nvOZmn5A==", - "dependencies": { - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-property-pane": "1.20.0", - "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.24.0", - "adaptivecards": "2.11.2", - "tslib": "2.3.1" + "license": "MIT", + "dependencies": { + "@rushstack/localization-utilities": "0.13.5", + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1" }, - "engines": { - "node": ">=18.17.1 <19.0.0" - } - }, - "node_modules/@microsoft/sp-application-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-application-base/-/sp-application-base-1.20.0.tgz", - "integrity": "sha512-udEGrU9ZQcNW7vm6TNVEvIx9gRlFcrpTk2bX8w3AeLM3m39+i3M/5BHQ8tEEcfpJHOv7o4LeodZZ2pbwqcDpaQ==", - "dependencies": { - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-extension-base": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-odata-types": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", - "@microsoft/sp-search-extensibility": "1.20.0", - "tslib": "2.3.1" + "peerDependencies": { + "@types/node": "*", + "webpack": "^5.68.0" }, - "engines": { - "node": ">=18.17.1 <19.0.0" + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@microsoft/sp-build-core-tasks": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/sp-build-core-tasks/-/sp-build-core-tasks-1.20.2.tgz", - "integrity": "sha512-WHfKcTaengpxMXQ8pW+iOASjXbklU+twATYZJqOnSm17RGozYtovu1gdhc3+3SWN+JgD1r6Bh5dYaMCRI7ee9g==", + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/webpack5-module-minifier-plugin": { + "version": "5.5.96", + "resolved": "https://registry.npmjs.org/@rushstack/webpack5-module-minifier-plugin/-/webpack5-module-minifier-plugin-5.5.96.tgz", + "integrity": "sha512-C23N2dTwHH4yR5BX9MhhJUyV6pmHKS08x96AFo3YpzVmgQufGx6hvSCPWLnAKNlW1YJ6InK0jZgWdCrnjVxCYA==", "dev": true, + "license": "MIT", "dependencies": { - "@microsoft/gulp-core-build": "3.19.0", - "@microsoft/gulp-core-build-serve": "3.13.0", - "@microsoft/gulp-core-build-webpack": "6.0.3", - "@microsoft/spfx-heft-plugins": "1.20.2", - "@rushstack/node-core-library": "5.9.0", - "@rushstack/terminal": "0.14.2", - "@types/lodash": "4.14.117", - "colors": "~1.2.1", - "gulp": "4.0.2", - "lodash": "4.17.21", - "webpack": "~5.88.1" + "@rushstack/worker-pool": "0.5.12", + "@types/estree": "1.0.6", + "@types/tapable": "1.0.6", + "tapable": "2.2.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=14.19.0" + }, + "peerDependencies": { + "@rushstack/module-minifier": "*", + "@types/node": "*", + "webpack": "^5.68.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/node-core-library": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.9.0.tgz", - "integrity": "sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==", + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@rushstack/worker-pool": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@rushstack/worker-pool/-/worker-pool-0.5.12.tgz", + "integrity": "sha512-aeDyuQm6J0P6cNGjlDvtWRxfN4oUGbI+nfq+pDzsQ3ydXNlN+r1NjORN/vDNmxkhzefecEb+5w2+TEPG3mQqCQ==", "dev": true, - "dependencies": { - "ajv": "~8.13.0", - "ajv-draft-04": "~1.0.0", - "ajv-formats": "~3.0.1", - "fs-extra": "~7.0.1", - "import-lazy": "~4.0.0", - "jju": "~1.4.0", - "resolve": "~1.22.1", - "semver": "~7.5.4" - }, + "license": "MIT", "peerDependencies": { "@types/node": "*" }, @@ -6474,17 +8426,26 @@ } } }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/@types/lodash": { "version": "4.14.117", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/ajv": { "version": "8.13.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -6501,6 +8462,7 @@ "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "dev": true, + "license": "MIT", "peerDependencies": { "ajv": "^8.5.0" }, @@ -6515,6 +8477,7 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -6527,17 +8490,234 @@ } } }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/autoprefixer": { + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.1.tgz", + "integrity": "sha512-w3b5y1PXWlhYulevrTJ0lizkQ5CyqfeU6BIRDbuhsMupstHQOeb1Ur80tcB1zxSu7AwyY/qCQ7Vvqklh31ZBFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.7.2", + "caniuse-lite": "^1.0.30001006", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.21", + "postcss-value-parser": "^4.0.2" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/jsonpath-plus": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz", + "integrity": "sha512-8TNmfeTCk2Le33A3vRRwtuworG/L5RrgMvdjhKZxvyShO+mBu2fP50OWUjRLNtvw344DdDarFh9buFAZs5ujeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/loader-utils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.2.tgz", + "integrity": "sha512-vjJi4vQDasD8t0kMpxe+9URAcgbSuASqoj/Wuk3MawTk97LYa2KfdHreAkd1G/pmPLMvzZEw7/OsydADNemerQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -6545,28 +8725,105 @@ "node": ">=10" } }, - "node_modules/@microsoft/sp-build-core-tasks/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/@microsoft/sp-build-core-tasks/node_modules/memfs": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz", + "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 4.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6577,79 +8834,225 @@ "node": ">=10" } }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@microsoft/sp-build-core-tasks/node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/@microsoft/sp-build-core-tasks/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@microsoft/sp-build-web": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/sp-build-web/-/sp-build-web-1.20.2.tgz", - "integrity": "sha512-VDWfJqi42C4jqS7SvCLtokK3d3v7FhQEjFRwxIOWu0x10YhzgMmQS66412SnSQlFH1AQlG6QHzPJu2/noGHaPg==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-web/-/sp-build-web-1.21.1.tgz", + "integrity": "sha512-dML/6GBpFbfLo8R+AWnQD+V6fDjfYi5sbtFjJSvA8B446S70Lbj1rhTXSfZxdYLD29R0jnNmwPzRVGkfWsI56Q==", "dev": true, + "license": "https://aka.ms/spfx/license", "dependencies": { "@microsoft/gulp-core-build": "3.19.0", "@microsoft/gulp-core-build-sass": "4.17.3", "@microsoft/gulp-core-build-serve": "3.13.0", "@microsoft/gulp-core-build-typescript": "8.6.3", "@microsoft/gulp-core-build-webpack": "6.0.3", - "@microsoft/sp-build-core-tasks": "1.20.2", + "@microsoft/sp-build-core-tasks": "1.21.1", "gulp": "4.0.2", "semver": "~7.3.2", - "true-case-path": "~2.2.1", - "webpack": "~5.88.1", + "webpack": "~5.95.0", "yargs": "~4.6.0" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" + } + }, + "node_modules/@microsoft/sp-build-web/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@microsoft/sp-build-web/node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } } }, "node_modules/@microsoft/sp-component-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.20.0.tgz", - "integrity": "sha512-WqSO70PGm3+uWozOx5lzA0TPkN+P5ug8XCSO1v0mnPe58dr6XWq7SG4aq+K6P0OfpQwbtC2fN816j2qJww/TIA==", - "dependencies": { - "@fluentui/react": "^8.117.5", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-dynamic-data": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-page-context": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.21.1.tgz", + "integrity": "sha512-MpwpuvvT6LVZ91hfxOVp6WkUfuTfqiVOGriM1SCioVLkACvTVvFtqROhFlfSg7EzNiu9QgNbiH0Za43voQYlaA==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@fluentui/react": "^8.122.9", + "@fluentui/react-components": "^9.58.3", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-dynamic-data": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-component-base/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@microsoft/sp-component-base/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -6663,18 +9066,21 @@ "node_modules/@microsoft/sp-component-base/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@microsoft/sp-core-library": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.20.0.tgz", - "integrity": "sha512-RMookiROCKRhadmDWK9i/pC+hgyBP+R4j28RLpRsYZ5BA8UsLzFhyWrJJcehkF9CK3z/EPltJoDFuAVdv/taCw==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.21.1.tgz", + "integrity": "sha512-yFhv6fSqMqvnp9YgihtGfy9ISyEjvHlFpavDmWQKiNdctqY3admuzhXF4c9o7GY60ICPJYs9Wrspda+HBsnbSw==", + "license": "https://aka.ms/spfx/license", "dependencies": { - "@microsoft/sp-module-interfaces": "1.20.2", + "@microsoft/sp-module-interfaces": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -6907,18 +9313,22 @@ "dev": true }, "node_modules/@microsoft/sp-css-loader/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6957,33 +9367,37 @@ "dev": true }, "node_modules/@microsoft/sp-diagnostics": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.20.0.tgz", - "integrity": "sha512-I0OVNuN2RMPxpl/seu67ab7XvNsUGaw0eaWnHpP52GazhyERux3OK+aAlTADyBeZuNUcvWpO3qfUbfpSD+MDPQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.21.1.tgz", + "integrity": "sha512-MpiCTXIIAOV56H/uaPhGIf/+rLectIrh2Gfhl+VUKCHE14DhCB98ct/2OK3VlKOKLV6yLu6JeH4MobDTHdS2NA==", + "license": "https://aka.ms/spfx/license", "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0" + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-dialog": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-dialog/-/sp-dialog-1.20.0.tgz", - "integrity": "sha512-QXj1D1t1bWvXPmQIOy5aGP4tRSv+lHq/8QKofqv2u9UcYdHeM9xmEhQ7lWKKj/Uf/9Y8uKNPlY4mcRCqKdksFQ==", - "dependencies": { - "@fluentui/react": "^8.117.5", - "@fluentui/react-components": "^9.54.4", - "@microsoft/sp-application-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dialog/-/sp-dialog-1.21.1.tgz", + "integrity": "sha512-wTs4ARd8ED/nIIpqSkWCCTTr4Ec8OOJwm6I3yzHCUgyCJS/cNrvN8t2C5i0XbYSu0L8GG371QBEFpz8APGwVKA==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@fluentui/react": "^8.122.9", + "@fluentui/react-components": "^9.58.3", + "@fluentui/react-migration-v8-v9": "^9.6.49", + "@microsoft/sp-application-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@swc/helpers": "0.5.12", "react": "17.0.1", "react-dom": "17.0.1", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -6991,31 +9405,33 @@ } }, "node_modules/@microsoft/sp-dialog/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@microsoft/sp-dialog/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -7029,79 +9445,88 @@ "node_modules/@microsoft/sp-dialog/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@microsoft/sp-dynamic-data": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.20.0.tgz", - "integrity": "sha512-g3XiC0rmsRUywn5sZopicOf8tUlz/s8iNae23fyoJSFFkUV5DpxUbNqcdJTaTOeLpi/UT1D9EbrmSC8PGDun2Q==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.21.1.tgz", + "integrity": "sha512-CG1qIF1jgDdK18a9+mjjPbRYK6MJJBnGe6xiZTkKzOPFtEnL/xHwNUCDqXVSnN0imsc3RHu1cfhPLZ5VzAuHPA==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-extension-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.20.0.tgz", - "integrity": "sha512-r5Rr0T+mb0SpWQKK3V5n/lVV9mxn6P7sQBRkpjXSa6EunADpgtGvOiqRSg8U5hlw16xAKIa+TOShUih8u2ZNlQ==", - "dependencies": { - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.21.1.tgz", + "integrity": "sha512-EExF1MAZgP6Uik4KjNw3D7mr6NWJ2oTEgfIvCINVA3p1dOn3WHXDOLnT0ybP8N7AvqkJGSk0w2qNdTkIC9KAqg==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-http": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.20.0.tgz", - "integrity": "sha512-6pYRkFMN2WxwT654uUJiyOMFHWQ8xHbUmBdwklpsK5b6zGVPnYb5cWI859E2jn+3XLrmc8pQbI+jOPKJSz/CVw==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-http-msgraph": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.21.1.tgz", + "integrity": "sha512-6Gvq0iqdWG19jfQhv2u6lgYUjSQKcduf36XaVLg3JAUT2fayQ+LTQAi15nt6kwN3RRnHWBwC4Lh07M0z9/AlLg==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-http-msgraph": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-http-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-http-base/-/sp-http-base-1.20.0.tgz", - "integrity": "sha512-QSxG/+UKauLP+x2p8YzBAL0BN9+66PAd1fK0a7zKYF1VYLAnwpEUa2DJKW2BWzYx2O8a+9po2cnkeAu7WeBAuA==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", - "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.24.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http-base/-/sp-http-base-1.21.1.tgz", + "integrity": "sha512-nJtttro64yc5UwPIJyz/H+w4tqzn/5nduzJvGIqQj3Q0kYTWaV7qjESYgOCfWmZvS1K+BtbAf3A0M8PwbcPLgg==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.32.0", + "@swc/helpers": "0.5.12", "adal-angular": "1.0.16", - "msalBrowserLegacy": "npm:@azure/msal-browser@2.22.0", - "msalLegacy": "npm:msal@1.4.12", "tslib": "2.3.1" } }, "node_modules/@microsoft/sp-http-msgraph": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-http-msgraph/-/sp-http-msgraph-1.20.0.tgz", - "integrity": "sha512-NLJyFwe+y+OIpaYYt67I9riV7tUbGr1Y663NQvmP+ZC7US2cQiVhWGB/LgIPkyxKnkcAzYahYB940NiqULqZNQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http-msgraph/-/sp-http-msgraph-1.21.1.tgz", + "integrity": "sha512-xpzNtVJR9YtXkql6HokvsvDUIZd7cRxT9Id8o9Q2WbRzarL6FtQZisqb4/7qodrZkKMyUJJpEezXnbqyI/7smQ==", + "license": "https://aka.ms/spfx/license", "dependencies": { "@microsoft/microsoft-graph-clientv1": "npm:@microsoft/microsoft-graph-client@1.7.2-spfx", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "peerDependencies": { @@ -7109,20 +9534,22 @@ } }, "node_modules/@microsoft/sp-image-helper": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-image-helper/-/sp-image-helper-1.20.0.tgz", - "integrity": "sha512-rLlRE/DLNCYg5+0sCnQDtFntuLehCLrU3HxKHdvKskep1TJdMM+k7GEm056PW3dGZQWanX8ddlBxnJZLd5EkTQ==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-image-helper/-/sp-image-helper-1.21.1.tgz", + "integrity": "sha512-2XVLItq19XqzZgXWamBcFRtC+Hl7u9BwHovfQy6XJ0FcbUzEIZ1WGRN8Y54EDuSSyz/aE+49MpUHV70eqKoTJQ==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -7132,35 +9559,39 @@ } }, "node_modules/@microsoft/sp-listview-extensibility": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-listview-extensibility/-/sp-listview-extensibility-1.20.0.tgz", - "integrity": "sha512-mWOBNjWbseMgRhtIoBUle6OOYyO2fctqHAFIYogJs9g/to1blFIXZzVJklKhFrgJMVdCP06ox12SSNYw2Bp+8g==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-extension-base": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-page-context": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-listview-extensibility/-/sp-listview-extensibility-1.21.1.tgz", + "integrity": "sha512-htxjNG7Rj471NT0mDd+31NQn+G9AQdJ9nb/nXnyFBB7dwa2IsOrWRvVwonMqjGVBjR1cDnGMXnvy+O7bJfw3Pg==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-extension-base": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-loader": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.20.0.tgz", - "integrity": "sha512-rTyI1oWWu1WB+QbRpqF4v2Q9F59pmdEQvpCxgqjvgdFVqdKQmev2kpPeTJpAv63nIJmJPX1a1jOPyc/2qlDAvA==", - "dependencies": { - "@fluentui/react": "^8.117.5", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-dynamic-data": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-odata-types": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", - "@rushstack/loader-raw-script": "1.4.64", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.21.1.tgz", + "integrity": "sha512-AYvJ3I30ECiaSYk8twKZYHMNiSW/udE3JgaIXlltQBBCgjN/HhVuMCMN1YpOgVW8OZGCtvNCc9Thmrq6kbuTBw==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@fluentui/react": "^8.122.9", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-dynamic-data": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-odata-types": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@rushstack/loader-raw-script": "1.4.92", + "@swc/helpers": "0.5.12", "@types/requirejs": "2.1.29", "raw-loader": "~0.5.1", "react": "17.0.1", @@ -7169,7 +9600,7 @@ "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -7177,31 +9608,33 @@ } }, "node_modules/@microsoft/sp-loader/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@microsoft/sp-loader/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -7215,18 +9648,21 @@ "node_modules/@microsoft/sp-loader/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@microsoft/sp-lodash-subset": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.20.0.tgz", - "integrity": "sha512-xKOHUarrX3tVG/PAJ60KJPzuk7aoOUNuoRyB9/M79Mo4iidyT+7PD9XmS5tcdseUfPzi6N2uE7X9BYsbCG0EbA==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.21.1.tgz", + "integrity": "sha512-5wOwxn96Um5gifI0EIq+sxeQaUppIYSHBn1msK/HY5m91MuntuRwjyA74aCjVkeqzu2gYeMNpMl/RY1mRVuPEw==", + "license": "https://aka.ms/spfx/license", "dependencies": { + "@swc/helpers": "0.5.12", "@types/lodash": "4.14.117", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-lodash-subset/node_modules/@types/lodash": { @@ -7235,26 +9671,28 @@ "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==" }, "node_modules/@microsoft/sp-module-interfaces": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.20.2.tgz", - "integrity": "sha512-s4hm7PNes++7uviF+aJsqLsrzcaQttye/xuW+8IxMg1b2v/ys1bvfKUucM2N9T2hsz0q8+yWAwwuAl1C3PgBtA==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.21.1.tgz", + "integrity": "sha512-ZIz8gKHtVerwrbi6il6qu69PtxOKzpFdL7YAts5BgGeupNjSwO7+rHPsupOz/zqwnXfpSnRMBUD3RFSCh1CnJQ==", + "license": "https://aka.ms/spfx/license", "dependencies": { - "@rushstack/node-core-library": "5.9.0", - "z-schema": "4.2.4" + "@rushstack/node-core-library": "5.12.0", + "z-schema": "6.0.2" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-module-interfaces/node_modules/@rushstack/node-core-library": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.9.0.tgz", - "integrity": "sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.12.0.tgz", + "integrity": "sha512-QSwwzgzWoil1SCQse+yCHwlhRxNv2dX9siPnAb9zR/UmMhac4mjMrlMZpk64BlCeOFi1kJKgXRkihSwRMbboAQ==", + "license": "MIT", "dependencies": { "ajv": "~8.13.0", "ajv-draft-04": "~1.0.0", "ajv-formats": "~3.0.1", - "fs-extra": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -7273,6 +9711,7 @@ "version": "8.13.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -7288,6 +9727,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", "peerDependencies": { "ajv": "^8.5.0" }, @@ -7301,6 +9741,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -7314,20 +9755,52 @@ } }, "node_modules/@microsoft/sp-module-interfaces/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@microsoft/sp-module-interfaces/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } }, "node_modules/@microsoft/sp-module-interfaces/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/@microsoft/sp-module-interfaces/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, "node_modules/@microsoft/sp-module-interfaces/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -7336,17 +9809,21 @@ } }, "node_modules/@microsoft/sp-module-interfaces/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7355,6 +9832,7 @@ "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7365,10 +9843,20 @@ "node": ">=10" } }, + "node_modules/@microsoft/sp-module-interfaces/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@microsoft/sp-module-interfaces/node_modules/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -7376,88 +9864,99 @@ "node_modules/@microsoft/sp-module-interfaces/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" }, "node_modules/@microsoft/sp-module-interfaces/node_modules/z-schema": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.4.tgz", - "integrity": "sha512-YvBeW5RGNeNzKOUJs3rTL4+9rpcvHXt5I051FJbOcitV8bl40pEfcG0Q+dWSwS0/BIYrMZ/9HHoqLllMkFhD0w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-6.0.2.tgz", + "integrity": "sha512-9fQb2ZhpMD0ZQXYw0ll5ya6uLQm3Xtt4DXY2RV3QO1QVI4ihSzSWirlgkDsMgGg4qK0EV4tLOJgRSH2bn0cbIw==", + "license": "MIT", "dependencies": { "lodash.get": "^4.4.2", "lodash.isequal": "^4.5.0", - "validator": "^13.6.0" + "validator": "^13.7.0" }, "bin": { "z-schema": "bin/z-schema" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.0.0" }, "optionalDependencies": { - "commander": "^2.7.1" + "commander": "^11.0.0" } }, "node_modules/@microsoft/sp-odata-types": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.20.0.tgz", - "integrity": "sha512-PbdK2U+1n44Msmkt5Y2PvYfuckDYURjLA0kAQSA9YxFYGe00N4EVj8CN0HegK59F/KGfAZdqM1OlQCJ+4SClGg==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.21.1.tgz", + "integrity": "sha512-pI7Qbxm+IjIThdUFpO63LwR/oxSLM9qqTbJNng6cRBEYCcNXiLRQiaXWFWP1TrNVTvDVSVThvT6vZZ7YPrz0ig==", + "license": "https://aka.ms/spfx/license", "dependencies": { + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-office-ui-fabric-core": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-office-ui-fabric-core/-/sp-office-ui-fabric-core-1.20.0.tgz", - "integrity": "sha512-4bVXNuO05WvMG1xnFEUcbT1wyg2e751QfI7ULRaIvG3597UEv3rKrdETut5QWyHrqmE3x+ERkcC0sHS/Y4Gh3w==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-office-ui-fabric-core/-/sp-office-ui-fabric-core-1.21.1.tgz", + "integrity": "sha512-r4rfFvbVi6W02g+ikoyHMxDlcO0iHX0dtf5pK1YfZGnOzHzhkPLyhWWUxP+Jnmu7VoRecsZAw5RcQz09HP6VaQ==", + "license": "https://aka.ms/spfx/license", "dependencies": { + "@swc/helpers": "0.5.12", "office-ui-fabric-core": "11.0.1", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-page-context": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.20.0.tgz", - "integrity": "sha512-4H8+QuPJTvyAlf/xbJ8OK/xoxGmaUATCvFIRcEtMfhgEjwcUICpkl7hHeOlPfmscrHafmW4nxTqj16IVIW66kQ==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-dynamic-data": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-odata-types": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.21.1.tgz", + "integrity": "sha512-hrLuhcmK2fxPYq/oWCk4qrzZrnYsjreyZ5rUUN1miYoFUpoPOuPPvZ61G9hONBzht+HAjw6n5G2LwKhCM97d4g==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-dynamic-data": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-odata-types": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-property-pane": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-property-pane/-/sp-property-pane-1.20.0.tgz", - "integrity": "sha512-6cffQiTSM6fMdhAFvkZGvwWhUM0D/h3H5TDaXZGCuinHD5juJcvIjTRJDLfLp99ZM90yrwxhWG6qdt3Vb5FTnQ==", - "dependencies": { - "@fluentui/react": "^8.117.5", - "@fluentui/react-components": "^9.54.4", - "@fluentui/react-icons": "~2.0.203", - "@fluentui/react-tabster": "^9.22.1", - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-dynamic-data": "1.20.0", - "@microsoft/sp-image-helper": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-property-pane/-/sp-property-pane-1.21.1.tgz", + "integrity": "sha512-6xdjKzM05zkiDU90gFvQsRGJNK2HI4PQbc3Hkyzc1AM7KHQzkugiS8nbds0p4HoZGIv1p+4L25FmpZBeQtnfmw==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@fluentui/react": "^8.122.9", + "@fluentui/react-components": "^9.58.3", + "@fluentui/react-icons": "~2.0.258", + "@fluentui/react-tabster": "^9.23.3", + "@fluentui/utilities": "^8.15.19", + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-dynamic-data": "1.21.1", + "@microsoft/sp-image-helper": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@swc/helpers": "0.5.12", "react": "17.0.1", "react-dom": "17.0.1", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -7465,31 +9964,33 @@ } }, "node_modules/@microsoft/sp-property-pane/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@microsoft/sp-property-pane/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -7503,53 +10004,59 @@ "node_modules/@microsoft/sp-property-pane/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@microsoft/sp-search-extensibility": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-search-extensibility/-/sp-search-extensibility-1.20.0.tgz", - "integrity": "sha512-mBWzCyhryd46DSNUCXFwCTP23AVNI9gYiz5xDjGb41UaC1frrIpk1pHANm1n4en0/KHl6gzTOongonww7YKd+g==", - "dependencies": { - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-extension-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-search-extensibility/-/sp-search-extensibility-1.21.1.tgz", + "integrity": "sha512-V+877MjAsJ+zvPOzwwK/XBUkcafwLN34l4xTb1oXlLBXfgtGmAffxT1Gwu52RckCll3RYWK5yZ8onzopF0A1Wg==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-extension-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@swc/helpers": "0.5.12", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" } }, "node_modules/@microsoft/sp-top-actions": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-top-actions/-/sp-top-actions-1.20.0.tgz", - "integrity": "sha512-Ir07zIdwRJ3yHeHomu1ALsBb7Ohhdaud4UdKGpz3ghVk82xvHzNkWWIR7V8AVe6S991lEEnD9O9E1ASHsbTvJQ==" + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-top-actions/-/sp-top-actions-1.21.1.tgz", + "integrity": "sha512-ag2fDtYRRg/emS+qEGMr8AZib82QhlGgHZpAonq+pB07ofewlKJAOd/jDACWWZbNdDHNTWByHDPRjoWIu93law==", + "license": "https://aka.ms/spfx/license" }, "node_modules/@microsoft/sp-webpart-base": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.20.0.tgz", - "integrity": "sha512-kwW4MSBvbjxljZXwOhETZjrcGZryUhFtbBIbJ6hG6gbWsUNeZA4JBm5+jXsq07pOfYS8tIMfcYKpEEsbCEiHRw==", - "dependencies": { - "@fluentui/react": "^8.117.5", - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-diagnostics": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-http-base": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-module-interfaces": "1.20.2", - "@microsoft/sp-page-context": "1.20.0", - "@microsoft/sp-property-pane": "1.20.0", - "@microsoft/sp-top-actions": "1.20.0", - "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.24.0", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.21.1.tgz", + "integrity": "sha512-nzjT59nMfjM5b0Zr8J14lyshndJm28x2Tg+Jn3TAwA7PwcntlUosZj+lfTOvAyna8YdJpoc6vCrXSul9fQUSpA==", + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@fluentui/react": "^8.122.9", + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-diagnostics": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-http-base": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@microsoft/sp-property-pane": "1.21.1", + "@microsoft/sp-top-actions": "1.21.1", + "@microsoft/teams-js-v2": "npm:@microsoft/teams-js@2.32.0", + "@swc/helpers": "0.5.12", "@types/office-js": "1.0.36", "react": "17.0.1", "react-dom": "17.0.1", "tslib": "2.3.1" }, "engines": { - "node": ">=18.17.1 <19.0.0" + "node": ">=18.17.1 <19.0.0 || >=22.14.0 < 23.0.0" }, "peerDependencies": { "@types/react": ">=16.9.51 <18.0.0", @@ -7557,31 +10064,33 @@ } }, "node_modules/@microsoft/sp-webpart-base/node_modules/@fluentui/merge-styles": { - "version": "8.6.13", - "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.13.tgz", - "integrity": "sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==", + "version": "8.6.14", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.6.14.tgz", + "integrity": "sha512-vghuHFAfQgS9WLIIs4kgDOCh/DHd5vGIddP4/bzposhlAVLZR6wUBqldm9AuCdY88r5LyCRMavVJLV+Up3xdvA==", + "license": "MIT", "dependencies": { - "@fluentui/set-version": "^8.2.23", + "@fluentui/set-version": "^8.2.24", "tslib": "^2.1.0" } }, "node_modules/@microsoft/sp-webpart-base/node_modules/@fluentui/react": { - "version": "8.121.11", - "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.121.11.tgz", - "integrity": "sha512-Sosd8tSREhkt0bgjywChYpYr7YwnO3m0BtU8qg05zSxBQOm8d391Rm15MLxIc+Yidf1j53nsqtaTA4NmHHkpSw==", - "dependencies": { - "@fluentui/date-time-utilities": "^8.6.9", - "@fluentui/font-icons-mdl2": "^8.5.55", - "@fluentui/foundation-legacy": "^8.4.21", - "@fluentui/merge-styles": "^8.6.13", - "@fluentui/react-focus": "^8.9.18", - "@fluentui/react-hooks": "^8.8.16", + "version": "8.122.18", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.122.18.tgz", + "integrity": "sha512-XwK8HchAxzcYgBdYzMzNFOqHeo8u2Ht4dcJbii4vxWk24T1UqC4CBY0O8pAY6IN1EEhRyXK6epL45nKXJRcabA==", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.6.10", + "@fluentui/font-icons-mdl2": "^8.5.62", + "@fluentui/foundation-legacy": "^8.4.28", + "@fluentui/merge-styles": "^8.6.14", + "@fluentui/react-focus": "^8.9.25", + "@fluentui/react-hooks": "^8.8.19", "@fluentui/react-portal-compat-context": "^9.0.13", - "@fluentui/react-window-provider": "^2.2.28", - "@fluentui/set-version": "^8.2.23", - "@fluentui/style-utilities": "^8.11.4", - "@fluentui/theme": "^2.6.63", - "@fluentui/utilities": "^8.15.19", + "@fluentui/react-window-provider": "^2.2.30", + "@fluentui/set-version": "^8.2.24", + "@fluentui/style-utilities": "^8.12.2", + "@fluentui/theme": "^2.6.67", + "@fluentui/utilities": "^8.15.22", "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^2.1.0" }, @@ -7595,7 +10104,8 @@ "node_modules/@microsoft/sp-webpart-base/node_modules/@microsoft/load-themed-styles": { "version": "1.10.295", "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.295.tgz", - "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==" + "integrity": "sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==", + "license": "MIT" }, "node_modules/@microsoft/spfx-heft-plugins": { "version": "1.20.2", @@ -7634,6 +10144,20 @@ "xml": "~1.0.1" } }, + "node_modules/@microsoft/spfx-heft-plugins/node_modules/@microsoft/sp-module-interfaces": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.20.2.tgz", + "integrity": "sha512-s4hm7PNes++7uviF+aJsqLsrzcaQttye/xuW+8IxMg1b2v/ys1bvfKUucM2N9T2hsz0q8+yWAwwuAl1C3PgBtA==", + "dev": true, + "license": "https://aka.ms/spfx/license", + "dependencies": { + "@rushstack/node-core-library": "5.9.0", + "z-schema": "4.2.4" + }, + "engines": { + "node": ">=18.17.1 <19.0.0" + } + }, "node_modules/@microsoft/spfx-heft-plugins/node_modules/@rushstack/node-core-library": { "version": "5.9.0", "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.9.0.tgz", @@ -7659,18 +10183,22 @@ } }, "node_modules/@microsoft/spfx-heft-plugins/node_modules/@rushstack/node-core-library/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7686,18 +10214,22 @@ } }, "node_modules/@microsoft/spfx-heft-plugins/node_modules/@rushstack/rig-package/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7749,6 +10281,14 @@ } } }, + "node_modules/@microsoft/spfx-heft-plugins/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/@microsoft/spfx-heft-plugins/node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -7829,17 +10369,50 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/@microsoft/spfx-heft-plugins/node_modules/validator": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/@microsoft/spfx-heft-plugins/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/@microsoft/spfx-heft-plugins/node_modules/z-schema": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.4.tgz", + "integrity": "sha512-YvBeW5RGNeNzKOUJs3rTL4+9rpcvHXt5I051FJbOcitV8bl40pEfcG0Q+dWSwS0/BIYrMZ/9HHoqLllMkFhD0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.6.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=6.0.0" + }, + "optionalDependencies": { + "commander": "^2.7.1" + } + }, "node_modules/@microsoft/teams-js-v2": { "name": "@microsoft/teams-js", - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@microsoft/teams-js/-/teams-js-2.24.0.tgz", - "integrity": "sha512-C4s+Cy9HNLyob0iFmtzMAqElSXusnQMiWXgXPl+7aImqg6IKam4KPvf98QrZNhYDFaNMD8rgZT7OnBVUkMCW5w==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/@microsoft/teams-js/-/teams-js-2.32.0.tgz", + "integrity": "sha512-ZKfQtbGRZisvdUdxt8iiX7uRlrB14fIQiB3+zV76CJoLDSMD1WqB4qlP8pgrKHyG2HjCI1TC3/wuKXGLjrOT2g==", + "deprecated": "Package no longer supported. Use at your own risk", + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "debug": "^4.3.3" @@ -7970,9 +10543,9 @@ } }, "node_modules/@nuvemerudita/react-controls/node_modules/@iconify/react": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@iconify/react/-/react-5.2.0.tgz", - "integrity": "sha512-7Sdjrqq3fkkQNks9SY3adGC37NQTHsBJL2PRKlQd455PoDi9s+Es9AUTY+vGLFOYs5yO9w9yCE42pmxCwG26WA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@iconify/react/-/react-5.2.1.tgz", + "integrity": "sha512-37GDR3fYDZmnmUn9RagyaX+zca24jfVOMY8E1IXTqJuE8pxNtN51KWPQe3VODOWvuUurq7q9uUu3CFrpqj5Iqg==", "license": "MIT", "dependencies": { "@iconify/types": "^2.0.0" @@ -7985,9 +10558,9 @@ } }, "node_modules/@nuvemerudita/react-controls/node_modules/@types/react": { - "version": "17.0.83", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz", - "integrity": "sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==", + "version": "17.0.85", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.85.tgz", + "integrity": "sha512-5oBDUsRDsrYq4DdyHaL99gE1AJCfuDhyxqF6/55fvvOIRkp1PpKuwJ+aMiGJR+GJt7YqMNclPROTHF20vY2cXA==", "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -7995,12 +10568,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@nuvemerudita/react-controls/node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "license": "MIT" - }, "node_modules/@opentelemetry/api": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", @@ -8117,10 +10684,11 @@ } }, "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -8128,7 +10696,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -8240,6 +10808,19 @@ "url": "https://opencollective.com/pnpm" } }, + "node_modules/@pnpm/crypto.polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pnpm/crypto.polyfill/-/crypto.polyfill-1.0.0.tgz", + "integrity": "sha512-WbmsqqcUXKKaAF77ox1TQbpZiaQcr26myuMUu+WjUtoWYgD3VP6iKYEvSx35SZ6G2L316lu+pv+40A2GbWJc1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, "node_modules/@pnpm/dependency-path": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@pnpm/dependency-path/-/dependency-path-2.1.8.tgz", @@ -8258,11 +10839,45 @@ "url": "https://opencollective.com/pnpm" } }, + "node_modules/@pnpm/dependency-path-lockfile-pre-v9": { + "name": "@pnpm/dependency-path", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@pnpm/dependency-path/-/dependency-path-2.1.8.tgz", + "integrity": "sha512-ywBaTjy0iSEF7lH3DlF8UXrdL2bw4AQFV2tTOeNeY7wc1W5CE+RHSJhf9MXBYcZPesqGRrPiU7Pimj3l05L9VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/crypto.base32-hash": "2.0.0", + "@pnpm/types": "9.4.2", + "encode-registry": "^3.0.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@pnpm/dependency-path-lockfile-pre-v9/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@pnpm/dependency-path/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -8321,6 +10936,36 @@ "url": "https://opencollective.com/pnpm" } }, + "node_modules/@pnpm/lockfile.types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@pnpm/lockfile.types/-/lockfile.types-1.0.3.tgz", + "integrity": "sha512-A7vUWktnhDkrIs+WmXm7AdffJVyVYJpQUEouya/DYhB+Y+tQ3BXjZ6CV0KybqLgI/8AZErgCJqFxA0GJH6QDjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pnpm/patching.types": "1.0.0", + "@pnpm/types": "12.2.0" + }, + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@pnpm/lockfile.types/node_modules/@pnpm/types": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-12.2.0.tgz", + "integrity": "sha512-5RtwWhX39j89/Tmyv2QSlpiNjErA357T/8r1Dkg+2lD3P7RuS7Xi2tChvmOC3VlezEFNcWnEGCOeKoGRkDuqFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, "node_modules/@pnpm/package-bins": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@pnpm/package-bins/-/package-bins-4.1.0.tgz", @@ -8350,6 +10995,19 @@ "url": "https://opencollective.com/pnpm" } }, + "node_modules/@pnpm/patching.types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pnpm/patching.types/-/patching.types-1.0.0.tgz", + "integrity": "sha512-juCdQCC1USqLcOhVPl1tYReoTO9YH4fTullMnFXXcmpsDM7Dkn3tzuOQKC3oPoJ2ozv+0EeWWMtMGqn2+IM3pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, "node_modules/@pnpm/read-modules-dir": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@pnpm/read-modules-dir/-/read-modules-dir-2.0.3.tgz", @@ -8497,11 +11155,25 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz", + "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rushstack/debug-certificate-manager": { "version": "1.1.84", "resolved": "https://registry.npmjs.org/@rushstack/debug-certificate-manager/-/debug-certificate-manager-1.1.84.tgz", "integrity": "sha512-GondfbezgkjT9U6WdMRdjJMkkYkUf/w2YiFKX2wUrmXyNmoApzpu8fXC3sDHb2LXKR7MvBNDY5YrpLooEYJhUg==", "dev": true, + "license": "MIT", "dependencies": { "@rushstack/node-core-library": "3.53.2", "node-forge": "~1.3.1", @@ -8550,18 +11222,22 @@ } }, "node_modules/@rushstack/eslint-config/node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8723,10 +11399,11 @@ } }, "node_modules/@rushstack/eslint-plugin-packlets/node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" }, "node_modules/@rushstack/eslint-plugin-packlets/node_modules/@typescript-eslint/scope-manager": { "version": "6.19.1", @@ -8900,10 +11577,11 @@ } }, "node_modules/@rushstack/eslint-plugin-packlets/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -8925,10 +11603,11 @@ } }, "node_modules/@rushstack/eslint-plugin-security/node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" }, "node_modules/@rushstack/eslint-plugin-security/node_modules/@typescript-eslint/scope-manager": { "version": "6.19.1", @@ -9102,10 +11781,11 @@ } }, "node_modules/@rushstack/eslint-plugin-security/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -9228,18 +11908,22 @@ } }, "node_modules/@rushstack/heft-config-file/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9266,9 +11950,10 @@ "dev": true }, "node_modules/@rushstack/loader-raw-script": { - "version": "1.4.64", - "resolved": "https://registry.npmjs.org/@rushstack/loader-raw-script/-/loader-raw-script-1.4.64.tgz", - "integrity": "sha512-OIuPkbIJhCw7CixrsB+9DcQDZEiZU3y3tW8kupKmFzbD6ny57ZvEAincBwnyxZdTBElgjz9jYUHFEBIWxse1Ug==", + "version": "1.4.92", + "resolved": "https://registry.npmjs.org/@rushstack/loader-raw-script/-/loader-raw-script-1.4.92.tgz", + "integrity": "sha512-CkyiTM4IXwe0tKKQCfUhkzPkV4fCpDEh6Jglh6IkHKo+IDVKfV3XA/wMkf5P+ulTmO2H03NT6MogeptcXB3g/A==", + "license": "MIT", "dependencies": { "loader-utils": "1.4.2" } @@ -9376,18 +12061,22 @@ } }, "node_modules/@rushstack/localization-utilities/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9489,10 +12178,11 @@ } }, "node_modules/@rushstack/node-core-library/node_modules/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -9616,18 +12306,22 @@ } }, "node_modules/@rushstack/package-deps-hash/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9759,18 +12453,22 @@ } }, "node_modules/@rushstack/package-extractor/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9909,18 +12607,22 @@ } }, "node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10049,18 +12751,22 @@ } }, "node_modules/@rushstack/rush-azure-storage-build-cache-plugin/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10188,18 +12894,22 @@ } }, "node_modules/@rushstack/rush-http-build-cache-plugin/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10328,18 +13038,22 @@ } }, "node_modules/@rushstack/rush-sdk/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10474,18 +13188,22 @@ } }, "node_modules/@rushstack/set-webpack-public-path-plugin/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10611,18 +13329,22 @@ } }, "node_modules/@rushstack/stream-collator/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10756,18 +13478,22 @@ } }, "node_modules/@rushstack/terminal/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10921,18 +13647,22 @@ } }, "node_modules/@rushstack/typings-generator/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11090,18 +13820,22 @@ } }, "node_modules/@rushstack/webpack5-localization-plugin/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11246,9 +13980,10 @@ "peer": true }, "node_modules/@swc/helpers": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", - "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.12.tgz", + "integrity": "sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.4.0" } @@ -11509,22 +14244,11 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", - "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { "version": "4.19.6", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -11532,6 +14256,21 @@ "@types/send": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/glob-stream": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-8.0.2.tgz", @@ -11967,6 +14706,33 @@ "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, + "node_modules/@types/mapbox__point-geometry": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==", + "license": "MIT" + }, + "node_modules/@types/mapbox__vector-tile": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*", + "@types/mapbox__point-geometry": "*", + "@types/pbf": "*" + } + }, + "node_modules/@types/maplibre-gl": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@types/maplibre-gl/-/maplibre-gl-1.13.2.tgz", + "integrity": "sha512-IC1RBMhKXpGDpiFsEwt17c/hbff0GCS/VmzqmrY6G+kyy2wfv2e7BoSQRAfqrvhBQPCoO8yc0SNCi5HkmCcVqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", @@ -12002,14 +14768,16 @@ } }, "node_modules/@types/node-fetch/node_modules/form-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", - "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.3.tgz", + "integrity": "sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -12058,6 +14826,12 @@ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, + "node_modules/@types/pbf": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==", + "license": "MIT" + }, "node_modules/@types/picomatch": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-3.0.1.tgz", @@ -12140,9 +14914,10 @@ "dev": true }, "node_modules/@types/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.3.5", @@ -12227,6 +15002,15 @@ "@types/node": "*" } }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/tapable": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", @@ -12433,6 +15217,180 @@ "node": ">= 4" } }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.20.0.tgz", + "integrity": "sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.20.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", + "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", + "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", + "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/visitor-keys": "5.20.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", + "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.20.0", + "@typescript-eslint/types": "5.20.0", + "@typescript-eslint/typescript-estree": "5.20.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", + "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.20.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/@typescript-eslint/parser": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.1.0.tgz", @@ -12615,10 +15573,11 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -12665,6 +15624,42 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.2.2.tgz", + "integrity": "sha512-Gz/Sm64+Sq/vklJu1tt9t+4R2lvnud8NbTD/ZfpZtMiUX7YeVpCA8j6NSW8ptwcoLL+NmYANwqP8DV0q/bwl2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@typespec/ts-http-runtime/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@typespec/ts-http-runtime/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, "node_modules/@uifabric/icons": { "version": "7.9.5", "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.9.5.tgz", @@ -12814,6 +15809,41 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, + "node_modules/@vis.gl/react-mapbox": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@vis.gl/react-mapbox/-/react-mapbox-8.0.4.tgz", + "integrity": "sha512-NFk0vsWcNzSs0YCsVdt2100Zli9QWR+pje8DacpLkkGEAXFaJsFtI1oKD0Hatiate4/iAIW39SQHhgfhbeEPfQ==", + "license": "MIT", + "peerDependencies": { + "mapbox-gl": ">=3.5.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "mapbox-gl": { + "optional": true + } + } + }, + "node_modules/@vis.gl/react-maplibre": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@vis.gl/react-maplibre/-/react-maplibre-8.0.4.tgz", + "integrity": "sha512-HwZyfLjEu+y1mUFvwDAkVxinGm8fEegaWN+O8np/WZ2Sqe5Lv6OXFpV6GWz9LOEvBYMbGuGk1FQdejo+4HCJ5w==", + "license": "MIT", + "dependencies": { + "@maplibre/maplibre-gl-style-spec": "^19.2.1" + }, + "peerDependencies": { + "maplibre-gl": ">=4.0.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "maplibre-gl": { + "optional": true + } + } + }, "node_modules/@vue/compiler-core": { "version": "3.5.12", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", @@ -13173,10 +16203,11 @@ } }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -13215,6 +16246,16 @@ "acorn": "^8" } }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -13238,6 +16279,7 @@ "resolved": "https://registry.npmjs.org/adal-angular/-/adal-angular-1.0.16.tgz", "integrity": "sha512-tJf2bRwolKA8/J+wcy4CFOTAva8gpueHplptfjz3Wt1XOb7Y1jnwdm2VdkFZQUhxCtd/xPvcRSAQP2+ROtAD5g==", "deprecated": "This package is no longer supported. Please migrate to @azure/msal-angular.", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -13305,13 +16347,11 @@ } }, "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, + "license": "MIT", "engines": { "node": ">= 14" } @@ -13966,7 +17006,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -14251,17 +17290,21 @@ } }, "node_modules/babel-plugin-macros/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14648,6 +17691,7 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "1", "string_decoder": "0.10" @@ -14660,7 +17704,8 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.3.0", @@ -14971,6 +18016,25 @@ "node": ">= 0.8" } }, + "node_modules/bytewise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", + "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", + "license": "MIT", + "dependencies": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "node_modules/bytewise-core": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", + "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", + "license": "MIT", + "dependencies": { + "typewise-core": "^1.2" + } + }, "node_modules/cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -15051,6 +18115,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -16081,6 +19158,7 @@ "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.6.1.tgz", "integrity": "sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -16287,17 +19365,18 @@ } }, "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" + "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" @@ -16307,10 +19386,11 @@ } }, "node_modules/copy-webpack-plugin/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -16322,22 +19402,24 @@ "dev": true }, "node_modules/copy-webpack-plugin/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -16345,7 +19427,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -16395,7 +19477,6 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "peer": true, "dependencies": { "object-assign": "^4", "vary": "^1" @@ -17119,27 +20200,32 @@ "dev": true }, "node_modules/create-jest/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/create-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -18546,27 +21632,32 @@ } }, "node_modules/depcheck/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/depcheck/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -18854,10 +21945,11 @@ } }, "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -18908,6 +22000,20 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -18954,6 +22060,12 @@ "node": ">=0.10.0" } }, + "node_modules/earcut": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", + "license": "ISC" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -19012,24 +22124,6 @@ "integrity": "sha512-xQ9oVLrun/eCG/7ru3R+I5bJ7shsD8fFwLEY7yPe27/+fDHCNj0OT5EoG5ZbFyOxOcG6yTwW8oTz/dWyFnyGpg==", "license": "MIT" }, - "node_modules/embla-carousel-autoplay": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/embla-carousel-autoplay/-/embla-carousel-autoplay-8.5.2.tgz", - "integrity": "sha512-27emJ0px3q/c0kCHCjwRrEbYcyYUPfGO3g5IBWF1i7714TTzE6L9P81V6PHLoSMAKJ1aHoT2e7YFOsuFKCbyag==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.5.2" - } - }, - "node_modules/embla-carousel-fade": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/embla-carousel-fade/-/embla-carousel-fade-8.5.2.tgz", - "integrity": "sha512-QJ46Xy+mpijjquQeIY0d0sPSy34XduREUnz7tn1K20hcKyZYTONNIXQZu3GGNwG59cvhMqYJMw9ki92Rjd14YA==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.5.2" - } - }, "node_modules/embla-carousel-react": { "version": "8.5.2", "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.5.2.tgz", @@ -19381,12 +22475,10 @@ "dev": true }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -19432,10 +22524,10 @@ "dev": true }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -19444,14 +22536,16 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -19658,17 +22752,18 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -20055,10 +23150,11 @@ "dev": true }, "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -20066,7 +23162,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -20846,16 +23942,17 @@ "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -20908,21 +24005,18 @@ } }, "node_modules/fast-xml-parser": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", - "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", + "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" } ], + "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" @@ -20962,6 +24056,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", "dev": true, + "license": "MIT", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -21103,6 +24198,12 @@ "fast-loops": "^1.0.0" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/figures": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", @@ -21929,13 +25030,15 @@ } }, "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -21982,6 +25085,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -22100,6 +25204,12 @@ "node": ">=6.9.0" } }, + "node_modules/geojson-vt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", + "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==", + "license": "ISC" + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -22119,15 +25229,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -22157,6 +25273,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -22199,7 +25328,6 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -22231,6 +25359,12 @@ "node": ">= 0.10.0" } }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "license": "MIT" + }, "node_modules/glob": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", @@ -22822,11 +25956,12 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -23164,6 +26299,7 @@ "resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.7.0.tgz", "integrity": "sha512-8tRcC6wgXMLakpPw9M7GRJIhxkYdgZsXwn7n56BA2bQYGLR9NOPhMzx7js+qYDy6vhNkbApGKURjAw1FjY4pNA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-colors": "^2.0.5", "connect": "^3.6.6", @@ -23184,6 +26320,7 @@ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.5.tgz", "integrity": "sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -23193,6 +26330,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -23201,13 +26339,15 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/gulp-connect/node_modules/mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true, + "license": "MIT", "bin": { "mime": "cli.js" } @@ -23216,13 +26356,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/gulp-connect/node_modules/send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", @@ -23433,6 +26575,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -23441,9 +26584,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -23893,6 +27037,7 @@ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -24089,7 +27234,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -24505,9 +27649,10 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -24597,7 +27742,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -24609,7 +27753,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -25175,6 +28318,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", "dependencies": { "node-fetch": "^2.6.1", "whatwg-fetch": "^3.4.1" @@ -25183,7 +28327,8 @@ "node_modules/isomorphic-fetch/node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", - "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" }, "node_modules/isstream": { "version": "0.1.2", @@ -26209,27 +29354,32 @@ "dev": true }, "node_modules/jest-circus/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jest-circus/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -27167,27 +30317,32 @@ "dev": true }, "node_modules/jest-cli/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jest-cli/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -29512,27 +32667,32 @@ "dev": true }, "node_modules/jest/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -29767,6 +32927,16 @@ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, "node_modules/jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -29813,6 +32983,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-pretty-compact": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", + "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==", + "license": "MIT" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -29835,6 +33011,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -29871,12 +33048,13 @@ } }, "node_modules/jsonwebtoken/node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", "dev": true, + "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", + "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } @@ -29892,10 +33070,11 @@ } }, "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -29960,12 +33139,13 @@ "dev": true }, "node_modules/jwa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", - "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", "dev": true, + "license": "MIT", "dependencies": { - "buffer-equal-constant-time": "1.0.1", + "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } @@ -30241,10 +33421,17 @@ "node": ">=10" } }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, "node_modules/keyborg": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/keyborg/-/keyborg-2.6.0.tgz", - "integrity": "sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==" + "integrity": "sha512-o5kvLbuTF+o326CMVYpjlaykxqYP9DphFQZ2ZpgrvBouyvOxyEB7oqe8nOLFpiV5VCtz0D3pt8gXQYWpLpBnmA==", + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", @@ -30473,7 +33660,8 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/load-json-file": { "version": "6.2.0", @@ -30835,10 +34023,11 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -30919,7 +34108,8 @@ "version": "0.0.7", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/map-visit": { "version": "1.0.0", @@ -30933,6 +34123,129 @@ "node": ">=0.10.0" } }, + "node_modules/maplibre-gl": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.6.1.tgz", + "integrity": "sha512-TTSfoTaF7RqKUR9wR5qDxCHH2J1XfZ1E85luiLOx0h8r50T/LnwAwwfV0WVNh9o8dA7rwt57Ucivf1emyeukXg==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^2.0.6", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^23.3.0", + "@types/geojson": "^7946.0.16", + "@types/geojson-vt": "3.2.5", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", + "earcut": "^3.0.1", + "geojson-vt": "^4.0.2", + "gl-matrix": "^3.4.3", + "global-prefix": "^4.0.0", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^3.3.0", + "potpack": "^2.0.0", + "quickselect": "^3.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^3.0.0", + "vt-pbf": "^3.1.3" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/maplibre-gl/node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz", + "integrity": "sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/maplibre-gl/node_modules/global-prefix": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-4.0.0.tgz", + "integrity": "sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==", + "license": "MIT", + "dependencies": { + "ini": "^4.1.3", + "kind-of": "^6.0.3", + "which": "^4.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/maplibre-gl/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/maplibre-gl/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/maplibre-gl/node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT" + }, + "node_modules/maplibre-gl/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maplibre-gl/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -31192,6 +34505,15 @@ "node": ">=0.10.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -31530,45 +34852,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/msalBrowserLegacy": { - "name": "@azure/msal-browser", - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.22.0.tgz", - "integrity": "sha512-ZpnbnzjYGRGHjWDPOLjSp47CQvhK927+W9avtLoNNCMudqs2dBfwj76lnJwObDE7TAKmCUueTiieglBiPb1mgQ==", - "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.", - "dependencies": { - "@azure/msal-common": "^6.1.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msalBrowserLegacy/node_modules/@azure/msal-common": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-6.4.0.tgz", - "integrity": "sha512-WZdgq9f9O8cbxGzdRwLLMM5xjmLJ2mdtuzgXeiGxIRkVVlJ9nZ6sWnDFKa2TX8j72UXD1IfL0p/RYNoTXYoGfg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msalLegacy": { - "name": "msal", - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/msal/-/msal-1.4.12.tgz", - "integrity": "sha512-gjupwQ6nvNL6mZkl5NIXyUmZhTiEMRu5giNdgHMh8l5EPOnV2Xj6nukY1NIxFacSTkEYUSDB47Pej9GxDYf+1w==", - "deprecated": "This package is no longer supported. Please use @azure/msal-browser instead.", - "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/msalLegacy/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/mu2": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/mu2/-/mu2-0.5.21.tgz", @@ -31634,6 +34917,12 @@ "node": ">=8" } }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT" + }, "node_modules/mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", @@ -31687,9 +34976,10 @@ } }, "node_modules/nano-css/node_modules/stylis": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", - "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==" + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" }, "node_modules/nanocolors": { "version": "0.2.13", @@ -31698,9 +34988,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -31708,6 +34998,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -33108,12 +36399,13 @@ } }, "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, + "license": "MIT", "dependencies": { - "entities": "^4.5.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -33144,6 +36436,19 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -33291,6 +36596,19 @@ "node": "*" } }, + "node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -33485,6 +36803,15 @@ "node": ">=0.10.0" } }, + "node_modules/pmtiles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-4.3.0.tgz", + "integrity": "sha512-wnzQeSiYT/MyO63o7AVxwt7+uKqU0QUy2lHrivM7GvecNy0m1A4voVyGey7bujnEW5Hn+ZzLdvHPoFaqrOzbPA==", + "license": "BSD-3-Clause", + "dependencies": { + "fflate": "^0.8.2" + } + }, "node_modules/pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -33532,9 +36859,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -33550,8 +36877,9 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -33730,10 +37058,11 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -33741,21 +37070,6 @@ "node": ">=10" } }, - "node_modules/postcss-loader/node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/postcss-merge-longhand": { "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", @@ -34216,6 +37530,12 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/potpack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", + "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==", + "license": "ISC" + }, "node_modules/preferred-pm": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.4.tgz", @@ -34426,6 +37746,12 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "license": "MIT" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -34575,6 +37901,12 @@ "node": ">=8" } }, + "node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, "node_modules/quill": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", @@ -34857,6 +38189,30 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/react-map-gl": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-map-gl/-/react-map-gl-8.0.4.tgz", + "integrity": "sha512-SHdpvFIvswsZBg6BCPcwY/nbKuCo3sJM1Cj7Sd+gA3gFRFOixD+KtZ2XSuUWq2WySL2emYEXEgrLZoXsV4Ut4Q==", + "license": "MIT", + "dependencies": { + "@vis.gl/react-mapbox": "8.0.4", + "@vis.gl/react-maplibre": "8.0.4" + }, + "peerDependencies": { + "mapbox-gl": ">=1.13.0", + "maplibre-gl": ">=1.13.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "mapbox-gl": { + "optional": true + }, + "maplibre-gl": { + "optional": true + } + } + }, "node_modules/react-mentions": { "version": "4.4.10", "resolved": "https://registry.npmjs.org/react-mentions/-/react-mentions-4.4.10.tgz", @@ -34880,11 +38236,6 @@ "regenerator-runtime": "^0.13.2" } }, - "node_modules/react-mentions/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/react-overflow-list": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/react-overflow-list/-/react-overflow-list-0.5.0.tgz", @@ -35022,6 +38373,7 @@ "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", "dev": true, + "license": "ISC", "dependencies": { "mute-stream": "~0.0.4" }, @@ -35419,9 +38771,10 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" }, "node_modules/regex-not": { "version": "1.0.2", @@ -35910,6 +39263,15 @@ "node": ">= 0.10" } }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "license": "MIT", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -36109,6 +39471,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, "node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -36281,10 +39649,11 @@ } }, "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, + "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -37019,7 +40388,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -37034,7 +40402,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -37046,7 +40413,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -37055,7 +40421,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -37548,6 +40913,15 @@ "node": ">=4" } }, + "node_modules/sort-asc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", + "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sort-css-media-queries": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz", @@ -37556,6 +40930,15 @@ "node": ">= 6.3.0" } }, + "node_modules/sort-desc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", + "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sort-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", @@ -37580,6 +40963,32 @@ "node": ">=8" } }, + "node_modules/sort-object": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", + "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", + "license": "MIT", + "dependencies": { + "bytewise": "^1.1.0", + "get-value": "^2.0.2", + "is-extendable": "^0.1.1", + "sort-asc": "^0.2.0", + "sort-desc": "^0.2.0", + "union-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -38018,10 +41427,11 @@ } }, "node_modules/spfx-fast-serve-helpers/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -38058,10 +41468,11 @@ } }, "node_modules/spfx-fast-serve-helpers/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -38069,20 +41480,6 @@ "node": ">=10" } }, - "node_modules/spfx-fast-serve-helpers/node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/spfx-fast-serve-helpers/node_modules/webpack-merge": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", @@ -38143,7 +41540,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "dependencies": { "extend-shallow": "^3.0.0" }, @@ -38155,7 +41551,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -38655,9 +42050,16 @@ } }, "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" }, "node_modules/stubs": { "version": "3.0.0", @@ -38728,6 +42130,15 @@ "node": ">=0.8" } }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -38928,14 +42339,24 @@ "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" }, "node_modules/tabster": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/tabster/-/tabster-8.2.0.tgz", - "integrity": "sha512-Gvplk/Yl/12aVFA6FPOqGcq31Qv8hbPfYO0N+6IxrRgRT6eSLsipT6gkZBYjyOwGsp6BD5XlZAuJgupfG/GHoA==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/tabster/-/tabster-8.5.5.tgz", + "integrity": "sha512-fqoBWIZRPJ2LuAqQWbGGE1KkKz6sX+6ROOeHlXIyRM7qD7XZK0gWc50mJbI8G48wuy8201/kvGkYq3p+QmSTAg==", + "license": "MIT", "dependencies": { "keyborg": "2.6.0", - "tslib": "^2.3.1" + "tslib": "^2.8.1" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.40.0" } }, + "node_modules/tabster/node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -38945,6 +42366,24 @@ "node": ">=6" } }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", @@ -38973,6 +42412,36 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/teeny-request": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", @@ -39312,6 +42781,7 @@ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, + "license": "MIT", "dependencies": { "body": "^5.1.0", "debug": "^3.1.0", @@ -39326,10 +42796,17 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, + "node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -39582,10 +43059,11 @@ "dev": true }, "node_modules/ts-api-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", - "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -39696,10 +43174,11 @@ } }, "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -40044,18 +43523,34 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, + "node_modules/typewise": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", + "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", + "license": "MIT", + "dependencies": { + "typewise-core": "^1.2.0" + } + }, + "node_modules/typewise-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", + "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==", + "license": "MIT" + }, "node_modules/ua-parser-js": { "version": "0.7.39", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.39.tgz", @@ -40193,10 +43688,11 @@ } }, "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -40208,7 +43704,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -40223,7 +43718,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -40232,7 +43726,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -40263,6 +43756,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -40482,22 +43976,10 @@ "node": ">=0.10.0" } }, - "node_modules/use-disposable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/use-disposable/-/use-disposable-1.0.4.tgz", - "integrity": "sha512-j83t6AMLWUyb5zwlTDqf6dP9LezM9R0yTbI/b6olmdaGtCKQUe9pgJWV6dRaaQLcozypjIEp4EmZr2DkZGKLSg==", - "license": "MIT", - "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/use-sync-external-store": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", - "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -40715,6 +44197,17 @@ "node": ">=0.10.0" } }, + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -40948,18 +44441,22 @@ } }, "node_modules/webpack-cli/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -41028,10 +44525,11 @@ "dev": true }, "node_modules/webpack-dev-middleware/node_modules/memfs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.14.0.tgz", - "integrity": "sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", + "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jsonjoy.com/json-pack": "^1.0.3", "@jsonjoy.com/util": "^1.3.0", @@ -41059,10 +44557,11 @@ } }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -41070,7 +44569,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -41298,10 +44797,11 @@ } }, "node_modules/webpack-dev-server/node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, + "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", @@ -41343,10 +44843,11 @@ } }, "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -41354,7 +44855,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -41362,10 +44863,11 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -41395,6 +44897,16 @@ "node": ">=10.0.0" } }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", @@ -41413,15 +44925,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", diff --git a/package.json b/package.json index f1a7fd6c2..e1f64a319 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,10 @@ { "name": "@pnp/spfx-controls-react", "description": "Reusable React controls for SharePoint Framework solutions", - "version": "3.21.0", - "node": ">=16.13.0 <17.0.0 || >=18.17.1 <19.0.0", + "version": "3.22.0", + "engines": { + "node": ">=22.14.0 < 23.0.0" + }, "scripts": { "build": "gulp build", "clean": "gulp clean", @@ -37,23 +39,23 @@ "@fluentui/theme": "^2.6.6", "@iconify/react": "^4.1.1", "@juggle/resize-observer": "3.4.0", - "@microsoft/decorators": "1.20.0", + "@microsoft/decorators": "1.21.1", "@microsoft/mgt-react": "3.1.3", "@microsoft/mgt-spfx": "3.1.3", - "@microsoft/sp-adaptive-card-extension-base": "1.20.0", - "@microsoft/sp-application-base": "1.20.0", - "@microsoft/sp-component-base": "1.20.0", - "@microsoft/sp-core-library": "1.20.0", - "@microsoft/sp-dialog": "1.20.0", - "@microsoft/sp-extension-base": "1.20.0", - "@microsoft/sp-http": "1.20.0", - "@microsoft/sp-listview-extensibility": "1.20.0", - "@microsoft/sp-loader": "1.20.0", - "@microsoft/sp-lodash-subset": "1.20.0", - "@microsoft/sp-office-ui-fabric-core": "1.20.0", - "@microsoft/sp-page-context": "1.20.0", - "@microsoft/sp-property-pane": "1.20.0", - "@microsoft/sp-webpart-base": "1.20.0", + "@microsoft/sp-adaptive-card-extension-base": "1.21.1", + "@microsoft/sp-application-base": "1.21.1", + "@microsoft/sp-component-base": "1.21.1", + "@microsoft/sp-core-library": "1.21.1", + "@microsoft/sp-dialog": "1.21.1", + "@microsoft/sp-extension-base": "1.21.1", + "@microsoft/sp-http": "1.21.1", + "@microsoft/sp-listview-extensibility": "1.21.1", + "@microsoft/sp-loader": "1.21.1", + "@microsoft/sp-lodash-subset": "1.21.1", + "@microsoft/sp-office-ui-fabric-core": "1.21.1", + "@microsoft/sp-page-context": "1.21.1", + "@microsoft/sp-property-pane": "1.21.1", + "@microsoft/sp-webpart-base": "1.21.1", "@monaco-editor/loader": "^1.3.1", "@nuvemerudita/react-controls": "1.0.0", "@pnp/common": "2.5.0", @@ -74,13 +76,16 @@ "he": "^1.2.0", "jotai": "^2.4.2", "lodash": "4.17.21", + "maplibre-gl": "^5.6.1", "markdown-it": "^14.1.0", "monaco-editor": "^0.29.1", "nano-css": "^5.3.4", + "pmtiles": "^4.3.0", "react": "17.0.1", "react-accessible-accordion": "^5.0.0", "react-dom": "17.0.1", "react-dropzone": "^14.2.3", + "react-map-gl": "^8.0.4", "react-mentions": "^4.3.0", "react-quill": "2.0.0", "regexify-string": "^1.0.16", @@ -88,12 +93,12 @@ "swiper": "^8.2.6" }, "devDependencies": { - "@microsoft/eslint-config-spfx": "1.20.2", - "@microsoft/eslint-plugin-spfx": "1.20.2", + "@microsoft/eslint-config-spfx": "1.21.1", + "@microsoft/eslint-plugin-spfx": "1.21.1", "@microsoft/microsoft-graph-types": "^2.1.0", - "@microsoft/rush-stack-compiler-4.7": "0.1.0", - "@microsoft/sp-build-web": "1.20.2", - "@microsoft/sp-module-interfaces": "1.20.2", + "@microsoft/rush-stack-compiler-5.3": "0.1.0", + "@microsoft/sp-build-web": "1.21.1", + "@microsoft/sp-module-interfaces": "1.21.1", "@rushstack/eslint-config": "4.0.1", "@types/chart.js": "2.7.40", "@types/enzyme": "^2.8.12", @@ -101,6 +106,7 @@ "@types/he": "^1.1.2", "@types/jest": "25.2.3", "@types/lodash": "4.14.202", + "@types/maplibre-gl": "^1.13.2", "@types/quill": "^1.3.10", "@types/react": "17.0.45", "@types/react-dom": "17.0.17", @@ -114,7 +120,7 @@ "chai": "^4.3.4", "codecov": "3.8.3", "enzyme": "^3.11.0", - "eslint": "8.57.0", + "eslint": "8.57.1", "eslint-plugin-react-hooks": "4.3.0", "gulp": "4.0.2", "husky": "^8.0.3", @@ -130,7 +136,7 @@ "spfx-fast-serve-helpers": "1.20.2", "ts-jest": "^29.1.1", "tslib": "2.3.1", - "typescript": "4.7.4", + "typescript": "5.3.3", "webpack-bundle-analyzer": "^4.1.0" }, "repository": { diff --git a/src/WorldMap.ts b/src/WorldMap.ts new file mode 100644 index 000000000..77282d866 --- /dev/null +++ b/src/WorldMap.ts @@ -0,0 +1 @@ +export * from './controls/worldMap/index'; diff --git a/src/common/telemetry/version.ts b/src/common/telemetry/version.ts index 57cd50645..1db865533 100644 --- a/src/common/telemetry/version.ts +++ b/src/common/telemetry/version.ts @@ -1 +1 @@ -export const version: string = "3.21.0"; \ No newline at end of file +export const version: string = "3.22.0"; \ No newline at end of file diff --git a/src/controls/calendar/EventPopoverCard.tsx b/src/controls/calendar/EventPopoverCard.tsx index 6ad19c5b4..8e6c75b32 100644 --- a/src/controls/calendar/EventPopoverCard.tsx +++ b/src/controls/calendar/EventPopoverCard.tsx @@ -13,8 +13,8 @@ import { import { EventDetailsPopover } from "./EventDetailsPopover"; import { IEvent } from "./models/IEvents"; -import { Stack } from "@nuvemerudita/react-controls"; -import { useUtils } from "./hooks/useUtils"; +import { Stack } from "@nuvemerudita/react-controls"; +import { useUtils } from "./hooks/useUtils"; import { useWeekViewStyles } from "./hooks/useWeekViewStyles"; interface EventPopoverCardProps { @@ -35,7 +35,8 @@ export const EventPopoverCard: React.FC = ({ eventCount, }) => { const headerId = useId(); - const { styles, applyEventHouverColorClass , appyDynamicStyles} = useWeekViewStyles(); + const { styles, applyEventHouverColorClass, appyDynamicStyles } = + useWeekViewStyles(); const cardRef = React.useRef(null); const { formatDate } = useUtils(); @@ -43,7 +44,9 @@ export const EventPopoverCard: React.FC = ({ () => (
- {event.title} + + {event.title} + = ({
), - [event] + [event], ); return ( @@ -66,12 +69,14 @@ export const EventPopoverCard: React.FC = ({ key={event.id} className={mergeClasses( styles.eventCard, - applyEventHouverColorClass(colors.backgroundColor, colors.backgroundColor), - appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots) + applyEventHouverColorClass( + colors.backgroundColor, + colors.backgroundColor, + ), + appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots), )} - > - {event.enableOnHouver ? ( + {event.enableOnHover ? ( = ({ {cardContent} diff --git a/src/controls/calendar/RenderEventToDayOfMonth.tsx b/src/controls/calendar/RenderEventToDayOfMonth.tsx index 2a3f9aea4..2a99a1fcd 100644 --- a/src/controls/calendar/RenderEventToDayOfMonth.tsx +++ b/src/controls/calendar/RenderEventToDayOfMonth.tsx @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import * as React from 'react'; +import * as React from "react"; import { Caption1, @@ -10,15 +10,15 @@ import { PositioningImperativeRef, mergeClasses, useId, -} from '@fluentui/react-components'; -import { endOfDay, isWithinInterval, startOfDay } from 'date-fns'; +} from "@fluentui/react-components"; +import { endOfDay, isWithinInterval, startOfDay } from "date-fns"; -import { Card } from '@nuvemerudita/react-controls'; -import { EventDetailsPopover } from './EventDetailsPopover'; -import { IEvent } from './models/IEvents'; -import { IEventColors } from './models/IEventColors'; -import { useCalendarStyles } from './hooks/useCalendarStyles'; -import { useUtils } from './hooks/useUtils'; +import { Card } from "@nuvemerudita/react-controls"; +import { EventDetailsPopover } from "./EventDetailsPopover"; +import { IEvent } from "./models/IEvents"; +import { IEventColors } from "./models/IEventColors"; +import { useCalendarStyles } from "./hooks/useCalendarStyles"; +import { useUtils } from "./hooks/useUtils"; export interface IRenderEventToDayOfMonthProps { events: IEvent[]; @@ -43,7 +43,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< onCardHoverChange(true, eventTitle); } }, - [onCardHoverChange] + [onCardHoverChange], ); const handleMouseLeave = React.useCallback( @@ -52,7 +52,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< onCardHoverChange(false, eventTitle); } }, - [onCardHoverChange] + [onCardHoverChange], ); // Set the target for the popover @@ -60,7 +60,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< (el: HTMLDivElement | null) => { positioningRef.current?.setTarget(el); }, - [positioningRef] + [positioningRef], ); // Render the card @@ -74,14 +74,14 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< styles.eventCard, applyEventHouverColorClass( colors.backgroundColor, - colors.backgroundColor - ) + colors.backgroundColor, + ), )} paddingTop="4px" paddingBottom="4px" paddingLeft="8px" paddingRight="8px" - marginTop={index === 0 ? '0px' : '5px'} + marginTop={index === 0 ? "0px" : "5px"} cardHeader={{calEvent.title}} onMouseEnter={() => handleMouseEnter(calEvent.title)} onMouseLeave={() => handleMouseLeave(calEvent.title)} @@ -89,7 +89,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< ); }, - [handleMouseEnter, handleMouseLeave, applyEventHouverColorClass] + [handleMouseEnter, handleMouseLeave, applyEventHouverColorClass], ); const renderCardWithPopOver = React.useCallback( @@ -109,10 +109,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< @@ -120,7 +117,7 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< ); }, - [renderCard] + [renderCard], ); if (!events || !events?.length) return <> ; @@ -150,11 +147,11 @@ export const RenderEventToDayOfMonth: React.FunctionComponent< return React.cloneElement(customRender as React.ReactElement, { className: mergeClasses( (customRender.props as any).className, - styles.eventCard + styles.eventCard, ), }); } - return calEvent.enableOnHouver + return calEvent.enableOnHover ? renderCardWithPopOver(calEvent, index, colors) : renderCard(index, calEvent, colors); })} diff --git a/src/controls/calendar/models/IEvents.ts b/src/controls/calendar/models/IEvents.ts index 8dc212f98..457495296 100644 --- a/src/controls/calendar/models/IEvents.ts +++ b/src/controls/calendar/models/IEvents.ts @@ -19,7 +19,7 @@ export interface IEvent { onRenderInMonthView?: (event: IEvent) => JSX.Element; onRenderInWeekView?: (event: IEvent) => JSX.Element; onRenderInDayView?: (event: IEvent) => JSX.Element; - enableOnHouver?: boolean; + enableOnHover?: boolean; imageUrl?: string; webLink?: string; color?: AvatarNamedColor; diff --git a/src/controls/dynamicForm/DynamicForm.tsx b/src/controls/dynamicForm/DynamicForm.tsx index 637bbb6f8..dce87e453 100644 --- a/src/controls/dynamicForm/DynamicForm.tsx +++ b/src/controls/dynamicForm/DynamicForm.tsx @@ -33,7 +33,7 @@ import "@pnp/sp/content-types"; import "@pnp/sp/folders"; import "@pnp/sp/items"; import { IFolder } from "@pnp/sp/folders"; -import { IInstalledLanguageInfo, IItemUpdateResult, IList, ITermInfo } from "@pnp/sp/presets/all"; +import { IInstalledLanguageInfo, IItemUpdateResult, IList, ITermInfo, ChoiceFieldFormatType } from "@pnp/sp/presets/all"; import { cloneDeep, isEqual } from "lodash"; import { ICustomFormatting, ICustomFormattingBodySection, ICustomFormattingNode } from "../../common/utilities/ICustomFormatting"; import SPservice from "../../services/SPService"; @@ -230,7 +230,9 @@ export class DynamicFormBase extends React.Component< <>

{section.displayname}

- {section.fields.map((f, i) => ( + {section.fields + .filter(f => fieldCollection.find(fc => fc.label === f)) + .map((f, i) => (
{this.renderField(fieldCollection.find(fc => fc.label === f) as IDynamicFieldProps)}
@@ -994,7 +996,7 @@ export class DynamicFormBase extends React.Component< // Fetch additional information about fields from SharePoint // (Number fields for min and max values, and fields with validation) const additionalInfo = await this._spService.getAdditionalListFormFieldInfo(listId, this.webURL); - const numberFields = additionalInfo.filter((f) => f.TypeAsString === "Number" || f.TypeAsString === "Currency"); + const numberFields = additionalInfo?.filter((f) => f.TypeAsString === "Number" || f.TypeAsString === "Currency"); // Build a dictionary of validation formulas and messages const validationFormulas: Record> = additionalInfo.reduce((prev, cur) => { @@ -1148,6 +1150,7 @@ export class DynamicFormBase extends React.Component< let showAsPercentage: boolean | undefined; // eslint-disable-next-line @typescript-eslint/no-explicit-any const selectedTags: any = []; + let choiceType: ChoiceFieldFormatType | undefined; let fieldName = field.InternalName; if (fieldName.startsWith('_x') || fieldName.startsWith('_')) { @@ -1167,11 +1170,20 @@ export class DynamicFormBase extends React.Component< field.Choices.forEach((element) => { choices.push({ key: element, text: element }); }); + + if (field.FormatType === 1) { + choiceType = ChoiceFieldFormatType.RadioButtons; + } + else { + choiceType = ChoiceFieldFormatType.Dropdown; + } } if (field.FieldType === "MultiChoice") { field.MultiChoices.forEach((element) => { choices.push({ key: element, text: element }); }); + + choiceType = ChoiceFieldFormatType.Dropdown; } // Setup Note, Number and Currency fields @@ -1461,6 +1473,7 @@ export class DynamicFormBase extends React.Component< showAsPercentage: showAsPercentage, customIcon: customIcons ? customIcons[field.InternalName] : undefined, useModernTaxonomyPickerControl: useModernTaxonomyPicker, + choiceType: choiceType }); // This may not be necessary now using RenderListDataAsStream diff --git a/src/controls/dynamicForm/dynamicField/DynamicField.tsx b/src/controls/dynamicForm/dynamicField/DynamicField.tsx index a12cdf542..b5d8f00a5 100644 --- a/src/controls/dynamicForm/dynamicField/DynamicField.tsx +++ b/src/controls/dynamicForm/dynamicField/DynamicField.tsx @@ -1,5 +1,5 @@ import '@pnp/sp/folders'; -import { sp } from '@pnp/sp/presets/all'; +import { ChoiceFieldFormatType, sp } from '@pnp/sp/presets/all'; import '@pnp/sp/webs'; import * as strings from 'ControlStrings'; import { ActionButton } from '@fluentui/react/lib/Button'; @@ -23,11 +23,10 @@ import { IDynamicFieldProps, IDynamicFieldStyleProps, IDynamicFieldStyles } from import { IDynamicFieldState } from './IDynamicFieldState'; import CurrencyMap from "../CurrencyMap"; import { ModernTaxonomyPicker } from '../../modernTaxonomyPicker'; -import { classNamesFunction, IProcessedStyleSet, styled } from '@fluentui/react'; +import { classNamesFunction, IProcessedStyleSet, styled, ChoiceGroup, IChoiceGroupOption } from '@fluentui/react'; import { getFluentUIThemeOrDefault } from '../../../common/utilities/ThemeUtility'; import { getFieldStyles } from './DynamicField.styles'; - const getClassNames = classNamesFunction(); export class DynamicFieldBase extends React.Component { @@ -95,6 +94,7 @@ export class DynamicFieldBase extends React.Component; } - case 'Choice': - return
-
- - {labelEl} -
- { this.onChange(option, true); }} onBlur={this.onBlur} - errorMessage={errorText} /> + errorMessage={errorText} />; + } + // If the choiceType is radio buttons + else { + // Parse options into radio buttons + const optionsGroup: IChoiceGroupOption[] = + options.map((option) => { + return { + key: option.key.toString(), + text: option.text, + checked: option.key.toString() === valueToDisplay + }; + }); + + // Create radio group + choiceControl = { this.onChange(option, true); }} + disabled={disabled} + />; + } + + return
+
+ + {labelEl} +
+ {choiceControl} {descriptionEl}
; - +} case 'MultiChoice': return
diff --git a/src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts b/src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts index 33b62c40c..44208562d 100644 --- a/src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts +++ b/src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts @@ -2,6 +2,7 @@ import { BaseComponentContext } from '@microsoft/sp-component-base'; import { IDropdownOption } from "@fluentui/react/lib/Dropdown"; import { IStyle, IStyleFunctionOrObject, Theme } from '@fluentui/react'; import { IFilePickerResult } from '../../filePicker'; +import { ChoiceFieldFormatType } from '@pnp/sp/fields'; export type DateFormat = 'DateTime' | 'DateOnly'; export type FieldChangeAdditionalData = IFilePickerResult; @@ -96,6 +97,7 @@ export interface IDynamicFieldProps { itemsQueryCountLimit?: number; customIcon?: string; orderBy?: string; + choiceType?: ChoiceFieldFormatType; /** Used for customize component styling */ styles?:IStyleFunctionOrObject; } diff --git a/src/controls/filePicker/FilePicker.tsx b/src/controls/filePicker/FilePicker.tsx index 32b78215e..0859c53e4 100644 --- a/src/controls/filePicker/FilePicker.tsx +++ b/src/controls/filePicker/FilePicker.tsx @@ -36,6 +36,7 @@ import { StockImages } from "./StockImagesTab/StockImages"; import UploadFilePickerTab from "./UploadFilePickerTab/UploadFilePickerTab"; import MultipleUploadFilePickerTab from "./MultipleUploadFilePickerTab/MultipleUploadFilePickerTab"; import WebSearchTab from "./WebSearchTab/WebSearchTab"; +import { FilePickerTab } from "./FilePickerTab"; export class FilePicker extends React.Component< @@ -89,7 +90,7 @@ export class FilePicker extends React.Component< this.setState({ organisationAssetsEnabled: orgAssetsEnabled, - selectedTab: this.getDefaultSelectedTabKey(this.props, orgAssetsEnabled), + selectedTab: this._getDefaultSelectedTabKey(this.props, orgAssetsEnabled), }); if (!!this.props.context && !!this.props.webAbsoluteUrl) { const { title, id } = await this.fileBrowserService.getSiteTitleAndId(); @@ -190,7 +191,7 @@ export class FilePicker extends React.Component< />
- {this.state.selectedTab === "keyLink" && ( + {this.state.selectedTab === FilePickerTab.Link && ( )} - {this.state.selectedTab === "keyUpload" && ( + {this.state.selectedTab === FilePickerTab.Upload && ( )} - {this.state.selectedTab === "keyMultipleUpload" && ( + {this.state.selectedTab === FilePickerTab.MultipleUpload && ( )} - {this.state.selectedTab === "keySite" && ( + {this.state.selectedTab === FilePickerTab.Site && ( )} - {this.state.selectedTab === "keyOrgAssets" && ( + {this.state.selectedTab === FilePickerTab.OrgAssets && ( )} - {this.state.selectedTab === "keyWeb" && ( + {this.state.selectedTab === FilePickerTab.Web && ( )} - {this.state.selectedTab === "keyOneDrive" && ( + {this.state.selectedTab === FilePickerTab.OneDrive && ( )} - {this.state.selectedTab === "keyRecent" && ( + {this.state.selectedTab === FilePickerTab.Recent && ( )} - {this.state.selectedTab === "keyStockImages" && ( + {this.state.selectedTab === FilePickerTab.StockImages && ( { this.setState({ panelOpen: true, - selectedTab: this.getDefaultSelectedTabKey( + selectedTab: this._getDefaultSelectedTabKey( this.props, this.state.organisationAssetsEnabled ), @@ -344,21 +345,21 @@ export class FilePicker extends React.Component< */ private _getNavPanelOptions = (): INavLinkGroup[] => { const addUrl = this.props.storeLastActiveTab !== false; - const links = []; + let links = []; if (!this.props.hideRecentTab) { links.push({ name: strings.RecentLinkLabel, url: addUrl ? "#recent" : undefined, icon: "Recent", - key: "keyRecent", + key: FilePickerTab.Recent, }); } if (!this.props.hideStockImages) { links.push({ name: strings.StockImagesLinkLabel, url: addUrl ? "#stockImages" : undefined, - key: "keyStockImages", + key: FilePickerTab.StockImages, icon: "ImageSearch", }); } @@ -366,7 +367,7 @@ export class FilePicker extends React.Component< links.push({ name: strings.WebSearchLinkLabel, url: addUrl ? "#search" : undefined, - key: "keyWeb", + key: FilePickerTab.Web, icon: "Search", }); } @@ -378,14 +379,14 @@ export class FilePicker extends React.Component< name: strings.OrgAssetsLinkLabel, url: addUrl ? "#orgAssets" : undefined, icon: "FabricFolderConfirm", - key: "keyOrgAssets", + key: FilePickerTab.OrgAssets, }); } if (!this.props.hideOneDriveTab) { links.push({ name: "OneDrive", url: addUrl ? "#onedrive" : undefined, - key: "keyOneDrive", + key: FilePickerTab.OneDrive, icon: "OneDrive", }); } @@ -393,7 +394,7 @@ export class FilePicker extends React.Component< links.push({ name: strings.SiteLinkLabel, url: addUrl ? "#globe" : undefined, - key: "keySite", + key: FilePickerTab.Site, icon: "Globe", }); } @@ -401,7 +402,7 @@ export class FilePicker extends React.Component< links.push({ name: strings.UploadLinkLabel, url: addUrl ? "#upload" : undefined, - key: "keyUpload", + key: FilePickerTab.Upload, icon: "System", }); } @@ -409,7 +410,7 @@ export class FilePicker extends React.Component< links.push({ name: strings.UploadLinkLabel + " " + strings.OneDriveRootFolderName, url: addUrl ? "#Multipleupload" : undefined, - key: "keyMultipleUpload", + key: FilePickerTab.MultipleUpload, icon: "BulkUpload", }); } @@ -417,46 +418,68 @@ export class FilePicker extends React.Component< links.push({ name: strings.FromLinkLinkLabel, url: addUrl ? "#link" : undefined, - key: "keyLink", + key: FilePickerTab.Link, icon: "Link", }); } + if(this.props.tabOrder) { + links = this._getTabOrder(links); + } + const groups: INavLinkGroup[] = [{ links }]; return groups; } - private getDefaultSelectedTabKey = ( + /** + * Sorts navigation tabs based on the tabOrder prop + */ + private _getTabOrder = (links): INavLink[] => { + const sortedKeys = [ + ...this.props.tabOrder, + ...links.map(l => l.key).filter(key => !this.props.tabOrder.includes(key)), + ]; + + links.sort((a, b) => { + return sortedKeys.indexOf(a.key) - sortedKeys.indexOf(b.key); + }); + + return links; + }; + + /** + * Returns the default selected tab key + */ + private _getDefaultSelectedTabKey = ( props: IFilePickerProps, orgAssetsEnabled: boolean ): string => { - if (!props.hideRecentTab) { - return "keyRecent"; - } - if (!props.hideStockImages) { - return "keyStockImages"; - } - if (props.bingAPIKey && !props.hideWebSearchTab) { - return "keyWeb"; - } - if (!props.hideOrganisationalAssetTab && orgAssetsEnabled) { - return "keyOrgAssets"; - } - if (!props.hideOneDriveTab) { - return "keyOneDrive"; - } - if (!props.hideSiteFilesTab) { - return "keySite"; - } - if (!props.hideLocalUploadTab) { - return "keyUpload"; - } - if (!props.hideLinkUploadTab) { - return "keyLink"; - } - if (!props.hideLocalMultipleUploadTab) { - return "keyMultipleUpload"; + const tabsConfig = [ + { isTabVisible: !props.hideRecentTab, tabKey: FilePickerTab.Recent }, + { isTabVisible: !props.hideStockImages, tabKey: FilePickerTab.StockImages }, + { isTabVisible: props.bingAPIKey && !props.hideWebSearchTab, tabKey: FilePickerTab.Web }, + { isTabVisible: !props.hideOrganisationalAssetTab && orgAssetsEnabled, tabKey: FilePickerTab.OrgAssets }, + { isTabVisible: !props.hideOneDriveTab, tabKey: FilePickerTab.OneDrive }, + { isTabVisible: !props.hideSiteFilesTab, tabKey: FilePickerTab.Site }, + { isTabVisible: !props.hideLocalUploadTab, tabKey: FilePickerTab.Upload }, + { isTabVisible: !props.hideLinkUploadTab, tabKey: FilePickerTab.Link }, + { isTabVisible: !props.hideLocalMultipleUploadTab, tabKey: FilePickerTab.MultipleUpload } + ]; + + const visibleTabs = tabsConfig.filter(tab => tab.isTabVisible); + const visibleTabKeys = visibleTabs.map(tab => tab.tabKey); + + // If defaultSelectedTab is provided and is visible, then return tabKey + if(this.props.defaultSelectedTab && visibleTabKeys.includes(this.props.defaultSelectedTab)) { + return this.props.defaultSelectedTab; } + // If no valid default tab is provided, find the first visible tab in the order + if (this.props.tabOrder) { + const visibleTabSet = new Set(visibleTabKeys); + return this.props.tabOrder.find(key => visibleTabSet.has(key)); + } else { + return visibleTabKeys[0]; // first visible tab from default order + } } } diff --git a/src/controls/filePicker/FilePickerTab.ts b/src/controls/filePicker/FilePickerTab.ts new file mode 100644 index 000000000..9094e9bbf --- /dev/null +++ b/src/controls/filePicker/FilePickerTab.ts @@ -0,0 +1,11 @@ +export enum FilePickerTab { + Recent = "keyRecent", + StockImages = "keyStockImages", + Web = "keyWeb", + OrgAssets = "keyOrgAssets", + OneDrive = "keyOneDrive", + Site = "keySite", + Upload = "keyUpload", + Link = "keyLink", + MultipleUpload = "keyMultipleUpload" +} diff --git a/src/controls/filePicker/IFilePickerProps.ts b/src/controls/filePicker/IFilePickerProps.ts index 903c850fc..64a567f4d 100644 --- a/src/controls/filePicker/IFilePickerProps.ts +++ b/src/controls/filePicker/IFilePickerProps.ts @@ -3,6 +3,7 @@ import { IIconProps } from "@fluentui/react/lib/Icon"; import { BaseComponentContext } from '@microsoft/sp-component-base'; import { IFilePickerResult } from "./FilePicker.types"; +import { FilePickerTab } from "./FilePickerTab"; export interface IFilePickerProps { /** @@ -175,4 +176,14 @@ export interface IFilePickerProps { * Specifies if file check should be done */ checkIfFileExists?: boolean; + /** + * Specifies tab order + * Default [FilePickerTab.Recent, FilePickerTab.StockImages, FilePickerTab.Web, FilePickerTab.OrgAssets, FilePickerTab.OneDrive, FilePickerTab.Site, FilePickerTab.Upload, FilePickerTab.Link, FilePickerTab.MultipleUpload] + */ + tabOrder?: FilePickerTab[]; + /** + * Specifies default selected tab + * One of the values from the FilePickerTab enum: Recent, StockImages, Web, OrgAssets, OneDrive, Site, Upload, Link, or MultipleUpload. + */ + defaultSelectedTab?: FilePickerTab; } diff --git a/src/controls/filePicker/index.ts b/src/controls/filePicker/index.ts index 64d58e192..b484b2be8 100644 --- a/src/controls/filePicker/index.ts +++ b/src/controls/filePicker/index.ts @@ -2,3 +2,4 @@ export * from "./FilePicker"; export * from "./FilePicker.types"; export * from "./IFilePickerProps"; export * from "./IFilePickerState"; +export * from "./FilePickerTab"; diff --git a/src/controls/fileTypeIcon/FileTypeIcon.test.tsx b/src/controls/fileTypeIcon/FileTypeIcon.test.tsx index 9070548f2..797e0588e 100644 --- a/src/controls/fileTypeIcon/FileTypeIcon.test.tsx +++ b/src/controls/fileTypeIcon/FileTypeIcon.test.tsx @@ -183,14 +183,14 @@ describe('', () => { }); it('Image icon size test with unkown size', (done) => { - fileTypeIcon = mount(); + fileTypeIcon = mount(); expect(fileTypeIcon.find('div.ms-BrandIcon--icon16')).to.have.length(1); expect(fileTypeIcon.find('i')).to.have.length(0); done(); }); it('Image icon size test with unkown size for generic icon', (done) => { - fileTypeIcon = mount(); + fileTypeIcon = mount(); expect(fileTypeIcon.find('div img')).to.have.length(1); expect(fileTypeIcon.find('div.ms-BrandIcon--icon16')).to.have.length(0); expect(fileTypeIcon.find('i')).to.have.length(0); @@ -198,7 +198,7 @@ describe('', () => { }); it('Image icon test with unkown application', (done) => { - fileTypeIcon = mount(); + fileTypeIcon = mount(); expect(fileTypeIcon.find('div img')).to.have.length(1); expect(fileTypeIcon.find('div.ms-BrandIcon--icon16')).to.have.length(0); expect(fileTypeIcon.find('i')).to.have.length(0); diff --git a/src/controls/listItemComments/common/ECommentAction.ts b/src/controls/listItemComments/common/ECommentAction.ts index 1fd9bde23..50ea34b2e 100644 --- a/src/controls/listItemComments/common/ECommentAction.ts +++ b/src/controls/listItemComments/common/ECommentAction.ts @@ -1,4 +1,6 @@ export enum ECommentAction { - "ADD" = "ADD", - "DELETE" = "DELETE" + 'ADD' = 'ADD', + 'DELETE' = 'DELETE', + 'LIKE' = 'LIKE', + 'UNLIKE' = 'UNLIKE', } diff --git a/src/controls/listItemComments/common/constants.ts b/src/controls/listItemComments/common/constants.ts index c7eacd957..3261121fa 100644 --- a/src/controls/listItemComments/common/constants.ts +++ b/src/controls/listItemComments/common/constants.ts @@ -1,2 +1,3 @@ export const PHOTO_URL = "/_layouts/15/userphoto.aspx?size=M&accountname="; export const TILE_HEIGHT: number = 70; +export const URL_REGEX = /(https?:\/\/(?:[-\w.])+(?::[0-9]+)?(?:\/[^\s]*)?)/g; diff --git a/src/controls/listItemComments/components/Comments/CommentText.tsx b/src/controls/listItemComments/components/Comments/CommentText.tsx index 4b46d239d..21742ed6a 100644 --- a/src/controls/listItemComments/components/Comments/CommentText.tsx +++ b/src/controls/listItemComments/components/Comments/CommentText.tsx @@ -3,11 +3,12 @@ import { useContext, useEffect, useState } from "react"; import { Mention } from "./IComment"; import { Text } from "@fluentui/react/lib/Text"; import { LivePersona } from "../../../LivePersona"; -import { AppContext } from "../../common"; -import regexifyString from "regexify-string"; -import { Stack } from "@fluentui/react/lib/Stack"; -import { isArray, isObject } from "lodash"; +import { AppContext, URL_REGEX } from '../../common'; +import regexifyString from 'regexify-string'; +import { Stack } from '@fluentui/react/lib/Stack'; +import { isArray, isObject } from 'lodash'; import he from 'he'; +import { Link } from '@fluentui/react'; export interface ICommentTextProps { text: string; mentions: Mention[]; @@ -46,26 +47,55 @@ export const CommentText: React.FunctionComponent = ( setCommentText(result); }, []); + const convertTextToLinksAndText = ( + text: string + ): (string | JSX.Element)[] => { + const parts = text.split(URL_REGEX); + return parts.map((part, index) => { + if (part.match(URL_REGEX)) { + return ( + + {part} + + ); + } + return part; + }); + }; + return ( <> {isArray(commentText) ? ( - (commentText as any[]).map((el, i) => { // eslint-disable-line @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (commentText as any[]).map((el, i) => { if (isObject(el)) { - return {el}; + return ( + + {el} + + ); } else { const _el: string = el.trim(); if (_el.length) { return ( - {he.decode(_el)} + {convertTextToLinksAndText(he.decode(_el))} ); } } }) ) : ( - {he.decode(commentText)} + + {convertTextToLinksAndText(he.decode(commentText))} + )} diff --git a/src/controls/listItemComments/components/Comments/CommentsList.tsx b/src/controls/listItemComments/components/Comments/CommentsList.tsx index 89bab65cd..1952b7c0c 100644 --- a/src/controls/listItemComments/components/Comments/CommentsList.tsx +++ b/src/controls/listItemComments/components/Comments/CommentsList.tsx @@ -20,8 +20,22 @@ import { RenderComments } from "./RenderComments"; export const CommentsList: React.FunctionComponent = () => { const { listItemCommentsState, setlistItemCommentsState } = useContext(ListItemCommentsStateContext); const { configurationListClasses } = useListItemCommentsStyles(); - const { getListItemComments, getNextPageOfComments, addComment, deleteComment } = useSpAPI(); - const { comments, isScrolling, pageInfo, commentAction, commentToAdd, selectedComment } = listItemCommentsState; + const { + getListItemComments, + getNextPageOfComments, + addComment, + deleteComment, + likeComment, + unlikeComment, + } = useSpAPI(); + const { + comments, + isScrolling, + pageInfo, + commentAction, + commentToAdd, + selectedComment, + } = listItemCommentsState; const { hasMore, nextLink } = pageInfo; const scrollPanelRef = useRef(); const { errorInfo } = listItemCommentsState; @@ -32,16 +46,23 @@ export const CommentsList: React.FunctionComponent = () => { type: EListItemCommentsStateTypes.SET_IS_LOADING, payload: true, }); - const _commentsResults: IlistItemCommentsResults = await getListItemComments(); + const _commentsResults: IlistItemCommentsResults = + await getListItemComments(); setlistItemCommentsState({ type: EListItemCommentsStateTypes.SET_LIST_ITEM_COMMENTS, payload: _commentsResults.comments, }); setlistItemCommentsState({ type: EListItemCommentsStateTypes.SET_DATA_PAGE_INFO, - payload: { hasMore: _commentsResults.hasMore, nextLink: _commentsResults.nextLink } as IPageInfo, + payload: { + hasMore: _commentsResults.hasMore, + nextLink: _commentsResults.nextLink, + } as IPageInfo, + }); + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_COMMENT_ACTION, + payload: undefined, }); - setlistItemCommentsState({ type: EListItemCommentsStateTypes.SET_COMMENT_ACTION, payload: undefined }); setlistItemCommentsState({ type: EListItemCommentsStateTypes.SET_IS_LOADING, payload: false, @@ -99,25 +120,110 @@ export const CommentsList: React.FunctionComponent = () => { [setlistItemCommentsState, _loadComments] ); + const _onCommentLike = useCallback( + async (commentId: number) => { + try { + const _errorInfo: IErrorInfo = { showError: false, error: undefined }; + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_ERROR_INFO, + payload: _errorInfo, + }); + await likeComment(commentId); + await _loadComments(); + } catch (error) { + const _errorInfo: IErrorInfo = { showError: true, error: error }; + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_ERROR_INFO, + payload: _errorInfo, + }); + } + }, + [setlistItemCommentsState, _loadComments] + ); + const _onCommentUnlike = useCallback( + async (commentId: number) => { + try { + const _errorInfo: IErrorInfo = { showError: false, error: undefined }; + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_ERROR_INFO, + payload: _errorInfo, + }); + await unlikeComment(commentId); + await _loadComments(); + } catch (error) { + const _errorInfo: IErrorInfo = { showError: true, error: error }; + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_ERROR_INFO, + payload: _errorInfo, + }); + } + }, + [setlistItemCommentsState, _loadComments] + ); + useEffect(() => { switch (commentAction) { case ECommentAction.ADD: (async () => { // Add new comment await _onAddComment(commentToAdd); - })().then(() => { /* no-op; */}).catch(() => { /* no-op; */ }); + })() + .then(() => { + /* no-op; */ + }) + .catch(() => { + /* no-op; */ + }); + break; + case ECommentAction.LIKE: + (async () => { + // Add new comment + const commentId = Number(selectedComment.id); + await _onCommentLike(commentId); + })() + .then(() => { + /* no-op; */ + }) + .catch(() => { + /* no-op; */ + }); + break; + case ECommentAction.UNLIKE: + (async () => { + // Add new comment + const commentId = Number(selectedComment.id); + await _onCommentUnlike(commentId); + })() + .then(() => { + /* no-op; */ + }) + .catch(() => { + /* no-op; */ + }); break; case ECommentAction.DELETE: (async () => { // delete comment const commentId = Number(selectedComment.id); await _onADeleteComment(commentId); - })().then(() => { /* no-op; */}).catch(() => { /* no-op; */ }); + })() + .then(() => { + /* no-op; */ + }) + .catch(() => { + /* no-op; */ + }); break; default: break; } - }, [commentAction, selectedComment, commentToAdd, _onAddComment, _onADeleteComment]); + }, [ + commentAction, + selectedComment, + commentToAdd, + _onAddComment, + _onADeleteComment, + ]); useEffect(() => { (async () => { diff --git a/src/controls/listItemComments/components/Comments/LikedUserList.tsx b/src/controls/listItemComments/components/Comments/LikedUserList.tsx new file mode 100644 index 000000000..848d2cdfe --- /dev/null +++ b/src/controls/listItemComments/components/Comments/LikedUserList.tsx @@ -0,0 +1,72 @@ +import * as React from 'react'; +import { + IconButton, + IIconProps, + Modal, + Persona, + PersonaSize, + Stack, +} from '@fluentui/react'; +import { useListItemCommentsStyles } from './useListItemCommentsStyles'; + +interface ILikedUserListProps { + isDialogOpen: boolean; + setShowDialog: React.Dispatch>; + likedBy: any; // eslint-disable-line @typescript-eslint/no-explicit-any +} + +const cancelIcon: IIconProps = { iconName: 'Cancel' }; + +export const LikedUserList = ({ + isDialogOpen, + setShowDialog, + likedBy, +}: ILikedUserListProps): JSX.Element => { + const { iconButtonStyles, contentStyles } = useListItemCommentsStyles(); + + const PHOTO_URL = '/_layouts/15/userphoto.aspx?size=M&accountname='; + + return ( + setShowDialog(false)} + styles={{ main: { width: '480px' } }} + > +
+

Liked by

+ setShowDialog(false)} + /> +
+ + {likedBy.map( + ( + user: any, // eslint-disable-line @typescript-eslint/no-explicit-any + index: number + ) => ( + <> + + + ) + )} + +
+ ); +}; diff --git a/src/controls/listItemComments/components/Comments/RenderComments.tsx b/src/controls/listItemComments/components/Comments/RenderComments.tsx index 1c3bc3293..2e63ca331 100644 --- a/src/controls/listItemComments/components/Comments/RenderComments.tsx +++ b/src/controls/listItemComments/components/Comments/RenderComments.tsx @@ -1,36 +1,112 @@ -import { IconButton } from "@fluentui/react/lib/Button"; -import { DocumentCard, DocumentCardDetails } from "@fluentui/react/lib/DocumentCard"; -import { Stack } from "@fluentui/react/lib/Stack"; -import * as React from "react"; -import { useCallback } from "react"; -import { useContext } from "react"; -import { ConfirmDelete } from "../ConfirmDelete/ConfirmDelete"; -import { EListItemCommentsStateTypes, ListItemCommentsStateContext } from "../ListItemCommentsStateProvider"; -import { CommentItem } from "./CommentItem"; -import { IComment } from "./IComment"; -import { RenderSpinner } from "./RenderSpinner"; -import { useListItemCommentsStyles } from "./useListItemCommentsStyles"; -import { useBoolean } from "@fluentui/react-hooks"; -import { List } from "@fluentui/react/lib/List"; -import { AppContext, ECommentAction } from "../.."; +import { IconButton } from '@fluentui/react/lib/Button'; +import { + DocumentCard, + DocumentCardDetails, +} from '@fluentui/react/lib/DocumentCard'; +import { Stack } from '@fluentui/react/lib/Stack'; +import * as React from 'react'; +import { useCallback, useState } from 'react'; +import { useContext } from 'react'; +import { ConfirmDelete } from '../ConfirmDelete/ConfirmDelete'; +import { + EListItemCommentsStateTypes, + ListItemCommentsStateContext, +} from '../ListItemCommentsStateProvider'; +import { CommentItem } from './CommentItem'; +import { IComment } from './IComment'; +import { RenderSpinner } from './RenderSpinner'; +import { useListItemCommentsStyles } from './useListItemCommentsStyles'; +import { useBoolean } from '@fluentui/react-hooks'; +import { Link, List, Text } from '@fluentui/react'; +import { AppContext, ECommentAction } from '../..'; +import { LikedUserList } from './LikedUserList'; -export interface IRenderCommentsProps { } +export interface IRenderCommentsProps {} -export const RenderComments: React.FunctionComponent = () => { +export const RenderComments: React.FunctionComponent< + IRenderCommentsProps +> = () => { const { highlightedCommentId } = useContext(AppContext); - const { listItemCommentsState, setlistItemCommentsState } = useContext(ListItemCommentsStateContext); - const { documentCardStyles,documentCardHighlightedStyles, itemContainerStyles, deleteButtonContainerStyles } = useListItemCommentsStyles(); + const { listItemCommentsState, setlistItemCommentsState } = useContext( + ListItemCommentsStateContext + ); + const { + documentCardStyles, + documentCardHighlightedStyles, + itemContainerStyles, + buttonsContainerStyles, + } = useListItemCommentsStyles(); const { comments, isLoading } = listItemCommentsState; const [hideDialog, { toggle: setHideDialog }] = useBoolean(true); + const [showDialog, setShowDialog] = useState(false); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const [selectedLikedBy, setSelectedLikedBy] = useState([]); + + const _likeComment = useCallback(() => { + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_COMMENT_ACTION, + payload: ECommentAction.LIKE, + }); + }, []); + + const _unLikeComment = useCallback(() => { + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_COMMENT_ACTION, + payload: ECommentAction.UNLIKE, + }); + }, []); const onRenderCell = useCallback( (comment: IComment, index: number): JSX.Element => { return ( - - + + +
+ {comment.likeCount > 0 ? ( + { + setSelectedLikedBy(comment.likedBy); + setShowDialog(true); + }} + > + {comment.likeCount} + + ) : ( + {comment.likeCount} + )} + + { + setlistItemCommentsState({ + type: EListItemCommentsStateTypes.SET_SELECTED_COMMENT, + payload: comment, + }); + if (!comment.isLikedByUser) { + _likeComment(); + } else { + _unLikeComment(); + } + }} + /> +
{ setlistItemCommentsState({ @@ -57,10 +133,13 @@ export const RenderComments: React.FunctionComponent = () }, [comments] ); - return ( <> - {isLoading ? : } + {isLoading ? ( + + ) : ( + + )} { @@ -73,6 +152,11 @@ export const RenderComments: React.FunctionComponent = () setHideDialog(); }} /> + ); }; diff --git a/src/controls/listItemComments/components/Comments/useListItemCommentsStyles.ts b/src/controls/listItemComments/components/Comments/useListItemCommentsStyles.ts index beefed387..73891ad20 100644 --- a/src/controls/listItemComments/components/Comments/useListItemCommentsStyles.ts +++ b/src/controls/listItemComments/components/Comments/useListItemCommentsStyles.ts @@ -2,16 +2,19 @@ import * as React from "react"; import { IDocumentCardStyles } from "@fluentui/react/lib/DocumentCard"; import { IStackStyles } from "@fluentui/react/lib/Stack"; import { + FontWeights, + getTheme, IStyle, mergeStyles, mergeStyleSets, -} from "@fluentui/react/lib/Styling"; -import { AppContext } from "../../common"; -import { TILE_HEIGHT } from "../../common/constants"; +} from '@fluentui/react/lib/Styling'; +import { AppContext } from '../../common'; +import { TILE_HEIGHT } from '../../common/constants'; +import { IButtonStyles } from '@fluentui/react'; interface returnObjectStyles { itemContainerStyles: IStackStyles; - deleteButtonContainerStyles: Partial; + buttonsContainerStyles: Partial; userListContainerStyles: Partial; renderUserContainerStyles: Partial; documentCardStyles: Partial; @@ -19,22 +22,31 @@ interface returnObjectStyles { documentCardHighlightedStyles: Partial; documentCardUserStyles: Partial; configurationListClasses: any; // eslint-disable-line @typescript-eslint/no-explicit-any + contentStyles: any; // eslint-disable-line @typescript-eslint/no-explicit-any + iconButtonStyles: Partial; } export const useListItemCommentsStyles = (): returnObjectStyles => { const { theme, numberCommentsPerPage } = React.useContext(AppContext); + const fluentTheme = getTheme(); + // Calc Height List tiles Container Based on number Items per Page const tilesHeight: number = numberCommentsPerPage ? (numberCommentsPerPage < 5 ? 5 : numberCommentsPerPage) * TILE_HEIGHT + 35 : 7 * TILE_HEIGHT; const itemContainerStyles: IStackStyles = { - root: { paddingTop: 0, paddingLeft: 20, paddingRight: 20, paddingBottom: 20 } as IStyle, + root: { + paddingTop: 0, + paddingLeft: 20, + paddingRight: 20, + paddingBottom: 20, + } as IStyle, }; - const deleteButtonContainerStyles: Partial = { + const buttonsContainerStyles: Partial = { root: { - position: "absolute", + position: 'absolute', top: 0, right: 0, }, @@ -45,15 +57,20 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { }; const renderUserContainerStyles: Partial = { - root: { paddingTop: 5, paddingBottom: 5, paddingLeft: 10, paddingRight: 10 }, + root: { + paddingTop: 5, + paddingBottom: 5, + paddingLeft: 10, + paddingRight: 10, + }, }; const documentCardStyles: Partial = { root: { marginBottom: 7, width: 322, backgroundColor: theme.neutralLighterAlt, - userSelect: "text", - ":hover": { + userSelect: 'text', + ':hover': { borderColor: theme.themePrimary, borderWidth: 1, } as IStyle, @@ -65,9 +82,9 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { marginBottom: 7, width: 322, backgroundColor: theme.themeLighter, - userSelect: "text", - border: "solid 3px "+theme.themePrimary, - ":hover": { + userSelect: 'text', + border: 'solid 3px ' + theme.themePrimary, + ':hover': { borderColor: theme.themePrimary, borderWidth: 1, } as IStyle, @@ -78,7 +95,7 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { root: { marginBottom: 5, backgroundColor: theme.neutralLighterAlt, - ":hover": { + ':hover': { borderColor: theme.themePrimary, borderWidth: 1, } as IStyle, @@ -89,9 +106,9 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { root: { marginTop: 2, backgroundColor: theme?.white, - boxShadow: "0 5px 15px rgba(50, 50, 90, .1)", + boxShadow: '0 5px 15px rgba(50, 50, 90, .1)', - ":hover": { + ':hover': { borderColor: theme.themePrimary, backgroundColor: theme.neutralLighterAlt, borderWidth: 1, @@ -113,26 +130,75 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { color: theme.themePrimary, }), divContainer: { - display: "block", + display: 'block', } as IStyle, titlesContainer: { height: tilesHeight, marginBottom: 10, - display: "flex", + display: 'flex', marginTop: 15, - overflow: "auto", - "&::-webkit-scrollbar-thumb": { + overflow: 'auto', + '&::-webkit-scrollbar-thumb': { backgroundColor: theme.neutralLighter, }, - "&::-webkit-scrollbar": { + '&::-webkit-scrollbar': { width: 5, }, } as IStyle, }); + const contentStyles = mergeStyleSets({ + container: { + display: 'flex', + flexFlow: 'column nowrap', + alignItems: 'stretch', + }, + header: [ + // eslint-disable-next-line @typescript-eslint/no-deprecated + fluentTheme.fonts.xLargePlus, + { + flex: '1 1 auto', + borderTop: `4px solid ${theme.themePrimary}`, + color: theme.neutralPrimary, + display: 'flex', + alignItems: 'center', + fontWeight: FontWeights.semibold, + padding: '12px 12px 14px 24px', + }, + ], + heading: { + color: theme.neutralPrimary, + fontWeight: FontWeights.semibold, + fontSize: 'inherit', + margin: '0', + }, + body: { + flex: '4 4 auto', + padding: '0 24px 24px 24px', + overflowY: 'hidden', + selectors: { + p: { margin: '14px 0' }, + 'p:first-child': { marginTop: 0 }, + 'p:last-child': { marginBottom: 0 }, + }, + }, + }); + + const iconButtonStyles: Partial = { + root: { + color: theme.neutralPrimary, + marginLeft: 'auto', + marginTop: '4px', + marginRight: '2px', + }, + rootHovered: { + color: theme.neutralDark, + }, + }; + return { itemContainerStyles, - deleteButtonContainerStyles, + buttonsContainerStyles, userListContainerStyles, renderUserContainerStyles, documentCardStyles, @@ -140,5 +206,7 @@ export const useListItemCommentsStyles = (): returnObjectStyles => { documentCardHighlightedStyles, documentCardUserStyles, configurationListClasses, + contentStyles, + iconButtonStyles, }; }; diff --git a/src/controls/listItemComments/hooks/useSpAPI.ts b/src/controls/listItemComments/hooks/useSpAPI.ts index f848068a1..498d6939b 100644 --- a/src/controls/listItemComments/hooks/useSpAPI.ts +++ b/src/controls/listItemComments/hooks/useSpAPI.ts @@ -7,14 +7,19 @@ import { IComment } from "../components/Comments/IComment"; import { PageContext } from "@microsoft/sp-page-context"; interface returnObject { getListItemComments: () => Promise; - getNextPageOfComments: (nextLink: string) => Promise; + getNextPageOfComments: ( + nextLink: string + ) => Promise; addComment: (comment: IAddCommentPayload) => Promise; deleteComment: (commentId: number) => Promise; + likeComment: (commentId: number) => Promise; + unlikeComment: (commentId: number) => Promise; } export const useSpAPI = (): returnObject => { - const { serviceScope, webUrl, listId, itemId, numberCommentsPerPage } = useContext(AppContext); - let _webUrl: string = ""; + const { serviceScope, webUrl, listId, itemId, numberCommentsPerPage } = + useContext(AppContext); + let _webUrl: string = ''; serviceScope.whenFinished(async () => { _webUrl = serviceScope.consume(PageContext.serviceKey).web.absoluteUrl; }); @@ -28,7 +33,7 @@ export const useSpAPI = (): returnObject => { webUrl ?? _webUrl }/_api/web/lists(@a1)/GetItemById(@a2)/Comments(@a3)?@a1='${listId}'&@a2='${itemId}'&@a3='${commentId}'`; const spOpts: ISPHttpClientOptions = { - method: "DELETE", + method: 'DELETE', }; await spHttpClient.fetch( `${_endPointUrl}`, @@ -48,7 +53,9 @@ export const useSpAPI = (): returnObject => { webUrl ?? _webUrl }/_api/web/lists(@a1)/GetItemById(@a2)/Comments()?@a1='${listId}'&@a2='${itemId}'`; const spOpts: ISPHttpClientOptions = { - body: `{ "text": "${comment.text}", "mentions": ${JSON.stringify(comment.mentions)}}`, + body: `{ "text": "${comment.text}", "mentions": ${JSON.stringify( + comment.mentions + )}}`, }; const _listResults: SPHttpClientResponse = await spHttpClient.post( `${_endPointUrl}`, @@ -61,26 +68,71 @@ export const useSpAPI = (): returnObject => { [serviceScope] ); - const getListItemComments = useCallback(async (): Promise => { - const spHttpClient = serviceScope.consume(SPHttpClient.serviceKey); - if (!spHttpClient) return; - const _endPointUrl = `${ - webUrl ?? _webUrl - }/_api/web/lists(@a1)/GetItemById(@a2)/GetComments()?@a1='${listId}'&@a2='${itemId}'&$top=${ - numberCommentsPerPage ?? 10 - }`; - const _listResults: SPHttpClientResponse = await spHttpClient.get( - `${_endPointUrl}`, - SPHttpClient.configurations.v1 - ); - const _commentsResults = (await _listResults.json()) as any; // eslint-disable-line @typescript-eslint/no-explicit-any - const _returnComments: IlistItemCommentsResults = { - comments: _commentsResults.value, - hasMore: _commentsResults["@odata.nextLink"] ? true : false, - nextLink: _commentsResults["@odata.nextLink"] ?? undefined, - }; - return _returnComments; - }, [serviceScope]); + const likeComment = useCallback( + async (commentId: number): Promise => { + const spHttpClient = serviceScope.consume(SPHttpClient.serviceKey); + if (!spHttpClient) return; + const _endPointUrl = `${ + webUrl ?? _webUrl + }/_api/web/lists(@a1)/GetItemById(@a2)/Comments(@a3)/like?@a1='${listId}'&@a2='${itemId}'&@a3='${commentId}'`; + + const spOpts: ISPHttpClientOptions = { + headers: { + Accept: 'application/json;odata=nometadata', + }, + }; + await spHttpClient.post( + `${_endPointUrl}`, + SPHttpClient.configurations.v1, + spOpts + ); + }, + [serviceScope, webUrl, _webUrl, listId, itemId] + ); + + const unlikeComment = useCallback( + async (commentId: number): Promise => { + const spHttpClient = serviceScope.consume(SPHttpClient.serviceKey); + if (!spHttpClient) return; + const _endPointUrl = `${ + webUrl ?? _webUrl + }/_api/web/lists(@a1)/GetItemById(@a2)/Comments(@a3)/unlike?@a1='${listId}'&@a2='${itemId}'&@a3='${commentId}'`; + + const spOpts: ISPHttpClientOptions = { + headers: { + Accept: 'application/json;odata=nometadata', + }, + }; + await spHttpClient.post( + `${_endPointUrl}`, + SPHttpClient.configurations.v1, + spOpts + ); + }, + [serviceScope, webUrl, _webUrl, listId, itemId] + ); + + const getListItemComments = + useCallback(async (): Promise => { + const spHttpClient = serviceScope.consume(SPHttpClient.serviceKey); + if (!spHttpClient) return; + const _endPointUrl = `${ + webUrl ?? _webUrl + }/_api/web/lists(@a1)/GetItemById(@a2)/GetComments()?@a1='${listId}'&@a2='${itemId}'&$top=${ + numberCommentsPerPage ?? 10 + }&$expand=likedBy`; + const _listResults: SPHttpClientResponse = await spHttpClient.get( + `${_endPointUrl}`, + SPHttpClient.configurations.v1 + ); + const _commentsResults = (await _listResults.json()) as any; // eslint-disable-line @typescript-eslint/no-explicit-any + const _returnComments: IlistItemCommentsResults = { + comments: _commentsResults.value, + hasMore: _commentsResults['@odata.nextLink'] ? true : false, + nextLink: _commentsResults['@odata.nextLink'] ?? undefined, + }; + return _returnComments; + }, [serviceScope]); const getNextPageOfComments = useCallback( async (nextLink: string): Promise => { @@ -94,13 +146,20 @@ export const useSpAPI = (): returnObject => { const _commentsResults = (await _listResults.json()) as any; // eslint-disable-line @typescript-eslint/no-explicit-any const _returnComments: IlistItemCommentsResults = { comments: _commentsResults.value, - hasMore: _commentsResults["@odata.nextLink"] ? true : false, - nextLink: _commentsResults["@odata.nextLink"] ?? undefined, + hasMore: _commentsResults['@odata.nextLink'] ? true : false, + nextLink: _commentsResults['@odata.nextLink'] ?? undefined, }; return _returnComments; }, [serviceScope] ); - return { getListItemComments, getNextPageOfComments, addComment, deleteComment }; + return { + getListItemComments, + getNextPageOfComments, + addComment, + deleteComment, + likeComment, + unlikeComment, + }; }; diff --git a/src/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.tsx b/src/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.tsx index 667808a0e..4d6800d65 100644 --- a/src/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.tsx +++ b/src/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.tsx @@ -251,6 +251,10 @@ export function TaxonomyTree( React.useEffect(() => { let termRootName = ""; + if (!props.anchorTermInfo && !props.termSetInfo) { + return; + } + if (props.anchorTermInfo) { let anchorTermNames = props.anchorTermInfo.labels.filter( (name) => name.languageTag === props.languageTag && name.isDefault @@ -264,15 +268,15 @@ export function TaxonomyTree( } termRootName = anchorTermNames[0].name; } else { - let termSetNames = props.termSetInfo.localizedNames.filter( + let termSetNames = props.termSetInfo?.localizedNames.filter( (name) => name.languageTag === props.languageTag - ); + ) || []; if (termSetNames.length === 0) { termSetNames = props.termSetInfo.localizedNames.filter( (name) => name.languageTag === props.termStoreInfo.defaultLanguageTag - ); + ) || []; } - termRootName = termSetNames[0].name; + termRootName = termSetNames[0].name || ''; } const rootGroup: IGroup = { name: termRootName, @@ -905,6 +909,10 @@ export function TaxonomyTree( return ev.which === getRTLSafeKeyCode(KeyCodes.right); }; + if (!props.termSetInfo && !props.termStoreInfo) { + return <>; + } + return (
{ className={ css( styles.richtext && this.state.editing ? 'ql-active' : null, + CONTAINER_CLASS, this.props.className || null ) || null } diff --git a/src/controls/worldMap/IData.ts b/src/controls/worldMap/IData.ts new file mode 100644 index 000000000..a3765b5e0 --- /dev/null +++ b/src/controls/worldMap/IData.ts @@ -0,0 +1,40 @@ + +/** + * Data structure for map location items. + * Represents a location point with metadata for display on the world map. + */ +export interface IData { + /** + * Unique identifier for the location. + * @example "nyc-001" or "location-1" + */ + id: string; + + /** + * Display name of the location. + * Used for search functionality and marker tooltips. + * @example "New York City" or "Eiffel Tower" + */ + name: string; + + /** + * URL to an image representing this location. + * Used for marker display or in tooltips. + * @example "https://example.com/nyc-skyline.jpg" + */ + imageUrl: string; + + /** + * URL link associated with this location. + * Can be used for navigation when marker is clicked. + * @example "https://example.com/locations/new-york" or "/details/nyc" + */ + link: string; + + /** + * Geographic coordinates as [longitude, latitude] tuple. + * Used to position the marker on the map. + * @example [-74.006, 40.7128] // New York City coordinates + */ + coordinates: [number, number]; +} diff --git a/src/controls/worldMap/IMaplibreWorldMapProps.tsx b/src/controls/worldMap/IMaplibreWorldMapProps.tsx new file mode 100644 index 000000000..19cf96616 --- /dev/null +++ b/src/controls/worldMap/IMaplibreWorldMapProps.tsx @@ -0,0 +1,241 @@ +import { IData } from "./IData"; +import React from "react"; +import { Theme } from "@fluentui/react-components"; + +/** Props for the world map component. */ +export interface IMaplibreWorldMapProps { + /** + * Array of location data to display on the map. Each item must include coordinates as [longitude, latitude]. + * @example + * ```tsx + * const data = [ + * { id: '1', name: 'New York', coordinates: [-74.006, 40.7128], imageUrl: '...', link: '...' } + * ]; + * ``` + */ + data: IData[]; + + /** + * Callback function triggered when a marker is clicked. + * @param c - The data item associated with the clicked marker + * @example + * ```tsx + * onClick={(location) => console.log('Clicked:', location.name)} + * ``` + */ + onClick?: (c: IData) => void; + + /** + * Custom map style URL. If provided with mapKey, the key will be automatically appended. + * If provided without mapKey, the URL will be used as-is. + * @example + * ```tsx + * mapStyleUrl="https://api.maptiler.com/maps/satellite/style.json" + * ``` + */ + mapStyleUrl?: string; + + /** + * MapTiler API key for accessing premium map styles. + * If provided alone, uses MapTiler streets style by default. + * If not provided, falls back to free demo map. + * @example + * ```tsx + * mapKey="your-maptiler-api-key-here" + * ``` + */ + mapKey?: string; + + /** + * Custom CSS styles for the map container. + * @example + * ```tsx + * style={{ width: '100%', height: '500px', border: '1px solid #ccc' }} + * ``` + */ + style?: React.CSSProperties; + + /** + * Padding (in pixels) around the map when fitting bounds to show all markers. + * @default 20 + * @example + * ```tsx + * fitPadding={50} // Adds 50px padding around markers when auto-fitting + * ``` + */ + fitPadding?: number; + + /** + * Title displayed above the map. Can be a string or React element. + * @default 'World Map' + * @example + * ```tsx + * title="My Custom Map" + * // or + * title={

Interactive Location Map

} + * ``` + */ + title?: string | React.ReactNode; + + /** + * Description text displayed below the title (not currently implemented in UI). + * @example + * ```tsx + * description="Click on markers to view location details" + * ``` + */ + description?: string | React.ReactNode; + + /** + * CSS class name applied to the root container. + * @example + * ```tsx + * className="my-custom-map-class" + * ``` + */ + className?: string; + + /** + * Configuration options for map markers appearance and behavior. + */ + marker?: { + /** + * CSS class name applied to marker elements. + * @example "custom-marker-style" + */ + markerClassName?: string; + + /** + * Custom CSS styles applied to marker elements. + * @example {{ backgroundColor: 'red', borderRadius: '50%' }} + */ + markerStyle?: React.CSSProperties; + + /** + * Size of marker images in pixels. + * @default 40 + * @example 60 + */ + imageSize?: number; + + /** + * Custom function to render tooltip content for markers. + * @param c - The data item for the marker + * @returns React element to display in tooltip + * @example + * ```tsx + * renderToolTip={(item) =>
{item.name}
{item.description}
} + * ``` + */ + renderToolTip?: (c: IData) => React.ReactNode; + + /** + * CSS class name applied to tooltip elements. + * @example "custom-tooltip-style" + */ + tooltipClassName?: string; + + /** + * Custom CSS styles applied to tooltip elements. + * @example {{ backgroundColor: 'black', color: 'white', padding: '8px' }} + */ + tooltipStyle?: React.CSSProperties; + } + + /** + * Configuration options for the search functionality. + */ + search?: { + /** + * Enable or disable the search feature. + * @default true + * @example + * ```tsx + * search={{ enabled: false }} // Disables search + * ``` + */ + enabled?: boolean; + + /** + * Placeholder text displayed in the search input. + * @default "Search locations..." + * @example + * ```tsx + * search={{ placeholder: "Find a city or landmark..." }} + * ``` + */ + placeholder?: string; + + /** + * Callback function triggered when search term changes or results are filtered. + * @param searchTerm - The current search term + * @param filteredData - Array of data items matching the search + * @example + * ```tsx + * onSearchChange={(term, results) => { + * console.log(`Search: "${term}" found ${results.length} results`); + * }} + * ``` + */ + onSearchChange?: (searchTerm: string, filteredData: IData[]) => void; + + /** + * Field to search on or a custom function to extract the search term from data items. + * @default "name" + * @example + * ```tsx + * // Search by specific field + * searchField: "id" + * + * // Custom search function + * searchField: (item) => `${item.name} ${item.description}` + * ``` + */ + searchField?: keyof IData | ((item: IData) => string); + + /** + * Zoom level to use when focusing on search results. + * @default 8 + * @example + * ```tsx + * search={{ zoomLevel: 12 }} // Closer zoom for search results + * ``` + */ + zoomLevel?: number; + + /** + * Position of the search overlay on the map. + * @default { top: '10px', left: '10px' } + * @example + * ```tsx + * // Top-right position + * search={{ position: { top: '10px', right: '10px' } }} + * + * // Bottom-left position + * search={{ position: { bottom: '20px', left: '20px' } }} + * ``` + */ + position?: { + /** Distance from the top edge of the map */ + top?: string; + /** Distance from the left edge of the map */ + left?: string; + /** Distance from the right edge of the map */ + right?: string; + /** Distance from the bottom edge of the map */ + bottom?: string; + }; + } + + /** + * Fluent UI theme object for consistent styling. + * @example + * ```tsx + * import { useTheme } from '@fluentui/react-components'; + * + * const theme = useTheme(); + * + * ``` + */ + theme?: Theme +} diff --git a/src/controls/worldMap/IMarker.ts b/src/controls/worldMap/IMarker.ts new file mode 100644 index 000000000..11afe8c3e --- /dev/null +++ b/src/controls/worldMap/IMarker.ts @@ -0,0 +1,10 @@ +import { IData } from "./IData"; +import React from "react"; + +export interface IMarker { + markerClassName?: string; + markerStyle?: React.CSSProperties; + renderToolTip?: (c: IData) => React.ReactNode; + tooltipClassName?: string; + tooltipStyle?: React.CSSProperties; +} diff --git a/src/controls/worldMap/IMarkerProps.tsx b/src/controls/worldMap/IMarkerProps.tsx new file mode 100644 index 000000000..bc947e995 --- /dev/null +++ b/src/controls/worldMap/IMarkerProps.tsx @@ -0,0 +1,7 @@ +import { IData } from './IData'; +import { IMarker } from './IMarker'; + +export interface IMarkerProps extends IMarker { + data: IData; + onClick?: (data: IData) => void; +} diff --git a/src/controls/worldMap/IWorldMapProps.ts b/src/controls/worldMap/IWorldMapProps.ts new file mode 100644 index 000000000..43a5a1524 --- /dev/null +++ b/src/controls/worldMap/IWorldMapProps.ts @@ -0,0 +1,13 @@ +import { Theme } from "@fluentui/react-components"; + +export interface IWorldMapProps { + description: string; + isDarkTheme: boolean; + hasTeamsContext: boolean; + title: string; + theme?: Theme + styles?: React.CSSProperties; + className?: string; + mapStyleUrl?: string; + fitPadding?: number; +} diff --git a/src/controls/worldMap/MapNavigation.tsx b/src/controls/worldMap/MapNavigation.tsx new file mode 100644 index 000000000..71442472a --- /dev/null +++ b/src/controls/worldMap/MapNavigation.tsx @@ -0,0 +1,99 @@ +import * as React from 'react'; + +import { + ArrowReset24Regular, + ZoomIn24Regular, + ZoomOut24Regular, +} from '@fluentui/react-icons'; +import { + Button, + Tooltip, + shorthands, +} from '@fluentui/react-components'; + +import { MapRef } from 'react-map-gl/maplibre'; +import { css } from '@emotion/css'; +import strings from 'ControlStrings'; + +export interface MapNavigationProps { + mapRef: React.RefObject; + initialViewState?: { longitude: number; latitude: number; zoom: number }; + vertical?: boolean; +} + +const navStyle = css` + position: absolute; + top: 16px; + right: 16px; + z-index: 2; + background: tokens.colorNeutralBackground1; + border-radius: 8px; + box-shadow: tokens.shadow4; + padding: 4px; + display: flex; + gap: 8px; +`; + +const navStyleVertical = css` + flex-direction: column; +`; + +const buttonStyle = css` + min-width: 32px; + min-height: 32px; + ${shorthands.padding('4px')} +`; + +export const MapNavigation: React.FC = ({ + mapRef, + initialViewState = { longitude: 0, latitude: 20, zoom: 1 }, + vertical = true, +}) => { + const handleZoomIn = React.useCallback((): void => { + mapRef.current?.getMap().zoomIn(); + }, [mapRef]); + const handleZoomOut = React.useCallback((): void => { + mapRef.current?.getMap().zoomOut(); + }, [mapRef]); + const handleReset = React.useCallback((): void => { + mapRef.current?.flyTo({ + center: [initialViewState.longitude, initialViewState.latitude], + zoom: initialViewState.zoom, + essential: true, + }); + }, [mapRef, initialViewState]); + + return ( +
+ +
+ ); +}; + +export default MapNavigation; diff --git a/src/controls/worldMap/Marker.tsx b/src/controls/worldMap/Marker.tsx new file mode 100644 index 000000000..5b062b8c7 --- /dev/null +++ b/src/controls/worldMap/Marker.tsx @@ -0,0 +1,69 @@ +import * as React from 'react'; + +import { Tooltip, tokens } from '@fluentui/react-components'; + +import { IMarkerProps } from './IMarkerProps'; +import { Marker as MapMarker } from 'react-map-gl/maplibre'; +import TooltipContent from './TooltipContent'; +import { css } from '@emotion/css'; +import strings from 'ControlStrings'; + +const useStyles = (): { flag: string; tooltipContent: string } => { + return { + flag: css` + width: 22px; + height: 10px; + border-radius: 4px; + box-shadow: '${tokens.shadow4}; + border: 1px solid ${tokens.colorNeutralStroke2}; + cursor: pointer; + display: block; + margin: 0 auto; + `, + tooltipContent: css` + background-color: ${tokens.colorBrandBackground2}; + `, + }; +}; + +export const Marker: React.FC = ({ + data, + onClick, + markerClassName, + markerStyle, + + renderToolTip, + tooltipClassName, + tooltipStyle, +}) => { + const styles = useStyles(); + + return ( + onClick && onClick(data)} + className={markerClassName ?? styles.flag} + style={markerStyle ?? undefined} + > + , + style: { ...tooltipStyle }, + className: tooltipClassName ?? styles.tooltipContent, + }} + relationship="label" + > + {`${data.name} (e.currentTarget.style.transform = 'scale(1.1)')} + onMouseLeave={(e) => (e.currentTarget.style.transform = '')} + style={{ cursor: 'pointer' }} + /> + + + ); +}; +export default Marker; diff --git a/src/controls/worldMap/TooltipContent.tsx b/src/controls/worldMap/TooltipContent.tsx new file mode 100644 index 000000000..e7e40b585 --- /dev/null +++ b/src/controls/worldMap/TooltipContent.tsx @@ -0,0 +1,74 @@ +import * as React from "react"; + +import { + Text, + tokens, +} from "@fluentui/react-components"; + +import { IData } from "./IData"; +import { css } from "@emotion/css"; +import strings from "ControlStrings"; + +export interface CountryTooltipContentProps { + data: IData; +} + +const stackStyles = css` + min-width: 160px; + + display: flex; + flex-direction: column; + gap: 4px; + align-items: flex-start; + background-color: ${tokens.colorBrandBackground2}; + padding: 0; + min-width: 100px; +`; + +const rowStyles = css` + display: flex; + align-items: center; + gap: 8px; +`; + +const imageStyles = css` + width: 32px; + height: 20px; + display: block; + border-radius: 4px; + box-shadow: '${tokens.shadow4}; +`; + +const titleStyles = css` + font-weight: 600; + font-size: 1rem; +`; + +const subTitleStyles = css` + color: '${tokens.colorNeutralForeground2}; + font-size: 0.92rem; +`; + +export const TooltipContent: React.FC = ({ + data, +}) => { + return ( +
+
+ {`${data.name} + {data.name} +
+
+ {strings.worldMapCoord} + {data.coordinates[1].toFixed(2)}{strings.worldMapN} + {data.coordinates[0].toFixed(2)}{strings.worldMapE} +
+
+ ); +}; + +export default TooltipContent; diff --git a/src/controls/worldMap/WorldMap.tsx b/src/controls/worldMap/WorldMap.tsx new file mode 100644 index 000000000..a8e92b85f --- /dev/null +++ b/src/controls/worldMap/WorldMap.tsx @@ -0,0 +1,111 @@ +import { IData } from "./IData"; +import { IWorldMapProps } from "./IWorldMapProps"; +import MaplibreWorldMap from "./WorldMapControl"; +import React from "react"; + +const WorldMap: React.FC = (props) => { + + const countries: IData[] = React.useMemo( + () => [ + { id:"us", name:"Microsoft – USA", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-us", coordinates:[-95.7129,37.0902] }, + { id:"canada", name:"Microsoft – Canada", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ca", coordinates:[-79.3832,43.6532] }, + { id:"mexico", name:"Microsoft – Mexico", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/es-mx", coordinates:[-99.1332,19.4326] }, + { id:"brazil", name:"Microsoft – Brazil", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/pt-br", coordinates:[-46.6333,-23.5505] }, + // Europe + { id:"portugal", name:"Microsoft – Portugal", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/pt-pt", coordinates:[-9.1393,38.7223] }, + { id:"uk", name:"Microsoft – United Kingdom", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-gb", coordinates:[-0.1276,51.5074] }, + { id:"ireland", name:"Microsoft – Ireland", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ie", coordinates:[-6.2603,53.3498] }, + { id:"france", name:"Microsoft – France", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-fr", coordinates:[2.3522,48.8566] }, + { id:"germany", name:"Microsoft – Germany", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/de-de", coordinates:[11.5820,48.1351] }, + { id:"italy", name:"Microsoft – Italy", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/it-it", coordinates:[12.4964,41.9028] }, + { id:"spain", name:"Microsoft – Spain", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/es-es", coordinates:[-3.7038,40.4168] }, + { id:"sweden", name:"Microsoft – Sweden", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sv-se", coordinates:[18.0686,59.3293] }, + { id:"switzerland", name:"Microsoft – Switzerland", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/de-ch", coordinates:[7.4474,46.9480] }, + { id:"norway", name:"Microsoft – Norway", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/nb-no", coordinates:[10.7522,59.9139] }, + { id:"finland", name:"Microsoft – Finland", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fi-fi", coordinates:[24.9384,60.1699] }, + { id:"denmark", name:"Microsoft – Denmark", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/da-dk", coordinates:[12.5683,55.6761] }, + { id:"netherlands", name:"Microsoft – Netherlands", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/nl-nl", coordinates:[4.8952,52.3702] }, + { id:"belgium", name:"Microsoft – Belgium", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/nl-be", coordinates:[4.3517,50.8503] }, + { id:"luxembourg", name:"Microsoft – Luxembourg", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-lu", coordinates:[6.1319,49.6116] }, + { id:"austria", name:"Microsoft – Austria", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/de-at", coordinates:[16.3738,48.2082] }, + { id:"poland", name:"Microsoft – Poland", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/pl-pl", coordinates:[21.0122,52.2297] }, + { id:"czech_republic", name:"Microsoft – Czech Republic", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/cs-cz", coordinates:[14.4208,50.0880] }, + { id:"slovakia", name:"Microsoft – Slovakia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sk-sk", coordinates:[17.1077,48.1486] }, + { id:"hungary", name:"Microsoft – Hungary", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/hu-hu", coordinates:[19.0402,47.4979] }, + { id:"slovenia", name:"Microsoft – Slovenia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sl-si", coordinates:[14.5058,46.0569] }, + { id:"croatia", name:"Microsoft – Croatia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/hr-hr", coordinates:[15.9819,45.8150] }, + { id:"serbia", name:"Microsoft – Serbia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sr-latn-rs", coordinates:[20.4573,44.7872] }, + { id:"bosnia", name:"Microsoft – Bosnia and Herzegovina", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/bs-ba", coordinates:[18.4131,43.8563] }, + { id:"montenegro", name:"Microsoft – Montenegro", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sr-latn-me", coordinates:[19.2629,42.4304] }, + { id:"albania", name:"Microsoft – Albania", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/sq-al", coordinates:[19.8187,41.3275] }, + { id:"macedonia", name:"Microsoft – North Macedonia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/mk-mk", coordinates:[21.4316,41.9981] }, + { id:"greece", name:"Microsoft – Greece", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/el-gr", coordinates:[23.7275,37.9838] }, + { id:"bulgaria", name:"Microsoft – Bulgaria", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/bg-bg", coordinates:[23.3219,42.6977] }, + { id:"romania", name:"Microsoft – Romania", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ro-ro", coordinates:[26.1025,44.4268] }, + { id:"moldova", name:"Microsoft – Moldova", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ro-md", coordinates:[28.8638,47.0105] }, + { id:"ukraine", name:"Microsoft – Ukraine", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/uk-ua", coordinates:[30.5234,50.4501] }, + { id:"belarus", name:"Microsoft – Belarus", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/be-by", coordinates:[27.5615,53.9045] }, + { id:"estonia", name:"Microsoft – Estonia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/et-ee", coordinates:[24.7536,59.4370] }, + { id:"latvia", name:"Microsoft – Latvia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/lv-lv", coordinates:[24.1052,56.9496] }, + { id:"lithuania", name:"Microsoft – Lithuania", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/lt-lt", coordinates:[25.2797,54.6872] }, + // Rest of the world (original list) + { id:"russia", name:"Microsoft – Russia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ru-ru", coordinates:[37.6173,55.7558] }, + { id:"south_africa", name:"Microsoft – South Africa", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-za", coordinates:[28.0473,-26.2041] }, + { id:"uae", name:"Microsoft – UAE", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ae", coordinates:[55.2708,25.2048] }, + { id:"india", name:"Microsoft – India", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-in", coordinates:[78.9629,20.5937] }, + { id:"china", name:"Microsoft – China", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/zh-cn", coordinates:[116.383,39.917] }, + { id:"hong_kong", name:"Microsoft – Hong Kong", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/zh-hk", coordinates:[114.1095,22.3964] }, + { id:"japan", name:"Microsoft – Japan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ja-jp", coordinates:[139.6917,35.6895] }, + { id:"south_korea", name:"Microsoft – South Korea", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ko-kr", coordinates:[126.9780,37.5665] }, + { id:"australia", name:"Microsoft – Australia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-au", coordinates:[151.2093,-33.8688] }, + { id:"new_zealand", name:"Microsoft – New Zealand", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-nz", coordinates:[174.88597,-40.90056] }, + { id:"singapore", name:"Microsoft – Singapore", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-sg", coordinates:[103.8198,1.3521] }, + { id:"malaysia", name:"Microsoft – Malaysia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-my", coordinates:[101.6869,3.1390] }, + { id:"philippines", name:"Microsoft – Philippines", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ph", coordinates:[121.7740,12.8797] }, + { id:"thailand", name:"Microsoft – Thailand", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/th-th", coordinates:[100.5018,13.7563] }, + { id:"indonesia", name:"Microsoft – Indonesia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/id-id", coordinates:[106.8456,-6.2088] }, + { id:"vietnam", name:"Microsoft – Vietnam", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/vi-vn", coordinates:[105.8442,21.0278] }, + { id:"bangladesh", name:"Microsoft – Bangladesh", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/bn-bd", coordinates:[90.4125,23.8103] }, + { id:"pakistan", name:"Microsoft – Pakistan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ur-pk", coordinates:[67.0011,24.8607] }, + { id:"egypt", name:"Microsoft – Egypt", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-eg", coordinates:[31.2357,30.0444] }, + { id:"morocco", name:"Microsoft – Morocco", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-ma", coordinates:[-7.5898,33.5731] }, + { id:"kenya", name:"Microsoft – Kenya", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ke", coordinates:[36.8219,-1.2921] }, + { id:"ghana", name:"Microsoft – Ghana", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-gh", coordinates:[-0.1869,5.6037] }, + { id:"ivory_coast", name:"Microsoft – Côte d'Ivoire", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-ci", coordinates:[-4.0083,5.3453] }, + { id:"algeria", name:"Microsoft – Algeria", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-dz", coordinates:[3.0588,36.7538] }, + { id:"nigeria", name:"Microsoft – Nigeria", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-ng", coordinates:[3.3792,6.5244] }, + { id:"tunisia", name:"Microsoft – Tunisia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/fr-tn", coordinates:[10.1815,36.8065] }, + { id:"saudi_arabia", name:"Microsoft – Saudi Arabia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-sa", coordinates:[46.6753,24.7136] }, + { id:"qatar", name:"Microsoft – Qatar", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-qa", coordinates:[51.5310,25.2854] }, + { id:"kuwait", name:"Microsoft – Kuwait", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-kw", coordinates:[47.9783,29.3759] }, + { id:"oman", name:"Microsoft – Oman", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-om", coordinates:[58.3829,23.5880] }, + { id:"bahrain", name:"Microsoft – Bahrain", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-bh", coordinates:[50.5832,26.0667] }, + { id:"lebanon", name:"Microsoft – Lebanon", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-lb", coordinates:[35.5018,33.8938] }, + { id:"jordan", name:"Microsoft – Jordan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ar-jo", coordinates:[35.9106,31.9632] }, + { id:"israel", name:"Microsoft – Israel", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/he-il", coordinates:[34.7818,32.0853] }, + { id:"kazakhstan", name:"Microsoft – Kazakhstan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/kk-kz", coordinates:[76.8860,43.2389] }, + { id:"uzbekistan", name:"Microsoft – Uzbekistan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/uz-uz", coordinates:[69.2401,41.2995] }, + { id:"azerbaijan", name:"Microsoft – Azerbaijan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/az-latn-az", coordinates:[49.8671,40.4093] }, + { id:"georgia", name:"Microsoft – Georgia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ka-ge", coordinates:[44.7930,41.7151] }, + { id:"armenia", name:"Microsoft – Armenia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/hy-am", coordinates:[44.5090,40.1792] }, + { id:"turkmenistan", name:"Microsoft – Turkmenistan", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/tm-tm", coordinates:[58.3833,37.9500] }, + { id:"mongolia", name:"Microsoft – Mongolia", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/mn-mn", coordinates:[106.9155,47.8864] }, + { id:"sri_lanka", name:"Microsoft – Sri Lanka", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/en-lk", coordinates:[79.8612,6.9271] }, + { id:"nepal", name:"Microsoft – Nepal", imageUrl:"https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", link:"https://www.microsoft.com/ne-np", coordinates:[85.3240,27.7172] } + ], + [] + ); + + return ( +
+ console.log('Clicked', c)} + title="Microsoft Locations Worldwide" + /> +
+ ); +}; + +export default WorldMap; diff --git a/src/controls/worldMap/WorldMapControl.tsx b/src/controls/worldMap/WorldMapControl.tsx new file mode 100644 index 000000000..6771b207c --- /dev/null +++ b/src/controls/worldMap/WorldMapControl.tsx @@ -0,0 +1,293 @@ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +/* eslint-disable @typescript-eslint/no-floating-promises */ +import 'maplibre-gl/dist/maplibre-gl.css'; + +import Map, { MapRef, StyleSpecification } from 'react-map-gl/maplibre'; +import React, { + useCallback, + useEffect, + useMemo, + useRef, + useState, +} from 'react'; +import { SearchBox, Subtitle1, Text } from '@fluentui/react-components'; + +import { IData } from './IData'; +import { IMaplibreWorldMapProps } from './IMaplibreWorldMapProps'; +import MapNavigation from './MapNavigation'; +import Marker from './Marker'; +import { css } from '@emotion/css'; +import strings from 'ControlStrings'; +import { useCleanMapStyle } from './useCleanMapStyle'; + +const MULTI_STYLE_URLS = { + satellite: (key: string) => + `https://api.maptiler.com/maps/satellite/style.json?key=${key}`, + streets: (key: string) => + `https://api.maptiler.com/maps/streets/style.json?key=${key}`, + topo: (key: string) => + `https://api.maptiler.com/maps/topo-v2/style.json?key=${key}`, + demo: `https://demotiles.maplibre.org/style.json`, // Free demo style (no key required) +}; + +const useStyles = () => ({ + container: css({ + padding: '20px', + }), + mapContainer: css({ + position: 'relative', + marginTop: '20px', + }), + searchOverlay: css({ + position: 'absolute', + zIndex: 1000, + maxWidth: '300px', + padding: '8px', + }), + searchResults: css({ + marginTop: '4px', + fontSize: '12px', + color: '#666', + }), +}); + +/** + * Main Maplibre world map component. + * expects each data to already include a `coordinates: [lon, lat]` tuple. + */ +export const MaplibreWorldMap: React.FC = ({ + data, + onClick, + mapStyleUrl, + mapKey, + style, + fitPadding = 20, + theme, + marker, + title, + search, +}) => { + const mapRef = useRef(null); + const styles = useStyles(); + + // Determine the final map style URL based on provided props + const finalMapStyleUrl = useMemo(() => { + // If user provides both mapKey and mapStyleUrl, use the mapStyleUrl as-is (assuming it already includes the key) + if (mapKey && mapStyleUrl) { + // Check if the URL already contains a key parameter + if (mapStyleUrl.includes('?key=') || mapStyleUrl.includes('&key=')) { + return mapStyleUrl; + } else { + // Add the key to the URL + const separator = mapStyleUrl.includes('?') ? '&' : '?'; + return `${mapStyleUrl}${separator}key=${mapKey}`; + } + } + + // If only mapKey is provided, use the default streets style with the user's key + if (mapKey && !mapStyleUrl) { + return MULTI_STYLE_URLS.streets(mapKey); + } + + // If only mapStyleUrl is provided, use it as-is + if (!mapKey && mapStyleUrl) { + return mapStyleUrl; + } + + // If neither is provided, use the demo style (no key required) + return MULTI_STYLE_URLS.demo; + }, [mapKey, mapStyleUrl]); + + const cleanStyle = useCleanMapStyle(finalMapStyleUrl); + + const [searchTerm, setSearchTerm] = useState(''); + const [filteredData, setFilteredData] = useState(data); + const [initialViewState] = useState({ longitude: 0, latitude: 20, zoom: 1 }); + + // Search configuration with defaults + const searchConfig = useMemo( + () => ({ + enabled: search?.enabled ?? true, + placeholder: search?.placeholder ?? strings.worldMapSearchLocations, + searchField: search?.searchField ?? strings.worldMapSearchField, + zoomLevel: search?.zoomLevel ?? 8, + position: { + top: '10px', + left: '10px', + ...search?.position, + }, + ...search, + }), + [search] + ); + + // Reset to initial view when search is cleared + const resetToInitialView = useCallback(() => { + if (mapRef.current) { + if (data.length > 0) { + // Fit to all data + const lons = data.map((c) => c.coordinates[0]); + const lats = data.map((c) => c.coordinates[1]); + mapRef.current.getMap().fitBounds( + [ + [Math.min(...lons), Math.min(...lats)], + [Math.max(...lons), Math.max(...lats)], + ], + { padding: fitPadding, duration: 1000 } + ); + } else { + // Reset to initial view state + mapRef.current.getMap().flyTo({ + center: [initialViewState.longitude, initialViewState.latitude], + zoom: initialViewState.zoom, + duration: 1000, + }); + } + } + }, [data, fitPadding, initialViewState]); + + // Filter data based on search term + const handleSearch = useCallback( + (term: string) => { + setSearchTerm(term); + + if (!term.trim()) { + setFilteredData(data); + search?.onSearchChange?.(term, data); + resetToInitialView(); + return; + } + + const filtered = data.filter((item) => { + const searchValue = + typeof searchConfig.searchField === 'function' + ? searchConfig.searchField(item) + : (item[searchConfig.searchField as keyof IData] as string); + + return searchValue?.toLowerCase().includes(term.toLowerCase()); + }); + + setFilteredData(filtered); + search?.onSearchChange?.(term, filtered); + + // Auto-zoom to first result + if (filtered.length > 0 && mapRef.current) { + const firstResult = filtered[0]; + mapRef.current.getMap().flyTo({ + center: firstResult.coordinates, + zoom: searchConfig.zoomLevel, + duration: 1000, + }); + } + }, + [data, search, searchConfig, resetToInitialView] + ); + + // Handle search clear + const handleSearchClear = useCallback(() => { + setSearchTerm(''); + setFilteredData(data); + search?.onSearchChange?.('', data); + resetToInitialView(); + }, [data, search, resetToInitialView]); + + // Update filtered data when data prop changes + useEffect(() => { + if (!searchTerm.trim()) { + setFilteredData(data); + } else { + handleSearch(searchTerm); + } + }, [data, searchTerm, handleSearch]); + + const defaultMapStyles: React.CSSProperties = useMemo( + () => ({ + width: '100%', + height: '600px', + fontFamily: theme?.fontFamilyBase, + paddingTop: '20px', + paddingBottom: '20px', + }), + [theme] + ); + + // Fit map to loaded markers + useEffect(() => { + if (!mapRef.current || filteredData.length === 0) return; + const lons = filteredData.map((c) => c.coordinates[0]); + const lats = filteredData.map((c) => c.coordinates[1]); + mapRef.current.getMap().fitBounds( + [ + [Math.min(...lons), Math.min(...lats)], + [Math.max(...lons), Math.max(...lats)], + ], + { padding: fitPadding } + ); + }, [filteredData, fitPadding]); + + if (!cleanStyle) { + return {strings.worldMapLoadintText}; + } + + return ( +
+ {title ?? strings.worldMapTitle} +
+ + + {filteredData.map((dataItem) => ( + onClick?.(dataItem)} + {...marker} + /> + ))} + + + {searchConfig.enabled && ( +
+ handleSearch(data?.value || '')} + dismiss={{ + onClick: handleSearchClear, + }} + size="medium" + style={{ width: '100%', minWidth: '250px' }} + /> + {searchTerm && ( +
+ {filteredData.length}{' '} + {filteredData.length === 1 + ? strings.worldMapLocationLabel + : strings.worldMapLocationPluralLabel}{' '} + {strings.worldMapFoundLabel} +
+ )} +
+ )} +
+
+ ); +}; + +export default MaplibreWorldMap; diff --git a/src/controls/worldMap/examples.tsx b/src/controls/worldMap/examples.tsx new file mode 100644 index 000000000..99d3f04c4 --- /dev/null +++ b/src/controls/worldMap/examples.tsx @@ -0,0 +1,217 @@ +// Example usage of WorldMapControl with search functionality + +import { IData } from './IData'; +import { MaplibreWorldMap } from './WorldMapControl'; +import React from 'react'; + +const ExampleWithSearch: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + }, + { + id: '2', + name: 'London', + imageUrl: 'https://example.com/london.jpg', + link: 'https://example.com/london', + coordinates: [-0.1276, 51.5074] + }, + { + id: '3', + name: 'Tokyo', + imageUrl: 'https://example.com/tokyo.jpg', + link: 'https://example.com/tokyo', + coordinates: [139.6917, 35.6895] + } + ]; + + const handleLocationClick = (location: IData): void => { + console.log('Location clicked:', location.name); + }; + + const handleSearchChange = (searchTerm: string, filteredData: IData[]): void => { + console.log('Search term:', searchTerm); + console.log('Filtered results:', filteredData); + if (!searchTerm) { + console.log('Search cleared - map reset to initial view'); + } + }; + + return ( + item.name + position: { + top: '10px', + left: '10px' + } + }} + style={{ + width: '100%', + height: '500px' + }} + /> + ); +}; + +// Example with custom positioning (top-right) +const ExampleWithTopRightSearch: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + } + ]; + + return ( + + ); +}; + +// Example with custom MapTiler API key +const ExampleWithCustomMapKey: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + } + ]; + + return ( + + ); +}; + +// Example with custom MapTiler API key and specific style +const ExampleWithCustomKeyAndStyle: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + } + ]; + + return ( + + ); +}; + +// Example using demo map (no key required) +const ExampleWithDemoMap: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + } + ]; + + return ( + + ); +}; + +// Example with search disabled +const ExampleWithoutSearch: React.FC = () => { + const mapData: IData[] = [ + // ... your data + ]; + + return ( + + ); +}; + +// Example with custom search field +const ExampleWithCustomSearch: React.FC = () => { + const mapData: IData[] = [ + { + id: '1', + name: 'New York', + imageUrl: 'https://example.com/ny.jpg', + link: 'https://example.com/ny', + coordinates: [-74.006, 40.7128] + } + ]; + + return ( + `${item.name} ${item.link}`, + }} + /> + ); +}; + +export { + ExampleWithSearch, + ExampleWithCustomSearch, + ExampleWithoutSearch, + ExampleWithTopRightSearch, + ExampleWithCustomMapKey, + ExampleWithCustomKeyAndStyle, + ExampleWithDemoMap +}; diff --git a/src/controls/worldMap/index.ts b/src/controls/worldMap/index.ts new file mode 100644 index 000000000..ac71f825f --- /dev/null +++ b/src/controls/worldMap/index.ts @@ -0,0 +1,9 @@ +export * from './IData'; +export * from './IWorldMapProps'; +export * from './IMaplibreWorldMapProps'; +export * from './WorldMap'; +export * from './WorldMapControl'; + + + + diff --git a/src/controls/worldMap/useCleanMapStyle.tsx b/src/controls/worldMap/useCleanMapStyle.tsx new file mode 100644 index 000000000..2137827ec --- /dev/null +++ b/src/controls/worldMap/useCleanMapStyle.tsx @@ -0,0 +1,28 @@ +/* eslint-disable @typescript-eslint/no-floating-promises */ +import { useEffect, useState } from "react"; + +import type { Style } from "maplibre-gl"; + +/** + * Fetches and cleans a MapLibre style JSON, removing any graticule layer. + */ +export const useCleanMapStyle = (url: string): Style | undefined => { + const [styleJson, setStyleJson] = useState