diff --git a/CHANGELOG.json b/CHANGELOG.json index 300104164..4c5afe177 100644 --- a/CHANGELOG.json +++ b/CHANGELOG.json @@ -1,5 +1,36 @@ { "versions": [ + { + "version": "3.23.0", + "changes": { + "new": [], + "enhancements": [ + "Update MPA page with compatibility matrix [#2063](https://github.com/pnp/sp-dev-fx-controls-react/pull/2063)", + "`fast-serve`: Update spfx-fast-serve-helpers to 1.21.1 [#2038](https://github.com/pnp/sp-dev-fx-controls-react/pull/2038)", + "`DynamicForm`: Add itemsQueryCountLimit for Lookup fields [#2033](https://github.com/pnp/sp-dev-fx-controls-react/issues/2033)", + "`ImagePicker`: FluentProvider to SelectFromSharePoint component so token is not undefined [#2046](https://github.com/pnp/sp-dev-fx-controls-react/pull/2046)" + ], + "fixes": [ + "`RichText`: Rich Text in v 3.22 ribbon renders incorrectly [#2036](https://github.com/pnp/sp-dev-fx-controls-react/issues/2036)", + "`Carousel`: links not opening on a new tab with target: _blank [#2022](https://github.com/pnp/sp-dev-fx-controls-react/issues/2022)", + "`ListItemPicker`: calculated column as columnInternalName not working [#1870](https://github.com/pnp/sp-dev-fx-controls-react/issues/1870)", + "`Calendar`: not displaying items [#2025](https://github.com/pnp/sp-dev-fx-controls-react/issues/2025)", + "`ListItemComments`: Error when using some special characters in text [#2047](https://github.com/pnp/sp-dev-fx-controls-react/issues/2047)", + "Update `FolderExplorerService.ts` to add import @pnp/sp/files [#2050](https://github.com/pnp/sp-dev-fx-controls-react/pull/2050)", + "`RichText`: indent controls missing icons [#2045](https://github.com/pnp/sp-dev-fx-controls-react/issues/2045)", + "Using `ListItemAttachments` to add/remove attachments causes ETag errors [#2051](https://github.com/pnp/sp-dev-fx-controls-react/issues/2051)" + ] + }, + "contributions": [ + "[Antanina Druzhkina](https://github.com/Ateina)", + "[Harminder Singh](https://github.com/HarminderSethi)", + "[Mark Bice](https://github.com/mbice)", + "[Michaël Maillot](https://github.com/michaelmaillot)", + "[moudhafersalhi](https://github.com/moudhafersalhi)", + "[Niels Söth](https://github.com/nsoeth)", + "[SeyedAliAsghari96](https://github.com/SeyedAliAsghari96)" + ] + }, { "version": "3.22.0", "changes": { @@ -55,7 +86,6 @@ "Add cs-cz.ts [#1932](https://github.com/pnp/sp-dev-fx-controls-react/pull/1932)", "`FilterBar`: new control `FilterBar` [#1884](https://github.com/pnp/sp-dev-fx-controls-react/pull/1884)", "`Calendar`: new controls `Calendar` [#1955](https://github.com/pnp/sp-dev-fx-controls-react/pull/1955)" - ], "enhancements": [ "Update markdown-it to >=13.0.2 [#1916](https://github.com/pnp/sp-dev-fx-controls-react/issues/1916)", @@ -215,7 +245,7 @@ }, { "version": "3.17.0", - "changes":{ + "changes": { "new": [], "enhancements": [ "`DyanmicForm`: Added file handling [#1625](https://github.com/pnp/sp-dev-fx-controls-react/pull/1625)", @@ -359,7 +389,6 @@ "[Sergei Sergeev](https://github.com/s-KaiNet)", "[Sharepointalist](https://github.com/sharepointalist)", "[Zhephyr](https://github.com/Zhephyr54)" - ] }, { @@ -417,7 +446,6 @@ "`AdaptiveCardHost`: Logic to prevent re-renders (flicker) [#1425](https://github.com/pnp/sp-dev-fx-controls-react/pull/1425)", "`ListItemComments`: Add new parameter for ListItemComments to highlight comment [#1430](https://github.com/pnp/sp-dev-fx-controls-react/pull/1430)", "`ComboBoxListItemPicker`: Update ComboBoxListItemPicker.md [#1470](https://github.com/pnp/sp-dev-fx-controls-react/pull/1470)" - ], "fixes": [ "`DateTimePicker`: broken link for `getErrorMessage` property fixed [#1277](https://github.com/pnp/sp-dev-fx-controls-react/pull/1381)", @@ -438,7 +466,6 @@ "`DateTimePicker`: Date picker locale [#1095](https://github.com/pnp/sp-dev-fx-controls-react/issues/1095)", "`RichText`: Use theme colors - fix dark mode [#669](https://github.com/pnp/sp-dev-fx-controls-react/issues/669)", "`FilePicker`: Use theme colors - fix dark mode [#1132](https://github.com/pnp/sp-dev-fx-controls-react/issues/1132)" - ] }, "contributions": [ @@ -460,7 +487,6 @@ "[Samuele Furnari](https://github.com/SamueleFurnari)", "[sambilfinger](https://github.com/sambilfinger)", "[wuxiaojun514](https://github.com/wuxiaojun514)" - ] }, { @@ -513,7 +539,6 @@ "`Placeholder`: Documentation example to only display in edit mode [#1280](https://github.com/pnp/sp-dev-fx-controls-react/issues/1280)", "`DynamicForm`: Update documentation regarding onBeforeSubmit [#1319](https://github.com/pnp/sp-dev-fx-controls-react/issues/1319)", "`DynamicForm`: FirstDayOfWeek in DatePickers from webs regional settings [#1317](https://github.com/pnp/sp-dev-fx-controls-react/issues/1317)" - ], "fixes": [ "`PeoplePicker`: fixes where people picker returns no results [#1292](https://github.com/pnp/sp-dev-fx-controls-react/issues/1292)", @@ -584,7 +609,6 @@ "`PeoplePicker`: PeoplePicker validation on focus out [#1221](https://github.com/pnp/sp-dev-fx-controls-react/pull/1221)", "`DynamicForm`: Cannot display lookup value when the source field is not Title [#1215](https://github.com/pnp/sp-dev-fx-controls-react/issues/1215)", "`FilePicker`: the endPoint for webSearch do not work [#1256](https://github.com/pnp/sp-dev-fx-controls-react/issues/1256)" - ] }, "contributions": [ diff --git a/CHANGELOG.md b/CHANGELOG.md index e05d51081..04a4ab1f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ # Releases +## 3.23.0 + +### Enhancements + +- Update MPA page with compatibility matrix [#2063](https://github.com/pnp/sp-dev-fx-controls-react/pull/2063) +- `fast-serve`: Update spfx-fast-serve-helpers to 1.21.1 [#2038](https://github.com/pnp/sp-dev-fx-controls-react/pull/2038) +- `DynamicForm`: Add itemsQueryCountLimit for Lookup fields [#2033](https://github.com/pnp/sp-dev-fx-controls-react/issues/2033) +- `ImagePicker`: FluentProvider to SelectFromSharePoint component so token is not undefined [#2046](https://github.com/pnp/sp-dev-fx-controls-react/pull/2046) + +### Fixes + +- `RichText`: Rich Text in v 3.22 ribbon renders incorrectly [#2036](https://github.com/pnp/sp-dev-fx-controls-react/issues/2036) +- `Carousel`: links not opening on a new tab with target: _blank [#2022](https://github.com/pnp/sp-dev-fx-controls-react/issues/2022) +- `ListItemPicker`: calculated column as columnInternalName not working [#1870](https://github.com/pnp/sp-dev-fx-controls-react/issues/1870) +- `Calendar`: not displaying items [#2025](https://github.com/pnp/sp-dev-fx-controls-react/issues/2025) +- `ListItemComments`: Error when using some special characters in text [#2047](https://github.com/pnp/sp-dev-fx-controls-react/issues/2047) +- Update `FolderExplorerService.ts` to add import @pnp/sp/files [#2050](https://github.com/pnp/sp-dev-fx-controls-react/pull/2050) +- `RichText`: indent controls missing icons [#2045](https://github.com/pnp/sp-dev-fx-controls-react/issues/2045) +- Using `ListItemAttachments` to add/remove attachments causes ETag errors [#2051](https://github.com/pnp/sp-dev-fx-controls-react/issues/2051) + +### Contributors + +Special thanks to our contributors (in alphabetical order): [Antanina Druzhkina](https://github.com/Ateina), [Harminder Singh](https://github.com/HarminderSethi), [Mark Bice](https://github.com/mbice), [Michaël Maillot](https://github.com/michaelmaillot), [moudhafersalhi](https://github.com/moudhafersalhi), [Niels Söth](https://github.com/nsoeth), [SeyedAliAsghari96](https://github.com/SeyedAliAsghari96). + ## 3.22.0 ### New control(s) diff --git a/docs/documentation/docs/about/release-notes.md b/docs/documentation/docs/about/release-notes.md index e05d51081..04a4ab1f7 100644 --- a/docs/documentation/docs/about/release-notes.md +++ b/docs/documentation/docs/about/release-notes.md @@ -1,5 +1,29 @@ # Releases +## 3.23.0 + +### Enhancements + +- Update MPA page with compatibility matrix [#2063](https://github.com/pnp/sp-dev-fx-controls-react/pull/2063) +- `fast-serve`: Update spfx-fast-serve-helpers to 1.21.1 [#2038](https://github.com/pnp/sp-dev-fx-controls-react/pull/2038) +- `DynamicForm`: Add itemsQueryCountLimit for Lookup fields [#2033](https://github.com/pnp/sp-dev-fx-controls-react/issues/2033) +- `ImagePicker`: FluentProvider to SelectFromSharePoint component so token is not undefined [#2046](https://github.com/pnp/sp-dev-fx-controls-react/pull/2046) + +### Fixes + +- `RichText`: Rich Text in v 3.22 ribbon renders incorrectly [#2036](https://github.com/pnp/sp-dev-fx-controls-react/issues/2036) +- `Carousel`: links not opening on a new tab with target: _blank [#2022](https://github.com/pnp/sp-dev-fx-controls-react/issues/2022) +- `ListItemPicker`: calculated column as columnInternalName not working [#1870](https://github.com/pnp/sp-dev-fx-controls-react/issues/1870) +- `Calendar`: not displaying items [#2025](https://github.com/pnp/sp-dev-fx-controls-react/issues/2025) +- `ListItemComments`: Error when using some special characters in text [#2047](https://github.com/pnp/sp-dev-fx-controls-react/issues/2047) +- Update `FolderExplorerService.ts` to add import @pnp/sp/files [#2050](https://github.com/pnp/sp-dev-fx-controls-react/pull/2050) +- `RichText`: indent controls missing icons [#2045](https://github.com/pnp/sp-dev-fx-controls-react/issues/2045) +- Using `ListItemAttachments` to add/remove attachments causes ETag errors [#2051](https://github.com/pnp/sp-dev-fx-controls-react/issues/2051) + +### Contributors + +Special thanks to our contributors (in alphabetical order): [Antanina Druzhkina](https://github.com/Ateina), [Harminder Singh](https://github.com/HarminderSethi), [Mark Bice](https://github.com/mbice), [Michaël Maillot](https://github.com/michaelmaillot), [moudhafersalhi](https://github.com/moudhafersalhi), [Niels Söth](https://github.com/nsoeth), [SeyedAliAsghari96](https://github.com/SeyedAliAsghari96). + ## 3.22.0 ### New control(s) diff --git a/docs/documentation/docs/controls/Dashboard.md b/docs/documentation/docs/controls/Dashboard.md index 37e959012..fd109484f 100644 --- a/docs/documentation/docs/controls/Dashboard.md +++ b/docs/documentation/docs/controls/Dashboard.md @@ -111,6 +111,7 @@ Provides settings of Dashboard's widget | controlOptions | IWidgetControlOptions | no | Component rendering options. | | body | IWidgetBodyContent[] | no | Widget's content (children) rendered as tabs. | | link | IWidgetLink | no | Widget's link rendered at the bottom part of the widget. | +| rowSpan | number | no | Number of rows the widget should span. If specified, it will override any vertical value set from the size property. | Interface `IWidgetActionKey` diff --git a/docs/documentation/docs/controls/DynamicForm.md b/docs/documentation/docs/controls/DynamicForm.md index 4aca7cc0a..564cc668e 100644 --- a/docs/documentation/docs/controls/DynamicForm.md +++ b/docs/documentation/docs/controls/DynamicForm.md @@ -72,6 +72,7 @@ The `DynamicForm` can be configured with the following properties: | useModernTaxonomyPicker | boolean | no | Specifies if the form should render [ModernTaxonomyPicker](./ModernTaxonomyPicker.md) control for Managed metadata fields. If set to `true`, Dynamic form will render ModernTaxonomyPicker control. If set to `false`, Dynamic form will render TaxonomyPicker control. Default is `false` | | className | string | no | Set CSS Class. | | styles | IStyleFunctionOrObject<IDynamicFormStyleProps, [IDynamicFormStyles](#idynamicformstyles-interface)> | no | Styles to apply on control. See the example [here](#how-to-use-styles-property) | +| itemsQueryCountLimit | number | no | Number of items to display in the lookup fields of the form | | ## Validation Error Dialog Properties `IValidationErrorDialogProps` @@ -119,6 +120,56 @@ The `DynamicForm` can be configured with the following properties: | thumbnailFieldButtons | IStyle | styles for button when field type is 'Thumbnail' | | selectedFileContainer | IStyle | styles for File Selection Control | +## Public Methods + +The `DynamicForm` control exposes the following public methods that can be called using a ref: + +### updateETag(itemData: any): void + +Updates the ETag stored in the component's state. This is useful when the list item has been modified externally (e.g., by adding/removing attachments using the ListItemAttachments control) and you need to update the ETag to prevent 412 conflict errors on save. + +**Parameters:** +- `itemData` - The updated item data containing the new ETag (typically from SharePoint REST API response with `odata.etag` property) + +**Example:** + +```TypeScript +import * as React from 'react'; +import { DynamicForm } from '@pnp/spfx-controls-react/lib/DynamicForm'; +import { ListItemAttachments } from '@pnp/spfx-controls-react/lib/ListItemAttachments'; + +export class MyComponent extends React.Component { + private dynamicFormRef = React.createRef(); + + private onAttachmentChange = (itemData: any): void => { + // Update the DynamicForm's ETag when attachments are modified + if (this.dynamicFormRef.current) { + this.dynamicFormRef.current.updateETag(itemData); + } + } + + public render() { + return ( +
+ + +
+ ); + } +} +``` + ## How to use styles property Property styles of Dynamic Form gives you a set of properties which you can use to modify styles. diff --git a/docs/documentation/docs/controls/GridLayout.md b/docs/documentation/docs/controls/GridLayout.md index fb5e3ff43..256c3fa1c 100644 --- a/docs/documentation/docs/controls/GridLayout.md +++ b/docs/documentation/docs/controls/GridLayout.md @@ -147,5 +147,10 @@ The grid layout control can be configured with the following properties: | items | any[] | yes | The array of items you wish to display. | | listProps | IListProps | no | Provides additional list properties to customize the underlying list. | | onRenderGridItem | function | yes | onRenderGridItem handler for the grid layout. Use this handler to specify how you wish to render each grid item | +| itemPadding | number | no | Gap between items. | +| itemMinWidth | number | no | Minimum width for each item. | +| itemMaxWidth | number | no | Maximum width for each item. | +| compactThreshold | number | no | Threshold width below which the compact layout is activated. | +| rowsPerPage | number | no | Number of rows displayed per page. | ![](https://telemetry.sharepointpnp.com/sp-dev-fx-controls-react/wiki/controls/gridlayout) diff --git a/docs/documentation/docs/controls/ListItemAttachments.md b/docs/documentation/docs/controls/ListItemAttachments.md index ff7bb4dd4..7600d07f8 100644 --- a/docs/documentation/docs/controls/ListItemAttachments.md +++ b/docs/documentation/docs/controls/ListItemAttachments.md @@ -63,5 +63,53 @@ The `ListItemAttachments` control can be configured with the following propertie | description | string | no | Description text to display on the placeholder, below the main text and icon. | | disabled | boolean | no | Specifies if the control is disabled or not. | | openAttachmentsInNewWindow | boolean | no | Specifies if the attachment should be opened in a separate browser tab. Use this property set to `true` if you plan to use the component in Microsoft Teams. | +| onAttachmentChange | (itemData: any) => void | no | Callback function invoked when attachments are added or removed. Receives the updated item data including the new ETag. This is useful when using the control within a form (like DynamicForm) that tracks ETags for optimistic concurrency control. | + +## Usage with DynamicForm + +When using `ListItemAttachments` within a `DynamicForm` or any component that uses ETags for optimistic concurrency control, you should use the `onAttachmentChange` callback to update the ETag when attachments are modified: + +```TypeScript +import * as React from 'react'; +import { DynamicForm } from '@pnp/spfx-controls-react/lib/DynamicForm'; +import { ListItemAttachments } from '@pnp/spfx-controls-react/lib/ListItemAttachments'; + +export class MyFormComponent extends React.Component { + private dynamicFormRef = React.createRef(); + + /** + * Callback invoked when attachments are added or removed + * Updates the ETag in DynamicForm to prevent 412 conflicts + */ + private onAttachmentChange = (itemData: any): void => { + if (this.dynamicFormRef.current) { + this.dynamicFormRef.current.updateETag(itemData); + } + } + + public render(): React.ReactElement { + return ( +
+ + + +
+ ); + } +} +``` + +This prevents 412 ETag conflict errors when saving the form after adding or removing attachments. ![](https://telemetry.sharepointpnp.com/sp-dev-fx-controls-react/wiki/controls/ListItemAttachments) diff --git a/docs/documentation/docs/controls/ListView.md b/docs/documentation/docs/controls/ListView.md index 73b6e7618..c5f5dd2b5 100644 --- a/docs/documentation/docs/controls/ListView.md +++ b/docs/documentation/docs/controls/ListView.md @@ -17,13 +17,13 @@ This control renders a list view for the given set of items. - Check that you installed the `@pnp/spfx-controls-react` dependency. Check out the [getting started](../../#getting-started) page for more information about installing the dependency. - Import the following modules to your component: -```TypeScript +```typeScript import { ListView, IViewField, SelectionMode, GroupOrder, IGrouping } from "@pnp/spfx-controls-react/lib/ListView"; ``` - Use the `ListView` control in your code as follows: -```TypeScript +```typeScript { } ``` +## Disabling flatten items + +By default, the ListView control is flattening the items passed as prop, which means that nested objects such as arrays are transformed and put at level 0. This can be a problem when manipulating items with objects or sub-arrays. When setting the prop `flattenItems` to `false`, items are returned "as provided" which enables custom rendering. See the following example: + +```typescript +// ... +public render(): React.ReactElement<{}> { + const itms = [ + { + id: 1, + displayName: 'Adele Vance', + email: 'adelev@contoso.onmicrosoft.com', + managers: [{displayName: "Tony Stark"}, {displayName: "Natasha Romanoff"}] + }, + { + id: 2, + displayName: 'Alex Wilber', + email: 'alexw@contoso.onmicrosoft.com', + managers: [{displayName: "Maria Hill"}, {displayName: "Bruce Banner"}] + }, + { + id: 3, + displayName: 'Megan Bowen', + email: 'meganb@contoso.onmicrosoft.com', + managers: [{displayName: "Thor"}, {displayName: "Tony Stark"}] + }, + ]; + + const vwFields: IViewField[] = [ + { + name: "id", + displayName: "ID", + sorting: false, + minWidth: 50, + maxWidth: 50 + }, + { + name: "displayName", + displayName: "Name", + sorting: true, + minWidth: 100, + maxWidth: 100 + }, + { + name: "email", + displayName: "E-mail", + sorting: true, + minWidth: 150, + maxWidth: 150 + }, + { + name: "managers", + displayName: "Managers", + sorting: true, + render: (item?: any, index?: number, column?: any): JSX.Element => { + return ( +
+ {item.managers.map(itm => {return {itm.displayName}})} +
+ ); + }, + minWidth: 100, + maxWidth: 100 + } + ]; + + return ( + + ); +} +``` + ## Implementation The ListView control can be configured with the following properties: @@ -100,11 +180,12 @@ The ListView control can be configured with the following properties: | defaultFilter | string | no | Specify the initial filter to be applied to the list. | | dragDropFiles | boolean | no | Specify the drag and drop files area option. Default false. | | onDrop | file | no | Event handler returns files from drag and drop. | -| stickyHeader | boolean | no | Specifies if the header of the `ListView`, including search box, is sticky | +| stickyHeader | boolean | no | Specifies if the header of the `ListView`, including search box, is sticky. | | onRenderRow | (props: IDetailsRowProps) => JSX.Element \| null | no | Callback to override the default row rendering. | -| sortItems | (items: any[], columnName: string, descending: boolean) => any[] | no | Custom sorting function to handle sorting by column | -| className | string | no | Class name to apply additional styles on list view wrapper | -| listClassName | string | no | Class name to apply additional styles on list view | +| sortItems | (items: any[], columnName: string, descending: boolean) => any[] | no | Custom sorting function to handle sorting by column. | +| className | string | no | Class name to apply additional styles on list view wrapper. | +| listClassName | string | no | Class name to apply additional styles on list view. | +| flattenItems | boolean | no | Specify if items should be flatten or not. Default value is `true`. | The `IViewField` has the following implementation: diff --git a/docs/documentation/docs/controls/PeoplePicker.md b/docs/documentation/docs/controls/PeoplePicker.md index c69926a38..8fc490758 100644 --- a/docs/documentation/docs/controls/PeoplePicker.md +++ b/docs/documentation/docs/controls/PeoplePicker.md @@ -62,6 +62,10 @@ private _getPeoplePickerItems(items: any[]) { Sometimes, depending on how your organization is configured regarding users and groups, performing search can be tricky. As the `PeoplePicker` is using the `SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser` endpoint under the hood, there is an optional parameter called `useSubstrateSearch`. Setting this to `true` will perform a search using the Microsoft 365 Substrate, which will go through centralized stored data in order to find requested info. More details about this feature can be found [here](https://techcommunity.microsoft.com/t5/video-hub/admin-39-s-guide-to-the-microsoft-365-substrate/ba-p/3633132) and [here](https://youtu.be/uuiTR8r27Os?si=JkPyfiQggvCMj0xg&t=467). +## Enable external users search + +To enable external users search, the `allowUnvalidated` property must be set to `true`. Behind the scenes, it will include returned values from search with `EntityData.PrincipalType` set to `UNVALIDATED_EMAIL_ADDRESS`. + ## Implementation The People picker control can be configured with the following properties: diff --git a/docs/documentation/docs/guides/mpa.md b/docs/documentation/docs/guides/mpa.md index ccf8bfb0e..fd80e62dc 100644 --- a/docs/documentation/docs/guides/mpa.md +++ b/docs/documentation/docs/guides/mpa.md @@ -4,7 +4,59 @@ The shortest way to prepare your local copy of the project for development and t ## Install prerequisites -Before you start contributing to this project, you will need Node.js. This project (current version 3.x) has been tested with the 18.x version of Node.js and the version of NPM that comes with it. You can use [Node Version Manager](https://github.com/nvm-sh/nvm) or [Node Version Switcher](https://github.com/jasongin/nvs) to switch between different versions of Node.js. +Before you start contributing to this project, you will need Node.js. You can use [Node Version Manager](https://github.com/nvm-sh/nvm) or [Node Version Switcher](https://github.com/jasongin/nvs) to switch between different versions of Node.js. + +As this project is based on SPFx, it aligns with the following [development compatibility matrix](https://learn.microsoft.com/sharepoint/dev/spfx/compatibility#spfx-development-environment-compatibility): + +| Version | SPFx Version Supported | Node Versions Supported | +| ------- | ---------------------- | ----------------------- | +| 3.23.0 | 1.21.1 | 22 | +| 3.22.0 | 1.21.1 | 22 | +| 3.21.0 | 1.21.0 | 22 | +| 3.20.0 | 1.20.0 | 18 | +| 3.19.0 | 1.19.0 | 18 | +| 3.18.0 | 1.18.2 | 16, 18 | +| 3.17.0 | 1.18.2 | 16, 18 | +| 3.16.0 | 1.18.2 | 16, 18 | +| 3.15.0 | 1.17.1 | 16 | +| 3.14.0 | 1.17.1 | 16 | +| 3.13.0 | 1.16.1 | 14, 16, 18 | +| 3.12.0 | 1.16.0 | 14, 16, 18 | +| 3.11.0 | 1.15.2 | 12, 14, 16 | +| 3.10.0 | 1.15.2 | 12, 14, 16 | +| 3.9.0 | 1.15.0 | 12, 14, 16 | +| 3.8.0 | 1.14.0 | 12, 14 | +| 3.7.0 | 1.14.0 | 12, 14 | +| 3.6.0 | 1.13.* | 12, 14 | +| 3.5.0 | 1.13.* | 12, 14 | +| 3.4.0 | 1.12.1 | 10, 12, 14 | +| 3.3.0 | 1.12.1 | 10, 12, 14 | +| 3.2.0 | 1.12.1 | 10, 12, 14 | +| 3.1.0 | 1.12.1 | 10, 12, 14 | +| 3.0.0 | 1.12 | 10, 12 | +| 2.9.0 | 1.11 | 10 | +| 2.8.0 | 1.11 | 10 | +| 2.7.0 | 1.11 | 10 | +| 2.6.0 | 1.11 | 10 | +| 2.5.0 | 1.11 | 10 | +| 2.4.0 | 1.11 | 10 | +| 2.3.0 | 1.11 | 10 | +| 2.2.0 | 1.11 | 10 | +| 2.1.0 | 1.11 | 10 | +| 2.0.0 | 1.11 | 10 | +| 1.20.0 | 1.10 | 8, 10 | +| 1.19.0 | 1.10 | 8, 10 | +| 1.18.0 | 1.10 | 8, 10 | +| 1.17.0 | 1.10 | 8, 10 | +| 1.16.0 | 1.10 | 8, 10 | +| 1.15.0 | 1.10 | 8, 10 | +| 1.14.0 | 1.10 | 8, 10 | +| 1.13.0 | 1.10 | 8, 10 | +| 1.12.0 | 1.10 | 8, 10 | +| 1.11.0 | 1.10 | 8, 10 | + +!!! important + Because of this SPFx dependency, SPFx projects that are using PnP React Reusable Controls have to use the exact same version. For example, if your project is using version 1.21.0 of SPFx, the version of PnP Controls has to be version 3.21.0. Otherwise, you'll have to cast SPFx objects to `any` to avoid compatibility mismatch issues. ## Get the local version of the project diff --git a/gulpfile.js b/gulpfile.js index d81e4adda..a8790d427 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -5,19 +5,7 @@ const build = require('@microsoft/sp-build-web'); const fs = require('fs'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; -build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideLeftIn' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-fadeIn' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideRightIn' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-fadeOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-scaleDownIn' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-scaleDownOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideLeftOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideRightOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideUpOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideDownOut' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideUpIn' is not camelCase and will not be type-safe.`); -build.addSuppression(`Warning - [sass] The local CSS class 'ms-motion-slideDownIn' is not camelCase and will not be type-safe.`); +build.addSuppression(/Warning - \[sass\] The local CSS class/gi); // Update the version number in the version.ts file gulp.task('versionUpdater', (done) => { diff --git a/package-lock.json b/package-lock.json index c79048804..70c227252 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@pnp/spfx-controls-react", - "version": "3.22.0", + "version": "3.23.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@pnp/spfx-controls-react", - "version": "3.22.0", + "version": "3.23.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -120,7 +120,7 @@ "react-test-renderer": "17.0.1", "request-promise": "4.2.5", "sonarqube-scanner": "2.8.2", - "spfx-fast-serve-helpers": "1.20.2", + "spfx-fast-serve-helpers": "1.21.1", "ts-jest": "^29.1.1", "tslib": "2.3.1", "typescript": "5.3.3", @@ -144,17 +144,25 @@ } }, "node_modules/@azure/abort-controller": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", - "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "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.2.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=18.0.0" } }, + "node_modules/@azure/abort-controller/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-auth": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz", @@ -169,18 +177,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-auth/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@azure/core-auth/node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -205,62 +201,12 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-client/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@azure/core-client/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@azure/core-client/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 }, - "node_modules/@azure/core-http": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.4.tgz", - "integrity": "sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==", - "deprecated": "This package is no longer supported. Please migrate to use @azure/core-rest-pipeline", - "dev": true, - "dependencies": { - "@azure/abort-controller": "^1.0.0", - "@azure/core-auth": "^1.3.0", - "@azure/core-tracing": "1.0.0-preview.13", - "@azure/core-util": "^1.1.1", - "@azure/logger": "^1.0.0", - "@types/node-fetch": "^2.5.0", - "@types/tunnel": "^0.0.3", - "form-data": "^4.0.0", - "node-fetch": "^2.6.7", - "process": "^0.11.10", - "tslib": "^2.2.0", - "tunnel": "^0.0.6", - "uuid": "^8.3.0", - "xml2js": "^0.5.0" - }, - "engines": { - "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", @@ -276,26 +222,6 @@ "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", @@ -311,18 +237,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-lro/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@azure/core-lro/node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -366,30 +280,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-rest-pipeline/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@azure/core-rest-pipeline/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@azure/core-rest-pipeline/node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -397,18 +287,25 @@ "dev": true }, "node_modules/@azure/core-tracing": { - "version": "1.0.0-preview.13", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz", - "integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.3.0.tgz", + "integrity": "sha512-+XvmZLLWPe67WXNZo9Oc9CrPj/Tm8QnHR92fFAFdnbzwNdCH1h+7UdpaQgRSBsMY+oW1kHXNUZQLdZ1gHX3ROw==", "dev": true, + "license": "MIT", "dependencies": { - "@opentelemetry/api": "^1.0.1", - "tslib": "^2.2.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=20.0.0" } }, + "node_modules/@azure/core-tracing/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-util": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz", @@ -422,18 +319,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-util/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@azure/core-util/node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -494,20 +379,21 @@ "license": "0BSD" }, "node_modules/@azure/identity": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.2.1.tgz", - "integrity": "sha512-U8hsyC9YPcEIzoaObJlRDvp7KiF0MGS7xcWbyJSVvXRkC/HXo1f0oYeBYmEvVgRfacw7GHf6D6yAoh9JHz6A5Q==", + "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": "^1.0.0", - "@azure/core-auth": "^1.5.0", - "@azure/core-client": "^1.4.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@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.3.0", + "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^3.11.1", - "@azure/msal-node": "^2.9.2", + "@azure/msal-browser": "^3.26.1", + "@azure/msal-node": "^2.15.0", "events": "^3.0.0", "jws": "^4.0.0", "open": "^8.0.0", @@ -518,24 +404,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/identity/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, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@azure/identity/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 - }, "node_modules/@azure/logger": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.4.tgz", @@ -555,10 +423,11 @@ "dev": true }, "node_modules/@azure/msal-browser": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.27.0.tgz", - "integrity": "sha512-+b4ZKSD8+vslCtVRVetkegEhOFMLP3rxDWJY212ct+2r6jVg6OSQKc1Qz3kCoXo0FgwaXkb+76TMZfpHp8QtgA==", + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.28.1.tgz", + "integrity": "sha512-OHHEWMB5+Zrix8yKvLVzU3rKDFvh7SOzAzXfICD7YgUXLxfHpTPX2pzOotrri1kskwhHqIj4a5LvhZlIqE7C7g==", "dev": true, + "license": "MIT", "dependencies": { "@azure/msal-common": "14.16.0" }, @@ -571,15 +440,17 @@ "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz", "integrity": "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.1.tgz", - "integrity": "sha512-1NEFpTmMMT2A7RnZuvRl/hUmJU+GLPjh+ShyIqPktG2PvSd2yvPnzGd/BxIBAAvJG5nr9lH4oYcQXepDbaE7fg==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz", + "integrity": "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==", "dev": true, + "license": "MIT", "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", @@ -590,22 +461,28 @@ } }, "node_modules/@azure/storage-blob": { - "version": "12.17.0", - "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.17.0.tgz", - "integrity": "sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==", + "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": "^1.0.0", - "@azure/core-http": "^3.0.0", + "@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-tracing": "1.0.0-preview.13", + "@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": ">=14.0.0" + "node": ">=18.0.0" } }, "node_modules/@babel/code-frame": { @@ -4842,20 +4719,6 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/@jest/transform/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/@jest/transform/node_modules/jest-haste-map": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", @@ -6393,10 +6256,11 @@ } }, "node_modules/@microsoft/load-themed-styles": { - "version": "2.0.142", - "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-2.0.142.tgz", - "integrity": "sha512-ee7XGfseTf91ZsLXckYwAsLmQpFVLCOr0GbVtdsKU4MmUe3eQ1FR2P7T2023dCgks131eWK4l2oVfazKIz2gVA==", - "dev": true + "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/loader-load-themed-styles": { "version": "2.1.37", @@ -6539,26 +6403,27 @@ } }, "node_modules/@microsoft/rush-lib": { - "version": "5.135.0-pr4927.1", - "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.135.0-pr4927.1.tgz", - "integrity": "sha512-9HbxSdTGxEeLaZB3srs4iH4wH5zXIWOmOPTX9xXm70/Ue2futK4Iar7WUVE21bgBYLCf6+v51ILaCddvE7fr3w==", + "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": "~2.1.2", + "@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.15.7", - "@rushstack/lookup-by-path": "0.2.2", - "@rushstack/node-core-library": "5.9.0", - "@rushstack/package-deps-hash": "4.2.0", - "@rushstack/package-extractor": "0.9.1", + "@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.135.0-pr4927.1", - "@rushstack/rush-azure-storage-build-cache-plugin": "5.135.0-pr4927.1", - "@rushstack/rush-http-build-cache-plugin": "5.135.0-pr4927.1", - "@rushstack/stream-collator": "4.1.67", - "@rushstack/terminal": "0.14.2", - "@rushstack/ts-command-line": "4.22.8", - "@types/node-fetch": "2.6.2", + "@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", @@ -6571,7 +6436,6 @@ "ignore": "~5.1.6", "inquirer": "~7.3.3", "js-yaml": "~3.13.1", - "node-fetch": "2.6.7", "npm-check": "~6.0.1", "npm-package-arg": "~6.1.0", "pnpm-sync-lib": "0.2.9", @@ -6589,16 +6453,94 @@ "node": ">=5.6.0" } }, + "node_modules/@microsoft/rush-lib/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/rush-lib/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/rush-lib/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/rush-lib/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/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/rush-lib/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -6618,18 +6560,39 @@ "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/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/rush-lib/node_modules/@rushstack/ts-command-line": { - "version": "4.22.8", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.22.8.tgz", - "integrity": "sha512-XbFjOoV7qZHJnSuFUHv0pKaFA4ixyCuki+xMjsMfDwfvQjs5MYG0IK5COal3tRnG7KCDe2l/G+9LrzYE/RJhgg==", + "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.14.2", + "@rushstack/terminal": "0.15.0", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -6640,6 +6603,7 @@ "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", @@ -6656,6 +6620,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" }, @@ -6670,6 +6635,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" }, @@ -6682,17 +6648,47 @@ } } }, + "node_modules/@microsoft/rush-lib/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/rush-lib/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/rush-lib/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/rush-lib/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" }, @@ -6726,6 +6722,7 @@ "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" }, @@ -6736,11 +6733,22 @@ "node": ">=10" } }, + "node_modules/@microsoft/rush-lib/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/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 + "dev": true, + "license": "ISC" }, "node_modules/@microsoft/rush-stack-compiler-5.3": { "version": "0.1.0", @@ -7130,1135 +7138,142 @@ "@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 - } + "@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/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==", + "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": "MIT", + "license": "https://aka.ms/spfx/license", "dependencies": { - "@rushstack/node-core-library": "5.11.0", - "@rushstack/terminal": "0.15.0" + "@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/@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==", + "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": "MIT", + "license": "https://aka.ms/spfx/license", "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" + "@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": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "webpack": "^5.88.1" } }, - "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==", + "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": "MIT", + "license": "https://aka.ms/spfx/license", "dependencies": { - "@rushstack/node-core-library": "5.11.0", - "supports-color": "~8.1.1" - }, - "peerDependencies": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "@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/@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==", + "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": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "@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": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.6.0" } }, - "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==", + "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", - "dependencies": { - "@rushstack/node-core-library": "5.12.0", - "supports-color": "~8.1.1" - }, - "peerDependencies": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "engines": { + "node": ">=6" } }, - "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==", + "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", - "dependencies": { - "@rushstack/terminal": "0.15.0", - "@types/argparse": "1.0.38", - "argparse": "~1.0.9", - "string-argv": "~0.3.1" + "bin": { + "uuid": "dist/bin/uuid" } }, - "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==", + "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": { @@ -8280,26 +7295,7 @@ } } }, - "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": { + "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==", @@ -8320,119 +7316,38 @@ "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==", + "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": { - "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 - } + "resolve": "~1.22.1", + "strip-json-comments": "~3.1.1" } }, - "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==", + "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": { - "@rushstack/localization-utilities": "0.13.5", - "@rushstack/node-core-library": "5.12.0", - "@rushstack/terminal": "0.15.1" - }, - "peerDependencies": { - "@types/node": "*", - "webpack": "^5.68.0" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "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": { - "@rushstack/worker-pool": "0.5.12", - "@types/estree": "1.0.6", - "@types/tapable": "1.0.6", - "tapable": "2.2.1" + "bin": { + "resolve": "bin/resolve" }, "engines": { - "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/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, - "license": "MIT", - "peerDependencies": { - "@types/node": "*" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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", @@ -8571,31 +7486,6 @@ "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", @@ -8638,21 +7528,6 @@ "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", @@ -8683,25 +7558,6 @@ "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", @@ -8725,26 +7581,6 @@ "node": ">=10" } }, - "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": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">= 4.0.0" - }, - "funding": { - "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", @@ -8762,19 +7598,6 @@ "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", @@ -8834,23 +7657,6 @@ "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", @@ -9090,13 +7896,14 @@ } }, "node_modules/@microsoft/sp-css-loader": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/sp-css-loader/-/sp-css-loader-1.20.2.tgz", - "integrity": "sha512-s11fA/tR1rqSRcfb2dCAvN0iUYIqLF3ykAWSETiQLFU9wsJXry3hJwQskuPHm4DbweiEkdHcVJWWgLvDH6pTNw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-css-loader/-/sp-css-loader-1.21.0.tgz", + "integrity": "sha512-1IjjCPMMFtkmDpcdHyWXWr6u5j+IUGgUnecEwe8mMNUadd+eD5OpuAoeV/dbjbJ2W5h9c9zJ6BcPNScRDkUIbQ==", "dev": true, + "license": "https://aka.ms/spfx/license", "dependencies": { - "@microsoft/load-themed-styles": "2.0.142", - "@rushstack/node-core-library": "5.9.0", + "@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", @@ -9112,15 +7919,16 @@ } }, "node_modules/@microsoft/sp-css-loader/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==", "dev": true, + "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", @@ -9140,6 +7948,7 @@ "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", @@ -9156,6 +7965,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" }, @@ -9170,6 +7980,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" }, @@ -9187,6 +7998,7 @@ "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" }, @@ -9199,6 +8011,7 @@ "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", @@ -9220,6 +8033,7 @@ "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" @@ -9237,6 +8051,7 @@ "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", @@ -9251,6 +8066,7 @@ "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" } @@ -9259,22 +8075,40 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@microsoft/sp-css-loader/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-css-loader/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-css-loader/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" } @@ -9283,13 +8117,28 @@ "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-css-loader/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-css-loader/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" } @@ -9299,6 +8148,7 @@ "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" }, @@ -9310,7 +8160,8 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@microsoft/sp-css-loader/node_modules/resolve": { "version": "1.22.10", @@ -9338,6 +8189,7 @@ "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" }, @@ -9353,6 +8205,7 @@ "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" }, @@ -9360,11 +8213,22 @@ "node": ">=4" } }, + "node_modules/@microsoft/sp-css-loader/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-css-loader/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-diagnostics": { "version": "1.21.1", @@ -10108,25 +8972,27 @@ "license": "MIT" }, "node_modules/@microsoft/spfx-heft-plugins": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@microsoft/spfx-heft-plugins/-/spfx-heft-plugins-1.20.2.tgz", - "integrity": "sha512-uExUJxYrBEMkvfe76TFqW9Jz4VpZvopJSSVchqTUCFi6efkqODnzBXXU+6jThY0Du00YbCamnDQfIY4AqA++wQ==", - "dev": true, - "dependencies": { - "@azure/storage-blob": "~12.17.0", - "@microsoft/rush-lib": "5.135.0-pr4927.1", - "@microsoft/sp-css-loader": "1.20.2", - "@microsoft/sp-module-interfaces": "1.20.2", - "@rushstack/heft-config-file": "0.15.7", - "@rushstack/localization-utilities": "0.12.2", - "@rushstack/module-minifier": "0.6.22", - "@rushstack/node-core-library": "5.9.0", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@microsoft/spfx-heft-plugins/-/spfx-heft-plugins-1.21.0.tgz", + "integrity": "sha512-hpcnFKEo8fnzFN3EZmAwfZesHR/AUrnCsJFB73sXpiaofjcxrkJ0VMOwM5vznAyKhhoXirLwAbtnGo059iLKXw==", + "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.0", + "@microsoft/sp-module-interfaces": "1.21.0", + "@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.50", - "@rushstack/terminal": "0.14.2", - "@rushstack/webpack5-localization-plugin": "0.11.8", - "@rushstack/webpack5-module-minifier-plugin": "5.5.69", + "@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", @@ -10138,36 +9004,36 @@ "source-map": "0.6.1", "source-map-loader": "~4.0.1", "tapable": "1.1.3", - "true-case-path": "~2.2.1", "uuid": "^9.0.0", - "webpack": "~5.88.1", + "webpack": "~5.95.0", "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==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.21.0.tgz", + "integrity": "sha512-Z4ZNrssux4lI0fZdBfc3jJu1pug7gkgdyNQikc5+LYm/BRpKZ/WUHIXyKnPvdSv/m+wTmCKKkKwiVVUYGqDvSw==", "dev": true, "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/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", - "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==", "dev": true, + "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", @@ -10208,6 +9074,7 @@ "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" @@ -10239,6 +9106,7 @@ "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", @@ -10255,6 +9123,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" }, @@ -10269,6 +9138,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" }, @@ -10282,18 +9152,22 @@ } }, "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==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "license": "MIT", - "optional": true + "optional": true, + "engines": { + "node": ">=16" + } }, "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", @@ -10305,17 +9179,47 @@ "node": ">=8.6.0" } }, + "node_modules/@microsoft/spfx-heft-plugins/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/spfx-heft-plugins/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/spfx-heft-plugins/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/spfx-heft-plugins/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" }, @@ -10328,15 +9232,60 @@ "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/spfx-heft-plugins/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/spfx-heft-plugins/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/spfx-heft-plugins/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/spfx-heft-plugins/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" }, @@ -10352,10 +9301,21 @@ "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/spfx-heft-plugins/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/spfx-heft-plugins/node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -10365,45 +9325,104 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], + "license": "MIT", "bin": { "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==", + "version": "13.15.15", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz", + "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.10" } }, + "node_modules/@microsoft/spfx-heft-plugins/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/spfx-heft-plugins/node_modules/webpack/node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "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 + "dev": true, + "license": "ISC" }, "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-6.0.2.tgz", + "integrity": "sha512-9fQb2ZhpMD0ZQXYw0ll5ya6uLQm3Xtt4DXY2RV3QO1QVI4ihSzSWirlgkDsMgGg4qK0EV4tLOJgRSH2bn0cbIw==", "dev": true, "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/teams-js-v2": { @@ -10568,15 +9587,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -11794,30 +10804,32 @@ } }, "node_modules/@rushstack/heft-config-file": { - "version": "0.15.7", - "resolved": "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.15.7.tgz", - "integrity": "sha512-d8rwr9ctVmnVBPyl0o1WFh6NKsAJEX9eJip3mRGKOUd6Lq5FLHaTELwVNbqmZ76oQITABueD5MS02QE5Yq2fhw==", + "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.9.0", + "@rushstack/node-core-library": "5.12.0", "@rushstack/rig-package": "0.5.3", - "@rushstack/terminal": "0.14.2", - "jsonpath-plus": "~4.0.0" + "@rushstack/terminal": "0.15.1", + "jsonpath-plus": "~10.3.0" }, "engines": { "node": ">=10.13.0" } }, "node_modules/@rushstack/heft-config-file/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==", "dev": true, + "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", @@ -11837,6 +10849,7 @@ "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" @@ -11847,6 +10860,7 @@ "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", @@ -11863,6 +10877,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" }, @@ -11877,6 +10892,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" }, @@ -11889,17 +10905,47 @@ } } }, + "node_modules/@rushstack/heft-config-file/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/@rushstack/heft-config-file/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/@rushstack/heft-config-file/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/@rushstack/heft-config-file/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" }, @@ -11933,6 +10979,7 @@ "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" }, @@ -11943,11 +10990,22 @@ "node": ">=10" } }, + "node_modules/@rushstack/heft-config-file/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/@rushstack/heft-config-file/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/@rushstack/loader-raw-script": { "version": "1.4.92", @@ -11959,28 +11017,30 @@ } }, "node_modules/@rushstack/localization-utilities": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@rushstack/localization-utilities/-/localization-utilities-0.12.2.tgz", - "integrity": "sha512-sNErW+OFd3YqMktJPjgimFRH2G2COfGEc3nVQOoxeLOhTI9ZjxhFAPbPHInS96t8pTuFz6UYx0WI2MUzIwzQVQ==", + "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.9.0", - "@rushstack/terminal": "0.14.2", - "@rushstack/typings-generator": "0.14.2", + "@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/@rushstack/localization-utilities/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==", "dev": true, + "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", @@ -12000,6 +11060,7 @@ "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", @@ -12016,6 +11077,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" }, @@ -12030,6 +11092,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" }, @@ -12042,17 +11105,47 @@ } } }, + "node_modules/@rushstack/localization-utilities/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/@rushstack/localization-utilities/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/@rushstack/localization-utilities/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/@rushstack/localization-utilities/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" }, @@ -12086,6 +11179,7 @@ "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" }, @@ -12096,17 +11190,29 @@ "node": ">=10" } }, + "node_modules/@rushstack/localization-utilities/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/@rushstack/localization-utilities/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/@rushstack/lookup-by-path": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@rushstack/lookup-by-path/-/lookup-by-path-0.2.2.tgz", - "integrity": "sha512-yUz281pQjxXjKWapQc0KeXYjHnLFjnBmC2V+Gvc3itmJmK7MxFlhDwOUiORzKcmy+ICpwCi3DEnmA5/FinHIYA==", + "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": "*" }, @@ -12117,13 +11223,14 @@ } }, "node_modules/@rushstack/module-minifier": { - "version": "0.6.22", - "resolved": "https://registry.npmjs.org/@rushstack/module-minifier/-/module-minifier-0.6.22.tgz", - "integrity": "sha512-pYuXQ22J7t/ZWDUKX6F94x/dnIsSUhgQUa8TSQ3hMuSqSJ5C1mf/q3WDYrzEp5Cnp3oJUz0g9ittTxBayL5vGg==", + "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.4.67", - "serialize-javascript": "6.0.0", + "@rushstack/worker-pool": "0.5.12", + "serialize-javascript": "6.0.2", "source-map": "~0.7.3", "terser": "^5.9.0" }, @@ -12137,12 +11244,13 @@ } }, "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==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">= 8" + "node": ">= 12" } }, "node_modules/@rushstack/node-core-library": { @@ -12208,24 +11316,26 @@ } }, "node_modules/@rushstack/package-deps-hash": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-4.2.0.tgz", - "integrity": "sha512-sh60w8H3SliPBxfnvJzrvcSf2M/9KqBK/xB7uWaCPxkX8In/5bolKzL9Gl4MrNBMKm/yOBSYHJ2qOR9xKg8mHA==", + "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.9.0" + "@rushstack/node-core-library": "5.11.0" } }, "node_modules/@rushstack/package-deps-hash/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12245,6 +11355,7 @@ "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", @@ -12261,6 +11372,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" }, @@ -12275,6 +11387,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" }, @@ -12287,17 +11400,47 @@ } } }, + "node_modules/@rushstack/package-deps-hash/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/@rushstack/package-deps-hash/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/@rushstack/package-deps-hash/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/@rushstack/package-deps-hash/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" }, @@ -12331,6 +11474,7 @@ "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" }, @@ -12341,21 +11485,34 @@ "node": ">=10" } }, + "node_modules/@rushstack/package-deps-hash/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/@rushstack/package-deps-hash/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/@rushstack/package-extractor": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@rushstack/package-extractor/-/package-extractor-0.9.1.tgz", - "integrity": "sha512-akddNvE0hnupW1dttzOQFFJPaZHk9LaloU6RlOQ0XzR3vEgHfTxaWuhGf+3JI1M5xB6is7ifZYyxZVR5UAQjJQ==", + "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.9.0", - "@rushstack/terminal": "0.14.2", + "@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", @@ -12364,15 +11521,16 @@ } }, "node_modules/@rushstack/package-extractor/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12387,11 +11545,44 @@ } } }, + "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/@rushstack/package-extractor/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/@rushstack/package-extractor/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", @@ -12408,6 +11599,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" }, @@ -12422,6 +11614,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" }, @@ -12434,17 +11627,47 @@ } } }, + "node_modules/@rushstack/package-extractor/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/@rushstack/package-extractor/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/@rushstack/package-extractor/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/@rushstack/package-extractor/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" }, @@ -12478,6 +11701,7 @@ "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" }, @@ -12488,11 +11712,22 @@ "node": ">=10" } }, + "node_modules/@rushstack/package-extractor/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/@rushstack/package-extractor/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/@rushstack/rig-package": { "version": "0.2.12", @@ -12505,28 +11740,29 @@ } }, "node_modules/@rushstack/rush-amazon-s3-build-cache-plugin": { - "version": "5.135.0-pr4927.1", - "resolved": "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.135.0-pr4927.1.tgz", - "integrity": "sha512-8YvIpDeJhYfr1+9W9ie0JlOoCu/8eN7/ObaMkQgyQuapzZ1g2myunW58+85TvfjfZ2ATtR7YCYm/0s8CyP6ddw==", + "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.9.0", - "@rushstack/rush-sdk": "5.135.0-pr4927.1", - "@rushstack/terminal": "0.14.2", - "https-proxy-agent": "~5.0.0", - "node-fetch": "2.6.7" + "@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/@rushstack/rush-amazon-s3-build-cache-plugin/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12541,11 +11777,31 @@ } } }, + "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/@rushstack/rush-amazon-s3-build-cache-plugin/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", @@ -12562,6 +11818,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" }, @@ -12576,6 +11833,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" }, @@ -12588,17 +11846,47 @@ } } }, + "node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/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/@rushstack/rush-amazon-s3-build-cache-plugin/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/@rushstack/rush-amazon-s3-build-cache-plugin/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/@rushstack/rush-amazon-s3-build-cache-plugin/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" }, @@ -12632,6 +11920,7 @@ "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" }, @@ -12642,35 +11931,48 @@ "node": ">=10" } }, + "node_modules/@rushstack/rush-amazon-s3-build-cache-plugin/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/@rushstack/rush-amazon-s3-build-cache-plugin/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/@rushstack/rush-azure-storage-build-cache-plugin": { - "version": "5.135.0-pr4927.1", - "resolved": "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.135.0-pr4927.1.tgz", - "integrity": "sha512-8hsj3eJ5BE+YmRTIGRwvy0hFZwqxPLK1ar2Oo/hwetqQiRZbOnTBNZ53iJe4DQbGhNJJzOpVUDG7Sg90optrhg==", + "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.2.1", - "@azure/storage-blob": "~12.17.0", - "@rushstack/node-core-library": "5.9.0", - "@rushstack/rush-sdk": "5.135.0-pr4927.1", - "@rushstack/terminal": "0.14.2" + "@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/@rushstack/rush-azure-storage-build-cache-plugin/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12685,11 +11987,31 @@ } } }, + "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/@rushstack/rush-azure-storage-build-cache-plugin/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", @@ -12706,6 +12028,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" }, @@ -12720,6 +12043,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" }, @@ -12732,17 +12056,47 @@ } } }, + "node_modules/@rushstack/rush-azure-storage-build-cache-plugin/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/@rushstack/rush-azure-storage-build-cache-plugin/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/@rushstack/rush-azure-storage-build-cache-plugin/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/@rushstack/rush-azure-storage-build-cache-plugin/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" }, @@ -12776,6 +12130,7 @@ "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" }, @@ -12786,34 +12141,46 @@ "node": ">=10" } }, + "node_modules/@rushstack/rush-azure-storage-build-cache-plugin/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/@rushstack/rush-azure-storage-build-cache-plugin/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/@rushstack/rush-http-build-cache-plugin": { - "version": "5.135.0-pr4927.1", - "resolved": "https://registry.npmjs.org/@rushstack/rush-http-build-cache-plugin/-/rush-http-build-cache-plugin-5.135.0-pr4927.1.tgz", - "integrity": "sha512-3X4XOGcbmxWshgZrUF+g9yuJThEodaHvsvL/fp22y4W7bHuqxKdl6BQjLRBmrhgFZu9WcpgxSVdlZXy/fVw41A==", + "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.9.0", - "@rushstack/rush-sdk": "5.135.0-pr4927.1", - "https-proxy-agent": "~5.0.0", - "node-fetch": "2.6.7" + "@rushstack/node-core-library": "5.11.0", + "@rushstack/rush-sdk": "5.150.0", + "https-proxy-agent": "~5.0.0" } }, "node_modules/@rushstack/rush-http-build-cache-plugin/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12833,6 +12200,7 @@ "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", @@ -12849,6 +12217,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" }, @@ -12863,6 +12232,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" }, @@ -12875,17 +12245,47 @@ } } }, + "node_modules/@rushstack/rush-http-build-cache-plugin/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/@rushstack/rush-http-build-cache-plugin/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/@rushstack/rush-http-build-cache-plugin/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/@rushstack/rush-http-build-cache-plugin/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" }, @@ -12919,6 +12319,7 @@ "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" }, @@ -12929,35 +12330,49 @@ "node": ">=10" } }, + "node_modules/@rushstack/rush-http-build-cache-plugin/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/@rushstack/rush-http-build-cache-plugin/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/@rushstack/rush-sdk": { - "version": "5.135.0-pr4927.1", - "resolved": "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.135.0-pr4927.1.tgz", - "integrity": "sha512-SPoVx1ZKjZkyWWkQ6DHz0nuMTJwseyGGjMt8kyygBRmLFlmT4Q/8nEniZBuPnw8b6uGs8A16u+x0YKxUgvgjuA==", + "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": { - "@rushstack/lookup-by-path": "0.2.2", - "@rushstack/node-core-library": "5.9.0", - "@rushstack/terminal": "0.14.2", - "@types/node-fetch": "2.6.2", + "@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/@rushstack/rush-sdk/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -12972,11 +12387,31 @@ } } }, + "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/@rushstack/rush-sdk/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", @@ -12993,6 +12428,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" }, @@ -13007,6 +12443,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" }, @@ -13019,17 +12456,47 @@ } } }, + "node_modules/@rushstack/rush-sdk/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/@rushstack/rush-sdk/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/@rushstack/rush-sdk/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/@rushstack/rush-sdk/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" }, @@ -13063,6 +12530,7 @@ "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" }, @@ -13073,20 +12541,32 @@ "node": ">=10" } }, + "node_modules/@rushstack/rush-sdk/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/@rushstack/rush-sdk/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/@rushstack/set-webpack-public-path-plugin": { - "version": "5.1.50", - "resolved": "https://registry.npmjs.org/@rushstack/set-webpack-public-path-plugin/-/set-webpack-public-path-plugin-5.1.50.tgz", - "integrity": "sha512-f3jVlBnKraUskPjj2JbEYuE9sR44+7Y8R4Sy4zGLnYrIQfzVAEbLkTu3a/WCGqASc2A5uX64Ng9QuI7kS/AYpQ==", + "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.9.0", - "@rushstack/webpack-plugin-utilities": "0.4.50" + "@rushstack/node-core-library": "5.12.0", + "@rushstack/webpack-plugin-utilities": "0.4.76" }, "peerDependencies": { "@types/node": "*", @@ -13099,15 +12579,16 @@ } }, "node_modules/@rushstack/set-webpack-public-path-plugin/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==", "dev": true, + "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", @@ -13127,6 +12608,7 @@ "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", @@ -13143,6 +12625,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" }, @@ -13157,6 +12640,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" }, @@ -13169,17 +12653,47 @@ } } }, + "node_modules/@rushstack/set-webpack-public-path-plugin/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/@rushstack/set-webpack-public-path-plugin/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/@rushstack/set-webpack-public-path-plugin/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/@rushstack/set-webpack-public-path-plugin/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" }, @@ -13213,6 +12727,7 @@ "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" }, @@ -13223,32 +12738,45 @@ "node": ">=10" } }, + "node_modules/@rushstack/set-webpack-public-path-plugin/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/@rushstack/set-webpack-public-path-plugin/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/@rushstack/stream-collator": { - "version": "4.1.67", - "resolved": "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.1.67.tgz", - "integrity": "sha512-gb8lP0pQ8qA5/54MpetF16oVlK7ruTH1N/Hk72Brx3S0sXpJbc6SrZz6Ifi6OjHr2/ZS8HmG9PGq9btUkq0uxw==", + "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.9.0", - "@rushstack/terminal": "0.14.2" + "@rushstack/node-core-library": "5.11.0", + "@rushstack/terminal": "0.15.0" } }, "node_modules/@rushstack/stream-collator/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.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": "~7.0.1", + "fs-extra": "~11.3.0", "import-lazy": "~4.0.0", "jju": "~1.4.0", "resolve": "~1.22.1", @@ -13263,11 +12791,31 @@ } } }, + "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/@rushstack/stream-collator/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", @@ -13284,6 +12832,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" }, @@ -13298,6 +12847,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" }, @@ -13310,17 +12860,47 @@ } } }, + "node_modules/@rushstack/stream-collator/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/@rushstack/stream-collator/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/@rushstack/stream-collator/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/@rushstack/stream-collator/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" }, @@ -13354,6 +12934,7 @@ "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" }, @@ -13364,19 +12945,31 @@ "node": ">=10" } }, + "node_modules/@rushstack/stream-collator/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/@rushstack/stream-collator/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/@rushstack/terminal": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.14.2.tgz", - "integrity": "sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==", + "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.9.0", + "@rushstack/node-core-library": "5.12.0", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -13389,15 +12982,16 @@ } }, "node_modules/@rushstack/terminal/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==", "dev": true, + "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", @@ -13417,6 +13011,7 @@ "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", @@ -13433,6 +13028,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" }, @@ -13447,6 +13043,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" }, @@ -13459,17 +13056,47 @@ } } }, + "node_modules/@rushstack/terminal/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/@rushstack/terminal/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/@rushstack/terminal/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/@rushstack/terminal/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" }, @@ -13503,6 +13130,7 @@ "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" }, @@ -13513,11 +13141,22 @@ "node": ">=10" } }, + "node_modules/@rushstack/terminal/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/@rushstack/terminal/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/@rushstack/tree-pattern": { "version": "0.3.4", @@ -13538,14 +13177,15 @@ } }, "node_modules/@rushstack/typings-generator": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@rushstack/typings-generator/-/typings-generator-0.14.2.tgz", - "integrity": "sha512-ivtCWBvFBkZb0c8jPeacQMCQc8Kf5NzDMYK6DuatFxbFGE56MzTN9Pr1DOBTjaNWyw45mAgTD7kzGc+iG239xw==", + "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.9.0", - "@rushstack/terminal": "0.14.2", - "chokidar": "~3.4.0", + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1", + "chokidar": "~3.6.0", "fast-glob": "~3.3.1" }, "peerDependencies": { @@ -13558,15 +13198,16 @@ } }, "node_modules/@rushstack/typings-generator/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==", "dev": true, + "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", @@ -13586,6 +13227,7 @@ "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", @@ -13602,6 +13244,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" }, @@ -13616,6 +13259,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" }, @@ -13628,17 +13272,47 @@ } } }, + "node_modules/@rushstack/typings-generator/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/@rushstack/typings-generator/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/@rushstack/typings-generator/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/@rushstack/typings-generator/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" }, @@ -13672,6 +13346,7 @@ "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" }, @@ -13682,19 +13357,31 @@ "node": ">=10" } }, + "node_modules/@rushstack/typings-generator/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/@rushstack/typings-generator/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/@rushstack/webpack-plugin-utilities": { - "version": "0.4.50", - "resolved": "https://registry.npmjs.org/@rushstack/webpack-plugin-utilities/-/webpack-plugin-utilities-0.4.50.tgz", - "integrity": "sha512-p3TTt5XNz/bar2JnLDinUI7xL6RgqOWfWyyjveJSzozV/Jh/VtIFbh/e5JCL77GzruT3WZlpkspS7sqpXhQaHg==", + "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, + "license": "MIT", "dependencies": { - "memfs": "3.4.3", + "memfs": "4.12.0", "webpack-merge": "~5.8.0" }, "peerDependencies": { @@ -13710,15 +13397,36 @@ } } }, + "node_modules/@rushstack/webpack-plugin-utilities/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": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, "node_modules/@rushstack/webpack5-localization-plugin": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@rushstack/webpack5-localization-plugin/-/webpack5-localization-plugin-0.11.8.tgz", - "integrity": "sha512-qjXAs6+JvCy3Xkgu47KZWGw1aGt6r2gIMxeWXDFekYPE95bM17e5G5rtb1GFU5Ta9Mj3qG+tHaOHOgr0j8pX1g==", + "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, + "license": "MIT", "dependencies": { - "@rushstack/localization-utilities": "0.12.2", - "@rushstack/node-core-library": "5.9.0", - "@rushstack/terminal": "0.14.2" + "@rushstack/localization-utilities": "0.13.5", + "@rushstack/node-core-library": "5.12.0", + "@rushstack/terminal": "0.15.1" }, "peerDependencies": { "@types/node": "*", @@ -13731,15 +13439,16 @@ } }, "node_modules/@rushstack/webpack5-localization-plugin/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==", "dev": true, + "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", @@ -13759,6 +13468,7 @@ "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", @@ -13775,6 +13485,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" }, @@ -13789,6 +13500,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" }, @@ -13801,17 +13513,47 @@ } } }, + "node_modules/@rushstack/webpack5-localization-plugin/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/@rushstack/webpack5-localization-plugin/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/@rushstack/webpack5-localization-plugin/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/@rushstack/webpack5-localization-plugin/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" }, @@ -13845,6 +13587,7 @@ "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" }, @@ -13855,20 +13598,32 @@ "node": ">=10" } }, + "node_modules/@rushstack/webpack5-localization-plugin/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/@rushstack/webpack5-localization-plugin/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/@rushstack/webpack5-module-minifier-plugin": { - "version": "5.5.69", - "resolved": "https://registry.npmjs.org/@rushstack/webpack5-module-minifier-plugin/-/webpack5-module-minifier-plugin-5.5.69.tgz", - "integrity": "sha512-W3M4He1tv5pFMxT7E7634su+kpIHvalHDMaxEHJU1WeC/ug4CF//CwXpUE2v/gc4Ou82pXTB1EyEHMy2JnRgqQ==", + "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": { - "@rushstack/worker-pool": "0.4.67", - "@types/estree": "1.0.5", + "@rushstack/worker-pool": "0.5.12", + "@types/estree": "1.0.6", "@types/tapable": "1.0.6", "tapable": "2.2.1" }, @@ -13887,10 +13642,11 @@ } }, "node_modules/@rushstack/worker-pool": { - "version": "0.4.67", - "resolved": "https://registry.npmjs.org/@rushstack/worker-pool/-/worker-pool-0.4.67.tgz", - "integrity": "sha512-HUDOp7PpHfBxRld2vTLrKXEB4fcif0IsWy5uqSYQB4Wh4akBSec5S6ksJTpP/QagpH8gRuRgP4Z9W6tzITpk0Q==", + "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, + "license": "MIT", "peerDependencies": { "@types/node": "*" }, @@ -14226,10 +13982,11 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "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/@types/express": { "version": "4.17.21", @@ -14757,32 +14514,6 @@ "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==", "devOptional": true }, - "node_modules/@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/node-fetch/node_modules/form-data": { - "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", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.35" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@types/node-forge": { "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", @@ -15031,15 +14762,6 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, - "node_modules/@types/tunnel": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz", - "integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/uglify-js": { "version": "3.17.5", "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", @@ -17963,7 +17685,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/buffer-fill": { "version": "1.0.0", @@ -18280,9 +18003,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001669", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", - "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "version": "1.0.30001731", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz", + "integrity": "sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==", "dev": true, "funding": [ { @@ -18297,7 +18020,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/capture-exit": { "version": "2.0.0", @@ -18469,24 +18193,28 @@ } }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "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.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.2" } }, "node_modules/chownr": { @@ -19434,15 +19162,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/copy-webpack-plugin/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, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/copy-webpack-plugin/node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -19712,20 +19431,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/create-jest/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -21619,18 +21324,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/depcheck/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/depcheck/node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -22087,6 +21780,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } @@ -24876,30 +24570,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/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, - "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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -24940,20 +24610,6 @@ "node": ">=12" } }, - "node_modules/fork-ts-checker-webpack-plugin/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -24978,18 +24634,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", @@ -25029,22 +24673,6 @@ "node": ">= 10.0.0" } }, - "node_modules/form-data": { - "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": { - "node": ">= 6" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -25133,11 +24761,12 @@ "dev": true }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "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" @@ -28988,20 +28617,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/jest-circus/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -29780,20 +29395,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cli/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/jest-cli/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -32130,20 +31731,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/jest/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -33017,12 +32604,22 @@ } }, "node_modules/jsonpath-plus": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-4.0.0.tgz", - "integrity": "sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==", + "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": ">=10.0" + "node": ">=18.0.0" } }, "node_modules/jsonwebtoken": { @@ -33030,6 +32627,7 @@ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "dev": true, + "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -33064,6 +32662,7 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "dev": true, + "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -33155,6 +32754,7 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", "dev": true, + "license": "MIT", "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" @@ -33282,31 +32882,6 @@ "karma-coverage": ">=0.5.4" } }, - "node_modules/karma/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, - "peer": true, - "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/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -33319,21 +32894,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/karma/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, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/karma/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -33369,19 +32929,6 @@ "node": "*" } }, - "node_modules/karma/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/karma/node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", @@ -33815,13 +33362,15 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", @@ -33832,25 +33381,29 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -33868,7 +33421,8 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", @@ -35327,6 +34881,7 @@ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dev": true, + "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^1.0.1" } @@ -35608,6 +35163,7 @@ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.5.tgz", "integrity": "sha512-KCfK3Vi2F+PH1klYauoQzg81GQ8/GGjQRKYY6tRnpQUPKTs/1gBZSRWtTEd7jGdSn1LZL7gpAmJT+BcS55k2XQ==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.6", "ignore-walk": "^3.0.3", @@ -35627,6 +35183,7 @@ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -35647,6 +35204,7 @@ "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" }, @@ -37694,15 +37252,6 @@ "node": ">= 0.8" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -38704,10 +38253,11 @@ } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "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" }, @@ -40274,10 +39824,11 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "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" } @@ -41149,13 +40700,14 @@ "dev": true }, "node_modules/spfx-fast-serve-helpers": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/spfx-fast-serve-helpers/-/spfx-fast-serve-helpers-1.20.2.tgz", - "integrity": "sha512-SwQsdjxnvoGuz9uJNi0iAEMYShjtHzLQHV5GyXxJCJ/htJ6z2zohR/3OcDBKkTwmQkMCIc6W1MYU5Snt1lQ0EA==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/spfx-fast-serve-helpers/-/spfx-fast-serve-helpers-1.21.1.tgz", + "integrity": "sha512-htoFM61UazBc7FA4tq9tGsykcsWQjhF+C+eg0h5B+3aSz2QUaWoMI/0NvkSuQQd3z6N1+9pz7YGVJP9Z34Vwbg==", "dev": true, + "license": "MIT", "dependencies": { "@microsoft/loader-load-themed-styles": "2.1.37", - "@microsoft/spfx-heft-plugins": "1.20.2", + "@microsoft/spfx-heft-plugins": "1.21.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.15", "@types/copy-webpack-plugin": "8.0.1", "@types/cross-spawn": "6.0.6", @@ -41725,6 +41277,7 @@ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4", "npm": ">=6" @@ -42608,15 +42161,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/terser-webpack-plugin/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, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -43355,15 +42899,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -44672,30 +44207,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/webpack-dev-server/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, - "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/webpack-dev-server/node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -44708,20 +44219,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/webpack-dev-server/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -44815,18 +44312,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/rimraf": { "version": "5.0.10", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", @@ -45275,28 +44760,6 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", diff --git a/package.json b/package.json index e1f64a319..56bac36c7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@pnp/spfx-controls-react", "description": "Reusable React controls for SharePoint Framework solutions", - "version": "3.22.0", + "version": "3.23.0", "engines": { "node": ">=22.14.0 < 23.0.0" }, @@ -133,7 +133,7 @@ "react-test-renderer": "17.0.1", "request-promise": "4.2.5", "sonarqube-scanner": "2.8.2", - "spfx-fast-serve-helpers": "1.20.2", + "spfx-fast-serve-helpers": "1.21.1", "ts-jest": "^29.1.1", "tslib": "2.3.1", "typescript": "5.3.3", diff --git a/src/common/telemetry/version.ts b/src/common/telemetry/version.ts index 1db865533..394528b54 100644 --- a/src/common/telemetry/version.ts +++ b/src/common/telemetry/version.ts @@ -1 +1 @@ -export const version: string = "3.22.0"; \ No newline at end of file +export const version: string = "3.23.0"; \ No newline at end of file diff --git a/src/controls/calendar/Calendar.tsx b/src/controls/calendar/Calendar.tsx index b63b1e3ed..c6f1250c1 100644 --- a/src/controls/calendar/Calendar.tsx +++ b/src/controls/calendar/Calendar.tsx @@ -7,7 +7,7 @@ import { webLightTheme, } from '@fluentui/react-components'; import { ICalendarStyles, useCalendarStyles } from './hooks/useCalendarStyles'; -import { addDays, startOfMonth, startOfWeek } from 'date-fns'; +import { addDays, startOfMonth, startOfWeek, format } from 'date-fns'; import { useEffect, useRef, useState } from 'react'; import { Day } from './Day'; @@ -213,8 +213,9 @@ export const Calendar: React.FC = ({ currentDate.getFullYear(), currentDate.getMonth() ); - const dayString = date.toISOString().split('T')[0]; - return monthEvents[dayString]?.flatMap((slot) => slot) || []; + const dayString = format(date, 'yyyy-MM-dd'); + const dayEvents = monthEvents[dayString]?.flatMap((slot) => slot) || []; + return dayEvents; }, [currentDate, events] ); diff --git a/src/controls/carousel/CarouselImage.tsx b/src/controls/carousel/CarouselImage.tsx index c911a9293..7b8dfb94b 100644 --- a/src/controls/carousel/CarouselImage.tsx +++ b/src/controls/carousel/CarouselImage.tsx @@ -121,7 +121,7 @@ export default class CarouselImage extends React.Component; if (url) { - details = {detailsContent}; + details = {detailsContent}; } else { details = detailsContent; diff --git a/src/controls/dashboard/widget/IWidget.ts b/src/controls/dashboard/widget/IWidget.ts index 0ccd14fa7..a621f5038 100644 --- a/src/controls/dashboard/widget/IWidget.ts +++ b/src/controls/dashboard/widget/IWidget.ts @@ -73,6 +73,10 @@ export interface IWidget { * Widget's link */ link?: IWidgetLink; + /** + * Number of rows to span (vertical extension) + */ + rowSpan?: number; } /** diff --git a/src/controls/dashboard/widget/Widget.tsx b/src/controls/dashboard/widget/Widget.tsx index a8d42df41..c7e3c3169 100644 --- a/src/controls/dashboard/widget/Widget.tsx +++ b/src/controls/dashboard/widget/Widget.tsx @@ -35,6 +35,11 @@ export const Widget = ({ break } + // Support vertical extension via rowSpan + if (widget.rowSpan && widget.rowSpan > 1) { + cardStyle.gridRowEnd = `span ${widget.rowSpan}`; + } + if(widget.controlOptions && widget.controlOptions.isHidden){ return null; } diff --git a/src/controls/dynamicForm/DynamicForm.tsx b/src/controls/dynamicForm/DynamicForm.tsx index dce87e453..b195bb6f1 100644 --- a/src/controls/dynamicForm/DynamicForm.tsx +++ b/src/controls/dynamicForm/DynamicForm.tsx @@ -121,6 +121,21 @@ export class DynamicFormBase extends React.Component< this._customFormatter = new CustomFormattingHelper(this._formulaEvaluation); } + /** + * Updates the ETag stored in the component's state. + * This is useful when the list item has been modified externally (e.g., by adding/removing attachments) + * and you need to update the ETag to prevent 412 conflict errors on save. + * + * @param itemData - The updated item data containing the new ETag + */ + public updateETag(itemData: any): void { // eslint-disable-line @typescript-eslint/no-explicit-any + if (itemData && itemData["odata.etag"]) { + this.setState({ + etag: itemData["odata.etag"] + }); + } + } + /** * Lifecycle hook when component is mounted */ @@ -173,7 +188,7 @@ export class DynamicFormBase extends React.Component< // Custom Formatting - Header let headerContent: JSX.Element; if (!customFormattingDisabled && customFormatting?.header) { - headerContent =
+ headerContent =
{this._customFormatter.renderCustomFormatContent(customFormatting.header, this.getFormValuesForValidation(), true)}
} @@ -196,8 +211,8 @@ export class DynamicFormBase extends React.Component< let footerContent: JSX.Element; if (!customFormattingDisabled && customFormatting?.footer) { footerContent =
- {this._customFormatter.renderCustomFormatContent(customFormatting.footer, this.getFormValuesForValidation(), true)} -
+ {this._customFormatter.renderCustomFormatContent(customFormatting.footer, this.getFormValuesForValidation(), true)} +
} // Content Type @@ -227,20 +242,20 @@ export class DynamicFormBase extends React.Component< {(bodySections.length > 0 && !customFormattingDisabled) && bodySections .filter(bs => bs.fields.filter(bsf => hiddenByFormula.indexOf(bsf) < 0).length > 0) .map((section, i) => ( - <> -

{section.displayname}

-
- {section.fields - .filter(f => fieldCollection.find(fc => fc.label === f)) - .map((f, i) => ( -
- {this.renderField(fieldCollection.find(fc => fc.label === f) as IDynamicFieldProps)} -
- ))} -
- {i < bodySections.length - 1 &&
} - - ))} + <> +

{section.displayname}

+
+ {section.fields + .filter(f => fieldCollection.find(fc => fc.label === f)) + .map((f, i) => ( +
+ {this.renderField(fieldCollection.find(fc => fc.label === f) as IDynamicFieldProps)} +
+ ))} +
+ {i < bodySections.length - 1 &&
} + + ))} {(bodySections.length === 0 || customFormattingDisabled) && fieldCollection.map((f, i) => this.renderField(f))} {footerContent} {!this.props.disabled && ( @@ -296,16 +311,16 @@ export class DynamicFormBase extends React.Component< } const sortedFields = customSort - .map((sortColumn) => sortColumn.toLowerCase()) - .filter((normalizedSortColumn) => fMap.has(normalizedSortColumn)) - .map((normalizedSortColumn) => fMap.get(normalizedSortColumn)) - .filter((field) => field !== undefined); + .map((sortColumn) => sortColumn.toLowerCase()) + .filter((normalizedSortColumn) => fMap.has(normalizedSortColumn)) + .map((normalizedSortColumn) => fMap.get(normalizedSortColumn)) + .filter((field) => field !== undefined); const remainingFields = fields.filter((field) => !sortedFields.includes(field)); const uniqueRemainingFields = Array.from(new Set(remainingFields)); return [...sortedFields, ...uniqueRemainingFields]; -} + } private renderField = (field: IDynamicFieldProps): JSX.Element => { const { fieldOverrides } = this.props; @@ -331,7 +346,7 @@ export class DynamicFormBase extends React.Component< field.columnInternalName ) ) { - return fieldOverrides[field.columnInternalName]({ ...field,disabled: field.disabled || isSaving} ) + return fieldOverrides[field.columnInternalName]({ ...field, disabled: field.disabled || isSaving }) } // Default render @@ -342,6 +357,7 @@ export class DynamicFormBase extends React.Component< {...field} disabled={field.disabled || isSaving} validationErrorMessage={validationErrorMessage} + itemsQueryCountLimit={this.props.itemsQueryCountLimit} /> ); } @@ -509,21 +525,21 @@ export class DynamicFormBase extends React.Component< } // Taxonomy / Managed Metadata fields - if(useModernTaxonomyPicker){ + if (useModernTaxonomyPicker) { //Use ITermInfo[] for modern taxonomy picker if (fieldType === "TaxonomyFieldType") { objects[fieldcolumnInternalName] = { - __metadata: { type: "SP.Taxonomy.TaxonomyFieldValue" }, - Label: value[0]?.labels[0]?.name ?? "", - TermGuid: value[0]?.id ?? "11111111-1111-1111-1111-111111111111", - WssId: "-1", + __metadata: { type: "SP.Taxonomy.TaxonomyFieldValue" }, + Label: value[0]?.labels[0]?.name ?? "", + TermGuid: value[0]?.id ?? "11111111-1111-1111-1111-111111111111", + WssId: "-1", }; } if (fieldType === "TaxonomyFieldTypeMulti") { objects[hiddenFieldName] = field.newValue - .map((term) => `-1#;${term.labels[0]?.name || ""}|${term.id};`) - .join("#"); + .map((term) => `-1#;${term.labels[0]?.name || ""}|${term.id};`) + .join("#"); } } else { @@ -608,7 +624,7 @@ export class DynamicFormBase extends React.Component< contentTypeId === undefined || contentTypeId === "" || (!contentTypeId.startsWith("0x0120") && - contentTypeId.startsWith("0x01")) + contentTypeId.startsWith("0x01")) ) { if (fileSelectRendered === true) { await this.addFileToLibrary(objects); @@ -710,51 +726,51 @@ export class DynamicFormBase extends React.Component< if (selectedFile !== undefined) { - try { - const idField = "ID"; - const contentTypeIdField = "ContentTypeId"; - - const library = await sp.web.lists.getById(listId); - const itemTitle = - selectedFile !== undefined && selectedFile.fileName !== undefined && selectedFile.fileName !== "" - ? (selectedFile.fileName as string).replace( - /["|*|:|<|>|?|/|\\||]/g, - "_" - ).trim() // Replace not allowed chars in folder name and trim empty spaces at the start or end. - : ""; // Empty string will be replaced by SPO with Folder Item ID - - const folder = !this.props.folderPath ? library.rootFolder : await this.getFolderByPath(this.props.folderPath, library.rootFolder); - const fileCreatedResult = await folder.files.addChunked(encodeURI(itemTitle), await selectedFile.downloadFileContent()); - const fields = await fileCreatedResult.file.listItemAllFields(); - - if (fields[idField]) { - // Read the ID of the just created file - const fileId = fields[idField]; - - // Set the content type ID for the target item - objects[contentTypeIdField] = contentTypeId; - // Update the just created file - const iur = await this.updateListItemRetry(library, fileId, objects); - if (onSubmitted) { - onSubmitted( - iur.data, - returnListItemInstanceOnSubmit !== false - ? iur.item - : undefined - ); - } - } else { - throw new Error( - "Unable to read the ID of the just created file" + try { + const idField = "ID"; + const contentTypeIdField = "ContentTypeId"; + + const library = await sp.web.lists.getById(listId); + const itemTitle = + selectedFile !== undefined && selectedFile.fileName !== undefined && selectedFile.fileName !== "" + ? (selectedFile.fileName as string).replace( + /["|*|:|<|>|?|/|\\||]/g, + "_" + ).trim() // Replace not allowed chars in folder name and trim empty spaces at the start or end. + : ""; // Empty string will be replaced by SPO with Folder Item ID + + const folder = !this.props.folderPath ? library.rootFolder : await this.getFolderByPath(this.props.folderPath, library.rootFolder); + const fileCreatedResult = await folder.files.addChunked(encodeURI(itemTitle), await selectedFile.downloadFileContent()); + const fields = await fileCreatedResult.file.listItemAllFields(); + + if (fields[idField]) { + // Read the ID of the just created file + const fileId = fields[idField]; + + // Set the content type ID for the target item + objects[contentTypeIdField] = contentTypeId; + // Update the just created file + const iur = await this.updateListItemRetry(library, fileId, objects); + if (onSubmitted) { + onSubmitted( + iur.data, + returnListItemInstanceOnSubmit !== false + ? iur.item + : undefined ); } - } catch (error) { - if (onSubmitError) { - onSubmitError(objects, error); - } - console.log("Error", error); + } else { + throw new Error( + "Unable to read the ID of the just created file" + ); } + } catch (error) { + if (onSubmitError) { + onSubmitError(objects, error); + } + console.log("Error", error); } + } } /** @@ -776,7 +792,7 @@ export class DynamicFormBase extends React.Component< const { useModernTaxonomyPicker } = this.props; // Init new value(s) field.newValue = newValue; - field.stringValue = newValue? newValue.toString():''; + field.stringValue = newValue ? newValue.toString() : ''; field.additionalData = additionalData; field.subPropertyValues = {}; @@ -791,12 +807,12 @@ export class DynamicFormBase extends React.Component< if (field.fieldType === "Lookup" || field.fieldType === "LookupMulti") { field.stringValue = newValue.map(nv => nv.key + ';#' + nv.name).join(';#'); } - if(useModernTaxonomyPicker){ + if (useModernTaxonomyPicker) { if (field.fieldType === "TaxonomyFieldType" || field.fieldType === "TaxonomyFieldTypeMulti") { if (Array.isArray(newValue) && newValue.length > 0) { - field.stringValue = newValue.map(nv => nv.labels.map(label => label.name).join(';')).join(';'); + field.stringValue = newValue.map(nv => nv.labels.map(label => label.name).join(';')).join(';'); } else { - field.stringValue = ""; + field.stringValue = ""; } } } else { @@ -851,7 +867,7 @@ export class DynamicFormBase extends React.Component< field.stringValue = emails.join(";"); } - const validationErrors = {...this.state.validationErrors}; + const validationErrors = { ...this.state.validationErrors }; if (validationErrors[field.columnInternalName]) delete validationErrors[field.columnInternalName]; this.setState({ @@ -1048,7 +1064,7 @@ export class DynamicFormBase extends React.Component< const spListItem = spList.items.getById(listItemId); if (contentTypeId.startsWith("0x0120") || contentTypeId.startsWith("0x0101")) { - spListItem.select("*","FileLeafRef"); // Explainer: FileLeafRef is not loaded by default. Load it to show the file/folder name in the field. + spListItem.select("*", "FileLeafRef"); // Explainer: FileLeafRef is not loaded by default. Load it to show the file/folder name in the field. } item = await spListItem.get().catch(err => this.updateFormMessages(MessageBarType.error, err.message)); @@ -1117,8 +1133,8 @@ export class DynamicFormBase extends React.Component< * @returns */ // eslint-disable-next-line @typescript-eslint/no-explicit-any - private async buildFieldCollection(listInfo: IRenderListDataAsStreamClientFormResult, contentTypeName: string, item: any, numberFields: ISPField[], listId: string, listItemId: number, disabledFields: string[], customIcons: {[key: string]: string}): Promise { - const{ useModernTaxonomyPicker } = this.props; + private async buildFieldCollection(listInfo: IRenderListDataAsStreamClientFormResult, contentTypeName: string, item: any, numberFields: ISPField[], listId: string, listItemId: number, disabledFields: string[], customIcons: { [key: string]: string }): Promise { + const { useModernTaxonomyPicker } = this.props; const tempFields: IDynamicFieldProps[] = []; let order: number = 0; const hiddenFields = this.props.hiddenFields !== undefined ? this.props.hiddenFields : []; @@ -1129,7 +1145,7 @@ export class DynamicFormBase extends React.Component< // Process fields that are not marked as hidden if (hiddenFields.indexOf(field.InternalName) < 0) { - if(field.Hidden === false) { + if (field.Hidden === false) { order++; let hiddenName = ""; let termSetId = ""; @@ -1265,7 +1281,7 @@ export class DynamicFormBase extends React.Component< } // Setup Taxonomy / Metadata fields - if(useModernTaxonomyPicker){ + if (useModernTaxonomyPicker) { if (field.FieldType === "TaxonomyFieldType") { termSetId = field.TermSetId; anchorId = field.AnchorId !== Guid.empty.toString() ? field.AnchorId : null; @@ -1301,7 +1317,7 @@ export class DynamicFormBase extends React.Component< termSetId = field.TermSetId; anchorId = field.AnchorId !== Guid.empty.toString() ? field.AnchorId : null; if (item && item[field.InternalName]) { - const _selectedTags = await this.getTermsForModernTaxonomyPicker(field.TermSetId,item[field.InternalName]); + const _selectedTags = await this.getTermsForModernTaxonomyPicker(field.TermSetId, item[field.InternalName]); item[field.InternalName].forEach((element) => { selectedTags.push({ key: element.TermGuid, @@ -1730,8 +1746,7 @@ export class DynamicFormBase extends React.Component< try { return await list.items.getById(itemId).update(objects); } - catch (error) - { + catch (error) { if (error.status === 409 && retry < 3) { await timeout(100); return await this.updateListItemRetry(list, itemId, objects, retry + 1); diff --git a/src/controls/dynamicForm/IDynamicFormProps.ts b/src/controls/dynamicForm/IDynamicFormProps.ts index 05c010787..6352b1c03 100644 --- a/src/controls/dynamicForm/IDynamicFormProps.ts +++ b/src/controls/dynamicForm/IDynamicFormProps.ts @@ -2,7 +2,7 @@ import { BaseComponentContext } from '@microsoft/sp-component-base'; import { IItem } from '@pnp/sp/items'; import { IStyle, IStyleFunctionOrObject } from '@fluentui/react'; import React from 'react'; -import { IDynamicFieldProps,IDynamicFieldStyles } from './dynamicField'; +import { IDynamicFieldProps, IDynamicFieldStyles } from './dynamicField'; import { IValidationErrorDialogProps } from './IValidationErrorDialogProps'; export interface IDynamicFormProps { @@ -139,7 +139,7 @@ export interface IDynamicFormProps { * Note: the value of selected tab is stored in the queryString hash. * @default true */ - storeLastActiveTab?: boolean; + storeLastActiveTab?: boolean; /** * Library relative folder to create the item in. @@ -165,11 +165,16 @@ export interface IDynamicFormProps { * CSS Class name to add to the root element. */ className?: string; + + /** + * Number of items to display in the lookup fields of the form. + */ + itemsQueryCountLimit?: number; } -export type IDynamicFormStyleProps = Pick & { }; +export type IDynamicFormStyleProps = Pick & {}; export interface IDynamicFormSubComponentStyles { fieldStyles: IDynamicFieldStyles; @@ -181,15 +186,15 @@ export interface IDynamicFormStyles { sectionFormFields: IStyle; sectionFormField: IStyle; sectionLine: IStyle; - header:IStyle; - footer:IStyle; + header: IStyle; + footer: IStyle; validationErrorDialog: IStyle; buttons: IStyle; actions: IStyle; actionsRight: IStyle; action: IStyle; - /** - * sub component styles for dynamic field - */ - subComponentStyles: IDynamicFormSubComponentStyles; + /** + * sub component styles for dynamic field + */ + subComponentStyles: IDynamicFormSubComponentStyles; } \ No newline at end of file diff --git a/src/controls/gridLayout/GridLayout.tsx b/src/controls/gridLayout/GridLayout.tsx index 6600b54a4..a2c13f236 100644 --- a/src/controls/gridLayout/GridLayout.tsx +++ b/src/controls/gridLayout/GridLayout.tsx @@ -10,13 +10,6 @@ import { IGridLayoutProps, IGridLayoutState } from './GridLayout.types'; import * as telemetry from '../../common/telemetry'; -// Get the constants from the SCSS so that we don't hard-code look and feel elements -const ROWS_PER_PAGE: number = +styles.rowsPerPage; -const MAX_ROW_HEIGHT: number = +styles.maxWidth; -const PADDING: number = +styles.padding; -const MIN_WIDTH: number = +styles.minWidth; -const COMPACT_THRESHOLD: number = +styles.compactThreshold; - /** * Grid layout component */ @@ -31,6 +24,13 @@ export class GridLayout extends React.Component { return (
- - - + + +
); } @@ -69,19 +69,19 @@ export class GridLayout extends React.Component { if (itemIndex === 0) { - this._isCompact = surfaceRect.width < COMPACT_THRESHOLD; + this._isCompact = surfaceRect.width < this.COMPACT_THRESHOLD; if (this._isCompact) { this._columnCount = 1; this._columnWidth = surfaceRect.width; return this.props.items.length; } else { - this._columnCount = Math.ceil(surfaceRect.width / (MAX_ROW_HEIGHT)); - this._columnWidth = Math.max(MIN_WIDTH, Math.floor(surfaceRect.width / this._columnCount) + Math.floor(PADDING / this._columnCount)); + this._columnCount = Math.ceil(surfaceRect.width / (this.MAX_WIDTH)); + this._columnWidth = Math.max(this.MIN_WIDTH, Math.floor(surfaceRect.width / this._columnCount) + Math.floor(this.PADDING / this._columnCount)); this._rowHeight = this._columnWidth; } } - return this._columnCount * ROWS_PER_PAGE; + return this._columnCount * this.ROWS_PER_PAGE; } /** @@ -91,7 +91,7 @@ export class GridLayout extends React.Component { // eslint-disable-line @typescript-eslint/no-explicit-any const isCompact: boolean = this._isCompact; - const cellPadding: number = index % this._columnCount !== this._columnCount - 1 && !isCompact ? PADDING : 0; + const cellPadding: number = index % this._columnCount !== this._columnCount - 1 && !isCompact ? this.PADDING : 0; const finalSize: ISize = { width: this._columnWidth, height: this._rowHeight }; - const cellWidth: number = isCompact ? this._columnWidth + PADDING : this._columnWidth - PADDING; + const cellWidth: number = isCompact ? this._columnWidth + this.PADDING : this._columnWidth - this.PADDING; return (
JSX.Element; // eslint-disable-line @typescript-eslint/no-explicit-any + + /** + * Layout configuration props. + * All properties are optional; defaults are provided via styles (SCSS module). + */ + + /** + * Gap between items. + * Default: 20. + */ + itemPadding?: number; + + /** + * Minimum width for each item. + * Default: 210. + */ + itemMinWidth?: number; + + /** + * Maximum width for each item. + * Default: 320 + */ + itemMaxWidth?: number; + + /** + * Threshold width below which the compact layout is activated. + * Default: 480. + */ + compactThreshold?: number; + + /** + * Number of rows displayed per page. + * Default: 3. + */ + rowsPerPage?: number; } export interface IGridLayoutState {} diff --git a/src/controls/iconPicker/IconNames.ts b/src/controls/iconPicker/IconNames.ts index d27e09b01..f03e4dd2e 100644 --- a/src/controls/iconPicker/IconNames.ts +++ b/src/controls/iconPicker/IconNames.ts @@ -371,7 +371,7 @@ export class IconNames { "DeactivateOrders", "DecisionSolid", "DeclineCall", - "DecreaseIndentLegacy", + "DecreaseIndentText", "DefaultRatio", "DefectSolid", "Delete", @@ -689,7 +689,7 @@ export class IconNames { "Inbox", "InboxCheck", "IncidentTriangle", - "IncreaseIndentLegacy", + "IncreaseIndentText", "Info", "Info2", "InfoSolid", diff --git a/src/controls/imagePicker/selectFromSharePoint.tsx b/src/controls/imagePicker/selectFromSharePoint.tsx index 8c715506e..52a87ca7e 100644 --- a/src/controls/imagePicker/selectFromSharePoint.tsx +++ b/src/controls/imagePicker/selectFromSharePoint.tsx @@ -14,9 +14,14 @@ import { DialogBody, DialogContent, DialogSurface, + FluentProvider, Image, mergeClasses, Spinner, + teamsDarkTheme, + teamsHighContrastTheme, + teamsLightTheme, + Theme, tokens, } from '@fluentui/react-components'; @@ -31,8 +36,12 @@ import { RenderHeader } from './renderHeader/RenderHeader'; import { SelectStockImage } from './SelectStokImage'; import { UploadImageFiles } from './Upload'; import { useImagePickerStyles } from './useImagePickerStyles'; +import { has } from 'lodash'; +import { WebPartContext } from '@microsoft/sp-webpart-base'; +import { useTheme } from '@fluentui/react-theme-provider'; +import { createV9Theme } from '@fluentui/react-migration-v8-v9'; -const defaultImage = require("./constants/defaultImage.png"); +const defaultImage = require('./constants/defaultImage.png'); export interface ISelectFromSharePointProps { onFileSelected: (file: IFilePickerResult) => void; @@ -46,60 +55,110 @@ const SOURCE_ONEDRIVE = `AND path:https://*my.sharepoint.com`; const SOURCE_STOCK = `stockImages`; const SOURCE_UPLOAD = `upload`; -const acceptableExtensions: string[] = IMG_SUPPORTED_EXTENSIONS.split(","); -const queryExtensions = acceptableExtensions.map((ext) => `fileType:${ext}`).join(" OR "); +const acceptableExtensions: string[] = IMG_SUPPORTED_EXTENSIONS.split(','); +const queryExtensions = acceptableExtensions + .map((ext) => `fileType:${ext}`) + .join(' OR '); const PAGE_ITEMS = 50; -export const SelectFromSharePoint: React.FunctionComponent = ( - props: React.PropsWithChildren -) => { +export const SelectFromSharePoint: React.FunctionComponent< + ISelectFromSharePointProps +> = (props: React.PropsWithChildren) => { const { isOpen, onDismiss, onFileSelected } = props; const [isAdding, setIsAdding] = React.useState(false); - const [searchResults, setSearchResults] = React.useState([]); + const [searchResults, setSearchResults] = React.useState< + ISearchImagesResult[] + >([]); const appContext = useAtomValue(contextState); const { context } = appContext; const { searchImages } = useGraphAPI(context); const { downLoadSpOrOneDriveContent } = useSpAPI(context); - const [selectedImage, setSelectedImage] = React.useState(null); + const [selectedImage, setSelectedImage] = + React.useState(null); const refSelectedImage = React.useRef(null); const isScrolling = React.useRef(false); const styles = useImagePickerStyles(); const [isLoading, setIsLoading] = React.useState(false); const [source, setSource] = React.useState(SOURCE_SHAREPOINT); - const { getFileNameFromUrl, getFileNameWithoutExtension, getScrollPosition } = useUtils(); + const { getFileNameFromUrl, getFileNameWithoutExtension, getScrollPosition } = + useUtils(); const refStart = React.useRef(0); const refHasMore = React.useRef(false); + const [theme, setTheme] = React.useState(); + const currentSPTheme = useTheme(); + const [isInitialized, setIsInitialized] = React.useState(false); + const hasSelectedImage = React.useMemo( + () => selectedImage !== null, + [selectedImage] + ); - const hasSelectedImage = React.useMemo(() => selectedImage !== null, [selectedImage]); + React.useEffect(() => { + (async () => { + if (has(context, 'sdks.microsoftTeams.teamsJs.app.getContext')) { + const teamsContext = await ( + context as WebPartContext + ).sdks.microsoftTeams?.teamsJs.app.getContext(); + const teamsTheme = teamsContext.app.theme || 'default'; + switch (teamsTheme) { + case 'dark': + setTheme(teamsDarkTheme); + break; + case 'contrast': + setTheme(teamsHighContrastTheme); + break; + case 'default': + setTheme(teamsLightTheme); + break; + default: + setTheme(teamsLightTheme); + break; + } + } else { + setTheme(createV9Theme(currentSPTheme)); + } + setIsInitialized(true); + })().catch((error) => { + console.error('Error initializing theme:', error); + setTheme(createV9Theme(currentSPTheme)); + setIsInitialized(true); + }); + }, [context, currentSPTheme]); const getMoreResultsSearch = React.useCallback(async () => { if (source === SOURCE_STOCK || source === SOURCE_UPLOAD) return; if (!refHasMore.current) return; refStart.current += PAGE_ITEMS; try { - const results = await searchImages(`(${queryExtensions}) ${source}`, refStart.current); + const results = await searchImages( + `(${queryExtensions}) ${source}`, + refStart.current + ); const { fields, hasMoreResults } = results; refHasMore.current = hasMoreResults; setSearchResults((prev) => [...prev, ...fields]); } catch (error) { - console.error("[getMoreResultsSearch] error:", error); + console.error('[getMoreResultsSearch] error:', error); } }, [searchImages, source]); React.useEffect(() => { (async () => { - if (!context || source === SOURCE_STOCK || source === SOURCE_UPLOAD) return; + if (!context || source === SOURCE_STOCK || source === SOURCE_UPLOAD) + return; setIsLoading(true); setSelectedImage(null); refStart.current = 0; try { - const results = await searchImages(`(${queryExtensions}) ${source}`, refStart.current); + const results = await searchImages( + `(${queryExtensions}) ${source}`, + refStart.current + ); const { fields, hasMoreResults } = results; refHasMore.current = hasMoreResults; setSearchResults(fields); } catch (error) { - console.error("[useEffect] error:", error); + console.error('[useEffect] error:', error); } finally { setIsLoading(false); } @@ -108,14 +167,16 @@ export const SelectFromSharePoint: React.FunctionComponent { if (!refSelectedImage.current) return; - const { defaultEncodingURL, driveId, id, filename, fileType } = refSelectedImage.current; + const { defaultEncodingURL, driveId, id, filename, fileType } = + refSelectedImage.current; const image = driveId ? `${window.location.origin}/_api/v2.1/sites/${TENANT_NAME}/drives/${driveId}/items/${id}/thumbnails/0/c400x999/content?prefer=noredirect,closestavailablesize,extendCacheMaxAge` - : fileType === "svg" + : fileType === 'svg' ? defaultEncodingURL : defaultImage; const fileResult: IFilePickerResult = { - downloadFileContent: () => downLoadSpOrOneDriveContent(driveId, id, filename), + downloadFileContent: () => + downLoadSpOrOneDriveContent(driveId, id, filename), fileAbsoluteUrl: defaultEncodingURL, fileName: getFileNameFromUrl(defaultEncodingURL), fileNameWithoutExtension: getFileNameWithoutExtension(defaultEncodingURL), @@ -123,12 +184,22 @@ export const SelectFromSharePoint: React.FunctionComponent ( <> - - - - -
- {isLoading ? : renderSelectedImage()} - - {source !== SOURCE_STOCK && ( - - {renderDialogActions} - - )} - - + + + + + +
+ + + + +
+ {isLoading ? ( + + ) : ( + renderSelectedImage() + )} +
+ {source !== SOURCE_STOCK && ( + + {renderDialogActions} + + )} +
+
+
); }; diff --git a/src/controls/imagePicker/uploadFiles/useUploadFilesStyles.ts b/src/controls/imagePicker/uploadFiles/useUploadFilesStyles.ts index eaed5c876..6abea7e6e 100644 --- a/src/controls/imagePicker/uploadFiles/useUploadFilesStyles.ts +++ b/src/controls/imagePicker/uploadFiles/useUploadFilesStyles.ts @@ -1,101 +1,96 @@ -import { - makeStyles, - shorthands, - tokens, -} from "@fluentui/react-components"; +import { makeStyles, shorthands, tokens } from '@fluentui/react-components'; -export const useUploadFilesStyles = - makeStyles({ - baseStyle: { - ...shorthands.flex("1"), - display: "flex", - flexDirection: "column", - alignItems: "center", - ...shorthands.padding("20px"), - ...shorthands.borderWidth("2px"), - ...shorthands.borderRadius("2px"), - ...shorthands.borderColor(tokens.colorNeutralBackground5), - ...shorthands.borderStyle("dashed"), - /* backgroundColor: tokens.colorNeutralBackground3, */ +export const useUploadFilesStyles = makeStyles({ + baseStyle: { + ...shorthands.flex('auto'), + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + ...shorthands.padding('20px'), + ...shorthands.borderWidth('2px'), + ...shorthands.borderRadius('2px'), + ...shorthands.borderColor(tokens.colorNeutralBackground5), + ...shorthands.borderStyle('dashed'), + /* backgroundColor: tokens.colorNeutralBackground3, */ - ...shorthands.outline("none"), + ...shorthands.outline('none'), - "&:hover": { - ...shorthands.borderColor(tokens.colorNeutralBackground3Pressed), - cursor: "pointer", - }, + '&:hover': { + ...shorthands.borderColor(tokens.colorNeutralBackground3Pressed), + cursor: 'pointer', }, + }, - dragContainer: { - display: "flex", - flexDirection: "column", - alignItems: "center", - justifyContent: "center", - ...shorthands.gap("10px"), - }, + dragContainer: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + ...shorthands.gap('10px'), + }, - imagesContainer: { - display: "grid", - maxHeight: "500px", - gridTemplateColumns: "repeat(auto-fill, minmax(min(100%,150px), 1fr))", - ...shorthands.gap("10px"), - paddingTop: "15px", - paddingBottom: "15px", - overflowY: "auto", - scrollbarWidth: "thin", - }, + imagesContainer: { + display: 'grid', + maxHeight: '500px', + gridTemplateColumns: 'repeat(auto-fill, minmax(min(100%,150px), 1fr))', + ...shorthands.gap('10px'), + paddingTop: '15px', + paddingBottom: '15px', + overflowY: 'auto', + scrollbarWidth: 'thin', + }, - itemBody: { - display: "flex", - flexDirection: "column", - /* paddingBottom: "10px", */ - }, + itemBody: { + display: 'flex', + flexDirection: 'column', + /* paddingBottom: "10px", */ + }, - headerTitle: { - display: "-webkit-box", - "-webkit-line-clamp": "1", - "-webkit-box-orient": "vertical", - ...shorthands.overflow("hidden"), - breakWord: "break-all", - lineBreak: "anywhere", - textAlign: "start", - textOverflow: "ellipsis", - }, + headerTitle: { + display: '-webkit-box', + '-webkit-line-clamp': '1', + '-webkit-box-orient': 'vertical', + ...shorthands.overflow('hidden'), + breakWord: 'break-all', + lineBreak: 'anywhere', + textAlign: 'start', + textOverflow: 'ellipsis', + }, - bottomContainer: { - justifyContent: "end", - alignItems: "center", - display: "flex", - flexDirection: "row", - position: "absolute", - bottom: "15px", - right: "5px", - height: "20px" - }, - - card: { - height: "210px", - ...shorthands.borderRadius("6px"), - }, + bottomContainer: { + justifyContent: 'end', + alignItems: 'center', + display: 'flex', + flexDirection: 'row', + position: 'absolute', + bottom: '15px', + right: '5px', + height: '20px', + }, - deleteStyle: { - width: "16px", - height: "16px", - }, - iconRefreshStyle:{ - width: "16px", - height: "16px", - - }, - selectedImage: { - ...shorthands.border("3px", "solid", tokens.colorBrandBackground), - ...shorthands.padding("3px"), - }, - dragDropIconStyles : { - width: "28px", height: "28px", color: tokens.colorBrandBackground - }, - containerGlobalMarginTop: { - marginTop: "10px", - }, + card: { + height: '210px', + ...shorthands.borderRadius('6px'), + }, - }); + deleteStyle: { + width: '16px', + height: '16px', + }, + iconRefreshStyle: { + width: '16px', + height: '16px', + }, + selectedImage: { + ...shorthands.border('3px', 'solid', tokens.colorBrandBackground), + ...shorthands.padding('3px'), + }, + dragDropIconStyles: { + width: '28px', + height: '28px', + color: tokens.colorBrandBackground, + }, + containerGlobalMarginTop: { + marginTop: '10px', + }, +}); diff --git a/src/controls/listItemAttachments/IListItemAttachmentsProps.ts b/src/controls/listItemAttachments/IListItemAttachmentsProps.ts index 887dbb4f3..e3d8be952 100644 --- a/src/controls/listItemAttachments/IListItemAttachmentsProps.ts +++ b/src/controls/listItemAttachments/IListItemAttachmentsProps.ts @@ -16,4 +16,9 @@ export interface IListItemAttachmentsProps { * Description text to display on the placeholder, below the main text and icon */ description?:string; + /** + * Callback function to notify parent components when attachments are modified and the item ETag changes + * @param itemData - The updated item data including the new ETag + */ + onAttachmentChange?: (itemData: any) => void; // eslint-disable-line @typescript-eslint/no-explicit-any } diff --git a/src/controls/listItemAttachments/IUploadAttachmentProps.ts b/src/controls/listItemAttachments/IUploadAttachmentProps.ts index f25611dc0..4c11cfe2a 100644 --- a/src/controls/listItemAttachments/IUploadAttachmentProps.ts +++ b/src/controls/listItemAttachments/IUploadAttachmentProps.ts @@ -9,4 +9,10 @@ export interface IUploadAttachmentProps { context: BaseComponentContext; fireUpload?: boolean; onAttachmentUpload: (file?: File) => void; + onUploadDialogClosed: () => void; + /** + * Callback function to notify parent components when attachments are modified and the item ETag changes + * @param itemData - The updated item data including the new ETag + */ + onAttachmentChange?: (itemData: any) => void; // eslint-disable-line @typescript-eslint/no-explicit-any } diff --git a/src/controls/listItemAttachments/ListItemAttachments.tsx b/src/controls/listItemAttachments/ListItemAttachments.tsx index edccd5727..665c0c83d 100755 --- a/src/controls/listItemAttachments/ListItemAttachments.tsx +++ b/src/controls/listItemAttachments/ListItemAttachments.tsx @@ -51,7 +51,7 @@ export class ListItemAttachments extends React.Component { if (this.state.filesToUpload) { + let updatedItem: any = null; // eslint-disable-line @typescript-eslint/no-explicit-any for (const file of this.state.filesToUpload) { - await this._spservice.addAttachment( + updatedItem = await this._spservice.addAttachment( this.props.listId, itemId, file.name, file, this.props.webUrl); } + + // Notify parent component of the ETag change (use the last updated item) + if (updatedItem && this.props.onAttachmentChange) { + this.props.onAttachmentChange(updatedItem); + } } return new Promise((resolve, reject) => { this.setState({ @@ -93,6 +99,7 @@ export class ListItemAttachments extends React.Component this.loadAttachments().then(resolve)); }); } + protected loadAttachmentsPreview(files: IListItemAttachmentFile[]): Promise { const filePreviewImages = files.map(file => this.loadAttachmentPreview(file)); return Promise.all(filePreviewImages).then(filePreviews => { @@ -200,7 +207,12 @@ export class ListItemAttachments extends React.Component this.setState({ fireUpload: false })} + onAttachmentChange={this.props.onAttachmentChange} /> { diff --git a/src/controls/listItemAttachments/UploadAttachment.tsx b/src/controls/listItemAttachments/UploadAttachment.tsx index 9343a8cc3..af11fc454 100644 --- a/src/controls/listItemAttachments/UploadAttachment.tsx +++ b/src/controls/listItemAttachments/UploadAttachment.tsx @@ -66,7 +66,12 @@ export class UploadAttachment extends React.Component 0){ - await this._spservice.addAttachment(this.props.listId, this.props.itemId, file.name, file, this.props.webUrl); + const updatedItem = await this._spservice.addAttachment(this.props.listId, this.props.itemId, file.name, file, this.props.webUrl); + + // Notify parent component of the ETag change + if (updatedItem && this.props.onAttachmentChange) { + this.props.onAttachmentChange(updatedItem); + } } this.props.onAttachmentUpload(file); @@ -89,6 +94,25 @@ export class UploadAttachment extends React.Component