From 8e656567abf84c5d7240d4b8d81b2b23e281e0a7 Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Thu, 12 Sep 2024 13:59:04 -0700 Subject: [PATCH 01/58] Changelog update for text only messaging policy (#5169) --- packages/communication-react/CHANGELOG.beta.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/communication-react/CHANGELOG.beta.md b/packages/communication-react/CHANGELOG.beta.md index 03b0ba873ab..b9f6c9506c7 100644 --- a/packages/communication-react/CHANGELOG.beta.md +++ b/packages/communication-react/CHANGELOG.beta.md @@ -51,9 +51,11 @@ We are excited to announce that the Azure Communication Services Web UI Library This release brings Rich Text Editor to the ChatComposite and the CallWithChatComposite with the following new features: - We have added support for sending/editing messages that include images when in a Teams meeting using the CallWithChatComposite. -- We now support setting a Text Only MessagingPolicy on the ChatComposite. This prevents attachments and inline images to be added as part of a message in Send Box and Message Edit Box. - An additional `onPaste` callback that can be used to customize content pasted to Rich Text Editor. +#### Text Only Messaging Policy +We now support the ability to set a text-only messaging policy for a chat thread. In Teams Meeting Chat scenarios, the CallWithChatComposite will enable/disable image upload based on the text only message policy of the meeting. + ### Improvements - Update @fluentui-contrib/react-chat to fix focus issues in chat component ([PR #4862](https://github.com/azure/communication-ui-library/pull/4862) by 98852890+vhuseinova-msft@users.noreply.github.com) - Update @azure/communication-calling beta to 1.28.1-beta.1 and stable to 1.27.2 ([PR #4954](https://github.com/azure/communication-ui-library/pull/4954) by 79475487+mgamis-msft@users.noreply.github.com) From 7172e0b43483b4944be48eccec6a8e63ecd28e17 Mon Sep 17 00:00:00 2001 From: alkwa-msft <79329532+alkwa-msft@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:53:59 -0700 Subject: [PATCH 02/58] working through video gallery migration bug fixes (#5140) * fixing up a majority of the video gallery page bugs. Still have a few more things to update * fixing additional links and some other spacing issues * fixing up the floating local video snippet * pushing changes to fixes in the controls for the preview of video gallery * adding in spacing between all text blocks that used to be description blocks * adding in newline characters around text that used to be in description blocks * fixed all video gallery bugs! * Update Docs.mdx Updating Docs.mdx with PR comments Signed-off-by: alkwa-msft <79329532+alkwa-msft@users.noreply.github.com> --------- Signed-off-by: alkwa-msft <79329532+alkwa-msft@users.noreply.github.com> Co-authored-by: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> --- .../src/components/VideoGallery.tsx | 2 +- .../stories/Components/VideoGallery/Docs.mdx | 179 +++++++++++------- ...out.story.tsx => VideoGallery.stories.tsx} | 55 +++++- .../Components/VideoGallery/index.stories.tsx | 110 ++++++++++- .../VideoGallery/snippets/Default.snippet.tsx | 2 +- .../snippets/FocusedContent.snippet.tsx | 2 +- .../snippets/SpeakerLayout.snippet.tsx | 2 +- .../WithHorizontalGallery.snippet.tsx | 2 +- 8 files changed, 271 insertions(+), 83 deletions(-) rename packages/storybook8/stories/Components/VideoGallery/{GalleryLayout.story.tsx => VideoGallery.stories.tsx} (54%) diff --git a/packages/react-components/src/components/VideoGallery.tsx b/packages/react-components/src/components/VideoGallery.tsx index 98e160a7031..29545cac09f 100644 --- a/packages/react-components/src/components/VideoGallery.tsx +++ b/packages/react-components/src/components/VideoGallery.tsx @@ -227,7 +227,7 @@ export interface VideoGalleryProps { onDisposeRemoteScreenShareStreamView?: (userId: string) => Promise; /** Callback to dispose a local screen share stream view */ onDisposeLocalScreenShareStreamView?: () => Promise; - /** Callback to render a particpant avatar */ + /** Callback to render a participant avatar */ onRenderAvatar?: OnRenderAvatarCallback; /** * Whether to display the local video camera switcher button diff --git a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx index 80c976c736f..6374187ae95 100644 --- a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx +++ b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx @@ -10,14 +10,9 @@ import { CustomStyleVideoGalleryExample } from './snippets/CustomStyle.snippet'; import { DefaultVideoGalleryExample } from './snippets/Default.snippet'; import { FloatingLocalVideoExample } from './snippets/FloatingLocalVideo.snippet'; import { FocusedContentExample } from './snippets/FocusedContent.snippet'; -import { LocalCameraSwitcherExample } from './snippets/LocalCameraSwitcher.snippet'; -import { ManagedPinnedParticipantsExample } from './snippets/ManagedPinnedParticipants.snippet'; import { MobileWrapper } from './snippets/MobileWrapper'; -import { OVC3x3VideoGalleryExample } from './snippets/OVC3x3.snippet'; -import { PinnedParticipantsDisabledExample } from './snippets/PinnedParticipantsDisabled.snippet'; + import { PinnedParticipantsMobileExample } from './snippets/PinnedParticipantsMobile.snippet'; -import { ScreenSharingFromPresenterExample } from './snippets/ScreenSharingFromPresenter.snippet'; -import { ScreenSharingFromViewerExample } from './snippets/ScreenSharingFromViewer.snippet'; import { SpeakerLayoutExample } from './snippets/SpeakerLayout.snippet'; import { WithHorizontalGalleryExample } from './snippets/WithHorizontalGallery.snippet'; import { WithVerticalGalleryExample } from './snippets/WithVerticalGallery.snippet'; @@ -42,7 +37,7 @@ import WithVerticalGalleryExampleText from '!!raw-loader!./snippets/WithVertical # VideoGallery -VideoGallery lays out the local user and each remote participant in a call in a [VideoTile](./?path=/docs/ui-components-videotile--video-tile) component. The VideoGallery component is made up of a [Grid Layout](./?path=/docs/ui-components-videogallery--video-gallery#grid-layout), [Overflow Gallery](./?path=/docs/ui-components-videogallery--video-gallery#overflow-gallery), and a [Local Video Tile](./?path=/docs/ui-components-videogallery--video-gallery#local-video-tile). The logic used to place each [VideoTile](./?path=/docs/ui-components-videotile--video-tile) component into which section is explained below. +VideoGallery lays out the local user and each remote participant in a call in a [VideoTile](./?path=/docs/components-video-tile--docs) component. The VideoGallery component is made up of a [Grid Layout](./?path=/docs/components-grid-layout--docs#grid-layout), [Overflow Gallery](./?path=/docs/components-grid-layout--docs#grid-layout), and a [Local Video Tile](./?path=/docs/components-video-gallery--docs#local-video-camera-button). The logic used to place each [VideoTile](./?path=/docs/components-video-tile--docs) component into which section is explained below. ## Importing @@ -60,33 +55,29 @@ This feature allows users to choose from a variety of video gallery layouts. On ### Gallery Layout -If there are no remote video streams on, all participants are placed in the [Grid Layout](./?path=/docs/ui-components-gridlayout--grid-layout) including the local user. Otherwise, only remote participants with their video streams on are placed in the Grid Layout upto a max of `maxRemoteVideoStreams`. The remaining participants are placed in the Horizontal Gallery. +If there are no remote video streams on, all participants are placed in the [Grid Layout](./?path=/docs/components-grid-layout--docs) including the local user. Otherwise, only remote participants with their video streams on are placed in the Grid Layout up to a max of `maxRemoteVideoStreams`. The remaining participants are placed in the Horizontal Gallery. - + -Note: The `maxRemoteVideoStreams` prop limits the number of remote video streams in the [GridLayout](./?path=/docs/ui-components-gridlayout--grid-layout). If the number of remote participants with their video stream on exceeds `maxRemoteVideoStreams` then remote participants in the `dominantSpeakers` prop will be prioritized. Furthermore, the VideoGallery is designed to limit the re-ordering when the `dominantSpeakers` prop is changed. +Note: The `maxRemoteVideoStreams` prop limits the number of remote video streams in the [GridLayout](./?path=/docs/components-grid-layout--docs). If the number of remote participants with their video stream on exceeds `maxRemoteVideoStreams` then remote participants in the `dominantSpeakers` prop will be prioritized. Furthermore, the VideoGallery is designed to limit the re-ordering when the `dominantSpeakers` prop is changed. ### Floating Local Video Layout By default, the local video tile is placed in the Grid Layout. But the local video tile can be placed in a floating and draggable video tile in the bottom right corner by setting the `layout` prop to `'floatingLocalVideo'`. - + ### Speaker layout Speaker Layout is meant to highlight the current dominant speaker in the call. For this view in the video gallery the only participant that is in the grid view is the participant talking. All other participants are in the overflow gallery. When screen sharing the screenshare will replace this participant and the overflow gallery will behave like normal. - - - + ### Focused Content Layout This layout is meant to highlight the current screenshare stream. In this view when the screenshare is present the other participants will be removed from the grid view and the overflow gallery will be hidden from view. This allows for the focus of the local participant to be only on the screenshare stream. - - - + ## Overflow Gallery @@ -96,17 +87,16 @@ In the VideoGallery, when there are participants who are not to be prioritized i The remote participants not in the Grid Layout are placed in a sub-gallery called the Horizontal Gallery in the lower section. A gif element is used to simulate a remote video stream to move the other remote participants to the Horizontal Gallery in the example below. This is the default behavior for the VideoGallery, but can also be used by setting the `overflowGalleryPosition` property to `'horizontalBottom'`. - - - + ### Vertical Gallery The remote participants not in the Grid Layout are placed in a sub-gallery called the Vertical Gallery on the right side. A gif element is used to simulate a remote video stream to move the other remote participants to the Vertical Gallery in the example below. This is used by setting the `overflowGalleryPosition` property to `'verticalRight'`. - - - + ### Best Practices @@ -119,7 +109,11 @@ The Overflow Layout is used best in different ways depending on the applications src="images/narrow-horizontal-gallery.png" alt="Fill frame in VideoGallery" /> - <>✅ Narrow video tile experience with horizontal gallery + <> +
✅ Narrow video tile experience with horizontal gallery +
+
+ Fit to frame menu item in VideoGallery - <>❌ Narrow video tile experience with vertical gallery + <> +
❌ Narrow video tile experience with vertical gallery +
+
+
Fill frame in VideoGallery - <>❌ Wide video tile experience with horizontal gallery + <> +
+
❌ Wide video tile experience with horizontal gallery +
+
Fit to frame menu item in VideoGallery - <>✅ Wide video tile experience with vertical gallery + <> +
+
✅ Wide video tile experience with vertical gallery +
+
@@ -154,7 +160,9 @@ The vertical gallery can be most useful when the application is running a very w src="images/short-screen-share.png" alt="Fill to frame in VideoGallery" /> - <>❌ Wide screen share appearence horiztonal gallery + <> +
❌ Wide screen share appearence horiztonal gallery + Fill frame menu item in VideoGallery - <>✅ Wide screen share appearence vertical gallery + <> +
✅ Wide screen share appearence vertical gallery +
-## Screen Sharing Experience +## Content Sharing Experience + +Our VideoGallery component is designed for optimal content sharing, incorporating both screen sharing and PowerPoint Live functionalities. The screen shared is the sole element placed in the Grid Layout, with all remote participants positioned in the horizontal gallery at the lower section. For effective screen sharing or PowerPoint Live, ensure the sharing participant has their isScreenSharingOn prop set to true, along with a defined screenShareStream prop (refer to localParticipant and remoteParticipants props). + +### Supported Features -The screen shared is the only element placed in the GridLayout and all remote participants are placed in the horizontal gallery in the lower section. To be able to view this screen share, the sharing participant should have their `isScreenSharingOn` prop set to true as well as a defined `screenShareStream` prop (see `localParticipant` and `remoteParticipants` props). +Currently, the VideoGallery component supports two primary features to enhance collaboration and presentation quality: screen sharing and PowerPoint Live. + +- Screen Sharing: Share your local screen with participants in real-time or view remote screen +shares. For more details, see the sections below. +- PowerPoint Live: Exclusively view remote PowerPoint presentations. +Learn more about PowerPoint Live. ### From a presenter point of view - - - + ### From a viewer point of view -Note that in this example, we substitute the screenshare video stream with an image just for mocking experience. +We have the capability to configure the `screenShareStream` to utilize any `HTMLElement` as the renderElement, +enabling functionalities like screen sharing and PowerPoint Live. It's important to note that, in this specific +example, we're replacing the screenshare video stream with an image merely to simulate the experience. - - - + ## Custom Avatar Rendering of avatars can be customized through the VideoGallery callback `onRenderAvatar`. - - - + ## Custom Style Style of the VideoGallery container can be customized through its `styles` prop. The `styles` prop is a `VideoGalleryStyles` type with subproperties for each part of the VideoGallery as shown in the example below. - - - + ## Local Video Camera Button @@ -210,9 +235,10 @@ The VideoGallery can take in customization to allow for the introduction of loca - - - + ## Remote video tile contextual menu @@ -222,9 +248,10 @@ The VideoGallery provides a contextual menu for each remote video tile which can Remote video tile contextual menu is be enabled by default but can be disabled by setting the `remoteVideoTileMenuOptions` prop to false like in the example below. - - - + ## Pinning Participants @@ -247,25 +274,25 @@ when this limit is reached as shown in the screenshot below. ### Pinning participants via long touch for mobile -The VideoGallery also caters to pinning participants on mobile by setting the prop `remoteVideoTileMenuOptions` to object `{ kind: 'drawer' }`. This changes the contextual menu to a drawer menu that is opened via long touch. The result is demonstrated in the example below where all mouse clicks are converted to touch to simulate a mobile browser. You can simulate a long touch by long clicking a remote video tile below to see that a drawer menu will appear. +The VideoGallery also caters to pinning participants on mobile by setting the prop `remoteVideoTileMenuOptions` to object \{ kind: 'drawer' \}. This changes the contextual menu to a drawer menu that is opened via long touch. The result is demonstrated in the example below where all mouse clicks are converted to touch to simulate a mobile browser. You can simulate a long touch by long clicking a remote video tile below to see that a drawer menu will appear. - - - - - + ### Managing the pinned participants state The state of which remote participants are pinned can be managed by defining the value of the `pinnedParticipants` prop. But the callback props `onPinParticipant` and `onUnpinParticipant` must be defined to update the managed state. In the example below, the pinned participants state is managed outside of the VideoGallery component using a `useState` hook . The display names of the pinned participants are shown in text above the VideoGallery. - - - + ## Remote video stream rendering options -When `useProps` hook is used to provide the props to VideoGallery from the [stateful client](./?path=/docs/statefulclient-overview--page), prop `remoteParticipants` will contain information on the video streams of each remote participant and props `onCreateRemoteStreamView` and `onDisposeRemoteStreamView` handle the creation and disposal of these video streams. The VideoGallery component will have a menu item in the contextual menu of remote video tiles to change the rendering option of active remote video streams to either fill-frame or fit-to-frame. Below are screenshots to demonstrate this feature. +When `useProps` hook is used to provide the props to VideoGallery from the [stateful client](./?path=/docs/stateful-client-overview--docs), prop `remoteParticipants` will contain information on the video streams of each remote participant and props `onCreateRemoteStreamView` and `onDisposeRemoteStreamView` handle the creation and disposal of these video streams. The VideoGallery component will have a menu item in the contextual menu of remote video tiles to change the rendering option of active remote video streams to either fill-frame or fit-to-frame. Below are screenshots to demonstrate this feature. @@ -308,8 +335,30 @@ When `useProps` hook is used to provide the props to VideoGallery from the [stat The default rendering options can be set for remote video streams as well as the local video stream through VideoGallery props `remoteVideoViewOptions` and `localVideoViewOptions`. To set the remote video streams to fill frame set the scalingMode to 'Crop' like in the code snippet. To set it to fit-to-frame set scalingMode to 'Fit'. -``` -TBD this should be a snippet not bare text. (renderingOptionsDefault) +```typescript +import { VideoGallery, VideoStreamOptions } from '@internal/react-components'; + +const ViewOptionsDefault = (): JSX.Element => { + const localVideoViewOptions = { + scalingMode: 'Crop', + isMirrored: true + } as VideoStreamOptions; + + const remoteVideoViewOptions = { + scalingMode: 'Crop', + isMirrored: true + } as VideoStreamOptions; + + return ( + + ); +}; ``` ## Local video tile aspect ratio options @@ -351,10 +400,8 @@ The Optimal Video Count (OVC) feature provides a way to make sure that the numbe The 3x3 video gallery allows customers to have 9 remote videos rendering with the highest optimal quality. - - - + ## Props - + diff --git a/packages/storybook8/stories/Components/VideoGallery/GalleryLayout.story.tsx b/packages/storybook8/stories/Components/VideoGallery/VideoGallery.stories.tsx similarity index 54% rename from packages/storybook8/stories/Components/VideoGallery/GalleryLayout.story.tsx rename to packages/storybook8/stories/Components/VideoGallery/VideoGallery.stories.tsx index c7cb7aafe70..64ebed472aa 100644 --- a/packages/storybook8/stories/Components/VideoGallery/GalleryLayout.story.tsx +++ b/packages/storybook8/stories/Components/VideoGallery/VideoGallery.stories.tsx @@ -2,7 +2,9 @@ // Licensed under the MIT License. import { VideoGallery as VideoGalleryComponent } from '@azure/communication-react'; +import { Meta } from '@storybook/react'; import React from 'react'; +import { controlsToAdd } from '../../controlsUtils'; const MockLocalParticipant = { userId: 'userLocal', @@ -12,11 +14,8 @@ const MockLocalParticipant = { isScreenSharingOn: false }; -const GalleryLayoutRender = (args: any): JSX.Element => { - const remoteParticipants = ( - args.remoteParticipants ?? - 'Rick, Daryl, Michonne, Dwight, Pam, Michael, Jim, Kevin, Creed, Angela, Andy, Stanley, Meredith, Phyllis, Oscar, Ryan, Kelly, Andy, Toby, Darryl, Gabe, Erin' - ) +const VideoGalleryRender = (args: any): JSX.Element => { + const remoteParticipants = args.remoteParticipants .split(',') .map((p: string) => p.trim()) .filter((p: string) => p) @@ -53,7 +52,7 @@ const GalleryLayoutRender = (args: any): JSX.Element => { } return ( -
+
{ ); }; -export const GalleryLayout = { - description: 'test description', - render: GalleryLayoutRender, +export const VideoGallery = { + render: VideoGalleryRender, source: { language: 'bash' }, @@ -98,3 +96,42 @@ export const GalleryLayout = { } } }; + +const meta: Meta = { + title: 'Components/Video Gallery', + name: 'VideoGallery', + component: VideoGalleryComponent, + argTypes: { + styles: { table: { disable: true } }, + layout: { table: { disable: true } }, + localParticipant: { table: { disable: true } }, + dominantSpeakers: { table: { disable: true } }, + localVideoViewOptions: { table: { disable: true } }, + onCreateLocalStreamView: { table: { disable: true } }, + onDisposeLocalStreamView: { table: { disable: true } }, + onRenderLocalVideoTile: { table: { disable: true } }, + onCreateRemoteStreamView: { table: { disable: true } }, + onRenderRemoteVideoTile: { table: { disable: true } }, + onDisposeRemoteStreamView: { table: { disable: true } }, + onDisposeRemoteVideoStreamView: { table: { disable: true } }, + onDisposeRemoteScreenShareStreamView: { table: { disable: true } }, + onRenderAvatar: { table: { disable: true } }, + showMuteIndicator: { table: { disable: true } }, + strings: { table: { disable: true } }, + maxRemoteVideoStreams: { table: { disable: true } }, + pinnedParticipants: { table: { disable: true } }, + onPinParticipant: { table: { disable: true } }, + remoteParticipants: controlsToAdd.remoteParticipantNames, + videoGalleryLayout: controlsToAdd.videoGallerylayout, + overflowGalleryPosition: controlsToAdd.overflowGalleryPosition, + screenShareExperience: controlsToAdd.screenShareExperience, + localVideoTileSize: controlsToAdd.localVideoTileSize + }, + args: { + remoteParticipants: + 'Rick, Daryl, Michonne, Dwight, Pam, Michael, Jim, Kevin, Creed, Angela, Andy, Stanley, Meredith, Phyllis, Oscar, Ryan, Kelly, Andy, Toby, Darryl, Gabe, Erin', + videoGalleryLayout: 'floatingLocalVideo' + } +}; + +export default meta; diff --git a/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx b/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx index febf88d540d..5c180bb0468 100644 --- a/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx +++ b/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx @@ -2,12 +2,116 @@ // Licensed under the MIT License. import { Meta } from '@storybook/react'; +import { VideoGallery } from '@azure/communication-react'; +import { FocusedContentExample } from './snippets/FocusedContent.snippet'; +import { SpeakerLayoutExample } from './snippets/SpeakerLayout.snippet'; +import { WithHorizontalGalleryExample } from './snippets/WithHorizontalGallery.snippet'; +import { WithVerticalGalleryExample } from './snippets/WithVerticalGallery.snippet'; +import { FloatingLocalVideoExample } from './snippets/FloatingLocalVideo.snippet'; +import { DefaultVideoGalleryExample } from './snippets/Default.snippet'; +import { ScreenSharingFromPresenterExample } from './snippets/ScreenSharingFromPresenter.snippet'; +import { ScreenSharingFromViewerExample } from './snippets/ScreenSharingFromViewer.snippet'; +import { CustomAvatarVideoGalleryExample } from './snippets/CustomAvatar.snippet'; +import { CustomStyleVideoGalleryExample } from './snippets/CustomStyle.snippet'; +import { LocalCameraSwitcherExample } from './snippets/LocalCameraSwitcher.snippet'; +import { PinnedParticipantsDisabledExample } from './snippets/PinnedParticipantsDisabled.snippet'; +import { PinnedParticipantsMobileExample } from './snippets/PinnedParticipantsMobile.snippet'; +import { MobileWrapper } from './snippets/MobileWrapper'; +import React from 'react'; +import { ManagedPinnedParticipantsExample } from './snippets/ManagedPinnedParticipants.snippet'; +import { OVC3x3VideoGalleryExample } from './snippets/OVC3x3.snippet'; -export { GalleryLayout } from './GalleryLayout.story'; -export { FloatingLocalVideoLayout } from './FloatingLocalVideoLayout.story'; +export const DefaultVideoGalleryExampleDocsOnly = { + render: DefaultVideoGalleryExample +}; + +export const FloatingLocalVideoLayoutDocsOnly = { + render: FloatingLocalVideoExample +}; + +export const FocusedContentExampleDocsOnly = { + render: FocusedContentExample +}; + +export const SpeakerLayoutExampleDocsOnly = { + render: SpeakerLayoutExample +}; + +export const WithHorizontalGalleryExampleDocsOnly = { + render: WithHorizontalGalleryExample +}; + +export const WithVerticalGalleryExampleDocsOnly = { + render: WithVerticalGalleryExample +}; + +export const ScreenSharingFromPresenterExampleDocsOnly = { + render: ScreenSharingFromPresenterExample +}; + +export const ScreenSharingFromViewerExampleDocsOnly = { + render: ScreenSharingFromViewerExample +}; + +export const CustomAvatarVideoGalleryExampleDocsOnly = { + render: CustomAvatarVideoGalleryExample +}; + +export const CustomStyleVideoGalleryExampleDocsOnly = { + render: CustomStyleVideoGalleryExample +}; + +export const LocalCameraSwitcherExampleDocsOnly = { + render: LocalCameraSwitcherExample +}; + +export const PinnedParticipantsDisabledExampleDocsOnly = { + render: PinnedParticipantsDisabledExample +}; + +export const PinnedParticipantsMobileExampleDocsOnly = { + render: () => ( + + + + ) +}; + +export const ManagedPinnedParticipantsExampleDocsOnly = { + render: ManagedPinnedParticipantsExample +}; + +export const OVC3x3VideoGalleryExampleDocsOnly = { + render: OVC3x3VideoGalleryExample +}; const meta: Meta = { - title: 'Components/Video Gallery' + title: 'Components/Video Gallery', + component: VideoGallery, + argTypes: { + onRenderAvatar: { + table: { + type: { + summary: 'OnRenderAvatarCallback' + } + } + }, + onCreateRemoteStreamView: { + table: { + type: { + summary: 'signature' + } + } + }, + onDisposeRemoteStreamView: { + description: 'Callback to dispose remote stream view', + table: { + type: { + summary: 'signature' + } + } + } + } }; export default meta; diff --git a/packages/storybook8/stories/Components/VideoGallery/snippets/Default.snippet.tsx b/packages/storybook8/stories/Components/VideoGallery/snippets/Default.snippet.tsx index 1dce95af7b9..9d0cab7aff0 100644 --- a/packages/storybook8/stories/Components/VideoGallery/snippets/Default.snippet.tsx +++ b/packages/storybook8/stories/Components/VideoGallery/snippets/Default.snippet.tsx @@ -34,7 +34,7 @@ const MockRemoteParticipants = [ // This must be the only named export from this module, and must be named to match the storybook path suffix. // This ensures that storybook hoists the story instead of creating a folder with a single entry. export const DefaultVideoGalleryExample: () => JSX.Element = () => { - const containerStyle = { height: '50vh' }; + const containerStyle = { height: '80vh', width: '50vw' }; return ( diff --git a/packages/storybook8/stories/Components/VideoGallery/snippets/FocusedContent.snippet.tsx b/packages/storybook8/stories/Components/VideoGallery/snippets/FocusedContent.snippet.tsx index e3be29d0cc3..5b3be4db6e0 100644 --- a/packages/storybook8/stories/Components/VideoGallery/snippets/FocusedContent.snippet.tsx +++ b/packages/storybook8/stories/Components/VideoGallery/snippets/FocusedContent.snippet.tsx @@ -49,7 +49,7 @@ const MockRemoteParticipants = [ // This must be the only named export from this module, and must be named to match the storybook path suffix. // This ensures that storybook hoists the story instead of creating a folder with a single entry. export const FocusedContentExample: () => JSX.Element = () => { - const containerStyle = { height: '50vh' }; + const containerStyle = { height: '60vh' }; return ( JSX.Element = () => { - const containerStyle = { height: '50vh' }; + const containerStyle = { height: '60vh' }; return ( JSX.Element = () => { - const containerStyle = { height: '50vh' }; + const containerStyle = { height: '60vh' }; return ( Date: Fri, 13 Sep 2024 07:29:42 -0700 Subject: [PATCH 03/58] last few video gallery issues to fix (#5176) --- .../storybook8/stories/Components/VideoGallery/Docs.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx index 6374187ae95..342b946be85 100644 --- a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx +++ b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx @@ -178,16 +178,16 @@ The vertical gallery can be most useful when the application is running a very w ## Content Sharing Experience -Our VideoGallery component is designed for optimal content sharing, incorporating both screen sharing and PowerPoint Live functionalities. The screen shared is the sole element placed in the Grid Layout, with all remote participants positioned in the horizontal gallery at the lower section. For effective screen sharing or PowerPoint Live, ensure the sharing participant has their isScreenSharingOn prop set to true, along with a defined screenShareStream prop (refer to localParticipant and remoteParticipants props). +Our VideoGallery component is designed for optimal content sharing, incorporating both screen sharing and PowerPoint Live functionalities. The screen shared is the sole element placed in the [Grid Layout](./?path=/docs/ui-components-gridlayout--grid-layout), with all remote participants positioned in the horizontal gallery at the lower section. For effective screen sharing or PowerPoint Live, ensure the sharing participant has their `isScreenSharingOn` prop set to true, along with a defined `screenShareStream` prop (refer to `localParticipant` and `remoteParticipants` props). ### Supported Features Currently, the VideoGallery component supports two primary features to enhance collaboration and presentation quality: screen sharing and PowerPoint Live. -- Screen Sharing: Share your local screen with participants in real-time or view remote screen -shares. For more details, see the sections below. +- Screen Sharing: Share your local screen with participants in real-time or view remote screen shares. + For more details, see the sections below. - PowerPoint Live: Exclusively view remote PowerPoint presentations. -Learn more about PowerPoint Live. + Learn more about PowerPoint Live. ### From a presenter point of view From 73a7a8c338f4e2aabe182b9acae6f868f8516f49 Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Fri, 13 Sep 2024 09:33:05 -0700 Subject: [PATCH 04/58] [A11y][Test] Added keyboard navigation tests for ChatMyMessage component (#5162) --- .../ChatMessage/ChatMessageActionMenu.tsx | 2 +- .../ChatMessage/ChatMessageActionsFlyout.tsx | 3 +- .../ChatMessageComponentAsMessageBubble.tsx | 2 +- .../ChatMessageComponentAsEditBox.tsx | 2 + .../ChatMyMessageComponent.tsx | 5 +- .../ChatMyMessageComponentAsMessageBubble.tsx | 2 +- .../src/components/MessageThread.test.tsx | 8 +- .../browser/ChatMyMessageComponent.spec.tsx | 94 +++++++++++++++++++ .../browser/chat/hermetic/ErrorBar.test.ts | 10 +- .../browser/chat/hermetic/ReadReceipt.test.ts | 7 +- .../browser/common/hermeticChatTestHelpers.ts | 4 +- .../tests/browser/common/utils.ts | 3 + 12 files changed, 123 insertions(+), 19 deletions(-) create mode 100644 packages/react-components/tests/browser/ChatMyMessageComponent.spec.tsx diff --git a/packages/react-components/src/components/ChatMessage/ChatMessageActionMenu.tsx b/packages/react-components/src/components/ChatMessage/ChatMessageActionMenu.tsx index 681c433b32e..a67048f6cc6 100644 --- a/packages/react-components/src/components/ChatMessage/ChatMessageActionMenu.tsx +++ b/packages/react-components/src/components/ChatMessage/ChatMessageActionMenu.tsx @@ -37,7 +37,7 @@ export const chatMessageActionMenuProps = (menuProps: {
menuProps.onActionButtonClick() : undefined} style={{ margin: showActionMenu ? '1px' : 0, minHeight: showActionMenu ? undefined : '30px' }} diff --git a/packages/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.tsx b/packages/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.tsx index 1b1ccb22514..0c846c05182 100644 --- a/packages/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.tsx +++ b/packages/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.tsx @@ -102,7 +102,7 @@ export const ChatMessageActionFlyout = (props: ChatMessageActionFlyoutProps): JS const items: IContextualMenuItem[] = [ { key: 'Edit', - 'data-ui-id': 'chat-composite-message-contextual-menu-edit-action', + 'data-testid': 'chat-composite-message-contextual-menu-edit-action', text: props.strings.editMessage, itemProps: { styles: props.increaseFlyoutItemSize ? menuItemIncreasedSizeStyles : undefined @@ -112,6 +112,7 @@ export const ChatMessageActionFlyout = (props: ChatMessageActionFlyoutProps): JS }, { key: 'Remove', + 'data-testid': 'chat-composite-message-contextual-menu-remove-action', text: props.strings.removeMessage, itemProps: { styles: props.increaseFlyoutItemSize ? menuItemIncreasedSizeStyles : undefined }, iconProps: { diff --git a/packages/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.tsx b/packages/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.tsx index 8a31339f4be..ca67568dd69 100644 --- a/packages/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.tsx +++ b/packages/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.tsx @@ -181,7 +181,7 @@ const MessageBubble = (props: ChatMessageComponentAsMessageBubbleProps): JSX.Ele className: chatItemMessageContainerClassName, style: { ...createStyleFromV8Style(messageContainerStyle) } }} - data-ui-id="chat-composite-message" + data-testid="chat-composite-message" timestamp={ @@ -216,6 +217,7 @@ export const ChatMessageComponentAsEditBox = (props: ChatMessageComponentAsEditB e.stopPropagation(); }} id={'submitIconWrapper'} + data-testId="chat-message-edit-box-submit-button" /> diff --git a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.tsx b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.tsx index 3ce51eeaa3d..1d727c124c2 100644 --- a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.tsx +++ b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.tsx @@ -23,7 +23,10 @@ import { ChatMessageComponentAsEditBoxPicker } from './ChatMessageComponentAsEdi /* @conditional-compile-remove(rich-text-editor-image-upload) */ import { removeBrokenImageContentAndClearImageSizeStyles } from '../../utils/SendBoxUtils'; -type ChatMyMessageComponentProps = { +/** + * Props for the ChatMyMessageComponent component. + */ +export type ChatMyMessageComponentProps = { message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage; userId: string; messageContainerStyle?: ComponentSlotStyle; diff --git a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.tsx b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.tsx index 725359bf53c..abf27ef4f70 100644 --- a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.tsx +++ b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.tsx @@ -266,7 +266,7 @@ const MessageBubble = (props: ChatMyMessageComponentAsMessageBubbleProps): JSX.E setFocused(true); } }} - data-ui-id="chat-composite-message" + data-testid="chat-composite-message" author={{message.senderDisplayName}} timestamp={ { ); }; - const { container, rerender } = render( + const { rerender } = render( { ); // Find message bubble does not contain mention yet - const messageBubble = container.querySelector('[data-ui-id="chat-composite-message"]'); + const messageBubble = screen.queryByTestId('chat-composite-message'); if (!messageBubble) { fail('Failed to find chat message bubble'); } @@ -397,7 +397,7 @@ describe('Message should display Mention correctly', () => { expect(messageBubble.innerHTML).not.toContain(MSFT_MENTION); // Click on ... button to trigger context menu - const menuButton = container.querySelector('[data-ui-id="chat-composite-message-action-icon"]'); + const menuButton = screen.queryByTestId('chat-composite-message-action-icon'); if (!menuButton) { fail('Failed to find "More" action button'); } @@ -452,7 +452,7 @@ describe('Message should display Mention correctly', () => { ); // After re-render with edited message, verify content includes mentions html tag - const messageBubbleAfterRerender = container.querySelector('[data-ui-id="chat-composite-message"]'); + const messageBubbleAfterRerender = screen.queryByTestId('chat-composite-message'); if (!messageBubbleAfterRerender) { fail('Failed to find "More" action button after rerender'); } diff --git a/packages/react-components/tests/browser/ChatMyMessageComponent.spec.tsx b/packages/react-components/tests/browser/ChatMyMessageComponent.spec.tsx new file mode 100644 index 00000000000..67efed7a6e4 --- /dev/null +++ b/packages/react-components/tests/browser/ChatMyMessageComponent.spec.tsx @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import React from 'react'; +import { expect } from '@playwright/experimental-ct-react'; +import { test as betaTest } from './FlavoredBaseTest'; +import { + ChatMyMessageComponent, + ChatMyMessageComponentProps +} from '../../src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent'; +import { COMPONENT_LOCALE_EN_US } from '../../src'; +import { Locator, Page } from 'playwright-core'; + +betaTest.describe('ChatMyMessageComponent keyboard navigation tests', () => { + const localeStrings = COMPONENT_LOCALE_EN_US.strings; + + const props: ChatMyMessageComponentProps = { + shouldOverlapAvatarAndMessage: false, + onActionButtonClick: () => {}, + strings: localeStrings.messageThread, + message: { + content: 'Hello World!', + messageId: '1', + attached: true, + messageType: 'chat', + contentType: 'html', + createdOn: new Date(), + mine: true + }, + userId: '1' + }; + + betaTest('User can navigate to message using keyboard', async ({ mount, page }) => { + const component = await mount(); + await showMoreMenuButton(component, page); + }); + + betaTest('Users can start editing messages using keyboard', async ({ mount, page }) => { + const component = await mount(); + await showMoreMenuButton(component, page); + + await openMoreMenu(component, page); + + // start editing + await page.keyboard.press('Enter'); + await expect(component.getByTestId('chat-message-edit-box-cancel-button')).toBeVisible(); + await expect(component.getByTestId('chat-message-edit-box-submit-button')).toBeVisible(); + }); + + betaTest('Users can select delete option for a message using keyboard', async ({ mount, page }) => { + const component = await mount(); + await showMoreMenuButton(component, page); + + await openMoreMenu(component, page); + + const removeButton = page.getByTestId('chat-composite-message-contextual-menu-remove-action'); + + //navigate to delete button + await page.keyboard.press('ArrowDown'); + await expect(removeButton).toBeFocused(); + + // select delete + await page.keyboard.press('Enter'); + await expect(removeButton).not.toBeFocused(); + // more menu isn't open + expect(removeButton).not.toBeVisible(); + }); +}); + +const showMoreMenuButton = async (component: Locator, page: Page): Promise => { + await component.evaluate(() => document.fonts.ready); + const messageBody = component.getByTestId('chat-composite-message'); + await expect(messageBody).toBeVisible(); + await page.keyboard.press('Tab'); + + await expect(messageBody).toBeFocused(); + + await expect(component.getByTestId('chat-composite-message-action-icon')).toBeVisible(); +}; + +const openMoreMenu = async (component: Locator, page: Page): Promise => { + // navigate to message menu + await page.keyboard.press('Tab'); + await expect(component.getByTestId('chat-composite-message-action-icon')).toBeFocused(); + + // open message menu + await page.keyboard.press('Enter'); + + // page is used here as more menu is not part of the component + const editButton = page.getByTestId('chat-composite-message-contextual-menu-edit-action'); + await expect(editButton).toBeVisible(); + await expect(page.getByTestId('chat-composite-message-contextual-menu-remove-action')).toBeVisible(); + await expect(editButton).toBeFocused(); +}; diff --git a/packages/react-composites/tests/browser/chat/hermetic/ErrorBar.test.ts b/packages/react-composites/tests/browser/chat/hermetic/ErrorBar.test.ts index 6154e8176b3..e88545b42cd 100644 --- a/packages/react-composites/tests/browser/chat/hermetic/ErrorBar.test.ts +++ b/packages/react-composites/tests/browser/chat/hermetic/ErrorBar.test.ts @@ -4,9 +4,9 @@ import { stubMessageTimestamps, waitForChatCompositeToLoad, - dataUiId, pageClick, - stableScreenshot + stableScreenshot, + dataTestId } from '../../common/utils'; import { buildUrlForChatAppUsingFakeAdapter, DEFAULT_FAKE_CHAT_ADAPTER_ARGS, test } from './fixture'; import { expect } from '@playwright/test'; @@ -35,9 +35,9 @@ test.describe('ErrorBar is shown correctly', async () => { await stubMessageTimestamps(page); expect(await stableScreenshot(page)).toMatchSnapshot('error-bar-send-message-with-wrong-thread-id.png'); // test resend button in contextual menu - await pageClick(page, dataUiId('chat-composite-message')); - await pageClick(page, dataUiId('chat-composite-message-action-icon')); - await page.waitForSelector(dataUiId('chat-composite-message-contextual-menu-edit-action')); + await pageClick(page, dataTestId('chat-composite-message')); + await pageClick(page, dataTestId('chat-composite-message-action-icon')); + await page.waitForSelector(dataTestId('chat-composite-message-contextual-menu-edit-action')); expect(await stableScreenshot(page)).toMatchSnapshot( 'error-bar-send-message-with-wrong-thread-id-show-resend-button.png' diff --git a/packages/react-composites/tests/browser/chat/hermetic/ReadReceipt.test.ts b/packages/react-composites/tests/browser/chat/hermetic/ReadReceipt.test.ts index 0d99cf19d1a..f7b60533623 100644 --- a/packages/react-composites/tests/browser/chat/hermetic/ReadReceipt.test.ts +++ b/packages/react-composites/tests/browser/chat/hermetic/ReadReceipt.test.ts @@ -5,6 +5,7 @@ import { expect } from '@playwright/test'; import { temporarilyShowHiddenChatComposite } from '../../common/hermeticChatTestHelpers'; import { sendMessage, waitForMessageDelivered, waitForMessageSeen } from '../../common/chatTestHelpers'; import { + dataTestId, dataUiId, perStepLocalTimeout, screenshotOnFailure, @@ -62,9 +63,9 @@ test.describe('Chat Composite E2E Tests', () => { await waitForMessageSeen(page); await screenshotOnFailure(page, async () => { - await page.locator(dataUiId('chat-composite-message')).first().click(); - await page.locator(dataUiId('chat-composite-message-action-icon')).first().click(); - await page.waitForSelector(dataUiId('chat-composite-message-contextual-menu-edit-action')); + await page.locator(dataTestId('chat-composite-message')).first().click(); + await page.locator(dataTestId('chat-composite-message-action-icon')).first().click(); + await page.waitForSelector(dataTestId('chat-composite-message-contextual-menu-edit-action')); await page.locator(dataUiId('chat-composite-message-contextual-menu-read-info')).click(); await page.waitForSelector(dataUiId('chat-composite-message-contextual-menu-read-name-list-item')); }); diff --git a/packages/react-composites/tests/browser/common/hermeticChatTestHelpers.ts b/packages/react-composites/tests/browser/common/hermeticChatTestHelpers.ts index 572f939394f..ae18a44e048 100644 --- a/packages/react-composites/tests/browser/common/hermeticChatTestHelpers.ts +++ b/packages/react-composites/tests/browser/common/hermeticChatTestHelpers.ts @@ -5,7 +5,7 @@ import type { ChatParticipant } from '@azure/communication-chat'; import { toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; import { Page } from '@playwright/test'; import { IDS } from './constants'; -import { dataUiId, perStepLocalTimeout, screenshotOnFailure, waitForSelector } from './utils'; +import { dataTestId, dataUiId, perStepLocalTimeout, screenshotOnFailure, waitForSelector } from './utils'; /** * are, well, hidden. @@ -16,7 +16,7 @@ import { dataUiId, perStepLocalTimeout, screenshotOnFailure, waitForSelector } f export async function temporarilyShowHiddenChatComposite(page: Page, participant: ChatParticipant): Promise { await withHiddenChatCompositeInForeground(page, participant, async () => { // wait for messages to have loaded - await waitForSelector(page, dataUiId('chat-composite-message')); + await waitForSelector(page, dataTestId('chat-composite-message')); // sleep for 100ms to give time for the messagethread hook to send the read receipt await page.waitForTimeout(100); }); diff --git a/packages/react-composites/tests/browser/common/utils.ts b/packages/react-composites/tests/browser/common/utils.ts index d518cac8b8b..7c7d7679690 100644 --- a/packages/react-composites/tests/browser/common/utils.ts +++ b/packages/react-composites/tests/browser/common/utils.ts @@ -22,6 +22,9 @@ export function perStepLocalTimeout(): number { /** Selector string to get element by data-ui-id property */ export const dataUiId = (id: string): string => `[data-ui-id="${id}"]`; +/** Selector string to get element by data-testid property */ +export const dataTestId = (id: string): string => `[data-testid="${id}"]`; + /** * Wrapper function to take a screenshot if the provided callback fails. */ From 47fbf012b0440bc7918d545540bb1a27bc4cefb6 Mon Sep 17 00:00:00 2001 From: mgamis-msft <79475487+mgamis-msft@users.noreply.github.com> Date: Fri, 13 Sep 2024 11:32:17 -0700 Subject: [PATCH 05/58] Refactor VideoGallery organizing logic (again) (#5121) * Refactor video gallery's participant organizing logic * Refactor video gallery's participant organizing logic part 2 * Refactor video gallery's participant organizing logic part 3 * rename variables --- .../utils/videoGalleryLayoutUtils.ts | 119 +++++------------- 1 file changed, 28 insertions(+), 91 deletions(-) diff --git a/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts b/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts index 7be3ada1086..82f56218e2b 100644 --- a/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts +++ b/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts @@ -47,19 +47,27 @@ const getOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedPa dominantSpeakers = [], maxGridParticipants = DEFAULT_MAX_VIDEO_SREAMS, maxOverflowGalleryDominantSpeakers = DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS, - isScreenShareActive = false, layout, previousGridParticipants = [], previousOverflowParticipants = [] } = props; - const remoteParticipantsOrdered = putVideoParticipantsFirst(remoteParticipants); + /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ + const callingParticipants = remoteParticipants.filter((p) => p.state === ('Connecting' || 'Ringing')); + /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ + const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId)); + + let connectedParticipants = remoteParticipants; + /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ + connectedParticipants = connectedParticipants.filter((p) => !callingParticipantsSet.has(p.userId)); + + const remoteParticipantsOrdered = putVideoParticipantsFirst(connectedParticipants); const videoParticipants = remoteParticipants.filter((p) => p.videoStream?.isAvailable); - const participants = + const participantsForGrid = layout === 'floatingLocalVideo' && videoParticipants.length > 0 ? videoParticipants : remoteParticipantsOrdered; let newGridParticipants = smartDominantSpeakerParticipants({ - participants: participants, + participants: participantsForGrid, dominantSpeakers, currentParticipants: previousGridParticipants, maxDominantSpeakers: maxGridParticipants @@ -78,39 +86,21 @@ const getOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedPa const gridParticipantSet = new Set(newGridParticipants.map((p) => p.userId)); - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ - const callingParticipants = remoteParticipantsOrdered.filter((p) => p.state === ('Connecting' || 'Ringing')); - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ - const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId)); - const newOverflowGalleryParticipants = smartDominantSpeakerParticipants({ - participants: remoteParticipantsOrdered.filter( - (p) => - !gridParticipantSet.has(p.userId) && - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has( - p.userId - ) - ), + participants: remoteParticipantsOrdered.filter((p) => !gridParticipantSet.has(p.userId)), dominantSpeakers: dominantSpeakers, currentParticipants: previousOverflowParticipants, maxDominantSpeakers: maxOverflowGalleryDominantSpeakers }); - const gridParticipants = getGridParticipants({ - isScreenShareActive, - gridParticipants: newGridParticipants, - overflowGalleryParticipants: newOverflowGalleryParticipants, - maxGridParticipants: maxGridParticipants, - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants - }); - - const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants({ - isScreenShareActive, - gridParticipants: newGridParticipants, - overflowGalleryParticipants: newOverflowGalleryParticipants, - maxGridParticipants: maxGridParticipants, - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants - }); + let gridParticipants = newGridParticipants; + let overflowGalleryParticipants = newOverflowGalleryParticipants; + /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ + if (gridParticipants.length + callingParticipants.length <= maxGridParticipants) { + gridParticipants = gridParticipants.concat(callingParticipants); + } else { + overflowGalleryParticipants = overflowGalleryParticipants.concat(callingParticipants); + } return { gridParticipants, overflowGalleryParticipants }; }; @@ -147,7 +137,7 @@ export const useOrganizedParticipants = (props: OrganizedParticipantsArgs): Orga const unfocusedParticipants = props.remoteParticipants.filter((p) => !focusedParticipantUserIdSet.has(p.userId)); - const useOrganizedParticipantsProps: OrganizedParticipantsArgs = { + const organizedParticipantsArgs: OrganizedParticipantsArgs = { ...props, // if there are focused participants then leave no room in the grid by setting maxGridParticipants to 0 maxGridParticipants: focusedParticipants.length > 0 || props.isScreenShareActive ? 0 : props.maxGridParticipants, @@ -156,72 +146,19 @@ export const useOrganizedParticipants = (props: OrganizedParticipantsArgs): Orga previousOverflowParticipants: currentOverflowGalleryParticipants.current }; - const useOrganizedParticipantsResult = getOrganizedParticipants(useOrganizedParticipantsProps); + const organizedParticipants = getOrganizedParticipants(organizedParticipantsArgs); - currentGridParticipants.current = useOrganizedParticipantsResult.gridParticipants; - currentOverflowGalleryParticipants.current = useOrganizedParticipantsResult.overflowGalleryParticipants; + currentGridParticipants.current = organizedParticipants.gridParticipants; + currentOverflowGalleryParticipants.current = organizedParticipants.overflowGalleryParticipants; return focusedParticipants.length > 0 ? { gridParticipants: props.isScreenShareActive ? [] : focusedParticipants, overflowGalleryParticipants: props.isScreenShareActive - ? focusedParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants) - : useOrganizedParticipantsResult.overflowGalleryParticipants + ? focusedParticipants.concat(organizedParticipants.overflowGalleryParticipants) + : organizedParticipants.overflowGalleryParticipants } - : useOrganizedParticipantsResult; -}; - -const getGridParticipants = (args: { - isScreenShareActive: boolean; - gridParticipants: VideoGalleryParticipant[]; - overflowGalleryParticipants: VideoGalleryParticipant[]; - maxGridParticipants: number; - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants: VideoGalleryParticipant[]; -}): VideoGalleryRemoteParticipant[] => { - if (args.isScreenShareActive) { - return []; - } - // if we have no grid participants we need to cap the max number of overflowGallery participants in the grid - // we will use the max streams provided to the function to find the max participants that can go in the grid - // if there are less participants than max streams then we will use all participants including joining in the grid - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ - return args.gridParticipants.length > 0 - ? args.gridParticipants - : args.overflowGalleryParticipants.length > args.maxGridParticipants - ? args.overflowGalleryParticipants.slice(0, args.maxGridParticipants) - : args.overflowGalleryParticipants.slice(0, args.maxGridParticipants).concat(args.callingParticipants); - return args.gridParticipants.length > 0 - ? args.gridParticipants - : args.overflowGalleryParticipants.slice(0, args.maxGridParticipants); -}; - -const getOverflowGalleryRemoteParticipants = (args: { - isScreenShareActive: boolean; - gridParticipants: VideoGalleryParticipant[]; - overflowGalleryParticipants: VideoGalleryParticipant[]; - maxGridParticipants: number; - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants: VideoGalleryParticipant[]; -}): VideoGalleryRemoteParticipant[] => { - if (args.isScreenShareActive) { - // If screen sharing is active, assign video and audio participants as overflow gallery participants - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ - return args.gridParticipants.concat(args.overflowGalleryParticipants.concat(args.callingParticipants)); - return args.gridParticipants.concat(args.overflowGalleryParticipants); - } else { - // If screen sharing is not active, then assign all video tiles as grid tiles. - // If there are no video tiles, then assign audio tiles as grid tiles. - // if there are more overflow tiles than max streams then find the tiles that don't fit in the grid and put them in overflow - // overflow should be empty if total participants including calling participants is less than max streams - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ - return args.gridParticipants.length > 0 - ? args.overflowGalleryParticipants.concat(args.callingParticipants) - : args.overflowGalleryParticipants.length > args.maxGridParticipants - ? args.overflowGalleryParticipants.slice(args.maxGridParticipants).concat(args.callingParticipants) - : []; - return args.gridParticipants.length > 0 - ? args.overflowGalleryParticipants - : args.overflowGalleryParticipants.slice(args.maxGridParticipants); - } + : organizedParticipants; }; const putVideoParticipantsFirst = ( From adf974dee6b936a4c989a418cd2a64becd24e87c Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Mon, 16 Sep 2024 15:24:31 -0700 Subject: [PATCH 06/58] Address arb comments (#5178) --- .../review/beta/communication-react.api.md | 6 +++--- .../review/stable/communication-react.api.md | 6 +++--- .../CallWithChatComposite/adapter/CallWithChatAdapter.ts | 4 ++-- .../CallWithChatComposite/state/CallWithChatAdapterState.ts | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 9549628907b..fa91e538d5b 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -1194,7 +1194,7 @@ export interface CallWithChatAdapterManagement { // (undocumented) downloadResourceToCache(resourceDetails: ResourceDetails): Promise; fetchInitialData(): Promise; - holdCall: () => Promise; + holdCall(): Promise; // @deprecated joinCall(microphoneOn?: boolean): Call | undefined; joinCall(options?: JoinCallOptions): Call | undefined; @@ -1213,7 +1213,7 @@ export interface CallWithChatAdapterManagement { removeParticipant(participant: CommunicationIdentifier): Promise; // (undocumented) removeResourceFromCache(resourceDetails: ResourceDetails): void; - resumeCall: () => Promise; + resumeCall(): Promise; returnFromBreakoutRoom(): Promise; sendDtmfTone: (dtmfTone: DtmfTone_2) => Promise; sendMessage(content: string, options?: SendMessageOptions | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions): Promise; @@ -1376,7 +1376,7 @@ export interface CallWithChatAdapterUiState { // @public export interface CallWithChatClientState { - alternateCallerId?: string | undefined; + alternateCallerId?: string; call?: CallState; chat?: ChatThreadClientState; // @beta diff --git a/packages/communication-react/review/stable/communication-react.api.md b/packages/communication-react/review/stable/communication-react.api.md index 929fc258181..8a059e82211 100644 --- a/packages/communication-react/review/stable/communication-react.api.md +++ b/packages/communication-react/review/stable/communication-react.api.md @@ -958,7 +958,7 @@ export interface CallWithChatAdapterManagement { // (undocumented) downloadResourceToCache(resourceDetails: ResourceDetails): Promise; fetchInitialData(): Promise; - holdCall: () => Promise; + holdCall(): Promise; // @deprecated joinCall(microphoneOn?: boolean): Call | undefined; joinCall(options?: JoinCallOptions): Call | undefined; @@ -975,7 +975,7 @@ export interface CallWithChatAdapterManagement { removeParticipant(participant: CommunicationIdentifier): Promise; // (undocumented) removeResourceFromCache(resourceDetails: ResourceDetails): void; - resumeCall: () => Promise; + resumeCall(): Promise; sendDtmfTone: (dtmfTone: DtmfTone_2) => Promise; sendMessage(content: string, options?: SendMessageOptions): Promise; sendReadReceipt(chatMessageId: string): Promise; @@ -1125,7 +1125,7 @@ export interface CallWithChatAdapterUiState { // @public export interface CallWithChatClientState { - alternateCallerId?: string | undefined; + alternateCallerId?: string; call?: CallState; chat?: ChatThreadClientState; devices: DeviceManagerState; diff --git a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts index d2922bee9b7..7b44d87df09 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts +++ b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts @@ -406,14 +406,14 @@ export interface CallWithChatAdapterManagement { * * @public */ - holdCall: () => Promise; + holdCall(): Promise; /* @conditional-compile-remove(PSTN-calls) */ /** * Resumes the call from a LocalHold state. * * @public */ - resumeCall: () => Promise; + resumeCall(): Promise; /* @conditional-compile-remove(PSTN-calls) */ /** * Adds a new Participant to the call. diff --git a/packages/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts b/packages/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts index 0b02788c505..a10d23c8120 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts +++ b/packages/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts @@ -77,7 +77,7 @@ export interface CallWithChatClientState { isTeamsMeeting: boolean; /* @conditional-compile-remove(PSTN-calls) */ /** alternateCallerId for PSTN call */ - alternateCallerId?: string | undefined; + alternateCallerId?: string; /* @conditional-compile-remove(unsupported-browser) */ /** Environment information for system adapter is made on */ environmentInfo?: EnvironmentInfo; From 5b2828512d6b3a39cac4c579ad030eb113eeedc8 Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Mon, 16 Sep 2024 15:58:14 -0700 Subject: [PATCH 07/58] TDBuild latest localization (#5170) * TDBuild latest localization * TDBuild latest localization * Update packages/react-composites CallComposite browser test snapshots * Update packages/react-composites CallComposite browser test snapshots --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../localization/locales/ar-SA/strings.json | 29 +++++++++------- .../localization/locales/cs-CZ/strings.json | 25 +++++++++----- .../localization/locales/de-DE/strings.json | 27 +++++++++------ .../localization/locales/en-GB/strings.json | 29 +++++++++------- .../localization/locales/es-ES/strings.json | 29 +++++++++------- .../localization/locales/fi-FI/strings.json | 25 +++++++++----- .../localization/locales/fr-FR/strings.json | 29 +++++++++------- .../localization/locales/he-IL/strings.json | 27 +++++++++------ .../localization/locales/it-IT/strings.json | 25 +++++++++----- .../localization/locales/ja-JP/strings.json | 27 +++++++++------ .../localization/locales/ko-KR/strings.json | 25 +++++++++----- .../localization/locales/nb-NO/strings.json | 25 +++++++++----- .../localization/locales/nl-NL/strings.json | 29 +++++++++------- .../localization/locales/pl-PL/strings.json | 25 +++++++++----- .../localization/locales/pt-BR/strings.json | 29 +++++++++------- .../localization/locales/ru-RU/strings.json | 25 +++++++++----- .../localization/locales/sv-SE/strings.json | 27 +++++++++------ .../localization/locales/tr-TR/strings.json | 27 +++++++++------ .../localization/locales/zh-CN/strings.json | 25 +++++++++----- .../localization/locales/zh-TW/strings.json | 31 +++++++++++------- .../localization/locales/ar-SA/strings.json | 2 +- .../localization/locales/cs-CZ/strings.json | 2 +- .../localization/locales/de-DE/strings.json | 2 +- .../localization/locales/en-GB/strings.json | 2 +- .../localization/locales/es-ES/strings.json | 2 +- .../localization/locales/fi-FI/strings.json | 2 +- .../localization/locales/fr-FR/strings.json | 22 ++++++------- .../localization/locales/he-IL/strings.json | 2 +- .../localization/locales/it-IT/strings.json | 2 +- .../localization/locales/ja-JP/strings.json | 2 +- .../localization/locales/ko-KR/strings.json | 2 +- .../localization/locales/nb-NO/strings.json | 2 +- .../localization/locales/nl-NL/strings.json | 2 +- .../localization/locales/pl-PL/strings.json | 2 +- .../localization/locales/pt-BR/strings.json | 2 +- .../localization/locales/ru-RU/strings.json | 2 +- .../localization/locales/sv-SE/strings.json | 2 +- .../localization/locales/tr-TR/strings.json | 2 +- .../localization/locales/zh-CN/strings.json | 2 +- .../localization/locales/zh-TW/strings.json | 2 +- ...lized-call-screen-Desktop-Chrome-linux.png | Bin 18521 -> 18925 bytes ...-screen-Mobile-Android-Landscape-linux.png | Bin 21297 -> 21696 bytes ...l-screen-Mobile-Android-Portrait-linux.png | Bin 34213 -> 36336 bytes ...lized-call-screen-Desktop-Chrome-linux.png | Bin 18521 -> 18925 bytes ...-screen-Mobile-Android-Landscape-linux.png | Bin 21297 -> 21696 bytes ...l-screen-Mobile-Android-Portrait-linux.png | Bin 34213 -> 36336 bytes 46 files changed, 370 insertions(+), 230 deletions(-) diff --git a/packages/react-components/src/localization/locales/ar-SA/strings.json b/packages/react-components/src/localization/locales/ar-SA/strings.json index 1582b61506b..6171b2020a4 100644 --- a/packages/react-components/src/localization/locales/ar-SA/strings.json +++ b/packages/react-components/src/localization/locales/ar-SA/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "الكاميرا", "cameraMenuTooltip": "اختيار الكاميرا", "cameraButtonSplitRoleDescription": "زر الانقسام", - "onSplitButtonAriaLabel": "خيارات إيقاف تشغيل الكاميرا", - "offSplitButtonAriaLabel": "خيارات تشغيل الكاميرا", + "onSplitButtonAriaLabel": "إيقاف تشغيل الكاميرا", + "offSplitButtonAriaLabel": "تشغيل الكاميرا", "cameraActionTurnedOnAnnouncement": "تم تشغيل كاميراتك", "cameraActionTurnedOffAnnouncement": "تم إيقاف تشغيل كاميراتك", "onSplitButtonPrimaryActionCamera": "إيقاف تشغيل الكاميرا", "offSplitButtonPrimaryActionCamera": "تشغيل الكاميرا", "cameraPrimaryActionSplitButtonTitle": "استخدام الكاميرا", - "videoEffectsMenuItemTitle": "التأثيرات" + "videoEffectsMenuItemTitle": "التأثيرات", + "cameraButtonAriaDescription": "خيارات الكاميرا" }, "microphoneButton": { "onLabel": "الميكروفون", @@ -119,13 +120,17 @@ "speakerMenuTitle": "مكبر الصوت", "speakerMenuTooltip": "اختيار مكبر صوت", "microphoneButtonSplitRoleDescription": "زر الانقسام", - "onSplitButtonAriaLabel": "كتم صوت الميكروفون وخيارات الصوت", - "offSplitButtonAriaLabel": "إلغاء كتم صوت الميكروفون وخيارات الصوت", + "onSplitButtonAriaLabel": "كتم الميكروفون", + "offSplitButtonAriaLabel": "إلغاء كتم الميكروفون", "microphoneActionTurnedOnAnnouncement": "تم تشغيل الميكروفون", "microphoneActionTurnedOffAnnouncement": "تم إيقاف الميكروفون", - "offSplitButtonMicrophonePrimaryAction": "إلغاء كتم صوت الميكروفون", - "onSplitButtonMicrophonePrimaryAction": "كتم صوت الميكروفون", - "microphonePrimaryActionSplitButtonTitle": "استخدام الميكروفون" + "offSplitButtonMicrophonePrimaryAction": "إلغاء كتم الميكروفون", + "onSplitButtonMicrophonePrimaryAction": "كتم الميكروفون", + "microphonePrimaryActionSplitButtonTitle": "استخدام الميكروفون", + "microphoneAriaDescription": "خيارات الصوت", + "deepNoiseSuppressionTitle": "منع الضوضاء", + "deepNoiseSuppressionOnAnnouncement": "تم تشغيل منع الضوضاء العميقة", + "deepNoiseSuppressionOffAnnouncement": "تم إيقاف تشغيل منع الضوضاء العميقة" }, "devicesButton": { "label": "الأجهزة", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "التوقف عن تسليط الضوء", "stopSpotlightOnSelfVideoTileMenuLabel": "الخروج من وضع تسليط الضوء", "attendeeRole": "الحضور", - "muteParticipantMenuItemLabel": "كتم الصوت" + "muteParticipantMenuItemLabel": "كتم الصوت", + "waitingScreenText": "في انتظار انضمام الآخرين" }, "dialpad": { "placeholderText": "أدخل رقم الهاتف", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "رفض", "incomingCallNotificationAcceptButtonLabel": "قبول", "incomingCallNotificationRejectButtonLabel": "رفض", - "incomingCallNotificationAccceptWithVideoButtonLabel": "قبول مع الفيديو" + "incomingCallNotificationAccceptWithVideoButtonLabel": "قبول مع الفيديو", + "incomingCallNotificationDismissButtonAriaLabel": "تجاهل" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/cs-CZ/strings.json b/packages/react-components/src/localization/locales/cs-CZ/strings.json index 8769721b3ac..149478740d0 100644 --- a/packages/react-components/src/localization/locales/cs-CZ/strings.json +++ b/packages/react-components/src/localization/locales/cs-CZ/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Zvolit kameru", "cameraButtonSplitRoleDescription": "Tlačítko rozdělení", - "onSplitButtonAriaLabel": "Vypnout kameru a možnosti kamery", - "offSplitButtonAriaLabel": "Zapnout kameru a možnosti kamery", + "onSplitButtonAriaLabel": "Vypnout kameru", + "offSplitButtonAriaLabel": "Zapnout kameru", "cameraActionTurnedOnAnnouncement": "Vaše kamera je zapnutá", "cameraActionTurnedOffAnnouncement": "Vaše kamera je vypnutá", "onSplitButtonPrimaryActionCamera": "Vypnout kameru", "offSplitButtonPrimaryActionCamera": "Zapnout kameru", "cameraPrimaryActionSplitButtonTitle": "Použít kameru", - "videoEffectsMenuItemTitle": "Efekty" + "videoEffectsMenuItemTitle": "Efekty", + "cameraButtonAriaDescription": "možnosti kamery" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Reproduktor", "speakerMenuTooltip": "Zvolit reproduktor", "microphoneButtonSplitRoleDescription": "Tlačítko rozdělení", - "onSplitButtonAriaLabel": "Ztlumit mikrofon a možnosti zvuku", - "offSplitButtonAriaLabel": "Zrušit ztlumení mikrofonu a možností zvuku", + "onSplitButtonAriaLabel": "Ztlumit mikrofon", + "offSplitButtonAriaLabel": "Zrušit ztlumení mikrofonu", "microphoneActionTurnedOnAnnouncement": "Váš mikrofon je zapnutý", "microphoneActionTurnedOffAnnouncement": "Váš mikrofon je vypnutý", "offSplitButtonMicrophonePrimaryAction": "Zrušit ztlumení mikrofonu", "onSplitButtonMicrophonePrimaryAction": "Ztlumit mikrofon", - "microphonePrimaryActionSplitButtonTitle": "Použít mikrofon" + "microphonePrimaryActionSplitButtonTitle": "Použít mikrofon", + "microphoneAriaDescription": "Možnosti zvuku", + "deepNoiseSuppressionTitle": "Potlačení šumu", + "deepNoiseSuppressionOnAnnouncement": "Potlačení hlubokého šumu je zapnuté", + "deepNoiseSuppressionOffAnnouncement": "Potlačení hlubokého šumu je vypnuté" }, "devicesButton": { "label": "Zařízení", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Zastavit přidávání do hlavního výběru", "stopSpotlightOnSelfVideoTileMenuLabel": "Ukončit hlavní výběr", "attendeeRole": "Účastník", - "muteParticipantMenuItemLabel": "Ztlumit" + "muteParticipantMenuItemLabel": "Ztlumit", + "waitingScreenText": "Čeká se na připojení ostatních" }, "dialpad": { "placeholderText": "Zadejte telefonní číslo", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Odmítnout", "incomingCallNotificationAcceptButtonLabel": "Přijmout", "incomingCallNotificationRejectButtonLabel": "Odmítnout", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Přijmout s videem" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Přijmout s videem", + "incomingCallNotificationDismissButtonAriaLabel": "Zavřít" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/de-DE/strings.json b/packages/react-components/src/localization/locales/de-DE/strings.json index 564d147d328..b85469932e9 100644 --- a/packages/react-components/src/localization/locales/de-DE/strings.json +++ b/packages/react-components/src/localization/locales/de-DE/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Kamera auswählen", "cameraButtonSplitRoleDescription": "Unterteilte Schaltfläche", - "onSplitButtonAriaLabel": "Kamera und Kameraoptionen deaktivieren", - "offSplitButtonAriaLabel": "Kamera und Kameraoptionen aktivieren", + "onSplitButtonAriaLabel": "Kamera ausschalten", + "offSplitButtonAriaLabel": "Kamera einschalten", "cameraActionTurnedOnAnnouncement": "Ihre Kamera wurde eingeschaltet.", "cameraActionTurnedOffAnnouncement": "Ihre Kamera wurde ausgeschaltet.", "onSplitButtonPrimaryActionCamera": "Kamera ausschalten", "offSplitButtonPrimaryActionCamera": "Kamera einschalten", "cameraPrimaryActionSplitButtonTitle": "Kamera verwenden", - "videoEffectsMenuItemTitle": "Effekte" + "videoEffectsMenuItemTitle": "Effekte", + "cameraButtonAriaDescription": "Kameraoptionen" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Lautsprecher", "speakerMenuTooltip": "Lautsprecher auswählen", "microphoneButtonSplitRoleDescription": "Unterteilte Schaltfläche", - "onSplitButtonAriaLabel": "Mikrofon- und Audiooptionen stummschalten", - "offSplitButtonAriaLabel": "Stummschaltung von Mikrofon- und Audiooptionen aufheben", + "onSplitButtonAriaLabel": "Mikrofon stummschalten", + "offSplitButtonAriaLabel": "Stummschaltung des Mikrofons aufheben", "microphoneActionTurnedOnAnnouncement": "Ihr Mikrofon wurde eingeschaltet.", "microphoneActionTurnedOffAnnouncement": "Ihr Mikrofon wurde ausgeschaltet.", - "offSplitButtonMicrophonePrimaryAction": "Mikrofonstummschaltung aufheben", + "offSplitButtonMicrophonePrimaryAction": "Stummschaltung des Mikrofons aufheben", "onSplitButtonMicrophonePrimaryAction": "Mikrofon stummschalten", - "microphonePrimaryActionSplitButtonTitle": "Mikrofon verwenden" + "microphonePrimaryActionSplitButtonTitle": "Mikrofon verwenden", + "microphoneAriaDescription": "Audiooptionen", + "deepNoiseSuppressionTitle": "Rauschunterdrückung", + "deepNoiseSuppressionOnAnnouncement": "Die Unterdrückung tiefer Geräusche wurde aktiviert.", + "deepNoiseSuppressionOffAnnouncement": "Die Unterdrückung tiefer Geräusche wurde deaktiviert." }, "devicesButton": { "label": "Geräte", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Spotlight beenden", "stopSpotlightOnSelfVideoTileMenuLabel": "Spotlight beenden", "attendeeRole": "Teilnehmer", - "muteParticipantMenuItemLabel": "Stummschalten" + "muteParticipantMenuItemLabel": "Stummschalten", + "waitingScreenText": "Warten auf andere Teilnehmer" }, "dialpad": { "placeholderText": "Telefonnummer eingeben", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Ablehnen", "incomingCallNotificationAcceptButtonLabel": "Akzeptieren", "incomingCallNotificationRejectButtonLabel": "Ablehnen", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Mit Video annehmen" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Mit Video annehmen", + "incomingCallNotificationDismissButtonAriaLabel": "Verwerfen" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/en-GB/strings.json b/packages/react-components/src/localization/locales/en-GB/strings.json index abe01cbeabb..cf977d08c71 100644 --- a/packages/react-components/src/localization/locales/en-GB/strings.json +++ b/packages/react-components/src/localization/locales/en-GB/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Camera", "cameraMenuTooltip": "Choose camera", "cameraButtonSplitRoleDescription": "Split button", - "onSplitButtonAriaLabel": "Turn off camera and camera options", - "offSplitButtonAriaLabel": "Turn on camera and camera options", + "onSplitButtonAriaLabel": "Turn off camera", + "offSplitButtonAriaLabel": "Turn on camera", "cameraActionTurnedOnAnnouncement": "Your camera has been turned on", "cameraActionTurnedOffAnnouncement": "Your camera has been turned off", "onSplitButtonPrimaryActionCamera": "Turn off camera", "offSplitButtonPrimaryActionCamera": "Turn on camera", "cameraPrimaryActionSplitButtonTitle": "Use camera", - "videoEffectsMenuItemTitle": "Effects" + "videoEffectsMenuItemTitle": "Effects", + "cameraButtonAriaDescription": "camera options" }, "microphoneButton": { "onLabel": "Mic", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Speaker", "speakerMenuTooltip": "Choose speaker", "microphoneButtonSplitRoleDescription": "Split button", - "onSplitButtonAriaLabel": "Mute microphone and audio options", - "offSplitButtonAriaLabel": "Unmute microphone and audio options", + "onSplitButtonAriaLabel": "Mute mic", + "offSplitButtonAriaLabel": "Unmute mic", "microphoneActionTurnedOnAnnouncement": "Your microphone has been turned on", "microphoneActionTurnedOffAnnouncement": "Your microphone has been turned off", - "offSplitButtonMicrophonePrimaryAction": "Unmute microphone", - "onSplitButtonMicrophonePrimaryAction": "Mute microphone", - "microphonePrimaryActionSplitButtonTitle": "Use microphone" + "offSplitButtonMicrophonePrimaryAction": "Unmute mic", + "onSplitButtonMicrophonePrimaryAction": "Mute mic", + "microphonePrimaryActionSplitButtonTitle": "Use microphone", + "microphoneAriaDescription": "Audio options", + "deepNoiseSuppressionTitle": "Noise suppression", + "deepNoiseSuppressionOnAnnouncement": "Deep noise suppression has been turned on", + "deepNoiseSuppressionOffAnnouncement": "Deep noise suppression has been turned off" }, "devicesButton": { "label": "Devices", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Stop spotlighting", "stopSpotlightOnSelfVideoTileMenuLabel": "Exit spotlight", "attendeeRole": "Attendee", - "muteParticipantMenuItemLabel": "Mute" + "muteParticipantMenuItemLabel": "Mute", + "waitingScreenText": "Waiting for others to join" }, "dialpad": { "placeholderText": "Enter phone number", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Reject", "incomingCallNotificationAcceptButtonLabel": "Accept", "incomingCallNotificationRejectButtonLabel": "Decline", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Accept with Video" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Accept with Video", + "incomingCallNotificationDismissButtonAriaLabel": "Dismiss" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/es-ES/strings.json b/packages/react-components/src/localization/locales/es-ES/strings.json index 3dc37fc657a..c309e331445 100644 --- a/packages/react-components/src/localization/locales/es-ES/strings.json +++ b/packages/react-components/src/localization/locales/es-ES/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Cámara", "cameraMenuTooltip": "Elegir cámara", "cameraButtonSplitRoleDescription": "Botón de expansión", - "onSplitButtonAriaLabel": "Desactivar la cámara y las opciones de cámara", - "offSplitButtonAriaLabel": "Activar la cámara y las opciones de cámara", + "onSplitButtonAriaLabel": "Desconectar la cámara", + "offSplitButtonAriaLabel": "Activar la cámara", "cameraActionTurnedOnAnnouncement": "La cámara se ha activado", "cameraActionTurnedOffAnnouncement": "La cámara se ha desactivado", "onSplitButtonPrimaryActionCamera": "Desconectar la cámara", "offSplitButtonPrimaryActionCamera": "Activar la cámara", "cameraPrimaryActionSplitButtonTitle": "Usar cámara", - "videoEffectsMenuItemTitle": "Efectos" + "videoEffectsMenuItemTitle": "Efectos", + "cameraButtonAriaDescription": "opciones de cámara" }, "microphoneButton": { "onLabel": "Micro", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Altavoz", "speakerMenuTooltip": "Elegir altavoz", "microphoneButtonSplitRoleDescription": "Botón de expansión", - "onSplitButtonAriaLabel": "Silenciar opciones de micrófono y audio", - "offSplitButtonAriaLabel": "Reactivar el micrófono y las opciones de audio", + "onSplitButtonAriaLabel": "Desactivar audio del micrófono", + "offSplitButtonAriaLabel": "Reactivar audio del micrófono", "microphoneActionTurnedOnAnnouncement": "El micrófono se ha activado", "microphoneActionTurnedOffAnnouncement": "El micrófono se ha desactivado", - "offSplitButtonMicrophonePrimaryAction": "Reactivar micrófono", - "onSplitButtonMicrophonePrimaryAction": "Silenciar micrófono", - "microphonePrimaryActionSplitButtonTitle": "Usar micrófono" + "offSplitButtonMicrophonePrimaryAction": "Reactivar audio del micrófono", + "onSplitButtonMicrophonePrimaryAction": "Desactivar audio del micrófono", + "microphonePrimaryActionSplitButtonTitle": "Usar micrófono", + "microphoneAriaDescription": "Opciones de audio", + "deepNoiseSuppressionTitle": "Supresión de ruido", + "deepNoiseSuppressionOnAnnouncement": "Se ha activado la supresión profunda de ruido", + "deepNoiseSuppressionOffAnnouncement": "Se ha desactivado la supresión profunda de ruido" }, "devicesButton": { "label": "Dispositivos", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Dejar de poner en primer plano", "stopSpotlightOnSelfVideoTileMenuLabel": "Primer plano", "attendeeRole": "Asistente", - "muteParticipantMenuItemLabel": "Silenciar" + "muteParticipantMenuItemLabel": "Silenciar", + "waitingScreenText": "Esperando a que se unan otros usuarios" }, "dialpad": { "placeholderText": "Introduzca el número de teléfono", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Rechazar", "incomingCallNotificationAcceptButtonLabel": "Aceptar", "incomingCallNotificationRejectButtonLabel": "Rechazar", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Aceptar con vídeo" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Aceptar con vídeo", + "incomingCallNotificationDismissButtonAriaLabel": "Descartar" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/fi-FI/strings.json b/packages/react-components/src/localization/locales/fi-FI/strings.json index f8125d9ee94..8be37edd6ef 100644 --- a/packages/react-components/src/localization/locales/fi-FI/strings.json +++ b/packages/react-components/src/localization/locales/fi-FI/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Valitse kamera", "cameraButtonSplitRoleDescription": "Jaettu painike", - "onSplitButtonAriaLabel": "Kameran ja sen käytöstä poistamisen asetukset", - "offSplitButtonAriaLabel": "Kameran ja sen käyttöön ottamisen asetukset", + "onSplitButtonAriaLabel": "Poista kamera käytöstä", + "offSplitButtonAriaLabel": "Ota kamera käyttöön", "cameraActionTurnedOnAnnouncement": "Kamerasi on otettu käyttöön", "cameraActionTurnedOffAnnouncement": "Kamerasi on poistettu käytöstä", "onSplitButtonPrimaryActionCamera": "Poista kamera käytöstä", "offSplitButtonPrimaryActionCamera": "Käynnistä kamera", "cameraPrimaryActionSplitButtonTitle": "Käytä kameraa", - "videoEffectsMenuItemTitle": "Tehosteet" + "videoEffectsMenuItemTitle": "Tehosteet", + "cameraButtonAriaDescription": "kamera-asetukset" }, "microphoneButton": { "onLabel": "Mikrofoni", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Kaiutin", "speakerMenuTooltip": "Valitse kaiutin", "microphoneButtonSplitRoleDescription": "Jaettu painike", - "onSplitButtonAriaLabel": "Äänen ja mikrofonin mykistyksen asetukset", - "offSplitButtonAriaLabel": "Äänen ja mikrofonin mykistyksen poistamisen asetukset", + "onSplitButtonAriaLabel": "Mykistä mikrofoni", + "offSplitButtonAriaLabel": "Poista mikrofonin mykistys", "microphoneActionTurnedOnAnnouncement": "Mikrofonisi on otettu käyttöön", "microphoneActionTurnedOffAnnouncement": "Mikrofonisi on poistettu käytöstä", "offSplitButtonMicrophonePrimaryAction": "Poista mikrofonin mykistys", "onSplitButtonMicrophonePrimaryAction": "Mykistä mikrofoni", - "microphonePrimaryActionSplitButtonTitle": "Käytä mikrofonia" + "microphonePrimaryActionSplitButtonTitle": "Käytä mikrofonia", + "microphoneAriaDescription": "Ääniasetukset", + "deepNoiseSuppressionTitle": "Melunvaimennus", + "deepNoiseSuppressionOnAnnouncement": "Syvä melunvaimennus on otettu käyttöön", + "deepNoiseSuppressionOffAnnouncement": "Syvä melunvaimennus on poistettu käytöstä" }, "devicesButton": { "label": "Laitteet", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Poista valokeilasta", "stopSpotlightOnSelfVideoTileMenuLabel": "Valokeila", "attendeeRole": "Osallistuja", - "muteParticipantMenuItemLabel": "Mykistä" + "muteParticipantMenuItemLabel": "Mykistä", + "waitingScreenText": "Odotetaan että muut liittyvät" }, "dialpad": { "placeholderText": "Anna puhelinnumero", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Hylkää", "incomingCallNotificationAcceptButtonLabel": "Hyväksy", "incomingCallNotificationRejectButtonLabel": "Hylkää", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Vastaa videopuhelulla" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Vastaa videopuhelulla", + "incomingCallNotificationDismissButtonAriaLabel": "Hylkää" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/fr-FR/strings.json b/packages/react-components/src/localization/locales/fr-FR/strings.json index 85b6bd5ecb2..80331db3a95 100644 --- a/packages/react-components/src/localization/locales/fr-FR/strings.json +++ b/packages/react-components/src/localization/locales/fr-FR/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Caméra", "cameraMenuTooltip": "Choisissez l'appareil photo", "cameraButtonSplitRoleDescription": "Bouton partagé", - "onSplitButtonAriaLabel": "Désactiver les options d’appareil photo et d’appareil photo", - "offSplitButtonAriaLabel": "Activer les options d’appareil photo et d’appareil photo", + "onSplitButtonAriaLabel": "Désactiver la caméra", + "offSplitButtonAriaLabel": "Activer la caméra", "cameraActionTurnedOnAnnouncement": "Votre caméra a été activée", "cameraActionTurnedOffAnnouncement": "Votre caméra a été désactivée", "onSplitButtonPrimaryActionCamera": "Désactiver l’appareil photo", "offSplitButtonPrimaryActionCamera": "Activer la caméra", "cameraPrimaryActionSplitButtonTitle": "Utiliser l’appareil photo", - "videoEffectsMenuItemTitle": "Effets" + "videoEffectsMenuItemTitle": "Effets", + "cameraButtonAriaDescription": "options de la caméra" }, "microphoneButton": { "onLabel": "Microphone", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Haut-parleur", "speakerMenuTooltip": "Choisissez le haut-parleur", "microphoneButtonSplitRoleDescription": "Bouton partagé", - "onSplitButtonAriaLabel": "Désactiver le micro et les options audio", - "offSplitButtonAriaLabel": "Activer le son du microphone et des options audio", + "onSplitButtonAriaLabel": "Désactiver le micro", + "offSplitButtonAriaLabel": "Réactiver le micro", "microphoneActionTurnedOnAnnouncement": "Votre micro a été activé", "microphoneActionTurnedOffAnnouncement": "Votre micro a été désactivé", - "offSplitButtonMicrophonePrimaryAction": "Activer le son du microphone", - "onSplitButtonMicrophonePrimaryAction": "Désactiver le microphone", - "microphonePrimaryActionSplitButtonTitle": "Utiliser le microphone" + "offSplitButtonMicrophonePrimaryAction": "Réactiver le micro", + "onSplitButtonMicrophonePrimaryAction": "Désactiver le micro", + "microphonePrimaryActionSplitButtonTitle": "Utiliser le microphone", + "microphoneAriaDescription": "Options audio", + "deepNoiseSuppressionTitle": "Suppression du bruit", + "deepNoiseSuppressionOnAnnouncement": "La suppression du bruit profond a été activée", + "deepNoiseSuppressionOffAnnouncement": "La suppression du bruit profond a été désactivée" }, "devicesButton": { "label": "Appareils", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Arrêter la mise en évidence", "stopSpotlightOnSelfVideoTileMenuLabel": "Quitter la mise en évidence", "attendeeRole": "Participant(e)", - "muteParticipantMenuItemLabel": "Désactiver le micro / muet" + "muteParticipantMenuItemLabel": "Désactiver le micro / muet", + "waitingScreenText": "En attente des autres participants" }, "dialpad": { "placeholderText": "Entrer un numéro de téléphone", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Rejeter", "incomingCallNotificationAcceptButtonLabel": "Accepter", "incomingCallNotificationRejectButtonLabel": "Refuser", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Accepter avec une vidéo" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Accepter avec une vidéo", + "incomingCallNotificationDismissButtonAriaLabel": "Ignorer" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/he-IL/strings.json b/packages/react-components/src/localization/locales/he-IL/strings.json index a45223dba01..c0ea4577438 100644 --- a/packages/react-components/src/localization/locales/he-IL/strings.json +++ b/packages/react-components/src/localization/locales/he-IL/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "מצלמה", "cameraMenuTooltip": "בחר מצלמה", "cameraButtonSplitRoleDescription": "לחצן פיצול", - "onSplitButtonAriaLabel": "כבה את אפשרויות המצלמה והמצלמה", - "offSplitButtonAriaLabel": "הפעל אפשרויות מצלמה ומצלמה", + "onSplitButtonAriaLabel": "כבה מצלמה", + "offSplitButtonAriaLabel": "הפעל את המצלמה", "cameraActionTurnedOnAnnouncement": "המצלמה שלך הופעלה", "cameraActionTurnedOffAnnouncement": "המצלמה שלך כבויה", "onSplitButtonPrimaryActionCamera": "כבה מצלמה", "offSplitButtonPrimaryActionCamera": "הפעל את המצלמה", "cameraPrimaryActionSplitButtonTitle": "השתמש במצלמה", - "videoEffectsMenuItemTitle": "אפקטים" + "videoEffectsMenuItemTitle": "אפקטים", + "cameraButtonAriaDescription": "אפשרויות מצלמה" }, "microphoneButton": { "onLabel": "מיקרופון", @@ -119,13 +120,17 @@ "speakerMenuTitle": "רמקול", "speakerMenuTooltip": "בחר רמקול", "microphoneButtonSplitRoleDescription": "לחצן פיצול", - "onSplitButtonAriaLabel": "השתק אפשרויות מיקרופון ושמע", - "offSplitButtonAriaLabel": "בטל השתקה של אפשרויות מיקרופון ושמע", + "onSplitButtonAriaLabel": "השתק את המיקרופון", + "offSplitButtonAriaLabel": "בטל את השתקת המיקרופון", "microphoneActionTurnedOnAnnouncement": "המיקרופון שלך הופעל", "microphoneActionTurnedOffAnnouncement": "המיקרופון שלך כובה", - "offSplitButtonMicrophonePrimaryAction": "בטל את ההשתקה של המיקרופון", + "offSplitButtonMicrophonePrimaryAction": "בטל את השתקת המיקרופון", "onSplitButtonMicrophonePrimaryAction": "השתק את המיקרופון", - "microphonePrimaryActionSplitButtonTitle": "השתמש במיקרופון" + "microphonePrimaryActionSplitButtonTitle": "השתמש במיקרופון", + "microphoneAriaDescription": "אפשרויות שמע", + "deepNoiseSuppressionTitle": "העלמת רעש", + "deepNoiseSuppressionOnAnnouncement": "דיכוי רעשים עמוקים הופעל", + "deepNoiseSuppressionOffAnnouncement": "דיכוי רעשים עמוקים בוטל" }, "devicesButton": { "label": "מכשירים", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "הפסק להציב זרקור", "stopSpotlightOnSelfVideoTileMenuLabel": "צא מזרקור", "attendeeRole": "משתתף", - "muteParticipantMenuItemLabel": "השתק" + "muteParticipantMenuItemLabel": "השתק", + "waitingScreenText": "מחכה שאחרים יצטרפו" }, "dialpad": { "placeholderText": "הזן מספר טלפון", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "דחה", "incomingCallNotificationAcceptButtonLabel": "קבל", "incomingCallNotificationRejectButtonLabel": "דחה", - "incomingCallNotificationAccceptWithVideoButtonLabel": "קבל עם וידאו" + "incomingCallNotificationAccceptWithVideoButtonLabel": "קבל עם וידאו", + "incomingCallNotificationDismissButtonAriaLabel": "בטל" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/it-IT/strings.json b/packages/react-components/src/localization/locales/it-IT/strings.json index 6ed3b76e92d..4d6d5c2be1c 100644 --- a/packages/react-components/src/localization/locales/it-IT/strings.json +++ b/packages/react-components/src/localization/locales/it-IT/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Fotocamera", "cameraMenuTooltip": "Scegli fotocamera", "cameraButtonSplitRoleDescription": "Pulsante di menu combinato", - "onSplitButtonAriaLabel": "Disattiva fotocamera e le opzioni della fotocamera", - "offSplitButtonAriaLabel": "Attiva fotocamera e le opzioni della fotocamera", + "onSplitButtonAriaLabel": "Disabilita la videocamera", + "offSplitButtonAriaLabel": "Accendi la videocamera", "cameraActionTurnedOnAnnouncement": "La videocamera è stata attivata", "cameraActionTurnedOffAnnouncement": "La videocamera è stata disattivata", "onSplitButtonPrimaryActionCamera": "Spegni la videocamera", "offSplitButtonPrimaryActionCamera": "Accendi la videocamera", "cameraPrimaryActionSplitButtonTitle": "Usa la fotocamera", - "videoEffectsMenuItemTitle": "Effetti" + "videoEffectsMenuItemTitle": "Effetti", + "cameraButtonAriaDescription": "opzioni videocamera" }, "microphoneButton": { "onLabel": "Microfono", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Altoparlante", "speakerMenuTooltip": "Scegli altoparlante", "microphoneButtonSplitRoleDescription": "Pulsante di menu combinato", - "onSplitButtonAriaLabel": "Disattiva microfono e opzioni audio", - "offSplitButtonAriaLabel": "Attiva microfono e opzioni audio", + "onSplitButtonAriaLabel": "Disattiva microfono", + "offSplitButtonAriaLabel": "Riattiva microfono", "microphoneActionTurnedOnAnnouncement": "Il microfono è stato attivato", "microphoneActionTurnedOffAnnouncement": "Il microfono è stato disattivato", "offSplitButtonMicrophonePrimaryAction": "Riattiva microfono", "onSplitButtonMicrophonePrimaryAction": "Disattiva microfono", - "microphonePrimaryActionSplitButtonTitle": "Usa il microfono" + "microphonePrimaryActionSplitButtonTitle": "Usa il microfono", + "microphoneAriaDescription": "Opzioni audio", + "deepNoiseSuppressionTitle": "Eliminazione del rumore", + "deepNoiseSuppressionOnAnnouncement": "L'eliminazione del rumore profondo è stata attivata", + "deepNoiseSuppressionOffAnnouncement": "L'eliminazione del rumore profondo è stata disattivata" }, "devicesButton": { "label": "Dispositivi", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Interrompi la posizione in evidenza", "stopSpotlightOnSelfVideoTileMenuLabel": "Chiudi visualizzazione in evidenza", "attendeeRole": "Partecipante", - "muteParticipantMenuItemLabel": "Disattiva audio" + "muteParticipantMenuItemLabel": "Disattiva audio", + "waitingScreenText": "In attesa di altri partecipanti" }, "dialpad": { "placeholderText": "Inserisci numero di telefono", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Rifiuta", "incomingCallNotificationAcceptButtonLabel": "Accetta", "incomingCallNotificationRejectButtonLabel": "Rifiuta", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Accetta con video" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Accetta con video", + "incomingCallNotificationDismissButtonAriaLabel": "Ignora" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/ja-JP/strings.json b/packages/react-components/src/localization/locales/ja-JP/strings.json index 9ed891c074c..00d6992ae7e 100644 --- a/packages/react-components/src/localization/locales/ja-JP/strings.json +++ b/packages/react-components/src/localization/locales/ja-JP/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "カメラ", "cameraMenuTooltip": "カメラを選択する", "cameraButtonSplitRoleDescription": "分割ボタン", - "onSplitButtonAriaLabel": "カメラとカメラ オプションをオフにする", - "offSplitButtonAriaLabel": "カメラとカメラ オプションをオンにする", + "onSplitButtonAriaLabel": "カメラをオフにする", + "offSplitButtonAriaLabel": "カメラをオンにする", "cameraActionTurnedOnAnnouncement": "カメラがオンになっています", "cameraActionTurnedOffAnnouncement": "カメラがオフになっています", "onSplitButtonPrimaryActionCamera": "カメラをオフにする", "offSplitButtonPrimaryActionCamera": "カメラをオンにする", "cameraPrimaryActionSplitButtonTitle": "カメラを使用する", - "videoEffectsMenuItemTitle": "効果" + "videoEffectsMenuItemTitle": "効果", + "cameraButtonAriaDescription": "カメラのオプション" }, "microphoneButton": { "onLabel": "マイク", @@ -119,13 +120,17 @@ "speakerMenuTitle": "スピーカー", "speakerMenuTooltip": "スピーカーを選択する", "microphoneButtonSplitRoleDescription": "分割ボタン", - "onSplitButtonAriaLabel": "マイクとオーディオのオプションをミュートにする", - "offSplitButtonAriaLabel": "マイクとオーディオのオプションのミュートを解除する", + "onSplitButtonAriaLabel": "マイクをミュートする", + "offSplitButtonAriaLabel": "マイクのミュートを解除する", "microphoneActionTurnedOnAnnouncement": "マイクがオンになっています", "microphoneActionTurnedOffAnnouncement": "マイクがオフになっています", "offSplitButtonMicrophonePrimaryAction": "マイクのミュートを解除する", - "onSplitButtonMicrophonePrimaryAction": "マイクをミュートにする", - "microphonePrimaryActionSplitButtonTitle": "マイクを使用する" + "onSplitButtonMicrophonePrimaryAction": "マイクをミュートする", + "microphonePrimaryActionSplitButtonTitle": "マイクを使用する", + "microphoneAriaDescription": "オーディオのオプション", + "deepNoiseSuppressionTitle": "ノイズ抑制", + "deepNoiseSuppressionOnAnnouncement": "ディープ ノイズ抑制がオンになっています", + "deepNoiseSuppressionOffAnnouncement": "ディープ ノイズ抑制がオフになっています" }, "devicesButton": { "label": "デバイス", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "スポットライトの設定を解除", "stopSpotlightOnSelfVideoTileMenuLabel": "スポットライトを終了", "attendeeRole": "出席者", - "muteParticipantMenuItemLabel": "ミュート" + "muteParticipantMenuItemLabel": "ミュート", + "waitingScreenText": "他のユーザーの参加を待っています" }, "dialpad": { "placeholderText": "電話番号を入力してください", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "拒否する", "incomingCallNotificationAcceptButtonLabel": "承諾", "incomingCallNotificationRejectButtonLabel": "拒否", - "incomingCallNotificationAccceptWithVideoButtonLabel": "ビデオで受ける" + "incomingCallNotificationAccceptWithVideoButtonLabel": "ビデオで受ける", + "incomingCallNotificationDismissButtonAriaLabel": "閉じる" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/ko-KR/strings.json b/packages/react-components/src/localization/locales/ko-KR/strings.json index ac301cc0fd8..0f472060e4d 100644 --- a/packages/react-components/src/localization/locales/ko-KR/strings.json +++ b/packages/react-components/src/localization/locales/ko-KR/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "카메라", "cameraMenuTooltip": "카메라 선택", "cameraButtonSplitRoleDescription": "분할 단추", - "onSplitButtonAriaLabel": "카메라 사용 안 함 및 카메라 옵션", - "offSplitButtonAriaLabel": "카메라 사용 및 카메라 옵션", + "onSplitButtonAriaLabel": "카메라 끄기", + "offSplitButtonAriaLabel": "카메라 켜기", "cameraActionTurnedOnAnnouncement": "카메라가 켜져 있습니다.", "cameraActionTurnedOffAnnouncement": "카메라가 꺼져 있습니다.", "onSplitButtonPrimaryActionCamera": "카메라 끄기", "offSplitButtonPrimaryActionCamera": "카메라 켜기", "cameraPrimaryActionSplitButtonTitle": "카메라 사용", - "videoEffectsMenuItemTitle": "효과" + "videoEffectsMenuItemTitle": "효과", + "cameraButtonAriaDescription": "카메라 옵션" }, "microphoneButton": { "onLabel": "마이크", @@ -119,13 +120,17 @@ "speakerMenuTitle": "발언자", "speakerMenuTooltip": "스피커 선택", "microphoneButtonSplitRoleDescription": "분할 단추", - "onSplitButtonAriaLabel": "마이크 및 오디오 음소거 옵션", - "offSplitButtonAriaLabel": "마이크 및 오디오 음소거 해제 옵션", + "onSplitButtonAriaLabel": "마이크 음소거", + "offSplitButtonAriaLabel": "마이크 음소거 해제", "microphoneActionTurnedOnAnnouncement": "마이크가 켜져 있습니다.", "microphoneActionTurnedOffAnnouncement": "마이크가 꺼져 있습니다.", "offSplitButtonMicrophonePrimaryAction": "마이크 음소거 해제", "onSplitButtonMicrophonePrimaryAction": "마이크 음소거", - "microphonePrimaryActionSplitButtonTitle": "마이크 사용" + "microphonePrimaryActionSplitButtonTitle": "마이크 사용", + "microphoneAriaDescription": "오디오 옵션", + "deepNoiseSuppressionTitle": "노이즈 억제", + "deepNoiseSuppressionOnAnnouncement": "심층 노이즈 억제가 켜졌습니다.", + "deepNoiseSuppressionOffAnnouncement": "심층 노이즈 억제가 꺼졌습니다." }, "devicesButton": { "label": "장치", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "스포트라이트 중지", "stopSpotlightOnSelfVideoTileMenuLabel": "스포트라이트 종료", "attendeeRole": "참석자", - "muteParticipantMenuItemLabel": "음소거" + "muteParticipantMenuItemLabel": "음소거", + "waitingScreenText": "다른 사용자의 참여를 기다리는 중" }, "dialpad": { "placeholderText": "전화 번호를 입력하세요.", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "거부", "incomingCallNotificationAcceptButtonLabel": "수락", "incomingCallNotificationRejectButtonLabel": "거절", - "incomingCallNotificationAccceptWithVideoButtonLabel": "영상 수락" + "incomingCallNotificationAccceptWithVideoButtonLabel": "영상 수락", + "incomingCallNotificationDismissButtonAriaLabel": "해제" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/nb-NO/strings.json b/packages/react-components/src/localization/locales/nb-NO/strings.json index 62e3df19cd7..d062dc64bfe 100644 --- a/packages/react-components/src/localization/locales/nb-NO/strings.json +++ b/packages/react-components/src/localization/locales/nb-NO/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Velg kamera", "cameraButtonSplitRoleDescription": "Rullegardinknapp", - "onSplitButtonAriaLabel": "Slå av kamera og kameraalternativer", - "offSplitButtonAriaLabel": "Slå på kamera og kameraalternativer", + "onSplitButtonAriaLabel": "Slå av kamera", + "offSplitButtonAriaLabel": "Slå på kamera", "cameraActionTurnedOnAnnouncement": "Kameraet er slått på", "cameraActionTurnedOffAnnouncement": "Kameraet er slått av.", "onSplitButtonPrimaryActionCamera": "Slå av kamera", "offSplitButtonPrimaryActionCamera": "Slå på kamera", "cameraPrimaryActionSplitButtonTitle": "Bruk kamera", - "videoEffectsMenuItemTitle": "Effekter" + "videoEffectsMenuItemTitle": "Effekter", + "cameraButtonAriaDescription": "kameraalternativer" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Høyttaler", "speakerMenuTooltip": "Velg høyttaler", "microphoneButtonSplitRoleDescription": "Rullegardinknapp", - "onSplitButtonAriaLabel": "Demp mikrofon og lydalternativer", - "offSplitButtonAriaLabel": "Opphev demping av mikrofon og lydalternativer", + "onSplitButtonAriaLabel": "Demp mikrofon", + "offSplitButtonAriaLabel": "Opphev demping av mikrofon", "microphoneActionTurnedOnAnnouncement": "Mikrofonen er slått på", "microphoneActionTurnedOffAnnouncement": "Mikrofonen er slått av", "offSplitButtonMicrophonePrimaryAction": "Opphev demping av mikrofon", "onSplitButtonMicrophonePrimaryAction": "Demp mikrofon", - "microphonePrimaryActionSplitButtonTitle": "Bruk mikrofon" + "microphonePrimaryActionSplitButtonTitle": "Bruk mikrofon", + "microphoneAriaDescription": "Lydalternativer", + "deepNoiseSuppressionTitle": "Støydemping", + "deepNoiseSuppressionOnAnnouncement": "Dyp støydemping er aktivert", + "deepNoiseSuppressionOffAnnouncement": "Dyp støydemping er deaktivert" }, "devicesButton": { "label": "Enheter", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Fjern fra rampelyset", "stopSpotlightOnSelfVideoTileMenuLabel": "Rampelys av", "attendeeRole": "Deltaker", - "muteParticipantMenuItemLabel": "Demp" + "muteParticipantMenuItemLabel": "Demp", + "waitingScreenText": "Venter på at andre skal bli med" }, "dialpad": { "placeholderText": "Skriv inn telefonnummeret", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Avvis", "incomingCallNotificationAcceptButtonLabel": "Godta", "incomingCallNotificationRejectButtonLabel": "Avslå", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Svar med video" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Svar med video", + "incomingCallNotificationDismissButtonAriaLabel": "Lukk" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/nl-NL/strings.json b/packages/react-components/src/localization/locales/nl-NL/strings.json index 13aaaac65e4..536395d4107 100644 --- a/packages/react-components/src/localization/locales/nl-NL/strings.json +++ b/packages/react-components/src/localization/locales/nl-NL/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Camera", "cameraMenuTooltip": "Camera kiezen", "cameraButtonSplitRoleDescription": "Knop Splitsen", - "onSplitButtonAriaLabel": "Camera- en cameraopties uitschakelen", - "offSplitButtonAriaLabel": "Camera- en cameraopties inschakelen", + "onSplitButtonAriaLabel": "Camera uitschakelen", + "offSplitButtonAriaLabel": "Camera inschakelen", "cameraActionTurnedOnAnnouncement": "Uw camera is ingeschakeld", "cameraActionTurnedOffAnnouncement": "Uw camera is uitgeschakeld", "onSplitButtonPrimaryActionCamera": "Camera uitschakelen", "offSplitButtonPrimaryActionCamera": "Camera inschakelen", "cameraPrimaryActionSplitButtonTitle": "Camera gebruiken", - "videoEffectsMenuItemTitle": "Effecten" + "videoEffectsMenuItemTitle": "Effecten", + "cameraButtonAriaDescription": "camera-opties" }, "microphoneButton": { "onLabel": "Microfoon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Luidspreker", "speakerMenuTooltip": "Luidspreker kiezen", "microphoneButtonSplitRoleDescription": "Knop Splitsen", - "onSplitButtonAriaLabel": "Microfoon- en audioopties dempen", - "offSplitButtonAriaLabel": "Microfoon- en audioopties dempen opheffen", + "onSplitButtonAriaLabel": "Microfoon dempen", + "offSplitButtonAriaLabel": "Dempen opheffen voor microfoon", "microphoneActionTurnedOnAnnouncement": "Uw microfoon is ingeschakeld", "microphoneActionTurnedOffAnnouncement": "Uw microfoon is uitgeschakeld", - "offSplitButtonMicrophonePrimaryAction": "Microfoon inschakelen", - "onSplitButtonMicrophonePrimaryAction": "Microfoon uitschakelen", - "microphonePrimaryActionSplitButtonTitle": "Microfoon gebruiken" + "offSplitButtonMicrophonePrimaryAction": "Dempen opheffen voor microfoon", + "onSplitButtonMicrophonePrimaryAction": "Microfoon dempen", + "microphonePrimaryActionSplitButtonTitle": "Microfoon gebruiken", + "microphoneAriaDescription": "Audio-opties", + "deepNoiseSuppressionTitle": "Ruisonderdrukking", + "deepNoiseSuppressionOnAnnouncement": "Diepe ruisonderdrukking is ingeschakeld", + "deepNoiseSuppressionOffAnnouncement": "Diepe ruisonderdrukking is uitgeschakeld" }, "devicesButton": { "label": "Apparaten", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Spotlighten stoppen", "stopSpotlightOnSelfVideoTileMenuLabel": "Spotlight afsluiten", "attendeeRole": "Genodigde", - "muteParticipantMenuItemLabel": "Dempen" + "muteParticipantMenuItemLabel": "Dempen", + "waitingScreenText": "Wachten tot anderen deelnemen" }, "dialpad": { "placeholderText": "Telefoonnummer invoeren", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Weigeren", "incomingCallNotificationAcceptButtonLabel": "Accepteren", "incomingCallNotificationRejectButtonLabel": "Weigeren", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Accepteren met video" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Accepteren met video", + "incomingCallNotificationDismissButtonAriaLabel": "Sluiten" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/pl-PL/strings.json b/packages/react-components/src/localization/locales/pl-PL/strings.json index 7809961f1e0..b2be2c359f3 100644 --- a/packages/react-components/src/localization/locales/pl-PL/strings.json +++ b/packages/react-components/src/localization/locales/pl-PL/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Wybierz kamerę", "cameraButtonSplitRoleDescription": "Przycisk podziału", - "onSplitButtonAriaLabel": "Wyłącz kamerę i jej opcje", - "offSplitButtonAriaLabel": "Włącz kamerę i jej opcje", + "onSplitButtonAriaLabel": "Wyłącz kamerę", + "offSplitButtonAriaLabel": "Włącz kamerę", "cameraActionTurnedOnAnnouncement": "Kamera została włączona", "cameraActionTurnedOffAnnouncement": "Kamera została wyłączona", "onSplitButtonPrimaryActionCamera": "Wyłącz kamerę", "offSplitButtonPrimaryActionCamera": "Włącz kamerę", "cameraPrimaryActionSplitButtonTitle": "Użyj kamery", - "videoEffectsMenuItemTitle": "Efekty" + "videoEffectsMenuItemTitle": "Efekty", + "cameraButtonAriaDescription": "opcje kamery" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Głośnik", "speakerMenuTooltip": "Wybierz głośnik", "microphoneButtonSplitRoleDescription": "Przycisk podziału", - "onSplitButtonAriaLabel": "Wyciszenie mikrofonu i opcji dźwięku", - "offSplitButtonAriaLabel": "Wyłącz wyciszenie mikrofonu i opcji dźwięku", + "onSplitButtonAriaLabel": "Wycisz mikrofon", + "offSplitButtonAriaLabel": "Wyłącz wyciszenie mikrofonu", "microphoneActionTurnedOnAnnouncement": "Mikrofon został włączony", "microphoneActionTurnedOffAnnouncement": "Mikrofon został wyłączony", "offSplitButtonMicrophonePrimaryAction": "Wyłącz wyciszenie mikrofonu", "onSplitButtonMicrophonePrimaryAction": "Wycisz mikrofon", - "microphonePrimaryActionSplitButtonTitle": "Użyj mikrofonu" + "microphonePrimaryActionSplitButtonTitle": "Użyj mikrofonu", + "microphoneAriaDescription": "Opcje dźwięku", + "deepNoiseSuppressionTitle": "Tłumienie szumu", + "deepNoiseSuppressionOnAnnouncement": "Głębokie tłumienie szumów zostało włączone", + "deepNoiseSuppressionOffAnnouncement": "Głębokie tłumienie szumów zostało wyłączone" }, "devicesButton": { "label": "Urządzenia", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Zatrzymaj wyróżnianie", "stopSpotlightOnSelfVideoTileMenuLabel": "Zakończ wyróżnienie", "attendeeRole": "Uczestnik", - "muteParticipantMenuItemLabel": "Wycisz" + "muteParticipantMenuItemLabel": "Wycisz", + "waitingScreenText": "Oczekiwanie na dołączenie innych osób" }, "dialpad": { "placeholderText": "Wprowadź numer telefonu", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Odrzuć", "incomingCallNotificationAcceptButtonLabel": "Akceptuj", "incomingCallNotificationRejectButtonLabel": "Odrzuć", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Odbierz jako połączenie wideo" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Odbierz jako połączenie wideo", + "incomingCallNotificationDismissButtonAriaLabel": "Odrzuć" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/pt-BR/strings.json b/packages/react-components/src/localization/locales/pt-BR/strings.json index d816d02bf3b..cae603645d1 100644 --- a/packages/react-components/src/localization/locales/pt-BR/strings.json +++ b/packages/react-components/src/localization/locales/pt-BR/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Câmera", "cameraMenuTooltip": "Escolher câmera", "cameraButtonSplitRoleDescription": "Botão de divisão", - "onSplitButtonAriaLabel": "Desabilitar a câmera e as opções da câmera", - "offSplitButtonAriaLabel": "Habilitar a câmera e as opções da câmera", + "onSplitButtonAriaLabel": "Desligar a câmera", + "offSplitButtonAriaLabel": "Ligar a câmera", "cameraActionTurnedOnAnnouncement": "A câmera foi ligada", "cameraActionTurnedOffAnnouncement": "A câmera foi desligada", "onSplitButtonPrimaryActionCamera": "Desligar a câmera", "offSplitButtonPrimaryActionCamera": "Ligar a câmera", "cameraPrimaryActionSplitButtonTitle": "Usar câmera", - "videoEffectsMenuItemTitle": "Efeitos" + "videoEffectsMenuItemTitle": "Efeitos", + "cameraButtonAriaDescription": "opções de câmera" }, "microphoneButton": { "onLabel": "Microfone", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Alto-falante", "speakerMenuTooltip": "Escolher alto-falante", "microphoneButtonSplitRoleDescription": "Botão de divisão", - "onSplitButtonAriaLabel": "Ativar mudo das opções de microfone e áudio", - "offSplitButtonAriaLabel": "Desativar mudo do microfone e opções de áudio", + "onSplitButtonAriaLabel": "Ativar mudo do microfone", + "offSplitButtonAriaLabel": "Desativar mudo do microfone", "microphoneActionTurnedOnAnnouncement": "O microfone foi ligado", "microphoneActionTurnedOffAnnouncement": "O microfone foi desligado", - "offSplitButtonMicrophonePrimaryAction": "Desativar mudo do microfone", - "onSplitButtonMicrophonePrimaryAction": "Ativar mudo do microfone", - "microphonePrimaryActionSplitButtonTitle": "Usar o microfone" + "offSplitButtonMicrophonePrimaryAction": "Desativar mudo do microfone", + "onSplitButtonMicrophonePrimaryAction": "Ativar mudo do microfone", + "microphonePrimaryActionSplitButtonTitle": "Usar o microfone", + "microphoneAriaDescription": "Opções de áudio", + "deepNoiseSuppressionTitle": "Supressão de ruído", + "deepNoiseSuppressionOnAnnouncement": "A supressão de ruído profundo foi ativada", + "deepNoiseSuppressionOffAnnouncement": "A supressão de ruído profundo foi desativada" }, "devicesButton": { "label": "Dispositivos", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Parar de destacar", "stopSpotlightOnSelfVideoTileMenuLabel": "Sair de destaque", "attendeeRole": "Participante", - "muteParticipantMenuItemLabel": "Ativar mudo" + "muteParticipantMenuItemLabel": "Ativar mudo", + "waitingScreenText": "Aguardando o ingresso de outros participantes" }, "dialpad": { "placeholderText": "Inserir o número do telefone", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Rejeitar", "incomingCallNotificationAcceptButtonLabel": "Aceitar", "incomingCallNotificationRejectButtonLabel": "Recusar", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Aceitar com Vídeo" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Aceitar com Vídeo", + "incomingCallNotificationDismissButtonAriaLabel": "Ignorar" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/ru-RU/strings.json b/packages/react-components/src/localization/locales/ru-RU/strings.json index 914ec9f2efb..9417f277155 100644 --- a/packages/react-components/src/localization/locales/ru-RU/strings.json +++ b/packages/react-components/src/localization/locales/ru-RU/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Камера", "cameraMenuTooltip": "Выбрать камеру", "cameraButtonSplitRoleDescription": "Разворачивающаяся кнопка", - "onSplitButtonAriaLabel": "Отключить камеру и параметры камеры", - "offSplitButtonAriaLabel": "Включить камеру и параметры камеры", + "onSplitButtonAriaLabel": "Отключить камеру", + "offSplitButtonAriaLabel": "Включить камеру", "cameraActionTurnedOnAnnouncement": "Камера включена", "cameraActionTurnedOffAnnouncement": "Камера отключена", "onSplitButtonPrimaryActionCamera": "Выключить камеру", "offSplitButtonPrimaryActionCamera": "Включить камеру", "cameraPrimaryActionSplitButtonTitle": "Использовать камеру", - "videoEffectsMenuItemTitle": "Эффекты" + "videoEffectsMenuItemTitle": "Эффекты", + "cameraButtonAriaDescription": "параметры камеры" }, "microphoneButton": { "onLabel": "Микрофон", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Динамик", "speakerMenuTooltip": "Выбрать динамик", "microphoneButtonSplitRoleDescription": "Разворачивающаяся кнопка", - "onSplitButtonAriaLabel": "Отключить микрофон и параметры звука", - "offSplitButtonAriaLabel": "Включить микрофон и параметры звука", + "onSplitButtonAriaLabel": "Отключить микрофон", + "offSplitButtonAriaLabel": "Включить микрофон", "microphoneActionTurnedOnAnnouncement": "Ваш микрофон включен", "microphoneActionTurnedOffAnnouncement": "Ваш микрофон отключен", "offSplitButtonMicrophonePrimaryAction": "Включить микрофон", "onSplitButtonMicrophonePrimaryAction": "Отключить микрофон", - "microphonePrimaryActionSplitButtonTitle": "Использовать микрофон" + "microphonePrimaryActionSplitButtonTitle": "Использовать микрофон", + "microphoneAriaDescription": "Параметры звука", + "deepNoiseSuppressionTitle": "Подавление шума", + "deepNoiseSuppressionOnAnnouncement": "Глубокое подавление шума включено", + "deepNoiseSuppressionOffAnnouncement": "Глубокое подавление шума отключено" }, "devicesButton": { "label": "Устройства", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Не закреплять", "stopSpotlightOnSelfVideoTileMenuLabel": "Открепить", "attendeeRole": "Участник", - "muteParticipantMenuItemLabel": "Отключить микрофон" + "muteParticipantMenuItemLabel": "Отключить микрофон", + "waitingScreenText": "Ожидание присоединения других участников" }, "dialpad": { "placeholderText": "Введите номер телефона", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Отклонить", "incomingCallNotificationAcceptButtonLabel": "Принять", "incomingCallNotificationRejectButtonLabel": "Отклонить", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Ответить с видео" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Ответить с видео", + "incomingCallNotificationDismissButtonAriaLabel": "Закрыть" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/sv-SE/strings.json b/packages/react-components/src/localization/locales/sv-SE/strings.json index 120e464027d..7f64dd91e3e 100644 --- a/packages/react-components/src/localization/locales/sv-SE/strings.json +++ b/packages/react-components/src/localization/locales/sv-SE/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Välj kamera", "cameraButtonSplitRoleDescription": "Delningsknapp", - "onSplitButtonAriaLabel": "Inaktivera kamera- och kameraalternativ", - "offSplitButtonAriaLabel": "Aktivera kamera- och kameraalternativ", + "onSplitButtonAriaLabel": "Stäng av kameran", + "offSplitButtonAriaLabel": "Aktivera kameran", "cameraActionTurnedOnAnnouncement": "Kameran har aktiverats", "cameraActionTurnedOffAnnouncement": "Kameran har stängts av", "onSplitButtonPrimaryActionCamera": "Stäng av kameran", "offSplitButtonPrimaryActionCamera": "Aktivera kameran", "cameraPrimaryActionSplitButtonTitle": "Använd kamera", - "videoEffectsMenuItemTitle": "Effekter" + "videoEffectsMenuItemTitle": "Effekter", + "cameraButtonAriaDescription": "kameraalternativ" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Högtalare", "speakerMenuTooltip": "Välj högtalare", "microphoneButtonSplitRoleDescription": "Delningsknapp", - "onSplitButtonAriaLabel": "Ljud av mikrofon och ljudalternativ", - "offSplitButtonAriaLabel": "Slå på ljudet för mikrofon och ljudalternativ", + "onSplitButtonAriaLabel": "Inaktivera mikrofonen", + "offSplitButtonAriaLabel": "Slå på mikrofonen", "microphoneActionTurnedOnAnnouncement": "Mikrofonen har aktiverats", "microphoneActionTurnedOffAnnouncement": "Mikrofonen har inaktiverats", "offSplitButtonMicrophonePrimaryAction": "Slå på mikrofonen", - "onSplitButtonMicrophonePrimaryAction": "Stäng av mikrofonen", - "microphonePrimaryActionSplitButtonTitle": "Använd mikrofon" + "onSplitButtonMicrophonePrimaryAction": "Inaktivera mikrofonen", + "microphonePrimaryActionSplitButtonTitle": "Använd mikrofon", + "microphoneAriaDescription": "Ljudalternativ", + "deepNoiseSuppressionTitle": "Ljuddämpning", + "deepNoiseSuppressionOnAnnouncement": "Djup brusreducering har aktiverats", + "deepNoiseSuppressionOffAnnouncement": "Djup brusreducering har inaktiverats" }, "devicesButton": { "label": "Enheter", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Sluta uppmärksamma", "stopSpotlightOnSelfVideoTileMenuLabel": "Spotlight", "attendeeRole": "Deltagare", - "muteParticipantMenuItemLabel": "Stäng av ljudet" + "muteParticipantMenuItemLabel": "Stäng av ljudet", + "waitingScreenText": "Väntar på att andra ska ansluta" }, "dialpad": { "placeholderText": "Ange telefonnummer", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Avvisa", "incomingCallNotificationAcceptButtonLabel": "Acceptera", "incomingCallNotificationRejectButtonLabel": "Avböj", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Acceptera med video" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Acceptera med video", + "incomingCallNotificationDismissButtonAriaLabel": "Stäng" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/tr-TR/strings.json b/packages/react-components/src/localization/locales/tr-TR/strings.json index 3aa7efcad0f..7d5fb7870bd 100644 --- a/packages/react-components/src/localization/locales/tr-TR/strings.json +++ b/packages/react-components/src/localization/locales/tr-TR/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "Kamera", "cameraMenuTooltip": "Kamera seç", "cameraButtonSplitRoleDescription": "Bölünmüş düğme", - "onSplitButtonAriaLabel": "Kamerayı ve kamera seçeneklerini devre dışı bırak", - "offSplitButtonAriaLabel": "Kamerayı ve kamera seçeneklerini etkinleştir", + "onSplitButtonAriaLabel": "Kamerayı kapat", + "offSplitButtonAriaLabel": "Kamerayı aç", "cameraActionTurnedOnAnnouncement": "Kameranız açıldı", "cameraActionTurnedOffAnnouncement": "Kameranız kapatıldı", "onSplitButtonPrimaryActionCamera": "Kamerayı kapat", "offSplitButtonPrimaryActionCamera": "Kamerayı aç", "cameraPrimaryActionSplitButtonTitle": "Kamerayı kullan", - "videoEffectsMenuItemTitle": "Efektler" + "videoEffectsMenuItemTitle": "Efektler", + "cameraButtonAriaDescription": "kamera seçenekleri" }, "microphoneButton": { "onLabel": "Mikrofon", @@ -119,13 +120,17 @@ "speakerMenuTitle": "Hoparlör", "speakerMenuTooltip": "Hoparlör seç", "microphoneButtonSplitRoleDescription": "Bölünmüş düğme", - "onSplitButtonAriaLabel": "Mikrofonun ve ses seçeneklerinin sesini kapat", - "offSplitButtonAriaLabel": "Mikrofonun ve ses seçeneklerinin sesini aç", + "onSplitButtonAriaLabel": "Mikrofonu sessize al", + "offSplitButtonAriaLabel": "Mikrofonun sesini aç", "microphoneActionTurnedOnAnnouncement": "Mikrofonunuz açıldı", "microphoneActionTurnedOffAnnouncement": "Mikrofonunuz kapatıldı", "offSplitButtonMicrophonePrimaryAction": "Mikrofonun sesini aç", - "onSplitButtonMicrophonePrimaryAction": "Mikrofonun sesini kapat", - "microphonePrimaryActionSplitButtonTitle": "Mikrofonu kullan" + "onSplitButtonMicrophonePrimaryAction": "Mikrofonu sessize al", + "microphonePrimaryActionSplitButtonTitle": "Mikrofonu kullan", + "microphoneAriaDescription": "Ses seçenekleri", + "deepNoiseSuppressionTitle": "Gürültü engelleme", + "deepNoiseSuppressionOnAnnouncement": "Derin gürültü önleme açıldı", + "deepNoiseSuppressionOffAnnouncement": "Derin gürültü önleme kapatıldı" }, "devicesButton": { "label": "Cihazlar", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "Öne çıkarmayı durdur", "stopSpotlightOnSelfVideoTileMenuLabel": "Öne çıkarmadan çık", "attendeeRole": "Katılımcı", - "muteParticipantMenuItemLabel": "Sesi kapat" + "muteParticipantMenuItemLabel": "Sesi kapat", + "waitingScreenText": "Diğerlerinin katılması bekleniyor" }, "dialpad": { "placeholderText": "Telefon numarası gir", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "Reddet", "incomingCallNotificationAcceptButtonLabel": "Kabul et", "incomingCallNotificationRejectButtonLabel": "Reddet", - "incomingCallNotificationAccceptWithVideoButtonLabel": "Görüntülü Kabul Et" + "incomingCallNotificationAccceptWithVideoButtonLabel": "Görüntülü Kabul Et", + "incomingCallNotificationDismissButtonAriaLabel": "Kapat" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/zh-CN/strings.json b/packages/react-components/src/localization/locales/zh-CN/strings.json index d81bea46f7b..076912819b8 100644 --- a/packages/react-components/src/localization/locales/zh-CN/strings.json +++ b/packages/react-components/src/localization/locales/zh-CN/strings.json @@ -99,14 +99,15 @@ "cameraMenuTitle": "相机", "cameraMenuTooltip": "选择“相机”", "cameraButtonSplitRoleDescription": "拆分按钮", - "onSplitButtonAriaLabel": "关闭照相机和照相机选项", - "offSplitButtonAriaLabel": "打开照相机和照相机选项", + "onSplitButtonAriaLabel": "关闭摄像头", + "offSplitButtonAriaLabel": "打开摄像头", "cameraActionTurnedOnAnnouncement": "你的相机已打开", "cameraActionTurnedOffAnnouncement": "你的相机已关闭", "onSplitButtonPrimaryActionCamera": "关闭摄像头", "offSplitButtonPrimaryActionCamera": "打开摄像头", "cameraPrimaryActionSplitButtonTitle": "使用照相机", - "videoEffectsMenuItemTitle": "效果" + "videoEffectsMenuItemTitle": "效果", + "cameraButtonAriaDescription": "摄像头选项" }, "microphoneButton": { "onLabel": "麦克风", @@ -119,13 +120,17 @@ "speakerMenuTitle": "扬声器", "speakerMenuTooltip": "选择“扬声器”", "microphoneButtonSplitRoleDescription": "拆分按钮", - "onSplitButtonAriaLabel": "将麦克风和音频选项静音", - "offSplitButtonAriaLabel": "取消麦克风和音频选项的静音", + "onSplitButtonAriaLabel": "将麦克风静音", + "offSplitButtonAriaLabel": "取消麦克风静音", "microphoneActionTurnedOnAnnouncement": "你的麦克风已打开", "microphoneActionTurnedOffAnnouncement": "你的麦克风已关闭", "offSplitButtonMicrophonePrimaryAction": "取消麦克风静音", "onSplitButtonMicrophonePrimaryAction": "将麦克风静音", - "microphonePrimaryActionSplitButtonTitle": "使用麦克风" + "microphonePrimaryActionSplitButtonTitle": "使用麦克风", + "microphoneAriaDescription": "音频选项", + "deepNoiseSuppressionTitle": "噪音抑制", + "deepNoiseSuppressionOnAnnouncement": "深层噪音抑制已打开", + "deepNoiseSuppressionOffAnnouncement": "深层噪音抑制已关闭" }, "devicesButton": { "label": "设备", @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "停止聚焦", "stopSpotlightOnSelfVideoTileMenuLabel": "退出聚焦", "attendeeRole": "与会者", - "muteParticipantMenuItemLabel": "静音" + "muteParticipantMenuItemLabel": "静音", + "waitingScreenText": "正在等待其他人加入" }, "dialpad": { "placeholderText": "输入电话号码", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "拒绝", "incomingCallNotificationAcceptButtonLabel": "接受", "incomingCallNotificationRejectButtonLabel": "拒绝", - "incomingCallNotificationAccceptWithVideoButtonLabel": "使用视频接受" + "incomingCallNotificationAccceptWithVideoButtonLabel": "使用视频接受", + "incomingCallNotificationDismissButtonAriaLabel": "关闭" } -} +} \ No newline at end of file diff --git a/packages/react-components/src/localization/locales/zh-TW/strings.json b/packages/react-components/src/localization/locales/zh-TW/strings.json index 4bb064df085..44803e573e7 100644 --- a/packages/react-components/src/localization/locales/zh-TW/strings.json +++ b/packages/react-components/src/localization/locales/zh-TW/strings.json @@ -87,7 +87,7 @@ "label": "離開", "tooltipContent": "離開通話", "leaveOption": "離開", - "endCallOption": "每個人都結束通話" + "endCallOption": "結束所有通話" }, "cameraButton": { "onLabel": "相機", @@ -99,14 +99,15 @@ "cameraMenuTitle": "相機", "cameraMenuTooltip": "選擇攝影機", "cameraButtonSplitRoleDescription": "[分割] 按鈕", - "onSplitButtonAriaLabel": "關閉相機和相機選項", - "offSplitButtonAriaLabel": "開啟相機和相機選項", + "onSplitButtonAriaLabel": "關閉攝影機", + "offSplitButtonAriaLabel": "開啟相機", "cameraActionTurnedOnAnnouncement": "您的相機已開啟", "cameraActionTurnedOffAnnouncement": "您的相機已關閉", "onSplitButtonPrimaryActionCamera": "關閉攝影機", "offSplitButtonPrimaryActionCamera": "開啟相機", "cameraPrimaryActionSplitButtonTitle": "使用相機", - "videoEffectsMenuItemTitle": "效果" + "videoEffectsMenuItemTitle": "效果", + "cameraButtonAriaDescription": "攝影機選項" }, "microphoneButton": { "onLabel": "麥克風", @@ -119,13 +120,17 @@ "speakerMenuTitle": "揚聲器", "speakerMenuTooltip": "選擇喇叭", "microphoneButtonSplitRoleDescription": "[分割] 按鈕", - "onSplitButtonAriaLabel": "將麥克風和音訊選項設為靜音", - "offSplitButtonAriaLabel": "將麥克風和音訊選項取消靜音", + "onSplitButtonAriaLabel": "將麥克風靜音", + "offSplitButtonAriaLabel": "取消麥克風靜音", "microphoneActionTurnedOnAnnouncement": "您的麥克風已開啟", "microphoneActionTurnedOffAnnouncement": "您的麥克風已關閉", "offSplitButtonMicrophonePrimaryAction": "取消麥克風靜音", - "onSplitButtonMicrophonePrimaryAction": "將麥克風設為靜音", - "microphonePrimaryActionSplitButtonTitle": "使用麥克風" + "onSplitButtonMicrophonePrimaryAction": "將麥克風靜音", + "microphonePrimaryActionSplitButtonTitle": "使用麥克風", + "microphoneAriaDescription": "音訊選項", + "deepNoiseSuppressionTitle": "噪音抑制", + "deepNoiseSuppressionOnAnnouncement": "深噪音抑制已開啟", + "deepNoiseSuppressionOffAnnouncement": "深噪音抑制已關閉" }, "devicesButton": { "label": "裝置", @@ -150,7 +155,7 @@ }, "screenShareButton": { "onLabel": "停止簡報", - "offLabel": "存在", + "offLabel": "分享", "tooltipDisabledContent": "簡報已停用", "tooltipOnContent": "展示您的螢幕", "tooltipOffContent": "展示您的螢幕" @@ -504,7 +509,8 @@ "stopSpotlightVideoTileMenuLabel": "停止聚焦", "stopSpotlightOnSelfVideoTileMenuLabel": "結束聚焦", "attendeeRole": "出席者", - "muteParticipantMenuItemLabel": "靜音" + "muteParticipantMenuItemLabel": "靜音", + "waitingScreenText": "正在等待其他人加入" }, "dialpad": { "placeholderText": "輸入電話號碼", @@ -658,6 +664,7 @@ "incomingCallNoticicationRejectAriaLabel": "拒絕", "incomingCallNotificationAcceptButtonLabel": "接受", "incomingCallNotificationRejectButtonLabel": "拒絕", - "incomingCallNotificationAccceptWithVideoButtonLabel": "接受並開啟視訊" + "incomingCallNotificationAccceptWithVideoButtonLabel": "接受並開啟視訊", + "incomingCallNotificationDismissButtonAriaLabel": "關閉" } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/ar-SA/strings.json b/packages/react-composites/src/composites/localization/locales/ar-SA/strings.json index 4948fd8e81c..2e570f6951f 100644 --- a/packages/react-composites/src/composites/localization/locales/ar-SA/strings.json +++ b/packages/react-composites/src/composites/localization/locales/ar-SA/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "دردشة الغرفة الفرعية", "chatContentSpinnerLabel": "يتم الآن التحميل..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/cs-CZ/strings.json b/packages/react-composites/src/composites/localization/locales/cs-CZ/strings.json index 9cd82029aa4..eeb822f644e 100644 --- a/packages/react-composites/src/composites/localization/locales/cs-CZ/strings.json +++ b/packages/react-composites/src/composites/localization/locales/cs-CZ/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Chat ve skupinové místnosti", "chatContentSpinnerLabel": "Načítání..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/de-DE/strings.json b/packages/react-composites/src/composites/localization/locales/de-DE/strings.json index a5e986b18aa..70c4a7de414 100644 --- a/packages/react-composites/src/composites/localization/locales/de-DE/strings.json +++ b/packages/react-composites/src/composites/localization/locales/de-DE/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Chat im Gruppenraum", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/en-GB/strings.json b/packages/react-composites/src/composites/localization/locales/en-GB/strings.json index ee02ff005d0..7385d8ce34f 100644 --- a/packages/react-composites/src/composites/localization/locales/en-GB/strings.json +++ b/packages/react-composites/src/composites/localization/locales/en-GB/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Breakout Room Chat", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/es-ES/strings.json b/packages/react-composites/src/composites/localization/locales/es-ES/strings.json index e31ff1a4205..85cc8c31f87 100644 --- a/packages/react-composites/src/composites/localization/locales/es-ES/strings.json +++ b/packages/react-composites/src/composites/localization/locales/es-ES/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Chat de sala para sesión de subgrupo", "chatContentSpinnerLabel": "Cargando..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/fi-FI/strings.json b/packages/react-composites/src/composites/localization/locales/fi-FI/strings.json index b6e6390ceb4..1be21418dff 100644 --- a/packages/react-composites/src/composites/localization/locales/fi-FI/strings.json +++ b/packages/react-composites/src/composites/localization/locales/fi-FI/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Pienryhmätilan keskustelu", "chatContentSpinnerLabel": "Ladataan..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/fr-FR/strings.json b/packages/react-composites/src/composites/localization/locales/fr-FR/strings.json index fd47f4cfdef..2aa0d235d49 100644 --- a/packages/react-composites/src/composites/localization/locales/fr-FR/strings.json +++ b/packages/react-composites/src/composites/localization/locales/fr-FR/strings.json @@ -84,15 +84,15 @@ "peoplePaneAddPeopleButtonLabel": "Ajouter des personnes", "dialpadStartCallButtonLabel": "Appeler", "dialpadModalTitle": "Composer le numéro de téléphone", - "dialpadModalAriaLabel": "Pavé numérique", - "dialpadCloseModalButtonAriaLabel": "Fermer le pavé numérique", + "dialpadModalAriaLabel": "Clavier", + "dialpadCloseModalButtonAriaLabel": "Fermer le clavier", "moreButtonCallingLabel": "Plus", "resumeCallButtonLabel": "Reprendre", "resumingCallButtonLabel": "Reprise...", "resumeCallButtonAriaLabel": "Reprendre l’appel", "resumingCallButtonAriaLabel": "Reprendre l’appel", "holdScreenLabel": "Vous avez été mis(e) en attente.", - "openDtmfDialpadLabel": "Afficher le pavé numérique", + "openDtmfDialpadLabel": "Afficher le clavier", "dtmfDialpadPlaceholderText": "Saisir un numéro", "outboundCallingNoticeString": "Appel en cours...", "participantJoinedNoticeString": "{displayName} a rejoint", @@ -131,10 +131,10 @@ "callTimeoutBotTitle": "Nous n’avons pas pu effectuer l’appel", "callTimeoutBotDetails": "Le service que vous essayez d’atteindre n’est pas disponible. Veuillez réessayer plus tard.", "dtmfDialerButtonLabel": "Clavier", - "dtmfDialerButtonTooltipOn": "Afficher le pavé numérique", - "dtmfDialerButtonTooltipOff": "Masquez le pavé de numérotation", - "dtmfDialerMoreButtonLabelOn": "Afficher le pavé numérique", - "dtmfDialerMoreButtonLabelOff": "Masquez le pavé de numérotation", + "dtmfDialerButtonTooltipOn": "Afficher le clavier", + "dtmfDialerButtonTooltipOff": "Masquez le clavier", + "dtmfDialerMoreButtonLabelOn": "Afficher le clavier", + "dtmfDialerMoreButtonLabelOff": "Masquez le clavier", "phoneCallMoreButtonLabel": "Appel téléphonique", "spokenLanguageStrings": { "ar-ae": "Arabe – E.A.U.", @@ -401,11 +401,11 @@ "peoplePaneAddPeopleButtonLabel": "Ajouter des personnes", "dialpadStartCallButtonLabel": "Appeler", "dialpadModalTitle": "Composer le numéro de téléphone", - "dialpadModalAriaLabel": "Pavé numérique", - "dialpadCloseModalButtonAriaLabel": "Fermer le pavé numérique", - "openDtmfDialpadLabel": "Afficher le pavé numérique", + "dialpadModalAriaLabel": "Clavier", + "dialpadCloseModalButtonAriaLabel": "Fermer le clavier", + "openDtmfDialpadLabel": "Afficher le clavier", "dtmfDialpadPlaceholderText": "Saisir un numéro", "breakoutRoomChatPaneTitle": "Conversation dans une salle pour petit groupe", "chatContentSpinnerLabel": "Chargement en cours..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/he-IL/strings.json b/packages/react-composites/src/composites/localization/locales/he-IL/strings.json index 74bb4bc8f2c..d9e0ec0eebd 100644 --- a/packages/react-composites/src/composites/localization/locales/he-IL/strings.json +++ b/packages/react-composites/src/composites/localization/locales/he-IL/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "צ'אט פיצול חדרים", "chatContentSpinnerLabel": "בטעינה..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/it-IT/strings.json b/packages/react-composites/src/composites/localization/locales/it-IT/strings.json index d33f7c3b8d6..1b441b3721f 100644 --- a/packages/react-composites/src/composites/localization/locales/it-IT/strings.json +++ b/packages/react-composites/src/composites/localization/locales/it-IT/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Chat della stanza di lavoro", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/ja-JP/strings.json b/packages/react-composites/src/composites/localization/locales/ja-JP/strings.json index e4224eb8dfc..82049be6a70 100644 --- a/packages/react-composites/src/composites/localization/locales/ja-JP/strings.json +++ b/packages/react-composites/src/composites/localization/locales/ja-JP/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "ブレークアウト ルーム チャット", "chatContentSpinnerLabel": "読み込んでいます..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/ko-KR/strings.json b/packages/react-composites/src/composites/localization/locales/ko-KR/strings.json index 0c93a835593..969a0f84ff5 100644 --- a/packages/react-composites/src/composites/localization/locales/ko-KR/strings.json +++ b/packages/react-composites/src/composites/localization/locales/ko-KR/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "소규모 회의실 채팅", "chatContentSpinnerLabel": "로드하는 중..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/nb-NO/strings.json b/packages/react-composites/src/composites/localization/locales/nb-NO/strings.json index 2c18d6a67da..aee41bbe4ed 100644 --- a/packages/react-composites/src/composites/localization/locales/nb-NO/strings.json +++ b/packages/react-composites/src/composites/localization/locales/nb-NO/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Grupperomchat", "chatContentSpinnerLabel": "Laster inn ..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json b/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json index 8e9cc7c9cd2..7271d1e9a35 100644 --- a/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json +++ b/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Aparte vergaderruimte chat", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/pl-PL/strings.json b/packages/react-composites/src/composites/localization/locales/pl-PL/strings.json index 2de384e58bd..e88c56f45d1 100644 --- a/packages/react-composites/src/composites/localization/locales/pl-PL/strings.json +++ b/packages/react-composites/src/composites/localization/locales/pl-PL/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Czat osobnego pokoju", "chatContentSpinnerLabel": "Trwa ładowanie..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/pt-BR/strings.json b/packages/react-composites/src/composites/localization/locales/pt-BR/strings.json index d42312a4dac..7d509efe845 100644 --- a/packages/react-composites/src/composites/localization/locales/pt-BR/strings.json +++ b/packages/react-composites/src/composites/localization/locales/pt-BR/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Chat da Sala para Sessão de Grupo", "chatContentSpinnerLabel": "Carregando..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/ru-RU/strings.json b/packages/react-composites/src/composites/localization/locales/ru-RU/strings.json index 7979f9013c3..7856381b7ee 100644 --- a/packages/react-composites/src/composites/localization/locales/ru-RU/strings.json +++ b/packages/react-composites/src/composites/localization/locales/ru-RU/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Чат переговорной комнаты", "chatContentSpinnerLabel": "Загрузка…" } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json b/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json index 22ca5d1eda7..3068c911ad7 100644 --- a/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json +++ b/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Grupprumschatt", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json b/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json index c6d2884a248..e4cdd2c2c5b 100644 --- a/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json +++ b/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Tartışma Odası Sohbeti", "chatContentSpinnerLabel": "Loading..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/zh-CN/strings.json b/packages/react-composites/src/composites/localization/locales/zh-CN/strings.json index 0f07d63a431..8fe086db61b 100644 --- a/packages/react-composites/src/composites/localization/locales/zh-CN/strings.json +++ b/packages/react-composites/src/composites/localization/locales/zh-CN/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "分组讨论室聊天", "chatContentSpinnerLabel": "正在加载..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/zh-TW/strings.json b/packages/react-composites/src/composites/localization/locales/zh-TW/strings.json index 1cfe4d0956c..55ec4a5b92c 100644 --- a/packages/react-composites/src/composites/localization/locales/zh-TW/strings.json +++ b/packages/react-composites/src/composites/localization/locales/zh-TW/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "分組討論區聊天", "chatContentSpinnerLabel": "正在載入..." } -} +} \ No newline at end of file diff --git a/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Desktop-Chrome-linux.png index bcf0aff438621fa95e78c2e6ef5cbfd324b249a2..ea3e23c7fb57d5468ee8e7409662090893267e63 100644 GIT binary patch literal 18925 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 KxvXt6Tz-MQ|)KWnNh5Z|W04FZ9Pl@w*QK%i?b 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 diff --git a/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Mobile-Android-Portrait-linux.png b/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Mobile-Android-Portrait-linux.png index 590b00387e4f29e2f4180c90cf7272c8f6d0c328..a3d9cf460c312258394bb7624795b0094692f5b8 100644 GIT binary patch literal 36336 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 W??1Bsx$>BF&~s-mSeKu<`ruz83VBih diff --git a/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Desktop-Chrome-linux.png index bcf0aff438621fa95e78c2e6ef5cbfd324b249a2..ea3e23c7fb57d5468ee8e7409662090893267e63 100644 GIT binary patch literal 18925 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 KxvXt6Tz-MQ|)KWnNh5Z|W04FZ9Pl@w*QK%i?b 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 diff --git a/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Mobile-Android-Portrait-linux.png b/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/Localization.test.ts-snapshots/localized-call-screen-Mobile-Android-Portrait-linux.png index 590b00387e4f29e2f4180c90cf7272c8f6d0c328..a3d9cf460c312258394bb7624795b0094692f5b8 100644 GIT binary patch literal 36336 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 W??1Bsx$>BF&~s-mSeKu<`ruz83VBih From 35b149a1862599f1cb1ffcd33bf4d8875a2059a7 Mon Sep 17 00:00:00 2001 From: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:58:39 -0400 Subject: [PATCH 08/58] [Chat] Flagging when the adapter is being created (#5182) --- ...ion-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json | 9 +++++++++ ...ion-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json | 9 +++++++++ .../adapter/AzureCommunicationChatAdapter.ts | 10 +++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 change-beta/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json create mode 100644 change/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json diff --git a/change-beta/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json b/change-beta/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json new file mode 100644 index 00000000000..630ffe6f014 --- /dev/null +++ b/change-beta/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "AzureCommunicationChatAdapter", + "comment": "Adding logic to flag when the adapter is in the middle of creation", + "packageName": "@azure/communication-react", + "email": "9044372+JoshuaLai@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json b/change/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json new file mode 100644 index 00000000000..630ffe6f014 --- /dev/null +++ b/change/@azure-communication-react-3609656d-b6a9-4253-93ee-50eacf1719e2.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "AzureCommunicationChatAdapter", + "comment": "Adding logic to flag when the adapter is in the middle of creation", + "packageName": "@azure/communication-react", + "email": "9044372+JoshuaLai@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts index 7f9ac9a8a73..853185762fc 100644 --- a/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts +++ b/packages/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts @@ -613,6 +613,7 @@ export const useAzureCommunicationChatAdapter = ( const [adapter, setAdapter] = useState(undefined); // Ref needed for cleanup to access the old adapter created asynchronously. const adapterRef = useRef(undefined); + const creatingAdapterRef = useRef(false); const afterCreateRef = useRef<((adapter: ChatAdapter) => Promise) | undefined>(undefined); const beforeDisposeRef = useRef<((adapter: ChatAdapter) => Promise) | undefined>(undefined); @@ -641,7 +642,13 @@ export const useAzureCommunicationChatAdapter = ( adapterRef.current.dispose(); adapterRef.current = undefined; } - + if (creatingAdapterRef.current) { + console.warn( + 'Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page' + ); + return; + } + creatingAdapterRef.current = true; let newAdapter = await createAzureCommunicationChatAdapter({ credential, displayName, @@ -653,6 +660,7 @@ export const useAzureCommunicationChatAdapter = ( newAdapter = await afterCreateRef.current(newAdapter); } adapterRef.current = newAdapter; + creatingAdapterRef.current = false; setAdapter(newAdapter); })(); }, From 39de259f09cb02e5da5a0b594ebbaa6dc22512b1 Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Tue, 17 Sep 2024 12:10:18 -0700 Subject: [PATCH 09/58] Merge Prerelease branch back into main for release notes (#5185) * stable-remove-beta-suffix version bump * Collect CHANGELOG * Groom changelog stable remove beta suffix/1.19.0 (#5174) * Create groom me file for groom changelog branch * Update changelogs --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Bump package versions to beta.0 for next release * Update release notes (#5183) --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> --- ...-09f9f5b4-fff8-4e44-b9ea-76b1b2c3673a.json | 9 - ...-1109da55-934d-4ff6-be59-5b3ef01e4d27.json | 9 - ...-12886c21-001b-4ca5-b5c9-5023dfba1271.json | 9 - ...-1af4c039-3991-4a9f-af3d-c85447155e6a.json | 9 - ...-1df25fb6-0f83-436c-ab27-064736b43406.json | 9 - ...-28105d95-b06b-4e41-b4bb-ab47cf6cbbca.json | 9 - ...-314ab8c9-a41f-4f74-bbd4-3c31d086f35a.json | 9 - ...-338b3032-95c2-4539-9187-37939d37c21e.json | 9 - ...-38289f14-dae3-4a94-a1ef-ed56ebb6ca3d.json | 9 - ...-3b3192c0-d7bb-47d8-bb4b-b80146fe9a3b.json | 9 - ...-3cb77811-b9e9-4912-8c25-9685ca836458.json | 9 - ...-436f776c-1408-435c-88f8-4d864c2e0c95.json | 9 - ...-46007d21-e47f-4e61-a90c-05570411e301.json | 9 - ...-535661c1-dab7-40f6-8f09-6b0d8847bbae.json | 9 - ...-5762e573-181a-45bd-8ef5-8a73dd28ec27.json | 9 - ...-59e6959f-de97-409a-a1d1-20784e61652a.json | 9 - ...-624831d8-54c5-496d-90c3-d9fe253b9582.json | 9 - ...-63294a32-aa66-4d7a-affb-67380d94c988.json | 9 - ...-6389cbd7-eac4-44a1-bf98-7324b41c9932.json | 9 - ...-63bfa541-f61e-4dd4-a0cb-e9a8911e77b6.json | 9 - ...-67710a93-6800-43e9-a606-6e6ea98a2fbf.json | 9 - ...-6d7a7ed6-36b4-4006-89de-49bf6ceacfec.json | 9 - ...-7582db0f-fa4d-467a-aca5-e8682537d181.json | 9 - ...-7723b22c-642d-4bff-878b-320062337d13.json | 9 - ...-7b73ca56-0fc7-4700-8367-c6276437787e.json | 9 - ...-7ef54334-2731-41d1-aae6-baa94d9d6542.json | 9 - ...-829ff458-71f7-47da-a1be-6b6b04767c29.json | 9 - ...-8531b146-c95b-409d-8b85-5897f84ad8db.json | 9 - ...-a8b252ce-eb1d-4b71-b06f-b47055cea16b.json | 9 - ...-adee31e2-62cb-4055-8a4d-851707056dc5.json | 9 - ...-b61075b9-55ef-466f-b1f0-ce91924112bb.json | 9 - ...-bc0335ce-d6b2-4690-8c96-e886b66c4472.json | 9 - ...-c115b8a8-0e97-4435-a191-627982b65631.json | 9 - ...-c2f1c492-b1a1-432b-b410-5fd852e81a29.json | 9 - ...-c9b66b8b-21b8-457a-b0d2-964456a7412d.json | 9 - ...-cc8ce792-335e-4d9c-a07a-84eedc869f5e.json | 9 - ...-cee74a84-31b7-4bb3-91dd-732faded2687.json | 9 - ...-cf3347b6-3db1-4e18-8f7f-56b270e10876.json | 9 - ...-e3c0f3ab-aea6-4bf0-9756-03d6356fd1d6.json | 9 - ...-e5231fa5-bfbb-4fde-8f01-2e9938d30f30.json | 9 - ...-e89789b4-63cd-43fb-81ee-f0da59acf88a.json | 9 - ...-e904db1d-2eea-445a-bbe0-3cc742c520b7.json | 9 - ...-f395dd7f-5c1d-4c04-96a5-2560d0cac3c2.json | 9 - ...-fce185d2-ead5-414f-8969-a60ca6a07684.json | 9 - ...-ffb8d80e-6bd1-4986-98ea-bae389cec127.json | 9 - packages/acs-ui-common/package.json | 4 +- .../acs-ui-javascript-loaders/CHANGELOG.json | 21 + .../acs-ui-javascript-loaders/package.json | 8 +- .../calling-component-bindings/CHANGELOG.json | 27 ++ .../calling-component-bindings/package.json | 10 +- .../calling-stateful-client/CHANGELOG.json | 15 + packages/calling-stateful-client/package.json | 6 +- .../chat-component-bindings/CHANGELOG.json | 27 ++ packages/chat-component-bindings/package.json | 10 +- packages/chat-stateful-client/CHANGELOG.json | 15 + packages/chat-stateful-client/package.json | 6 +- packages/communication-react/CHANGELOG.json | 373 ++++++++++++++++++ .../communication-react/CHANGELOG.stable.md | 84 +++- packages/communication-react/package.json | 22 +- packages/fake-backends/CHANGELOG.json | 15 + packages/fake-backends/package.json | 6 +- packages/react-components/CHANGELOG.json | 15 + packages/react-components/package.json | 6 +- packages/react-composites/CHANGELOG.json | 51 +++ packages/react-composites/package.json | 18 +- packages/storybook/CHANGELOG.json | 21 + packages/storybook/package.json | 6 +- packages/storybook8/CHANGELOG.json | 21 + packages/storybook8/package.json | 6 +- samples/CallWithChat/package.json | 12 +- samples/Calling/package.json | 12 +- samples/CallingStateful/package.json | 12 +- samples/Chat/package.json | 12 +- samples/ComponentExamples/package.json | 2 +- samples/StaticHtmlComposites/package.json | 2 +- tools/check-treeshaking/CHANGELOG.json | 57 +++ tools/check-treeshaking/package.json | 16 +- .../CHANGELOG.json | 15 + .../check-typescript-regression/package.json | 2 +- 79 files changed, 845 insertions(+), 495 deletions(-) delete mode 100644 change/@azure-communication-react-09f9f5b4-fff8-4e44-b9ea-76b1b2c3673a.json delete mode 100644 change/@azure-communication-react-1109da55-934d-4ff6-be59-5b3ef01e4d27.json delete mode 100644 change/@azure-communication-react-12886c21-001b-4ca5-b5c9-5023dfba1271.json delete mode 100644 change/@azure-communication-react-1af4c039-3991-4a9f-af3d-c85447155e6a.json delete mode 100644 change/@azure-communication-react-1df25fb6-0f83-436c-ab27-064736b43406.json delete mode 100644 change/@azure-communication-react-28105d95-b06b-4e41-b4bb-ab47cf6cbbca.json delete mode 100644 change/@azure-communication-react-314ab8c9-a41f-4f74-bbd4-3c31d086f35a.json delete mode 100644 change/@azure-communication-react-338b3032-95c2-4539-9187-37939d37c21e.json delete mode 100644 change/@azure-communication-react-38289f14-dae3-4a94-a1ef-ed56ebb6ca3d.json delete mode 100644 change/@azure-communication-react-3b3192c0-d7bb-47d8-bb4b-b80146fe9a3b.json delete mode 100644 change/@azure-communication-react-3cb77811-b9e9-4912-8c25-9685ca836458.json delete mode 100644 change/@azure-communication-react-436f776c-1408-435c-88f8-4d864c2e0c95.json delete mode 100644 change/@azure-communication-react-46007d21-e47f-4e61-a90c-05570411e301.json delete mode 100644 change/@azure-communication-react-535661c1-dab7-40f6-8f09-6b0d8847bbae.json delete mode 100644 change/@azure-communication-react-5762e573-181a-45bd-8ef5-8a73dd28ec27.json delete mode 100644 change/@azure-communication-react-59e6959f-de97-409a-a1d1-20784e61652a.json delete mode 100644 change/@azure-communication-react-624831d8-54c5-496d-90c3-d9fe253b9582.json delete mode 100644 change/@azure-communication-react-63294a32-aa66-4d7a-affb-67380d94c988.json delete mode 100644 change/@azure-communication-react-6389cbd7-eac4-44a1-bf98-7324b41c9932.json delete mode 100644 change/@azure-communication-react-63bfa541-f61e-4dd4-a0cb-e9a8911e77b6.json delete mode 100644 change/@azure-communication-react-67710a93-6800-43e9-a606-6e6ea98a2fbf.json delete mode 100644 change/@azure-communication-react-6d7a7ed6-36b4-4006-89de-49bf6ceacfec.json delete mode 100644 change/@azure-communication-react-7582db0f-fa4d-467a-aca5-e8682537d181.json delete mode 100644 change/@azure-communication-react-7723b22c-642d-4bff-878b-320062337d13.json delete mode 100644 change/@azure-communication-react-7b73ca56-0fc7-4700-8367-c6276437787e.json delete mode 100644 change/@azure-communication-react-7ef54334-2731-41d1-aae6-baa94d9d6542.json delete mode 100644 change/@azure-communication-react-829ff458-71f7-47da-a1be-6b6b04767c29.json delete mode 100644 change/@azure-communication-react-8531b146-c95b-409d-8b85-5897f84ad8db.json delete mode 100644 change/@azure-communication-react-a8b252ce-eb1d-4b71-b06f-b47055cea16b.json delete mode 100644 change/@azure-communication-react-adee31e2-62cb-4055-8a4d-851707056dc5.json delete mode 100644 change/@azure-communication-react-b61075b9-55ef-466f-b1f0-ce91924112bb.json delete mode 100644 change/@azure-communication-react-bc0335ce-d6b2-4690-8c96-e886b66c4472.json delete mode 100644 change/@azure-communication-react-c115b8a8-0e97-4435-a191-627982b65631.json delete mode 100644 change/@azure-communication-react-c2f1c492-b1a1-432b-b410-5fd852e81a29.json delete mode 100644 change/@azure-communication-react-c9b66b8b-21b8-457a-b0d2-964456a7412d.json delete mode 100644 change/@azure-communication-react-cc8ce792-335e-4d9c-a07a-84eedc869f5e.json delete mode 100644 change/@azure-communication-react-cee74a84-31b7-4bb3-91dd-732faded2687.json delete mode 100644 change/@azure-communication-react-cf3347b6-3db1-4e18-8f7f-56b270e10876.json delete mode 100644 change/@azure-communication-react-e3c0f3ab-aea6-4bf0-9756-03d6356fd1d6.json delete mode 100644 change/@azure-communication-react-e5231fa5-bfbb-4fde-8f01-2e9938d30f30.json delete mode 100644 change/@azure-communication-react-e89789b4-63cd-43fb-81ee-f0da59acf88a.json delete mode 100644 change/@azure-communication-react-e904db1d-2eea-445a-bbe0-3cc742c520b7.json delete mode 100644 change/@azure-communication-react-f395dd7f-5c1d-4c04-96a5-2560d0cac3c2.json delete mode 100644 change/@azure-communication-react-fce185d2-ead5-414f-8969-a60ca6a07684.json delete mode 100644 change/@azure-communication-react-ffb8d80e-6bd1-4986-98ea-bae389cec127.json diff --git a/change/@azure-communication-react-09f9f5b4-fff8-4e44-b9ea-76b1b2c3673a.json b/change/@azure-communication-react-09f9f5b4-fff8-4e44-b9ea-76b1b2c3673a.json deleted file mode 100644 index f9e5d19cbce..00000000000 --- a/change/@azure-communication-react-09f9f5b4-fff8-4e44-b9ea-76b1b2c3673a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "", - "comment": "Remove use of phonenumberlib-js and manually format NA numbers", - "packageName": "@azure/communication-react", - "email": "2684369+JamesBurnside@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-1109da55-934d-4ff6-be59-5b3ef01e4d27.json b/change/@azure-communication-react-1109da55-934d-4ff6-be59-5b3ef01e4d27.json deleted file mode 100644 index 2c15e21d652..00000000000 --- a/change/@azure-communication-react-1109da55-934d-4ff6-be59-5b3ef01e4d27.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Dependency update", - "comment": "Update axios to 1.7.5 with a security fix", - "packageName": "@azure/communication-react", - "email": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-12886c21-001b-4ca5-b5c9-5023dfba1271.json b/change/@azure-communication-react-12886c21-001b-4ca5-b5c9-5023dfba1271.json deleted file mode 100644 index 9f20bd682b5..00000000000 --- a/change/@azure-communication-react-12886c21-001b-4ca5-b5c9-5023dfba1271.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Dependencies", - "comment": "Update @fluentui-contrib/react-chat to fix focus issues in chat component", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-1af4c039-3991-4a9f-af3d-c85447155e6a.json b/change/@azure-communication-react-1af4c039-3991-4a9f-af3d-c85447155e6a.json deleted file mode 100644 index f8d8c7de466..00000000000 --- a/change/@azure-communication-react-1af4c039-3991-4a9f-af3d-c85447155e6a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "feature", - "workstream": "DNS", - "comment": "[DNS] Adapter API changes and common calling handlers", - "packageName": "@azure/communication-react", - "email": "97124699+prabhjot-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-1df25fb6-0f83-436c-ab27-064736b43406.json b/change/@azure-communication-react-1df25fb6-0f83-436c-ab27-064736b43406.json deleted file mode 100644 index c6f45f78f96..00000000000 --- a/change/@azure-communication-react-1df25fb6-0f83-436c-ab27-064736b43406.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Control button tooltip", - "comment": "Fix frequent tooltip dismissal when trying to mouse over tooltip content", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-28105d95-b06b-4e41-b4bb-ab47cf6cbbca.json b/change/@azure-communication-react-28105d95-b06b-4e41-b4bb-ab47cf6cbbca.json deleted file mode 100644 index 789caabb3d4..00000000000 --- a/change/@azure-communication-react-28105d95-b06b-4e41-b4bb-ab47cf6cbbca.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Calling dependency", - "comment": "Upgrade calling beta to 1.28.1-beta.1 and stable to 1.27.2", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-314ab8c9-a41f-4f74-bbd4-3c31d086f35a.json b/change/@azure-communication-react-314ab8c9-a41f-4f74-bbd4-3c31d086f35a.json deleted file mode 100644 index 1899de02912..00000000000 --- a/change/@azure-communication-react-314ab8c9-a41f-4f74-bbd4-3c31d086f35a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Capabilities", - "comment": "Suppress initial notifications of capabilities being present when joining a call", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-338b3032-95c2-4539-9187-37939d37c21e.json b/change/@azure-communication-react-338b3032-95c2-4539-9187-37939d37c21e.json deleted file mode 100644 index 6a9c6adb9bd..00000000000 --- a/change/@azure-communication-react-338b3032-95c2-4539-9187-37939d37c21e.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "CallWithChatAdapter events", - "comment": "Fix error when listening to capabilitiesChanged and spotlightChanged events from AzureCommunicationCallWithChatAdapter", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-38289f14-dae3-4a94-a1ef-ed56ebb6ca3d.json b/change/@azure-communication-react-38289f14-dae3-4a94-a1ef-ed56ebb6ca3d.json deleted file mode 100644 index 9e8de363550..00000000000 --- a/change/@azure-communication-react-38289f14-dae3-4a94-a1ef-ed56ebb6ca3d.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "prerelease", - "area": "feature", - "workstream": "DNS", - "comment": "Add toggle for DNS on by default and hide DNS button in adapter options", - "packageName": "@azure/communication-react", - "email": "97124699+prabhjot-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-3b3192c0-d7bb-47d8-bb4b-b80146fe9a3b.json b/change/@azure-communication-react-3b3192c0-d7bb-47d8-bb4b-b80146fe9a3b.json deleted file mode 100644 index 80ec95900ce..00000000000 --- a/change/@azure-communication-react-3b3192c0-d7bb-47d8-bb4b-b80146fe9a3b.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Add PPTLive presenter information", - "comment": "Add PPTLive presenter information", - "packageName": "@azure/communication-react", - "email": "93549644+ShaunaSong@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-3cb77811-b9e9-4912-8c25-9685ca836458.json b/change/@azure-communication-react-3cb77811-b9e9-4912-8c25-9685ca836458.json deleted file mode 100644 index d09325cfebe..00000000000 --- a/change/@azure-communication-react-3cb77811-b9e9-4912-8c25-9685ca836458.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "File Sharing", - "comment": "Refactored Teams Identity Logic for File Sharing", - "packageName": "@azure/communication-react", - "email": "109105353+jpeng-ms@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-436f776c-1408-435c-88f8-4d864c2e0c95.json b/change/@azure-communication-react-436f776c-1408-435c-88f8-4d864c2e0c95.json deleted file mode 100644 index 42f832b7994..00000000000 --- a/change/@azure-communication-react-436f776c-1408-435c-88f8-4d864c2e0c95.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Breakout rooms", - "comment": "Change logic of showing button to join breakout room when the breakout room call is available", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-46007d21-e47f-4e61-a90c-05570411e301.json b/change/@azure-communication-react-46007d21-e47f-4e61-a90c-05570411e301.json deleted file mode 100644 index 2fabb52dd19..00000000000 --- a/change/@azure-communication-react-46007d21-e47f-4e61-a90c-05570411e301.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "A11y Fixes", - "comment": "Fix Message status announcement sometimes takes priority over \"Message is deleted\" one", - "packageName": "@azure/communication-react", - "email": "3941071+emlynmac@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-535661c1-dab7-40f6-8f09-6b0d8847bbae.json b/change/@azure-communication-react-535661c1-dab7-40f6-8f09-6b0d8847bbae.json deleted file mode 100644 index 799b7122e99..00000000000 --- a/change/@azure-communication-react-535661c1-dab7-40f6-8f09-6b0d8847bbae.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Breakout rooms", - "comment": "Delete joined and closing breakout room notifications when user is unassigned from breakout room or re-assigned to a closed breakout room", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-5762e573-181a-45bd-8ef5-8a73dd28ec27.json b/change/@azure-communication-react-5762e573-181a-45bd-8ef5-8a73dd28ec27.json deleted file mode 100644 index 5efb49cf7d4..00000000000 --- a/change/@azure-communication-react-5762e573-181a-45bd-8ef5-8a73dd28ec27.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "prerelease", - "area": "feature", - "workstream": "Breakout rooms", - "comment": "Add breakout rooms to stateful layer and events to CallAdapter and CallWithChatAdapter", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-59e6959f-de97-409a-a1d1-20784e61652a.json b/change/@azure-communication-react-59e6959f-de97-409a-a1d1-20784e61652a.json deleted file mode 100644 index b59063008b7..00000000000 --- a/change/@azure-communication-react-59e6959f-de97-409a-a1d1-20784e61652a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "captions", - "comment": "Fix bug when adapter caption events are not firing", - "packageName": "@azure/communication-react", - "email": "96077406+carocao-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-624831d8-54c5-496d-90c3-d9fe253b9582.json b/change/@azure-communication-react-624831d8-54c5-496d-90c3-d9fe253b9582.json deleted file mode 100644 index caa99385c5e..00000000000 --- a/change/@azure-communication-react-624831d8-54c5-496d-90c3-d9fe253b9582.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Lazy loading", - "comment": "Fix lazy loading for Composites", - "packageName": "@azure/communication-react", - "email": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-63294a32-aa66-4d7a-affb-67380d94c988.json b/change/@azure-communication-react-63294a32-aa66-4d7a-affb-67380d94c988.json deleted file mode 100644 index 8d28f6b529f..00000000000 --- a/change/@azure-communication-react-63294a32-aa66-4d7a-affb-67380d94c988.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Speaker", - "comment": "Fix bug where speakers are getting selected on safari", - "packageName": "@azure/communication-react", - "email": "96077406+carocao-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-6389cbd7-eac4-44a1-bf98-7324b41c9932.json b/change/@azure-communication-react-6389cbd7-eac4-44a1-bf98-7324b41c9932.json deleted file mode 100644 index 6c41841bc91..00000000000 --- a/change/@azure-communication-react-6389cbd7-eac4-44a1-bf98-7324b41c9932.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "feature", - "workstream": "Ad hoc calling", - "comment": "Stabilize, Inbound calling, PSTN, Teams Adhoc calling", - "packageName": "@azure/communication-react", - "email": "dmceachern@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-63bfa541-f61e-4dd4-a0cb-e9a8911e77b6.json b/change/@azure-communication-react-63bfa541-f61e-4dd4-a0cb-e9a8911e77b6.json deleted file mode 100644 index 6f9b8408c5f..00000000000 --- a/change/@azure-communication-react-63bfa541-f61e-4dd4-a0cb-e9a8911e77b6.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "ImageUpload", - "comment": "Disable image pasting when onInsertInlineImage is not provided", - "packageName": "@azure/communication-react", - "email": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-67710a93-6800-43e9-a606-6e6ea98a2fbf.json b/change/@azure-communication-react-67710a93-6800-43e9-a606-6e6ea98a2fbf.json deleted file mode 100644 index 240cad35ae3..00000000000 --- a/change/@azure-communication-react-67710a93-6800-43e9-a606-6e6ea98a2fbf.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "improvement", - "workstream": "Captions", - "comment": "Add CallAdapter API to start captions in the background", - "packageName": "@azure/communication-react", - "email": "2684369+JamesBurnside@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-6d7a7ed6-36b4-4006-89de-49bf6ceacfec.json b/change/@azure-communication-react-6d7a7ed6-36b4-4006-89de-49bf6ceacfec.json deleted file mode 100644 index 0ad19b7baa4..00000000000 --- a/change/@azure-communication-react-6d7a7ed6-36b4-4006-89de-49bf6ceacfec.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "DNS", - "comment": "Hide DNS on Safari", - "packageName": "@azure/communication-react", - "email": "97124699+prabhjot-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-7582db0f-fa4d-467a-aca5-e8682537d181.json b/change/@azure-communication-react-7582db0f-fa4d-467a-aca5-e8682537d181.json deleted file mode 100644 index c0ebc8a8310..00000000000 --- a/change/@azure-communication-react-7582db0f-fa4d-467a-aca5-e8682537d181.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "", - "comment": "Update @azure/communication-calling to 1.26.2", - "packageName": "@azure/communication-react", - "email": "2684369+JamesBurnside@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-7723b22c-642d-4bff-878b-320062337d13.json b/change/@azure-communication-react-7723b22c-642d-4bff-878b-320062337d13.json deleted file mode 100644 index bea22b42c62..00000000000 --- a/change/@azure-communication-react-7723b22c-642d-4bff-878b-320062337d13.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "feature", - "workstream": "Calling dependency", - "comment": "Update communication calling to 1.29.1-beta.1 and 1.28.1", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-7b73ca56-0fc7-4700-8367-c6276437787e.json b/change/@azure-communication-react-7b73ca56-0fc7-4700-8367-c6276437787e.json deleted file mode 100644 index e37ab4bfea0..00000000000 --- a/change/@azure-communication-react-7b73ca56-0fc7-4700-8367-c6276437787e.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "feature", - "workstream": "DNS", - "comment": "Add DNS toggle to Microphone button menu options", - "packageName": "@azure/communication-react", - "email": "97124699+prabhjot-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-7ef54334-2731-41d1-aae6-baa94d9d6542.json b/change/@azure-communication-react-7ef54334-2731-41d1-aae6-baa94d9d6542.json deleted file mode 100644 index 1a4be1285c3..00000000000 --- a/change/@azure-communication-react-7ef54334-2731-41d1-aae6-baa94d9d6542.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "", - "comment": "Fix compliance notification not showing that transcription has stopped in react18 strict mode", - "packageName": "@azure/communication-react", - "email": "2684369+JamesBurnside@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-829ff458-71f7-47da-a1be-6b6b04767c29.json b/change/@azure-communication-react-829ff458-71f7-47da-a1be-6b6b04767c29.json deleted file mode 100644 index ea2658b9346..00000000000 --- a/change/@azure-communication-react-829ff458-71f7-47da-a1be-6b6b04767c29.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "RTE", - "comment": "Fix an issue where cursor position was incorrect after rich text input box was reset", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-8531b146-c95b-409d-8b85-5897f84ad8db.json b/change/@azure-communication-react-8531b146-c95b-409d-8b85-5897f84ad8db.json deleted file mode 100644 index bec20c5827b..00000000000 --- a/change/@azure-communication-react-8531b146-c95b-409d-8b85-5897f84ad8db.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Dominant speaker streams", - "comment": "Ensure dominant speaker streams are rendered", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-a8b252ce-eb1d-4b71-b06f-b47055cea16b.json b/change/@azure-communication-react-a8b252ce-eb1d-4b71-b06f-b47055cea16b.json deleted file mode 100644 index 04673b39fda..00000000000 --- a/change/@azure-communication-react-a8b252ce-eb1d-4b71-b06f-b47055cea16b.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "improvement", - "workstream": "Full screen captions", - "comment": "Caption fullscreen mode api", - "packageName": "@azure/communication-react", - "email": "jiangnanhello@live.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-adee31e2-62cb-4055-8a4d-851707056dc5.json b/change/@azure-communication-react-adee31e2-62cb-4055-8a4d-851707056dc5.json deleted file mode 100644 index 0b4f9a84f2b..00000000000 --- a/change/@azure-communication-react-adee31e2-62cb-4055-8a4d-851707056dc5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "A11y Ezra", - "comment": "Fix visible names for pinning, camera and mic buttons", - "packageName": "@azure/communication-react", - "email": "dmceachern@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-b61075b9-55ef-466f-b1f0-ce91924112bb.json b/change/@azure-communication-react-b61075b9-55ef-466f-b1f0-ce91924112bb.json deleted file mode 100644 index 172d3f2a78d..00000000000 --- a/change/@azure-communication-react-b61075b9-55ef-466f-b1f0-ce91924112bb.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Dependencies", - "comment": "Chat SDK and Signaling dependencies update", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-bc0335ce-d6b2-4690-8c96-e886b66c4472.json b/change/@azure-communication-react-bc0335ce-d6b2-4690-8c96-e886b66c4472.json deleted file mode 100644 index 5efbd7e93fe..00000000000 --- a/change/@azure-communication-react-bc0335ce-d6b2-4690-8c96-e886b66c4472.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Pinned participants", - "comment": "Fix pinned participant limit to update correctly when pinned participants are removed from call", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-c115b8a8-0e97-4435-a191-627982b65631.json b/change/@azure-communication-react-c115b8a8-0e97-4435-a191-627982b65631.json deleted file mode 100644 index b40b880f7d4..00000000000 --- a/change/@azure-communication-react-c115b8a8-0e97-4435-a191-627982b65631.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Overflow gallery", - "comment": "Fix vulnerability of having NaN from calculations in horizontal or vertical overflow gallery", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-c2f1c492-b1a1-432b-b410-5fd852e81a29.json b/change/@azure-communication-react-c2f1c492-b1a1-432b-b410-5fd852e81a29.json deleted file mode 100644 index 723699b9cd1..00000000000 --- a/change/@azure-communication-react-c2f1c492-b1a1-432b-b410-5fd852e81a29.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "minor", - "area": "feature", - "workstream": "Captions", - "comment": "GA acs captions", - "packageName": "@azure/communication-react", - "email": "96077406+carocao-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-c9b66b8b-21b8-457a-b0d2-964456a7412d.json b/change/@azure-communication-react-c9b66b8b-21b8-457a-b0d2-964456a7412d.json deleted file mode 100644 index b2aaabf913e..00000000000 --- a/change/@azure-communication-react-c9b66b8b-21b8-457a-b0d2-964456a7412d.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "RTE", - "comment": "Update RoosterJS version to fix some issues with keyboard table navigation in Rich Text Editor components", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-cc8ce792-335e-4d9c-a07a-84eedc869f5e.json b/change/@azure-communication-react-cc8ce792-335e-4d9c-a07a-84eedc869f5e.json deleted file mode 100644 index ff1253fe000..00000000000 --- a/change/@azure-communication-react-cc8ce792-335e-4d9c-a07a-84eedc869f5e.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Read receipt selector", - "comment": "Fix chat selectors using read receipts from state", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-cee74a84-31b7-4bb3-91dd-732faded2687.json b/change/@azure-communication-react-cee74a84-31b7-4bb3-91dd-732faded2687.json deleted file mode 100644 index 041d8a92401..00000000000 --- a/change/@azure-communication-react-cee74a84-31b7-4bb3-91dd-732faded2687.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "Storybook8", - "comment": "Update AddCSS to utils", - "packageName": "@azure/communication-react", - "email": "edwardlee@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-cf3347b6-3db1-4e18-8f7f-56b270e10876.json b/change/@azure-communication-react-cf3347b6-3db1-4e18-8f7f-56b270e10876.json deleted file mode 100644 index 86703fa29cb..00000000000 --- a/change/@azure-communication-react-cf3347b6-3db1-4e18-8f7f-56b270e10876.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "RTE", - "comment": "Update paddings and theme handling for rich text editor toolbar", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-e3c0f3ab-aea6-4bf0-9756-03d6356fd1d6.json b/change/@azure-communication-react-e3c0f3ab-aea6-4bf0-9756-03d6356fd1d6.json deleted file mode 100644 index d9b9370c416..00000000000 --- a/change/@azure-communication-react-e3c0f3ab-aea6-4bf0-9756-03d6356fd1d6.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "improvement", - "workstream": "", - "comment": "Update all dependencies with patch updates", - "packageName": "@azure/communication-react", - "email": "2684369+JamesBurnside@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-e5231fa5-bfbb-4fde-8f01-2e9938d30f30.json b/change/@azure-communication-react-e5231fa5-bfbb-4fde-8f01-2e9938d30f30.json deleted file mode 100644 index 0ced0a8cc8d..00000000000 --- a/change/@azure-communication-react-e5231fa5-bfbb-4fde-8f01-2e9938d30f30.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "A11y", - "comment": "Add role to SvgWithWorkWrapping and set as a heading in the configuration page on use", - "packageName": "@azure/communication-react", - "email": "edwardlee@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-e89789b4-63cd-43fb-81ee-f0da59acf88a.json b/change/@azure-communication-react-e89789b4-63cd-43fb-81ee-f0da59acf88a.json deleted file mode 100644 index 55ba989888d..00000000000 --- a/change/@azure-communication-react-e89789b4-63cd-43fb-81ee-f0da59acf88a.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Ezra/a11y", - "comment": "Update contrast issues when interacting with other participants in the call", - "packageName": "@azure/communication-react", - "email": "dmceachern@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-e904db1d-2eea-445a-bbe0-3cc742c520b7.json b/change/@azure-communication-react-e904db1d-2eea-445a-bbe0-3cc742c520b7.json deleted file mode 100644 index 0b9eca5e7b1..00000000000 --- a/change/@azure-communication-react-e904db1d-2eea-445a-bbe0-3cc742c520b7.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Video effects button", - "comment": "Truncate long text used in video effects button", - "packageName": "@azure/communication-react", - "email": "79475487+mgamis-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-f395dd7f-5c1d-4c04-96a5-2560d0cac3c2.json b/change/@azure-communication-react-f395dd7f-5c1d-4c04-96a5-2560d0cac3c2.json deleted file mode 100644 index 38450b16d3e..00000000000 --- a/change/@azure-communication-react-f395dd7f-5c1d-4c04-96a5-2560d0cac3c2.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "RTE", - "comment": "Add announcements for applying bulleted/numbered lists in rich text editor and for adding new list items to them", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-fce185d2-ead5-414f-8969-a60ca6a07684.json b/change/@azure-communication-react-fce185d2-ead5-414f-8969-a60ca6a07684.json deleted file mode 100644 index 024dcc2bef6..00000000000 --- a/change/@azure-communication-react-fce185d2-ead5-414f-8969-a60ca6a07684.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "Inline Image", - "comment": "Fixed the issue where image loading placeholder doesn't work for safari", - "packageName": "@azure/communication-react", - "email": "109105353+jpeng-ms@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/change/@azure-communication-react-ffb8d80e-6bd1-4986-98ea-bae389cec127.json b/change/@azure-communication-react-ffb8d80e-6bd1-4986-98ea-bae389cec127.json deleted file mode 100644 index b8338f58e8c..00000000000 --- a/change/@azure-communication-react-ffb8d80e-6bd1-4986-98ea-bae389cec127.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "patch", - "area": "fix", - "workstream": "RTE", - "comment": "Fix for an issue where toolbar didn't correctly show the selected style format during message editing", - "packageName": "@azure/communication-react", - "email": "98852890+vhuseinova-msft@users.noreply.github.com", - "dependentChangeType": "patch" -} diff --git a/packages/acs-ui-common/package.json b/packages/acs-ui-common/package.json index 3c16ef5e350..733e38ffd62 100644 --- a/packages/acs-ui-common/package.json +++ b/packages/acs-ui-common/package.json @@ -1,6 +1,6 @@ { "name": "@internal/acs-ui-common", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Common types and utilities for all Azure Communication Serves UI libraries", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -62,4 +62,4 @@ "ts-jest": "^29.1.5", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/acs-ui-javascript-loaders/CHANGELOG.json b/packages/acs-ui-javascript-loaders/CHANGELOG.json index b9755504907..03d3d150260 100644 --- a/packages/acs-ui-javascript-loaders/CHANGELOG.json +++ b/packages/acs-ui-javascript-loaders/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@internal/acs-ui-javascript-loaders", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/acs-ui-javascript-loaders_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/acs-ui-javascript-loaders", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/acs-ui-javascript-loaders", + "comment": "Bump @internal/react-composites to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/acs-ui-javascript-loaders/package.json b/packages/acs-ui-javascript-loaders/package.json index e47bca057da..65fe079fc65 100644 --- a/packages/acs-ui-javascript-loaders/package.json +++ b/packages/acs-ui-javascript-loaders/package.json @@ -1,6 +1,6 @@ { "name": "@internal/acs-ui-javascript-loaders", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Component bindings specific to components that integrate with the Azure Communication Services Calling JavaScript SDK", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -31,8 +31,8 @@ "license": "ISC", "dependencies": { "@azure/communication-common": "^2.3.1", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", "@fluentui/react": "^8.120.0", "@azure/logger": "^1.0.4" }, @@ -68,4 +68,4 @@ "ts-jest": "^29.1.5", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/calling-component-bindings/CHANGELOG.json b/packages/calling-component-bindings/CHANGELOG.json index 54d5782ea39..45302bf2628 100644 --- a/packages/calling-component-bindings/CHANGELOG.json +++ b/packages/calling-component-bindings/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@internal/calling-component-bindings", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/calling-component-bindings_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/calling-component-bindings", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/calling-component-bindings", + "comment": "Bump @internal/calling-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/calling-component-bindings", + "comment": "Bump @internal/react-components to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/calling-component-bindings/package.json b/packages/calling-component-bindings/package.json index db6dafa8f6e..0a1b8136fc1 100644 --- a/packages/calling-component-bindings/package.json +++ b/packages/calling-component-bindings/package.json @@ -1,6 +1,6 @@ { "name": "@internal/calling-component-bindings", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Component bindings specific to components that integrate with the Azure Communication Services Calling JavaScript SDK", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -30,9 +30,9 @@ }, "license": "MIT", "dependencies": { - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", "@azure/communication-common": "^2.3.1", "memoize-one": "^5.2.1", "reselect": "^4.0.0" @@ -71,4 +71,4 @@ "ts-jest": "^29.1.5", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/calling-stateful-client/CHANGELOG.json b/packages/calling-stateful-client/CHANGELOG.json index ebd653ffc32..50a0d1ba3ff 100644 --- a/packages/calling-stateful-client/CHANGELOG.json +++ b/packages/calling-stateful-client/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@internal/calling-stateful-client", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/calling-stateful-client_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/calling-stateful-client", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/calling-stateful-client/package.json b/packages/calling-stateful-client/package.json index 2f3ae4837d1..5d45b6d5a99 100644 --- a/packages/calling-stateful-client/package.json +++ b/packages/calling-stateful-client/package.json @@ -1,6 +1,6 @@ { "name": "@internal/calling-stateful-client", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Stateful proxy over the Azure Communication Services Calling JavaScript SDK", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -31,7 +31,7 @@ "dependencies": { "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", - "@internal/acs-ui-common": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", "@types/events": "^3.0.3", "events": "^3.3.0", "immer": "10.1.1" @@ -66,4 +66,4 @@ "ts-jest": "^29.1.5", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/chat-component-bindings/CHANGELOG.json b/packages/chat-component-bindings/CHANGELOG.json index 94e75564aa1..c570bf5ce49 100644 --- a/packages/chat-component-bindings/CHANGELOG.json +++ b/packages/chat-component-bindings/CHANGELOG.json @@ -1,6 +1,33 @@ { "name": "@internal/chat-component-bindings", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/chat-component-bindings_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/chat-component-bindings", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/chat-component-bindings", + "comment": "Bump @internal/chat-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/chat-component-bindings", + "comment": "Bump @internal/react-components to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/chat-component-bindings/package.json b/packages/chat-component-bindings/package.json index 53a7482adc9..a787c7ccb63 100644 --- a/packages/chat-component-bindings/package.json +++ b/packages/chat-component-bindings/package.json @@ -1,6 +1,6 @@ { "name": "@internal/chat-component-bindings", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Component bindings specific to components that integrate with the Azure Communication Services Chat JavaScript SDK", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -31,9 +31,9 @@ "dependencies": { "@azure/communication-common": "^2.3.1", "@azure/core-paging": "^1.5.0", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/chat-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/chat-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", "reselect": "^4.0.0", "memoize-one": "^5.2.1" }, @@ -65,4 +65,4 @@ "rollup": "^4.21.2", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/chat-stateful-client/CHANGELOG.json b/packages/chat-stateful-client/CHANGELOG.json index d523071ba94..e5b6f71a7c7 100644 --- a/packages/chat-stateful-client/CHANGELOG.json +++ b/packages/chat-stateful-client/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@internal/chat-stateful-client", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/chat-stateful-client_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/chat-stateful-client", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/chat-stateful-client/package.json b/packages/chat-stateful-client/package.json index 911dc970b97..8d7909718bc 100644 --- a/packages/chat-stateful-client/package.json +++ b/packages/chat-stateful-client/package.json @@ -1,6 +1,6 @@ { "name": "@internal/chat-stateful-client", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Stateful proxy over the Azure Communication Services Chat JavaScript SDK", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -32,7 +32,7 @@ "@azure/communication-common": "^2.3.1", "@azure/core-paging": "^1.5.0", "@azure/logger": "^1.0.4", - "@internal/acs-ui-common": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", "@types/events": "^3.0.3", "events": "^3.3.0", "immer": "10.1.1", @@ -67,4 +67,4 @@ "ts-jest": "^29.1.5", "typescript": "5.4.5" } -} +} \ No newline at end of file diff --git a/packages/communication-react/CHANGELOG.json b/packages/communication-react/CHANGELOG.json index 2aa5168c911..85fd5cea551 100644 --- a/packages/communication-react/CHANGELOG.json +++ b/packages/communication-react/CHANGELOG.json @@ -1,6 +1,379 @@ { "name": "@azure/communication-react", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:15 GMT", + "version": "1.19.0", + "tag": "@azure/communication-react_v1.19.0", + "comments": { + "patch": [ + { + "author": "2684369+JamesBurnside@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "09c1e7d0ce2f662290e09a666b7cb70254f819e1", + "area": "fix", + "workstream": "", + "comment": "Remove use of phonenumberlib-js and manually format NA numbers" + }, + { + "author": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "dd65c44551c886092cd9b89e3bb6635acbd6c99c", + "area": "improvement", + "workstream": "Dependency update", + "comment": "Update axios to 1.7.5 with a security fix" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "25ec8c93bb27bbf68bf0961dbf84331b7f5ffbcc", + "area": "improvement", + "workstream": "Dependencies", + "comment": "Update @fluentui-contrib/react-chat to fix focus issues in chat component" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "443cd618b18de3fd8c8139411c15bd0d31dcce6f", + "area": "improvement", + "workstream": "Control button tooltip", + "comment": "Fix frequent tooltip dismissal when trying to mouse over tooltip content" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "33253c06bf8979df5c3de1444400485c99e2cb04", + "area": "improvement", + "workstream": "Calling dependency", + "comment": "Upgrade calling beta to 1.28.1-beta.1 and stable to 1.27.2" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "b1a4c63d904957a5b7bc6cdbdc4014c02ea2a04e", + "area": "fix", + "workstream": "Capabilities", + "comment": "Suppress initial notifications of capabilities being present when joining a call" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "a58c2bf8e84556beb3ab5857f4de154e4054f4fd", + "area": "fix", + "workstream": "CallWithChatAdapter events", + "comment": "Fix error when listening to capabilitiesChanged and spotlightChanged events from AzureCommunicationCallWithChatAdapter" + }, + { + "author": "93549644+ShaunaSong@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "ddaa4faeb8525e1c81428109f77400d51a032bfe", + "area": "improvement", + "workstream": "Add PPTLive presenter information", + "comment": "Add PPTLive presenter information" + }, + { + "author": "109105353+jpeng-ms@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "f57a9ca1dea01f29dd6eb7123728048d2a0b9a5a", + "area": "fix", + "workstream": "File Sharing", + "comment": "Refactored Teams Identity Logic for File Sharing" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "21e3c901fe034b4bdc001717b32ea18db2c8e3fe", + "area": "improvement", + "workstream": "Breakout rooms", + "comment": "Change logic of showing button to join breakout room when the breakout room call is available" + }, + { + "author": "3941071+emlynmac@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "97c12c08a0c8f88472b9df9931226a7d8087e701", + "area": "fix", + "workstream": "A11y Fixes", + "comment": "Fix Message status announcement sometimes takes priority over \"Message is deleted\" one" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "9446da143e0289e3bed83bab12b7f17a82099b61", + "area": "fix", + "workstream": "Breakout rooms", + "comment": "Delete joined and closing breakout room notifications when user is unassigned from breakout room or re-assigned to a closed breakout room" + }, + { + "author": "96077406+carocao-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "9a4358aff34ef9a4766830acdaaccaf151fc7deb", + "area": "fix", + "workstream": "captions", + "comment": "Fix bug when adapter caption events are not firing" + }, + { + "author": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "656fec2397a0cfac9cce7ce2fca989c7024897c1", + "area": "fix", + "workstream": "Lazy loading", + "comment": "Fix lazy loading for Composites" + }, + { + "author": "96077406+carocao-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "a486db357c8ee6a031382be3d908e4f642e97518", + "area": "fix", + "workstream": "Speaker", + "comment": "Fix bug where speakers are getting selected on safari" + }, + { + "author": "107075081+Leah-Xia-Microsoft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "0ce77a0332b2ddde9227259aebb3bd7d24bdcc9b", + "area": "fix", + "workstream": "ImageUpload", + "comment": "Disable image pasting when onInsertInlineImage is not provided" + }, + { + "author": "97124699+prabhjot-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "538ab3865a16bf3e65dc23fcc5cf0c4d70e949cd", + "area": "fix", + "workstream": "DNS", + "comment": "Hide DNS on Safari" + }, + { + "author": "2684369+JamesBurnside@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "50c4b32596a88027b35a606cada2f8883c0bf440", + "area": "improvement", + "workstream": "", + "comment": "Update @azure/communication-calling to 1.26.2" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "1f963e4dca353d5f9aec3e98922edfe5b2261c21", + "area": "feature", + "workstream": "Calling dependency", + "comment": "Update communication calling to 1.29.1-beta.1 and 1.28.1" + }, + { + "author": "2684369+JamesBurnside@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "02150c329e1e6dd5b854164e2222466d168400d8", + "area": "fix", + "workstream": "", + "comment": "Fix compliance notification not showing that transcription has stopped in react18 strict mode" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "b804a3719d94a63a0338ef6f0208277f4ef0af51", + "area": "fix", + "workstream": "RTE", + "comment": "Fix an issue where cursor position was incorrect after rich text input box was reset" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "5b2bcfd15ef18e41afc01777f813d04268114efd", + "area": "fix", + "workstream": "Dominant speaker streams", + "comment": "Ensure dominant speaker streams are rendered" + }, + { + "author": "dmceachern@microsoft.com", + "package": "@azure/communication-react", + "commit": "32b5de0d1c666ad3f596d8e7e5c3151492abfd5a", + "area": "fix", + "workstream": "A11y Ezra", + "comment": "Fix visible names for pinning, camera and mic buttons" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "2c12f3f18b925131d0d2b27e21f9f6c0182b410b", + "area": "improvement", + "workstream": "Dependencies", + "comment": "Chat SDK and Signaling dependencies update" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "aca100bb233f48af66885edaa4e71f323163a54e", + "area": "fix", + "workstream": "Pinned participants", + "comment": "Fix pinned participant limit to update correctly when pinned participants are removed from call" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "c1dd9bd25949b050c721fe945fad6737e6cb7246", + "area": "fix", + "workstream": "Overflow gallery", + "comment": "Fix vulnerability of having NaN from calculations in horizontal or vertical overflow gallery" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "81eaaab7fdbf205a2b81817abaf09b24afccbca1", + "area": "fix", + "workstream": "RTE", + "comment": "Update RoosterJS version to fix some issues with keyboard table navigation in Rich Text Editor components" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "41bed597127641800f343750e5370a52e0f1af26", + "area": "fix", + "workstream": "Read receipt selector", + "comment": "Fix chat selectors using read receipts from state" + }, + { + "author": "edwardlee@microsoft.com", + "package": "@azure/communication-react", + "commit": "cffc9be61a3a9cfa2ec0ca74d890604e6d584554", + "area": "improvement", + "workstream": "Storybook8", + "comment": "Update AddCSS to utils" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "62477caf23a6a33f477c02382022fd5b0550c4aa", + "area": "fix", + "workstream": "RTE", + "comment": "Update paddings and theme handling for rich text editor toolbar" + }, + { + "author": "2684369+JamesBurnside@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "3242f66da2a474b4aff94077975c1bfd31f7d624", + "area": "improvement", + "workstream": "", + "comment": "Update all dependencies with patch updates" + }, + { + "author": "edwardlee@microsoft.com", + "package": "@azure/communication-react", + "commit": "0cea67d7e97990407a7a59554d482e91e2d1b589", + "area": "fix", + "workstream": "A11y", + "comment": "Add role to SvgWithWorkWrapping and set as a heading in the configuration page on use" + }, + { + "author": "dmceachern@microsoft.com", + "package": "@azure/communication-react", + "commit": "6190b12700d9dc1e2e4f099c9e93e4856a5e09e1", + "area": "fix", + "workstream": "Ezra/a11y", + "comment": "Update contrast issues when interacting with other participants in the call" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "763054af6b8ff5965171ba6c36c09cc23a1c68e5", + "area": "fix", + "workstream": "Video effects button", + "comment": "Truncate long text used in video effects button" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "4b8a1977aae9077f0446cc175dcdb4563fb2f4fe", + "area": "fix", + "workstream": "RTE", + "comment": "Add announcements for applying bulleted/numbered lists in rich text editor and for adding new list items to them" + }, + { + "author": "109105353+jpeng-ms@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "f77faedd214d66c2f35cea9d252987e77f2597d2", + "area": "fix", + "workstream": "Inline Image", + "comment": "Fixed the issue where image loading placeholder doesn't work for safari" + }, + { + "author": "98852890+vhuseinova-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "251870ca54f9d38bd2c3536fe278db77d6ec8683", + "area": "fix", + "workstream": "RTE", + "comment": "Fix for an issue where toolbar didn't correctly show the selected style format during message editing" + } + ], + "minor": [ + { + "author": "97124699+prabhjot-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "213ff944a3ccfcb7bd5ada2df1a8f5b3f17dc3f3", + "area": "feature", + "workstream": "DNS", + "comment": "[DNS] Adapter API changes and common calling handlers" + }, + { + "author": "dmceachern@microsoft.com", + "package": "@azure/communication-react", + "commit": "31b697761c0ee4b4d4d38c501ab488cce8631383", + "area": "feature", + "workstream": "Ad hoc calling", + "comment": "Stabilize, Inbound calling, PSTN, Teams Adhoc calling" + }, + { + "author": "2684369+JamesBurnside@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "3a641857e8d7c15e5d61a5bd7ff39f69aeca2e46", + "area": "improvement", + "workstream": "Captions", + "comment": "Add CallAdapter API to start captions in the background" + }, + { + "author": "97124699+prabhjot-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "a9213c023e424e8748e64a0df31df963ecfe4c1d", + "area": "feature", + "workstream": "DNS", + "comment": "Add DNS toggle to Microphone button menu options" + }, + { + "author": "jiangnanhello@live.com", + "package": "@azure/communication-react", + "commit": "870d010092b413c466575aaa19bba43c292ca884", + "area": "improvement", + "workstream": "Full screen captions", + "comment": "Caption fullscreen mode api" + }, + { + "author": "96077406+carocao-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "cbf2bd8c8711340c1b9bba7e924bd0ec9326dda7", + "area": "feature", + "workstream": "Captions", + "comment": "GA acs captions" + } + ], + "prerelease": [ + { + "author": "97124699+prabhjot-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "5680829e1fa564bcad77f1c52f11443fbc62777b", + "area": "feature", + "workstream": "DNS", + "comment": "Add toggle for DNS on by default and hide DNS button in adapter options" + }, + { + "author": "79475487+mgamis-msft@users.noreply.github.com", + "package": "@azure/communication-react", + "commit": "aaf66eb76aa62d963f3a35995430f91a56022304", + "area": "feature", + "workstream": "Breakout rooms", + "comment": "Add breakout rooms to stateful layer and events to CallAdapter and CallWithChatAdapter" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/communication-react/CHANGELOG.stable.md b/packages/communication-react/CHANGELOG.stable.md index 8605a2a6dfc..ce68ce2c7ef 100644 --- a/packages/communication-react/CHANGELOG.stable.md +++ b/packages/communication-react/CHANGELOG.stable.md @@ -1,9 +1,91 @@ # Change Log - @azure/communication-react -This log was last generated on Mon, 15 Jul 2024 18:16:36 GMT and should not be manually modified. + +## [1.19.0](https://github.com/azure/communication-ui-library/tree/1.19.0) + +Thu, 12 Sep 2024 18:13:15 GMT +[Compare changes](https://github.com/azure/communication-ui-library/compare/1.19.0-beta.3...1.19.0) + +### Features + +### Closed Captions + +We are excited to announce that Azure Communications Services has recently added the Closed Captions feature. With closed captions, developers can provide a textual representation of the audio content in their videos, making it easier for users who are deaf or hard of hearing to follow along. Developers can enable this functionality today through our composites (e.g CallComposite, CallWithChatComposite). This feature includes support for: + +- Enable and disable closed captions in the call +- Change spoken language +- Being able to use captions outside of teams scenario + +### Inbound Calling + +We are excited to announce that the Azure Communication Services Web UI Library now supports Inbound Calling. This feature enables users to see, monitor, and handle new incoming calls. This feature is available for users within the Azure Communications ecosystem, and for users using “Communication as a Teams user”. Developers can use this functionality today through our UI components – the Incoming Call Stack and the Incoming Call Toast Notification.  + +- Accept calls with Audio, Accept with video, and reject incoming calls.  +- Manage and service multiple calls at once + +### PSTN + +We are excited to announce that the Azure Communication Services Web UI Library now supports PSTN in general availability. This feature enables developers using the UI library to dial and call phone numbers through the Azure Communication Services call service. Developers can use this functionality today through our CallComposite as well as through components (DTMF, Dialpad). + +- PSTN calling support for both 1 to 1 and multi-partcipant calls. +- Renders a dialpad that supports DTMF (dual tone multi-frequency +- Enables support for being put on hold, dialing in, removing users from an existing call + +### ACS 1 to N Calling + +We are excited to announce that the Azure Communication Services Web UI Library now supports 1:N Calling. This feature enables developers using the UI library to perform outbound calls through Azure Communication Services call service. Developers can use this functionality today through our CallComposite. + +- Enables 1:1 and 1:N outbound calls with ACS users +- Enables 1:N outbound calls with both ACS and PSTN users (if an alternate caller ID is provided) +- Supports On/Off hold features and ability to remove participants from a call. + +### Teams Ad Hoc with Teams users + +We are excited to announce that the Azure Communication Services Web UI Library now supports Ad-hoc Calling with Teams users. This feature enables users to start a call directly with a Teams user by using their ID. UI Library already supports Ad Hoc Calls with a Teams but, but now Developers can use this functionality today through our CallComposite with Teams users directly. + +- Connect directly to a Teams user through Adhoc calling + +### Improvements +- Add CallAdapter API to start captions in the background ([PR #5064](https://github.com/azure/communication-ui-library/pull/5064) by 2684369+JamesBurnside@users.noreply.github.com) +- Add PPTLive presenter information ([PR #4494](https://github.com/azure/communication-ui-library/pull/4494) by 93549644+ShaunaSong@users.noreply.github.com) +- Caption fullscreen mode ([PR #5164](https://github.com/azure/communication-ui-library/pull/5164) by jiangnanhello@live.com) +- Update @fluentui-contrib/react-chat to resolve focus in chat component ([PR #4862](https://github.com/azure/communication-ui-library/pull/4862) by 98852890+vhuseinova-msft@users.noreply.github.com) +- Update all dependencies with patch updates ([PR #4930](https://github.com/azure/communication-ui-library/pull/4930) by 2684369+JamesBurnside@users.noreply.github.com) +- Update axios to 1.7.5 with a security fix ([PR #5114](https://github.com/azure/communication-ui-library/pull/5114) by 107075081+Leah-Xia-Microsoft@users.noreply.github.com) +- Update communication-calling to 1.29.1-beta.1 and 1.28.1 ([PR #5088](https://github.com/azure/communication-ui-library/pull/5088) by 79475487+mgamis-msft@users.noreply.github.com) +- Update communication-chat and signaling dependencies ([PR #5138](https://github.com/azure/communication-ui-library/pull/5138) by 98852890+vhuseinova-msft@users.noreply.github.com) +- Update RoosterJS version to improve keyboard table navigation in Rich Text Editor components ([PR #5050](https://github.com/azure/communication-ui-library/pull/5050) by 98852890+vhuseinova-msft@users.noreply.github.com) + + +### Bug Fixes +- Add announcements for applying bulleted/numbered lists in rich text editor and for adding new list items to them ([PR #4874](https://github.com/azure/communication-ui-library/pull/4874) by 98852890+vhuseinova-msft@users.noreply.github.com) +- Add role to SvgWithWorkWrapping and set as a heading in the configuration page on use ([PR #5127](https://github.com/azure/communication-ui-library/pull/5127) by edwardlee@microsoft.com) +- Disable image pasting when onInsertInlineImage is not provided ([PR #5053](https://github.com/azure/communication-ui-library/pull/5053) by 107075081+Leah-Xia-Microsoft@users.noreply.github.com) +- Ensure dominant speaker streams are rendered ([PR #5129](https://github.com/azure/communication-ui-library/pull/5129) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix an issue where cursor position was incorrect after rich text input box was reset ([PR #4887](https://github.com/azure/communication-ui-library/pull/4887) by 98852890+vhuseinova-msft@users.noreply.github.com) +- Fix bug where speakers are getting selected on safari ([PR #4893](https://github.com/azure/communication-ui-library/pull/4893) by 96077406+carocao-msft@users.noreply.github.com) +- Fix chat selectors using read receipts from state ([PR #5063](https://github.com/azure/communication-ui-library/pull/5063) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix error when listening to capabilitiesChanged and spotlightChanged events from AzureCommunicationCallWithChatAdapter ([PR #5066](https://github.com/azure/communication-ui-library/pull/5066) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix for an issue where toolbar didn't correctly show the selected style format during message editing ([PR #4940](https://github.com/azure/communication-ui-library/pull/4940) by 98852890+vhuseinova-msft@users.noreply.github.com) +- Fix frequent tooltip dismissal when trying to mouse over tooltip content ([PR #5158](https://github.com/azure/communication-ui-library/pull/5158) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix lazy loading for Composites ([PR #5126](https://github.com/azure/communication-ui-library/pull/5126) by 107075081+Leah-Xia-Microsoft@users.noreply.github.com) +- Fix Message status announcement where it sometimes takes priority over "Message is deleted" ([PR #4334](https://github.com/azure/communication-ui-library/pull/4334) by 3941071+emlynmac@users.noreply.github.com) +- Fix pinned participant limit to update correctly when pinned participants are removed from call ([PR #4761](https://github.com/azure/communication-ui-library/pull/4761) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix vulnerability of having NaN from calculations in horizontal or vertical overflow gallery ([PR #4861](https://github.com/azure/communication-ui-library/pull/4861) by 79475487+mgamis-msft@users.noreply.github.com) +- Fix visible names for pinning, camera, and mic buttons ([PR #5079](https://github.com/azure/communication-ui-library/pull/5079) by dmceachern@microsoft.com) +- Fixed the issue where image loading placeholder doesn't work for safari ([PR #4846](https://github.com/azure/communication-ui-library/pull/4846) by 109105353+jpeng-ms@users.noreply.github.com) +- Refactored Teams Identity Logic for File Sharing ([PR #4918](https://github.com/azure/communication-ui-library/pull/4918) by 109105353+jpeng-ms@users.noreply.github.com) +- Remove use of phonenumberlib-js and manually format NA numbers ([PR #4920](https://github.com/azure/communication-ui-library/pull/4920) by 2684369+JamesBurnside@users.noreply.github.com) +- Resolve adapter caption events not firing ([PR #5065](https://github.com/azure/communication-ui-library/pull/5065) by 96077406+carocao-msft@users.noreply.github.com) +- Suppress initial notifications of capabilities being present when joining a call ([PR #4994](https://github.com/azure/communication-ui-library/pull/4994) by 79475487+mgamis-msft@users.noreply.github.com) +- Truncate long text used in video effects button ([PR #5097](https://github.com/azure/communication-ui-library/pull/5097) by 79475487+mgamis-msft@users.noreply.github.com) +- Update contrast issues when interacting with other participants in the call ([PR #5141](https://github.com/azure/communication-ui-library/pull/5141) by dmceachern@microsoft.com) +- Update paddings and theme handling for rich text editor toolbar ([PR #4852](https://github.com/azure/communication-ui-library/pull/4852) by 98852890+vhuseinova-msft@users.noreply.github.com) + + ## [1.18.0](https://github.com/azure/communication-ui-library/tree/1.18.0) Mon, 15 Jul 2024 18:16:36 GMT diff --git a/packages/communication-react/package.json b/packages/communication-react/package.json index 76c808ab5bd..06ce40c16f2 100644 --- a/packages/communication-react/package.json +++ b/packages/communication-react/package.json @@ -1,6 +1,6 @@ { "name": "@azure/communication-react", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "sideEffects": false, "description": "React library for building modern communication user experiences utilizing Azure Communication Services", "keywords": [ @@ -74,7 +74,7 @@ "./javascript-loaders": { "module": "./dist/dist-esm/communication-react/src/javascript-loaders.js", "types": "./dist/dist-esm/communication-react/src/javascript-loaders.d.ts" - } + } }, "scripts": { "copy-original": "cpx \"../*/src/**\" ./preprocess-dist && renamer --find src --replace preprocessed ./preprocess-dist/**/*", @@ -116,14 +116,14 @@ "@azure/core-auth": "^1.7.2", "@babel/cli": "^7.24.8", "@babel/core": "^7.25.2", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/chat-component-bindings": "1.19.0-beta.3", - "@internal/chat-stateful-client": "1.19.0-beta.3", - "@internal/fake-backends": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", - "@internal/acs-ui-javascript-loaders": "1.19.0-beta.3", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/chat-component-bindings": "1.20.0-beta.0", + "@internal/chat-stateful-client": "1.20.0-beta.0", + "@internal/fake-backends": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", + "@internal/acs-ui-javascript-loaders": "1.20.0-beta.0", "@microsoft/api-documenter": "~7.25.9", "@microsoft/api-extractor": "~7.47.4", "@rollup/plugin-json": "^6.0.1", @@ -177,4 +177,4 @@ "beachball": { "shouldPublish": false } -} +} \ No newline at end of file diff --git a/packages/fake-backends/CHANGELOG.json b/packages/fake-backends/CHANGELOG.json index b0265fab788..775b4e53e73 100644 --- a/packages/fake-backends/CHANGELOG.json +++ b/packages/fake-backends/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@internal/fake-backends", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/fake-backends_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/fake-backends", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/fake-backends/package.json b/packages/fake-backends/package.json index 6ea1b65a720..b1928044b06 100644 --- a/packages/fake-backends/package.json +++ b/packages/fake-backends/package.json @@ -1,6 +1,6 @@ { "name": "@internal/fake-backends", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Fake implementations of backend services", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -34,7 +34,7 @@ "@azure/communication-signaling": "1.0.0-beta.27 || 1.0.0-beta.28", "@azure/core-paging": "^1.5.0", "@azure/core-rest-pipeline": "^1.13.0", - "@internal/acs-ui-common": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", "@types/events": "^3.0.3", "events": "^3.3.0", "immer": "10.1.1", @@ -68,4 +68,4 @@ "typescript": "5.4.5", "webpack": "5.89.0" } -} +} \ No newline at end of file diff --git a/packages/react-components/CHANGELOG.json b/packages/react-components/CHANGELOG.json index a7652d5cd59..bb9c67ab5a8 100644 --- a/packages/react-components/CHANGELOG.json +++ b/packages/react-components/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@internal/react-components", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/react-components_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/react-components", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/react-components/package.json b/packages/react-components/package.json index b9ca1369638..b726e419b56 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -1,6 +1,6 @@ { "name": "@internal/react-components", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "React component library", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -43,7 +43,7 @@ "@fluentui/react-window-provider": "^2.2.27", "@fluentui-contrib/react-chat": "0.1.10", "@griffel/react": "^1.5.25", - "@internal/acs-ui-common": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", "copy-to-clipboard": "^3.3.1", "dompurify": "^3.1.6", "html-react-parser": "^5.1.12", @@ -129,4 +129,4 @@ "typescript": "5.4.5", "webpack": "5.89.0" } -} +} \ No newline at end of file diff --git a/packages/react-composites/CHANGELOG.json b/packages/react-composites/CHANGELOG.json index 85bc809c338..0b221bf527a 100644 --- a/packages/react-composites/CHANGELOG.json +++ b/packages/react-composites/CHANGELOG.json @@ -1,6 +1,57 @@ { "name": "@internal/react-composites", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/react-composites_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/calling-component-bindings to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/calling-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/chat-component-bindings to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/chat-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/react-components to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/react-composites", + "comment": "Bump @internal/fake-backends to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 6789a464658..130d3a69ea8 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -1,6 +1,6 @@ { "name": "@internal/react-composites", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Complete Azure Communication Services experiences", "module": "dist/dist-esm/index.js", "main": "dist/dist-cjs/index.js", @@ -55,12 +55,12 @@ "@fluentui/react-hooks": "^8.8.10", "@fluentui/react-icons": "^2.0.252", "@fluentui/react": "^8.120.0", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/chat-component-bindings": "1.19.0-beta.3", - "@internal/chat-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/chat-component-bindings": "1.20.0-beta.0", + "@internal/chat-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", "@types/events": "^3.0.3", "copy-to-clipboard": "^3.3.1", "events": "^3.3.0", @@ -85,7 +85,7 @@ "@babel/cli": "^7.24.8", "@babel/core": "^7.25.2", "@babel/preset-env": "7.23.9", - "@internal/fake-backends": "1.19.0-beta.3", + "@internal/fake-backends": "1.20.0-beta.0", "@microsoft/api-documenter": "~7.25.9", "@microsoft/api-extractor": "~7.47.4", "@playwright/test": "~1.39.0", @@ -156,4 +156,4 @@ "webpack": "5.89.0", "yargs": "^17.7.2" } -} +} \ No newline at end of file diff --git a/packages/storybook/CHANGELOG.json b/packages/storybook/CHANGELOG.json index 12ab429fa81..b1a8b9da26d 100644 --- a/packages/storybook/CHANGELOG.json +++ b/packages/storybook/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@internal/storybook", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/storybook_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/storybook", + "comment": "Bump @azure/communication-react to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/storybook", + "comment": "Bump @internal/fake-backends to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/storybook/package.json b/packages/storybook/package.json index 0931e5fa924..ba1dc9a2d0f 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -1,6 +1,6 @@ { "name": "@internal/storybook", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Azure Communication Services UI Library Storybook", "scripts": { "build": "cross-env NODE_ENV=production node ./scripts/build.mjs", @@ -24,7 +24,7 @@ "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@fluentui/react-components": "^9.54.7", "@fluentui/react-file-type-icons": "8.11.18", "@fluentui/react-hooks": "^8.8.10", @@ -32,7 +32,7 @@ "@fluentui/react": "^8.120.0", "@fluentui/theme-samples": "8.7.123", "@griffel/react": "^1.5.25", - "@internal/fake-backends": "1.19.0-beta.3", + "@internal/fake-backends": "1.20.0-beta.0", "@microsoft/applicationinsights-react-js": "^3.0.5", "@microsoft/applicationinsights-web": "^2.6.2", "copy-to-clipboard": "^3.3.1", diff --git a/packages/storybook8/CHANGELOG.json b/packages/storybook8/CHANGELOG.json index 807b8b5072a..98ec8589bf2 100644 --- a/packages/storybook8/CHANGELOG.json +++ b/packages/storybook8/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@internal/storybook8", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "1.19.0", + "tag": "@internal/storybook8_v1.19.0", + "comments": { + "patch": [ + { + "author": "beachball", + "package": "@internal/storybook8", + "comment": "Bump @azure/communication-react to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/storybook8", + "comment": "Bump @internal/fake-backends to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "1.19.0-beta.3", diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 7596971e80d..2118c71846d 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -1,6 +1,6 @@ { "name": "@internal/storybook8", - "version": "1.19.0-beta.3", + "version": "1.20.0-beta.0", "description": "Azure Communication Services UI Library Storybook", "scripts": { "build": "echo Storybook 8 build via 'build-s8' target", @@ -29,7 +29,7 @@ "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@fluentui/react-components": "^9.54.7", "@fluentui/react-file-type-icons": "8.11.18", "@fluentui/react-hooks": "^8.8.10", @@ -37,7 +37,7 @@ "@fluentui/react": "^8.120.0", "@fluentui/theme-samples": "8.7.123", "@griffel/react": "^1.5.25", - "@internal/fake-backends": "1.19.0-beta.3", + "@internal/fake-backends": "1.20.0-beta.0", "@microsoft/applicationinsights-react-js": "^3.0.5", "@microsoft/applicationinsights-web": "^2.6.2", "copy-to-clipboard": "^3.3.1", diff --git a/samples/CallWithChat/package.json b/samples/CallWithChat/package.json index 661220d9f2e..7f356fd85a3 100644 --- a/samples/CallWithChat/package.json +++ b/samples/CallWithChat/package.json @@ -37,18 +37,18 @@ "@azure/communication-identity": "^1.3.0", "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", "@babel/preset-react": "^7.12.7", "@fluentui/react": "^8.120.0", "@fluentui/react-file-type-icons": "8.11.18", "@fluentui/react-icons": "^2.0.252", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", "merge": "^2.1.1", "mobile-detect": "^1.4.5", "react": "18.3.1", diff --git a/samples/Calling/package.json b/samples/Calling/package.json index ee1606b10bf..d628d883268 100644 --- a/samples/Calling/package.json +++ b/samples/Calling/package.json @@ -33,7 +33,7 @@ "dependencies": { "@azure/abort-controller": "^1.1.0", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", @@ -41,11 +41,11 @@ "@fluentui/react": "^8.120.0", "@fluentui/react-hooks": "^8.8.10", "@fluentui/react-icons": "^2.0.252", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", "follow-redirects": "1.15.6", "merge": "^2.1.1", "mobile-detect": "^1.4.5", diff --git a/samples/CallingStateful/package.json b/samples/CallingStateful/package.json index ca6ab3eaa81..a4f02ebb44e 100644 --- a/samples/CallingStateful/package.json +++ b/samples/CallingStateful/package.json @@ -33,7 +33,7 @@ "dependencies": { "@azure/abort-controller": "^1.1.0", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", @@ -41,11 +41,11 @@ "@fluentui/react": "^8.120.0", "@fluentui/react-hooks": "^8.8.10", "@fluentui/react-icons": "^2.0.252", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", "follow-redirects": "1.15.6", "merge": "^2.1.1", "mobile-detect": "^1.4.5", diff --git a/samples/Chat/package.json b/samples/Chat/package.json index af27b39f903..c2cde1792d6 100644 --- a/samples/Chat/package.json +++ b/samples/Chat/package.json @@ -35,16 +35,16 @@ "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@azure/logger": "^1.0.4", "@fluentui/react": "^8.120.0", "@fluentui/react-file-type-icons": "8.11.18", "@fluentui/react-icons": "^2.0.252", - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/chat-stateful-client": "1.19.0-beta.3", - "@internal/chat-component-bindings": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/chat-stateful-client": "1.20.0-beta.0", + "@internal/chat-component-bindings": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", "@types/react-linkify": "^1.0.4", "json-stringify-safe": "^5.0.1", "mobile-detect": "^1.4.5", diff --git a/samples/ComponentExamples/package.json b/samples/ComponentExamples/package.json index aa585fcd474..e20e26e7238 100644 --- a/samples/ComponentExamples/package.json +++ b/samples/ComponentExamples/package.json @@ -28,7 +28,7 @@ "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@fluentui/react": "^8.120.0", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/samples/StaticHtmlComposites/package.json b/samples/StaticHtmlComposites/package.json index b1a958f5b51..b82cd2d29e9 100644 --- a/samples/StaticHtmlComposites/package.json +++ b/samples/StaticHtmlComposites/package.json @@ -23,7 +23,7 @@ }, "license": "MIT", "dependencies": { - "@azure/communication-react": "1.19.0-beta.3", + "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-common": "^2.3.1", "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", diff --git a/tools/check-treeshaking/CHANGELOG.json b/tools/check-treeshaking/CHANGELOG.json index ffd5e136ac5..c8c1e990f28 100644 --- a/tools/check-treeshaking/CHANGELOG.json +++ b/tools/check-treeshaking/CHANGELOG.json @@ -1,6 +1,63 @@ { "name": "@internal/check-treeshaking", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "0.1.0", + "tag": "@internal/check-treeshaking_v0.1.0", + "comments": { + "undefined": [ + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/acs-ui-common to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/react-components to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/chat-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/calling-stateful-client to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/chat-component-bindings to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/calling-component-bindings to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/react-composites to v1.19.0", + "commit": "not available" + }, + { + "author": "beachball", + "package": "@internal/check-treeshaking", + "comment": "Bump @internal/acs-ui-javascript-loaders to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "0.1.0", diff --git a/tools/check-treeshaking/package.json b/tools/check-treeshaking/package.json index a30ce431823..ca3d9885a1e 100644 --- a/tools/check-treeshaking/package.json +++ b/tools/check-treeshaking/package.json @@ -20,14 +20,14 @@ }, "license": "MIT", "dependencies": { - "@internal/acs-ui-common": "1.19.0-beta.3", - "@internal/react-components": "1.19.0-beta.3", - "@internal/chat-stateful-client": "1.19.0-beta.3", - "@internal/calling-stateful-client": "1.19.0-beta.3", - "@internal/chat-component-bindings": "1.19.0-beta.3", - "@internal/calling-component-bindings": "1.19.0-beta.3", - "@internal/react-composites": "1.19.0-beta.3", - "@internal/acs-ui-javascript-loaders": "1.19.0-beta.3" + "@internal/acs-ui-common": "1.20.0-beta.0", + "@internal/react-components": "1.20.0-beta.0", + "@internal/chat-stateful-client": "1.20.0-beta.0", + "@internal/calling-stateful-client": "1.20.0-beta.0", + "@internal/chat-component-bindings": "1.20.0-beta.0", + "@internal/calling-component-bindings": "1.20.0-beta.0", + "@internal/react-composites": "1.20.0-beta.0", + "@internal/acs-ui-javascript-loaders": "1.20.0-beta.0" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/tools/check-typescript-regression/CHANGELOG.json b/tools/check-typescript-regression/CHANGELOG.json index 7d7e66dda74..9328fdf58d1 100644 --- a/tools/check-typescript-regression/CHANGELOG.json +++ b/tools/check-typescript-regression/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@internal/check-typescript-regression", "entries": [ + { + "date": "Thu, 12 Sep 2024 18:13:19 GMT", + "version": "0.1.0", + "tag": "@internal/check-typescript-regression_v0.1.0", + "comments": { + "undefined": [ + { + "author": "beachball", + "package": "@internal/check-typescript-regression", + "comment": "Bump @azure/communication-react to v1.19.0", + "commit": "not available" + } + ] + } + }, { "date": "Fri, 06 Sep 2024 23:30:32 GMT", "version": "0.1.0", diff --git a/tools/check-typescript-regression/package.json b/tools/check-typescript-regression/package.json index 860ca20ff07..b117f10a454 100644 --- a/tools/check-typescript-regression/package.json +++ b/tools/check-typescript-regression/package.json @@ -19,7 +19,7 @@ "lint:quiet": "rushx lint -- --quiet" }, "dependencies": { - "@azure/communication-react": "1.19.0-beta.3" + "@azure/communication-react": "1.20.0-beta.0" }, "devDependencies": { "eslint": "^8.57.0", From 1d5ca7e0e465c07afe1a76679465c354f3d597b9 Mon Sep 17 00:00:00 2001 From: alkwa-msft <79329532+alkwa-msft@users.noreply.github.com> Date: Tue, 17 Sep 2024 12:39:00 -0700 Subject: [PATCH 10/58] 2 bug fixes. Incoming Call Modal referencing correct snippet and Theming page with borders around components (#5120) * referencing the component for the incoming call modal. * adding index.stories so we can reference the stories in the canvas elements --- .../stories/Concepts/Theming/Docs.mdx | 14 +++++----- .../Concepts/Theming/index.stories.tsx | 27 +++++++++++++++++++ .../IncomingCallModal/index.stories.tsx | 2 +- 3 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 packages/storybook8/stories/Concepts/Theming/index.stories.tsx diff --git a/packages/storybook8/stories/Concepts/Theming/Docs.mdx b/packages/storybook8/stories/Concepts/Theming/Docs.mdx index 33afc16e21c..a207adb0ff1 100644 --- a/packages/storybook8/stories/Concepts/Theming/Docs.mdx +++ b/packages/storybook8/stories/Concepts/Theming/Docs.mdx @@ -1,13 +1,11 @@ -import { Meta, Controls, Primary, Source } from '@storybook/addon-docs'; -import { DarkControlBar } from './DarkControlBar.story'; -import { DefaultTheme } from './DefaultTheme.story'; -import { ThemedButton } from './ThemedButton.story'; +import { Meta, Controls, Primary, Source, Canvas } from '@storybook/addon-docs'; +import * as ThemingStories from './index.stories'; import DarkControlBarText from '!!raw-loader!./snippets/DarkControlBar.snippet.tsx'; import DefaultThemeSnippetText from '!!raw-loader!./snippets/DefaultTheme.snippet.tsx'; import ThemedButtonText from '!!raw-loader!./snippets/ThemedButton.snippet.tsx'; - + # Theming @@ -20,14 +18,14 @@ is a wrapping component that allows you to theme all ACS UI Library components c ACS UI Library components are themed with a light theme by default as shown by the `ControlBar` and buttons below. - + To theme this ControlBar, import `FluentThemeProvider` from `@azure/communication-react` and wrap it around the `ControlBar`. Then import `darkTheme` from `@azure/communication-react` and assign it to the `fluentTheme` property of `FluentThemeProvider`. `darkTheme` is a [Theme](https://aka.ms/fluentui#/controls/web/references/theme) object from Fluent UI. - + ## FluentThemeProvider Props @@ -78,7 +76,7 @@ But if you wish to override the mapping, we recommend that you use the `useTheme use the component's `styles` prop like in the example below. - + Should you override the palette mapping, please note that ACS UI Library components abide by the general Fluent UI mappings. Foreground colors are used for text, icons, and outlines while background colors for component diff --git a/packages/storybook8/stories/Concepts/Theming/index.stories.tsx b/packages/storybook8/stories/Concepts/Theming/index.stories.tsx new file mode 100644 index 00000000000..810659c4751 --- /dev/null +++ b/packages/storybook8/stories/Concepts/Theming/index.stories.tsx @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { Meta } from '@storybook/react'; +import { DarkControlBar as DarkControlBarSnippet } from './DarkControlBar.story'; +import { DefaultTheme as DefaultThemeSnippet } from './DefaultTheme.story'; +import { ThemedButton as ThemedButtonSnippet } from './ThemedButton.story'; + +export const DarkControlBarDocsOnly = { + render: DarkControlBarSnippet +}; + +export const DefaultThemeDocsOnly = { + render: DefaultThemeSnippet +}; + +export const ThemedButtonDocsOnly = { + render: ThemedButtonSnippet +}; + +const meta: Meta = { + title: 'Concepts/Theming', + component: DefaultThemeSnippet, + argTypes: {} +}; + +export default meta; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx index fa3a6e63d4a..3d74c5b53b1 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx @@ -1,6 +1,6 @@ import { Meta } from '@storybook/react/*'; import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; -import { IncomingCallModal as IncomingCallModalStory } from './snippets/exampleIncomingCallModal.snippet'; +import { IncomingCallModal as IncomingCallModalStory } from './IncomingCallModal.story'; export const IncomingCallModal = { render: IncomingCallModalStory From 4be59e8edaa86cb7eda66af72fb96ac4896f65c4 Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Tue, 17 Sep 2024 14:05:38 -0700 Subject: [PATCH 11/58] Update changelogs (#5186) --- packages/communication-react/CHANGELOG.stable.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/communication-react/CHANGELOG.stable.md b/packages/communication-react/CHANGELOG.stable.md index ce68ce2c7ef..0f140622e38 100644 --- a/packages/communication-react/CHANGELOG.stable.md +++ b/packages/communication-react/CHANGELOG.stable.md @@ -44,7 +44,7 @@ We are excited to announce that the Azure Communication Services Web UI Library ### Teams Ad Hoc with Teams users -We are excited to announce that the Azure Communication Services Web UI Library now supports Ad-hoc Calling with Teams users. This feature enables users to start a call directly with a Teams user by using their ID. UI Library already supports Ad Hoc Calls with a Teams but, but now Developers can use this functionality today through our CallComposite with Teams users directly. +We are excited to announce that the Azure Communication Services Web UI Library now supports Ad-hoc Calling with Teams users. This feature enables users to start a call directly with a Teams user by using their ID. UI Library already supports Ad Hoc Calls with a Teams bot, but now Developers can use this functionality today through our CallComposite with Teams users directly. - Connect directly to a Teams user through Adhoc calling @@ -59,7 +59,6 @@ We are excited to announce that the Azure Communication Services Web UI Library - Update communication-chat and signaling dependencies ([PR #5138](https://github.com/azure/communication-ui-library/pull/5138) by 98852890+vhuseinova-msft@users.noreply.github.com) - Update RoosterJS version to improve keyboard table navigation in Rich Text Editor components ([PR #5050](https://github.com/azure/communication-ui-library/pull/5050) by 98852890+vhuseinova-msft@users.noreply.github.com) - ### Bug Fixes - Add announcements for applying bulleted/numbered lists in rich text editor and for adding new list items to them ([PR #4874](https://github.com/azure/communication-ui-library/pull/4874) by 98852890+vhuseinova-msft@users.noreply.github.com) - Add role to SvgWithWorkWrapping and set as a heading in the configuration page on use ([PR #5127](https://github.com/azure/communication-ui-library/pull/5127) by edwardlee@microsoft.com) @@ -83,7 +82,6 @@ We are excited to announce that the Azure Communication Services Web UI Library - Suppress initial notifications of capabilities being present when joining a call ([PR #4994](https://github.com/azure/communication-ui-library/pull/4994) by 79475487+mgamis-msft@users.noreply.github.com) - Truncate long text used in video effects button ([PR #5097](https://github.com/azure/communication-ui-library/pull/5097) by 79475487+mgamis-msft@users.noreply.github.com) - Update contrast issues when interacting with other participants in the call ([PR #5141](https://github.com/azure/communication-ui-library/pull/5141) by dmceachern@microsoft.com) -- Update paddings and theme handling for rich text editor toolbar ([PR #4852](https://github.com/azure/communication-ui-library/pull/4852) by 98852890+vhuseinova-msft@users.noreply.github.com) ## [1.18.0](https://github.com/azure/communication-ui-library/tree/1.18.0) From bbc495137cd4973755fc7b5ba05cf0de6df00c03 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Wed, 18 Sep 2024 09:07:12 -0700 Subject: [PATCH 12/58] [Feature cleanup] remove cc for hide attendee names (#5175) * remove cc for hide attendee names * updates per comments --- common/config/babel/features.js | 2 -- .../src/baseSelectors.ts | 2 -- .../src/participantListSelector.ts | 14 ++++---------- .../src/utils/videoGalleryUtils.ts | 12 +++--------- .../src/videoGallerySelector.ts | 5 ----- .../src/CallClientState.ts | 1 - .../calling-stateful-client/src/CallContext.ts | 1 - .../src/CapabilitiesSubscriber.ts | 1 - .../calling-stateful-client/src/Converter.ts | 4 ---- .../src/components/ParticipantItem.tsx | 1 - .../src/components/ParticipantList.tsx | 8 ++------ .../src/components/RemoteVideoTile.tsx | 17 +++++++---------- .../src/components/VideoGallery.tsx | 1 - .../CallComposite/adapter/CallAdapter.ts | 1 - .../CapabilitiesChangedNotificationBar.tsx | 3 +-- .../state/CallWithChatAdapterState.ts | 3 +-- 16 files changed, 18 insertions(+), 58 deletions(-) diff --git a/common/config/babel/features.js b/common/config/babel/features.js index 67c05561fdc..f233f7f0019 100644 --- a/common/config/babel/features.js +++ b/common/config/babel/features.js @@ -88,8 +88,6 @@ module.exports = { "stabilizedDemo", // Joining calls using teams token "teams-identity-support", - // feature for hiding attendee name in the teams meeting - "hide-attendee-name", // Feature for end call options 'end-call-options', // Feature to support file sharing in Teams interoperability chats diff --git a/packages/calling-component-bindings/src/baseSelectors.ts b/packages/calling-component-bindings/src/baseSelectors.ts index e63e37a9c92..219283ea7d2 100644 --- a/packages/calling-component-bindings/src/baseSelectors.ts +++ b/packages/calling-component-bindings/src/baseSelectors.ts @@ -55,9 +55,7 @@ export const getRole = (state: CallClientState, props: CallingBaseSelectorProps) * @private */ export const isHideAttendeeNamesEnabled = (state: CallClientState, props: CallingBaseSelectorProps): boolean => { - /* @conditional-compile-remove(hide-attendee-name) */ return state.calls[props.callId]?.hideAttendeeNames ?? false; - return false; }; /** diff --git a/packages/calling-component-bindings/src/participantListSelector.ts b/packages/calling-component-bindings/src/participantListSelector.ts index 09b70fd28f0..69c611ea9a0 100644 --- a/packages/calling-component-bindings/src/participantListSelector.ts +++ b/packages/calling-component-bindings/src/participantListSelector.ts @@ -11,7 +11,6 @@ import { CallingBaseSelectorProps } from './baseSelectors'; import { getRole } from './baseSelectors'; -/* @conditional-compile-remove(hide-attendee-name) */ import { isHideAttendeeNamesEnabled } from './baseSelectors'; import { CallParticipantListParticipant } from '@internal/react-components'; import { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils'; @@ -24,7 +23,6 @@ import { toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; import { getParticipantCount } from './baseSelectors'; import { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common'; import { ParticipantRole, SpotlightedParticipant } from '@azure/communication-calling'; -/* @conditional-compile-remove(hide-attendee-name) */ import { maskDisplayNameWithRole } from './utils/callUtils'; import { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers'; @@ -64,10 +62,8 @@ const convertRemoteParticipantsToParticipantListParticipants = ( * and mapping their state to be 'Ringing' */ const state = _isRingingPSTNParticipant(participant); - let displayName = participant.displayName; - /* @conditional-compile-remove(hide-attendee-name) */ - displayName = maskDisplayNameWithRole( - displayName, + const displayName = maskDisplayNameWithRole( + participant.displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled @@ -136,7 +132,6 @@ export const participantListSelector: ParticipantListSelector = createSelector( getLocalParticipantRaisedHand, getRole, getParticipantCount, - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature @@ -150,7 +145,6 @@ export const participantListSelector: ParticipantListSelector = createSelector( raisedHand, role, partitipantCount, - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, localParticipantReactionState, spotlightCallFeature @@ -164,8 +158,8 @@ export const participantListSelector: ParticipantListSelector = createSelector( ? convertRemoteParticipantsToParticipantListParticipants( updateUserDisplayNamesTrampoline(Object.values(remoteParticipants)), localUserCanRemoveOthers, - undefined || /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, - undefined || /* @conditional-compile-remove(hide-attendee-name) */ role, + isHideAttendeeNamesEnabled, + role, spotlightCallFeature?.spotlightedParticipants ) : []; diff --git a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts index e229cce63c1..a1403fee798 100644 --- a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts +++ b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts @@ -6,14 +6,12 @@ import { RemoteParticipantState as RemoteParticipantConnectionState } from '@azure/communication-calling'; import { SpotlightedParticipant } from '@azure/communication-calling'; -/* @conditional-compile-remove(hide-attendee-name) */ import { ParticipantRole } from '@azure/communication-calling'; import { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; import { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client'; import { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components'; import memoizeOne from 'memoize-one'; import { _isRingingPSTNParticipant } from './callUtils'; -/* @conditional-compile-remove(hide-attendee-name) */ import { maskDisplayNameWithRole } from './callUtils'; import { checkIsSpeaking } from './SelectorUtils'; import { isPhoneNumberIdentifier } from '@azure/communication-common'; @@ -30,9 +28,7 @@ export const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersI /** @internal */ export type _VideoGalleryRemoteParticipantsMemoFn = ( remoteParticipants: RemoteParticipantState[] | undefined, - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled?: boolean, - /* @conditional-compile-remove(hide-attendee-name) */ localUserRole?: ParticipantRole ) => VideoGalleryRemoteParticipant[]; @@ -40,7 +36,7 @@ export type _VideoGalleryRemoteParticipantsMemoFn = ( export const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipantsMemoFn = ( remoteParticipants: RemoteParticipantState[] | undefined, isHideAttendeeNamesEnabled?: boolean, - /* @conditional-compile-remove(hide-attendee-name) */ localUserRole? + localUserRole? ): VideoGalleryRemoteParticipant[] => { if (!remoteParticipants) { return []; @@ -61,10 +57,8 @@ export const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipant }) .map((participant: RemoteParticipantState) => { const state = _isRingingPSTNParticipant(participant); - let displayName = participant.displayName; - /* @conditional-compile-remove(hide-attendee-name) */ - displayName = maskDisplayNameWithRole( - displayName, + const displayName = maskDisplayNameWithRole( + participant.displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled diff --git a/packages/calling-component-bindings/src/videoGallerySelector.ts b/packages/calling-component-bindings/src/videoGallerySelector.ts index d42fc15276b..069454ddf13 100644 --- a/packages/calling-component-bindings/src/videoGallerySelector.ts +++ b/packages/calling-component-bindings/src/videoGallerySelector.ts @@ -16,7 +16,6 @@ import { getRole, getScreenShareRemoteParticipant } from './baseSelectors'; -/* @conditional-compile-remove(hide-attendee-name) */ import { isHideAttendeeNamesEnabled } from './baseSelectors'; import { getOptimalVideoCount } from './baseSelectors'; import { _updateUserDisplayNames } from './utils/callUtils'; @@ -69,7 +68,6 @@ export const videoGallerySelector: VideoGallerySelector = createSelector( getOptimalVideoCount, getRole, getLocalParticipantRaisedHand, - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature, @@ -87,7 +85,6 @@ export const videoGallerySelector: VideoGallerySelector = createSelector( optimalVideoCount, role, raisedHand, - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, localParticipantReaction, spotlightCallFeature, @@ -136,9 +133,7 @@ export const videoGallerySelector: VideoGallerySelector = createSelector( ), remoteParticipants: _videoGalleryRemoteParticipantsMemo( updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants), - /* @conditional-compile-remove(hide-attendee-name) */ isHideAttendeeNamesEnabled, - /* @conditional-compile-remove(hide-attendee-name) */ role ), dominantSpeakers: dominantSpeakerIds, diff --git a/packages/calling-stateful-client/src/CallClientState.ts b/packages/calling-stateful-client/src/CallClientState.ts index 90b75758ecc..a93da07e493 100644 --- a/packages/calling-stateful-client/src/CallClientState.ts +++ b/packages/calling-stateful-client/src/CallClientState.ts @@ -641,7 +641,6 @@ export interface CallState { * Proxy of {@link @azure/communication-calling#CapabilitiesFeature}. */ capabilitiesFeature?: CapabilitiesFeatureState; - /* @conditional-compile-remove(hide-attendee-name) */ /** * Hide attendee names in teams meeting */ diff --git a/packages/calling-stateful-client/src/CallContext.ts b/packages/calling-stateful-client/src/CallContext.ts index f1dcd760db0..ffe26a14b1c 100644 --- a/packages/calling-stateful-client/src/CallContext.ts +++ b/packages/calling-stateful-client/src/CallContext.ts @@ -539,7 +539,6 @@ export class CallContext { }); } - /* @conditional-compile-remove(hide-attendee-name) */ public setHideAttendeeNames(callId: string, capabilitiesChangeInfo: CapabilitiesChangeInfo): void { this.modifyState((draft: CallClientState) => { const call = draft.calls[this._callIdHistory.latestCallId(callId)]; diff --git a/packages/calling-stateful-client/src/CapabilitiesSubscriber.ts b/packages/calling-stateful-client/src/CapabilitiesSubscriber.ts index 8a578f7178a..7cfff07de12 100644 --- a/packages/calling-stateful-client/src/CapabilitiesSubscriber.ts +++ b/packages/calling-stateful-client/src/CapabilitiesSubscriber.ts @@ -33,7 +33,6 @@ export class CapabilitiesSubscriber { private capabilitiesChanged = (data: CapabilitiesChangeInfo): void => { this._context.setCapabilities(this._callIdRef.callId, this._capabilitiesFeature.capabilities, data); - /* @conditional-compile-remove(hide-attendee-name) */ if (data.oldValue.viewAttendeeNames !== data.newValue.viewAttendeeNames) { this._context.setHideAttendeeNames(this._callIdRef.callId, data); } diff --git a/packages/calling-stateful-client/src/Converter.ts b/packages/calling-stateful-client/src/Converter.ts index 75cbc40da0f..ce2b6743609 100644 --- a/packages/calling-stateful-client/src/Converter.ts +++ b/packages/calling-stateful-client/src/Converter.ts @@ -101,7 +101,6 @@ export function convertSdkParticipantToDeclarativeParticipant( isMuted: participant.isMuted, isSpeaking: participant.isSpeaking, raisedHand: undefined, - /* @conditional-compile-remove(hide-attendee-name) */ role: participant.role, spotlight: undefined }; @@ -118,9 +117,7 @@ export function convertSdkCallToDeclarativeCall(call: CallCommon): CallState { declarativeRemoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = convertSdkParticipantToDeclarativeParticipant(participant); }); - /* @conditional-compile-remove(hide-attendee-name) */ let hideAttendeeNames = false; - /* @conditional-compile-remove(hide-attendee-name) */ if ( call.feature(Features.Capabilities).capabilities && call.feature(Features.Capabilities).capabilities.viewAttendeeNames @@ -185,7 +182,6 @@ export function convertSdkCallToDeclarativeCall(call: CallCommon): CallState { optimalVideoCount: { maxRemoteVideoStreams: call.feature(Features.OptimalVideoCount).optimalVideoCount }, - /* @conditional-compile-remove(hide-attendee-name) */ hideAttendeeNames, info: callInfo, meetingConference: { conferencePhones: [] } diff --git a/packages/react-components/src/components/ParticipantItem.tsx b/packages/react-components/src/components/ParticipantItem.tsx index 43ba47f42f4..8296ae40e3b 100644 --- a/packages/react-components/src/components/ParticipantItem.tsx +++ b/packages/react-components/src/components/ParticipantItem.tsx @@ -76,7 +76,6 @@ export interface ParticipantItemStrings { /* @conditional-compile-remove(PSTN-calls) */ /** String shown when `participantState` is `Hold` */ participantStateHold?: string; - /* @conditional-compile-remove(hide-attendee-name) */ /** String for the attendee role */ attendeeRole: string; } diff --git a/packages/react-components/src/components/ParticipantList.tsx b/packages/react-components/src/components/ParticipantList.tsx index 0ccf60fd7ac..b2918f4eff6 100644 --- a/packages/react-components/src/components/ParticipantList.tsx +++ b/packages/react-components/src/components/ParticipantList.tsx @@ -138,17 +138,13 @@ const onRenderParticipantDefault = ( const menuItems = createParticipantMenuItems && createParticipantMenuItems(participant); - let displayName = participant.displayName; - - /* @conditional-compile-remove(hide-attendee-name) */ - const formatDisplayName = (): string | undefined => { + const formatDisplayName = (displayName?: string): string | undefined => { if (displayName && strings.attendeeRole) { return _formatString(displayName, { AttendeeRole: strings.attendeeRole }); } return displayName; }; - /* @conditional-compile-remove(hide-attendee-name) */ - displayName = formatDisplayName(); + const displayName = formatDisplayName(participant.displayName); const callingPalette = (theme as unknown as CallingTheme).callingPalette; diff --git a/packages/react-components/src/components/RemoteVideoTile.tsx b/packages/react-components/src/components/RemoteVideoTile.tsx index cba77a2d9dd..426b13babc5 100644 --- a/packages/react-components/src/components/RemoteVideoTile.tsx +++ b/packages/react-components/src/components/RemoteVideoTile.tsx @@ -22,7 +22,6 @@ import { } from './VideoGallery/useVideoStreamLifecycleMaintainer'; import { useVideoTileContextualMenuProps } from './VideoGallery/useVideoTileContextualMenuProps'; import { VideoTile } from './VideoTile'; -/* @conditional-compile-remove(hide-attendee-name) */ import { _formatString } from '@internal/acs-ui-common'; import { ReactionResources } from '../types/ReactionTypes'; import { MeetingReactionOverlay } from './MeetingReactionOverlay'; @@ -188,18 +187,18 @@ export const _RemoteVideoTile = React.memo( [setDrawerMenuItemProps, contextualMenuProps] ); - let displayName = remoteParticipant.displayName || strings.displayNamePlaceholder; - /* @conditional-compile-remove(hide-attendee-name) */ const attendeeRoleString = props.strings?.attendeeRole; - /* @conditional-compile-remove(hide-attendee-name) */ - const formatDisplayName = (): string => { - if (displayName && attendeeRoleString) { - return _formatString(displayName, { AttendeeRole: attendeeRoleString }); + const formatDisplayName = (displayName: string, role: string): string => { + if (displayName && role) { + return _formatString(displayName, { AttendeeRole: role }); } return displayName; }; - + const displayName = formatDisplayName( + remoteParticipant.displayName ? remoteParticipant.displayName : strings.displayNamePlaceholder, + attendeeRoleString + ); const formatInitialsName = (): string | undefined => { if (remoteParticipant.displayName && attendeeRoleString) { return _formatString(remoteParticipant.displayName, { AttendeeRole: attendeeRoleString }); @@ -215,8 +214,6 @@ export const _RemoteVideoTile = React.memo( /> ); - /* @conditional-compile-remove(hide-attendee-name) */ - displayName = formatDisplayName(); return ( )} - { - /* @conditional-compile-remove(PSTN-calls) */ pstnCallChosen && ( - - - - { - /** - * We need to pass in the formatting for the phone number string in the onChange handler - * to make sure the phone number is in E.164 format. - */ - const phoneNumber = '+' + newValue?.replace(/\D/g, ''); - setDialpadParticipant(phoneNumber); - }} - /> - - setAlternateCallerId(newValue)} - onFocus={() => setAlternateCallerIdCalloutVisible(true)} + {pstnCallChosen && ( + + + + { + /** + * We need to pass in the formatting for the phone number string in the onChange handler + * to make sure the phone number is in E.164 format. + */ + const phoneNumber = '+' + newValue?.replace(/\D/g, ''); + setDialpadParticipant(phoneNumber); + }} /> - {alternateCallerIdCalloutVisible && ( - setAlternateCallerIdCalloutVisible(false)} - > - - AlternateCallerId - -
    -
  • This number will act as your caller id when no display name is provided.
  • -
  • Must be from same Azure Communication Services resource as the user making the call.
  • -
- - Learn more about phone numbers and Azure Communication Services. - -
- )}
- ) - } + setAlternateCallerId(newValue)} + onFocus={() => setAlternateCallerIdCalloutVisible(true)} + /> + {alternateCallerIdCalloutVisible && ( + setAlternateCallerIdCalloutVisible(false)} + > + + AlternateCallerId + +
    +
  • This number will act as your caller id when no display name is provided.
  • +
  • Must be from same Azure Communication Services resource as the user making the call.
  • +
+ + Learn more about phone numbers and Azure Communication Services. + +
+ )} +
+ )}
{showDisplayNameField && } { /* @conditional-compile-remove(one-to-n-calling) */ const acsParticipantsToCall = parseParticipants(outboundParticipants); const teamsParticipantsToCall = parseParticipants(outboundTeamsUsers); - /* @conditional-compile-remove(PSTN-calls) */ const dialpadParticipantToCall = parseParticipants(dialPadParticipant); props.startCallHandler({ //TODO: This needs to be updated after we change arg types of TeamsCall @@ -422,9 +402,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { callLocator: callLocator, option: chosenCallOption.key, role: chosenRoomsRoleOption.key, - /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ outboundParticipants: acsParticipantsToCall ? acsParticipantsToCall : dialpadParticipantToCall, - /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId, /* @conditional-compile-remove(teams-identity-support) */ teamsToken, From d41c88f829b89af8e1b8b35d1dd93cf189bb21d5 Mon Sep 17 00:00:00 2001 From: Patrick Latter <73612854+palatter@users.noreply.github.com> Date: Mon, 23 Sep 2024 18:37:44 -0700 Subject: [PATCH 19/58] [A11Y] Refactor disable send button and resolve issue with it showing as disabled when enabled. (#5154) * Simplify sendbox disable * Use disable attribute * Clean up * Allow disable focus * Don't set default value for aria-expanded * Don't set false * linting --- .../src/components/InputBoxButton.tsx | 45 +++++++-------- .../RichTextEditor/RichTextSendBox.tsx | 36 ++++++------ .../src/components/SendBox.tsx | 52 +++++++----------- .../src/components/styles/SendBox.styles.ts | 13 +---- .../src/components/utils/SendBoxUtils.ts | 6 +- ...ress-group-layout-Desktop-Chrome-linux.png | Bin 8670 -> 8642 bytes ...-layout-Mobile-Android-Landscape-linux.png | Bin 9770 -> 9733 bytes ...p-layout-Mobile-Android-Portrait-linux.png | Bin 10728 -> 10699 bytes ...s-singular-layout-Desktop-Chrome-linux.png | Bin 6684 -> 6652 bytes ...-layout-Mobile-Android-Landscape-linux.png | Bin 6312 -> 6273 bytes ...r-layout-Mobile-Android-Portrait-linux.png | Bin 6080 -> 6043 bytes ...nts-with-progress-Desktop-Chrome-linux.png | Bin 8670 -> 8642 bytes ...rogress-Mobile-Android-Landscape-linux.png | Bin 9770 -> 9733 bytes ...progress-Mobile-Android-Portrait-linux.png | Bin 10728 -> 10699 bytes 14 files changed, 64 insertions(+), 88 deletions(-) diff --git a/packages/react-components/src/components/InputBoxButton.tsx b/packages/react-components/src/components/InputBoxButton.tsx index 9aa34d9311f..5d017007af4 100644 --- a/packages/react-components/src/components/InputBoxButton.tsx +++ b/packages/react-components/src/components/InputBoxButton.tsx @@ -20,7 +20,7 @@ export type InputBoxButtonProps = { ariaLabel?: string; tooltipContent?: string; 'data-testId'?: string; - ariaDisabled?: boolean; + disabled?: boolean; ariaExpanded?: boolean; }; @@ -36,8 +36,8 @@ export const InputBoxButton = (props: InputBoxButtonProps): JSX.Element => { id, tooltipContent, 'data-testId': dataTestId, - ariaDisabled = false, - ariaExpanded = false + disabled, + ariaExpanded } = props; const [isHover, setIsHover] = useState(false); const mergedButtonStyle = mergeStyles(inputBoxButtonStyle, className); @@ -53,27 +53,24 @@ export const InputBoxButton = (props: InputBoxButtonProps): JSX.Element => { }; return ( - {/* IconButton doesn't support aria-disabled so adding a parent element that wil have this value set */} - {/* in this case aria-disabled will be set to the same value for all children elements */} - {/* see aria-disabled documentation for more information */} - - { - setIsHover(true); - }} - onMouseLeave={() => { - setIsHover(false); - }} - // VoiceOver fix: Avoid icon from stealing focus when IconButton is double-tapped to send message by wrapping with Stack with pointerEvents style to none - onRenderIcon={() => {onRenderIcon(isHover)}} - data-testid={dataTestId} - aria-expanded={ariaExpanded} - /> - + { + setIsHover(true); + }} + onMouseLeave={() => { + setIsHover(false); + }} + // VoiceOver fix: Avoid icon from stealing focus when IconButton is double-tapped to send message by wrapping with Stack with pointerEvents style to none + onRenderIcon={() => {onRenderIcon(isHover)}} + data-testid={dataTestId} + aria-expanded={ariaExpanded} + disabled={disabled} + allowDisabledFocus={true} + /> ); }; diff --git a/packages/react-components/src/components/RichTextEditor/RichTextSendBox.tsx b/packages/react-components/src/components/RichTextEditor/RichTextSendBox.tsx index 8a12ebf295a..321356a500d 100644 --- a/packages/react-components/src/components/RichTextEditor/RichTextSendBox.tsx +++ b/packages/react-components/src/components/RichTextEditor/RichTextSendBox.tsx @@ -13,7 +13,7 @@ import { InputBoxButton } from '../InputBoxButton'; import { RichTextSendBoxErrors, RichTextSendBoxErrorsProps } from './RichTextSendBoxErrors'; import { isMessageTooLong, - isSendBoxButtonAriaDisabled, + isSendBoxButtonDisabled, sanitizeText, modifyInlineImagesInContentString } from '../utils/SendBoxUtils'; @@ -449,6 +449,16 @@ export const RichTextSendBox = (props: RichTextSendBoxProps): JSX.Element => { inlineImagesWithProgress ]); + const isSendBoxButtonDisabledValue = useMemo(() => { + return isSendBoxButtonDisabled({ + hasContent, + /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads: + isAttachmentUploadCompleted(attachments), + hasError: hasErrorMessage, + disabled + }); + }, [/* @conditional-compile-remove(file-sharing-acs) */ attachments, disabled, hasContent, hasErrorMessage]); + const onRenderSendIcon = useCallback( (isHover: boolean) => { return ( @@ -456,17 +466,13 @@ export const RichTextSendBox = (props: RichTextSendBoxProps): JSX.Element => { iconName={isHover && hasContent ? 'SendBoxSendHovered' : 'SendBoxSend'} className={sendIconStyle({ theme, - hasText: hasContent, - /* @conditional-compile-remove(file-sharing-acs) */ - hasAttachment: false, - hasErrorMessage: hasErrorMessage, - defaultTextColor: theme.palette.neutralSecondary, - disabled: disabled + isSendBoxButtonDisabled: isSendBoxButtonDisabledValue, + defaultTextColor: theme.palette.neutralSecondary })} /> ); }, - [disabled, hasContent, hasErrorMessage, theme] + [theme, isSendBoxButtonDisabledValue, hasContent] ); const sendBoxErrorsProps: RichTextSendBoxErrorsProps = useMemo(() => { @@ -535,16 +541,6 @@ export const RichTextSendBox = (props: RichTextSendBoxProps): JSX.Element => { disabled ]); - const isSendBoxButtonAriaDisabledValue = useMemo(() => { - return isSendBoxButtonAriaDisabled({ - hasContent, - /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads: - isAttachmentUploadCompleted(attachments), - hasError: hasErrorMessage, - disabled - }); - }, [/* @conditional-compile-remove(file-sharing-acs) */ attachments, disabled, hasContent, hasErrorMessage]); - const sendButton = useMemo(() => { return ( { className={richTextActionButtonsStyle} ariaLabel={localeStrings.sendButtonAriaLabel} tooltipContent={localeStrings.sendButtonAriaLabel} - ariaDisabled={isSendBoxButtonAriaDisabledValue} + disabled={isSendBoxButtonDisabledValue} /> ); - }, [isSendBoxButtonAriaDisabledValue, localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]); + }, [isSendBoxButtonDisabledValue, localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]); /* @conditional-compile-remove(file-sharing-acs) */ const hasAttachmentUploads = useMemo(() => { diff --git a/packages/react-components/src/components/SendBox.tsx b/packages/react-components/src/components/SendBox.tsx index 56a995e433d..9baebf1739f 100644 --- a/packages/react-components/src/components/SendBox.tsx +++ b/packages/react-components/src/components/SendBox.tsx @@ -32,7 +32,7 @@ import { MAXIMUM_LENGTH_OF_MESSAGE, isMessageTooLong, sanitizeText, - isSendBoxButtonAriaDisabled + isSendBoxButtonDisabled } from './utils/SendBoxUtils'; /* @conditional-compile-remove(mention) */ import { MentionLookupOptions } from './MentionPopover'; @@ -285,35 +285,8 @@ export const SendBox = (props: SendBoxProps): JSX.Element => { const textTooLongMessage = textValueOverflow ? strings.textTooLong : undefined; const errorMessage = systemMessage ?? textTooLongMessage; - const mergedSendButtonStyle = useMemo( - () => mergeStyles(sendButtonStyle, styles?.sendMessageIconContainer), - [styles?.sendMessageIconContainer] - ); - - const mergedStyles = useMemo(() => concatStyleSets(styles), [styles]); - - const mergedSendIconStyle = useMemo( - () => - sendIconStyle({ - theme, - hasText: sanitizeText(textValue).length > 0, - /* @conditional-compile-remove(file-sharing-acs) */ hasAttachment: isAttachmentUploadCompleted(attachments), - hasErrorMessage: !!errorMessage, - customSendIconStyle: styles?.sendMessageIcon, - disabled: !!disabled - }), - [ - theme, - textValue, - /* @conditional-compile-remove(file-sharing-acs) */ attachments, - errorMessage, - styles?.sendMessageIcon, - disabled - ] - ); - - const isSendBoxButtonAriaDisabledValue = useMemo(() => { - return isSendBoxButtonAriaDisabled({ + const isSendBoxButtonDisabledValue = useMemo(() => { + return isSendBoxButtonDisabled({ hasContent: sanitizeText(textValue).length > 0, /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments), @@ -328,6 +301,23 @@ export const SendBox = (props: SendBoxProps): JSX.Element => { textValue ]); + const mergedSendButtonStyle = useMemo( + () => mergeStyles(sendButtonStyle, styles?.sendMessageIconContainer), + [styles?.sendMessageIconContainer] + ); + + const mergedStyles = useMemo(() => concatStyleSets(styles), [styles]); + + const mergedSendIconStyle = useMemo( + () => + sendIconStyle({ + theme, + isSendBoxButtonDisabled: isSendBoxButtonDisabledValue, + customSendIconStyle: styles?.sendMessageIcon + }), + [theme, isSendBoxButtonDisabledValue, styles?.sendMessageIcon] + ); + const onRenderSendIcon = useCallback( (isHover: boolean) => onRenderIcon ? ( @@ -455,7 +445,7 @@ export const SendBox = (props: SendBoxProps): JSX.Element => { className={mergedSendButtonStyle} ariaLabel={localeStrings.sendButtonAriaLabel} tooltipContent={localeStrings.sendButtonAriaLabel} - ariaDisabled={isSendBoxButtonAriaDisabledValue} + disabled={isSendBoxButtonDisabledValue} /> { diff --git a/packages/react-components/src/components/styles/SendBox.styles.ts b/packages/react-components/src/components/styles/SendBox.styles.ts index d6784221a3c..57b7029f942 100644 --- a/packages/react-components/src/components/styles/SendBox.styles.ts +++ b/packages/react-components/src/components/styles/SendBox.styles.ts @@ -39,27 +39,20 @@ export const sendButtonStyle = mergeStyles({ */ export const sendIconStyle = (props: { theme: Theme; - hasText: boolean; - /* @conditional-compile-remove(file-sharing-acs) */ hasAttachment: boolean; - disabled?: boolean; - hasErrorMessage: boolean; + isSendBoxButtonDisabled: boolean; customSendIconStyle?: IStyle; defaultTextColor?: string; }): string => { const { theme, - hasText, - disabled = false, - /* @conditional-compile-remove(file-sharing-acs) */ hasAttachment, - hasErrorMessage, + isSendBoxButtonDisabled, customSendIconStyle, defaultTextColor = theme.palette.neutralTertiary } = props; - const hasNoContent = !hasText && /* @conditional-compile-remove(file-sharing-acs) */ !hasAttachment; return mergeStyles( editorTextBoxButtonStyle, { - color: disabled || hasErrorMessage || hasNoContent ? defaultTextColor : theme.palette.themePrimary + color: isSendBoxButtonDisabled ? defaultTextColor : theme.palette.themePrimary }, customSendIconStyle ); diff --git a/packages/react-components/src/components/utils/SendBoxUtils.ts b/packages/react-components/src/components/utils/SendBoxUtils.ts index 44146efaa31..9542e7a1665 100644 --- a/packages/react-components/src/components/utils/SendBoxUtils.ts +++ b/packages/react-components/src/components/utils/SendBoxUtils.ts @@ -115,15 +115,15 @@ export const sanitizeText = (message: string): string => { }; /** - * Determines whether the send box should be disabled for ARIA accessibility. + * Determines whether the send box should be disabled. * * @param hasContent - Indicates whether the send box has content. * @param hasCompletedAttachmentUploads - Indicates whether attachment uploads have completed. * @param hasError - Indicates whether there is an error. * @param disabled - Indicates whether the send box is disabled. - * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility. + * @returns A boolean value indicating whether the send box should be disabled. */ -export const isSendBoxButtonAriaDisabled = ({ +export const isSendBoxButtonDisabled = ({ hasContent, /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads, diff --git a/packages/react-components/tests/snapshots/beta/Attachment.spec.tsx-snapshots/attachments-in-richtext-sendbox-with-progress-group-layout-Desktop-Chrome-linux.png b/packages/react-components/tests/snapshots/beta/Attachment.spec.tsx-snapshots/attachments-in-richtext-sendbox-with-progress-group-layout-Desktop-Chrome-linux.png index d0fa8a390703b7ced14baf1531e3aa52fd06f17c..491a5219bd8bfcfcdba9dedf7e969375fbd65d04 100644 GIT binary patch literal 8642 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 literal 8670 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 qJkSo<)WHji!wi!mqw literal 9770 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

EB>mm4r!os`5-dCZRl%FM+Iic%&gYY&f& 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 R!Ju^$A}6B^E0#76`X3^ZOQHY( diff --git a/packages/react-components/tests/snapshots/beta/Attachment.spec.tsx-snapshots/attachments-in-richtext-sendbox-with-progress-singular-layout-Desktop-Chrome-linux.png b/packages/react-components/tests/snapshots/beta/Attachment.spec.tsx-snapshots/attachments-in-richtext-sendbox-with-progress-singular-layout-Desktop-Chrome-linux.png index 999655ea47f83c108288201b7b4bead425de2ff1..b873eda2faee7ad9eab81d944f7a0d00231d365d 100644 GIT binary patch literal 6652 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 CqH@Rp literal 6684 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 literal 6080 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 In%$fK0Q*J-GXMYp diff --git a/packages/react-components/tests/snapshots/beta/RichTextSendBox.spec.tsx-snapshots/rich-text-send-box-with-attachments-with-progress-Desktop-Chrome-linux.png b/packages/react-components/tests/snapshots/beta/RichTextSendBox.spec.tsx-snapshots/rich-text-send-box-with-attachments-with-progress-Desktop-Chrome-linux.png index d0fa8a390703b7ced14baf1531e3aa52fd06f17c..491a5219bd8bfcfcdba9dedf7e969375fbd65d04 100644 GIT binary patch literal 8642 zcmbt)XIPUj_g++bB29V=C<urI5RG#{3_aNw=D+>_FpAhK%yM}(Lq%mJFL+^vbReTo@H}`3Q zv*#b&b3>ygo%KF_Ekuc)`hn~CU=zP|RZwt#c_qGr`^4#Qtn4*DtSWa^;`pLW7p|Vv z`?LP-`+G>|tu0!I2b$dPH68fYgHk2t?3PBWw-jRQB(|isJeQ>|hd(+6#sGo%RfKkM z(b3VB+pqHllV^SG?d<%%2p-?sGi`mtA?4Sm8-45Wgo=s^6sZ~h=n@SLjXKo2NTT<) zMpy*BQBY7_9-QXr`6joId3i*XSS5U-p+5Pxee#D7AGH72#xB*7+Bm!$L z9Y5#}`@`?J5d@*)JZ^B^38g)1G|`@&q&jM>Q2k##LKW@5hAOEm!h{uIbH{=@iwU^m zz_4_;OW~S)2Da)){Xm+;Bn6us?d=O3d#%|d{XW6XBdQn~0+xPtr);ceDc5*^Q(`kX zar`JEt6zEE_VHs3%ES#XlH*N;#mHY_oc%S^=2~fzV(q^8e$mGwdR7)(o3ZP3MeV%j z8FG>4P(sx81ax$E#;3$yi)il8q@1CnGt}4rSz}{toV&LdbUEC^yu!%P@VdObg)v+u zEO&(D13JyGtE>B7O5d#Os{JN1DvDTCTUGVoB@GQjz;7E*;PVw$$ko0$O)K}WFDc8o z-dT4!BTK`a%ZI52=?Z}Yy#Akkg0|A=oBQxK!NnH*d&vcR4=H^B2x^?t^2xF$`9Cb+}wlPw!o>c1o6YeIWk5 z+sKzg*kCvVYy_S5=E{Leb#-;kuVEq&l&G|Ge|FYBGV%>>zl_V!-Te~})?#GDt-j#U zb*yk@{{H^L{QSPiLkl#9iz(m8{gZh_Ij;P&1T)7N&Z_ZvHA7jQ zyh10+0xRJ$RYOm36RI&D3SZ!O?QZ|=LxEejOx@}ZlE?jtBHf4;Zmo22t>yY!b$|cr z8q%gb5A@~BmjSLVhtA($hZL&yrg!xA;zuJm`;r{fK5lRS0Uda=+{$g) z{D~ zMa(JYkZhg|(y&?^y16jcDzhu@8tN#OnR0V;3yO*+v^?&A*Bk*)6NRp>o(`ZSsnF5E zK4LIj5%#@WY1p*v+G)0#4O8FTCw`i0yVj-PAn0N7P;5>D%4lo?}QS5$^9m%X(sqo963Gn?1TJIb)=17B_n&i#<_f6**k(TG)qG=Pt%J295HIRY z9Jl&RvbC2^nRUMvpO~08KYyLZ@baUxSI+;WR2LO#w#IPbhb!QAH!Um&ZEbC3vz3m9 zU+(TIfAYXf<^KJAwV3o|xnR|_bquSnl3Atpqp7Ky!)LU-(7>%l9N5&!AHN(>pDeUF zq@pa1xRnPDl|@EJ8_bDX!P2bt^*>n2`w~|9S+C!?p=*pXg5%Necq$lOioq;lkM@3i zwndX)ym)c_`t=7F_{Y(IYo{g8R2-vekaBiJAAlV&=2}+VSbYSwi;?85HBT{xw!4I z@3rzUw%+*2D51Wv4bJV#i2#EmixUrwY+H@w-&t8vz=)){>PmJU#)|f=XV#7YBR)>p2Zo{B>kmOVQL5cEUtEt{gx||6W6+eRE z?%iUqR;$>JC+d;XPqsC~2m5Tq8Z8gUYOqqhWc;C3XMza!wX*>;3rjH)d49}&I+}py z)LJt?w(@wp-KFrGQwb>>KRZm4gJ*qGw0L=WBVR{8)$)`}19)R%>f{s+@5qR3p3+4i z(yv~-#=?v#Y$q0@zC=dSv0P-%*Si1WUg4E8Ydr8euf-oXD_~glM~@y!;cPF314qZ? zYO%90GtW=SGQoBt=TO}S=H`WKYfnLFuU7pXNzKzcx|aHFC#g?Rqh9*%`v}y$e_x|x zY{C`Q@?n!?o04CXOeiciLK#O!N5NOTzy|!{0&jHP{cO7v`NkFX{{1D{H0@%m^=Fh# zqK$1sU!U&F@NirW{n47;>7170|J;09KqH}T%Kf^aoce;Zb7W*B&MKBKutxZJStHI( z)^~vbLzsVeO;AL{XvBwvX$TG!Wjc=Ue>MfOmkky5Sk?Ib?lLrSYSHoNMaVYf#O>pT zVkm^^s1eHK)OT|w{83fo`KC^c_u3r_)xlo~i1yE!QV2w+K&FX3oV)qPjF+6%*0Tik z)8?)x(g1a;mj;A=noL|%&5Dho;ld88Bh5;e!e`v&c$1i!nGNmb z_92JLN)Uc5j_HLTc(~9L)p>({h~#rQJT_WlnMb6y0qdjn=y7;r-EO&BdiGBH5sF>R6cO5(eRP=$63XvBdGWv5?a!v)c^CDmqm&hxHZ(x&8lJgf zZ%u>rW0fQ@2aqF8^w#0Mil|o}zR=KCsdBOVZkaUG>%fmEH>wnxmVc}kAKYB^0c($y zpFp;psqi7OSp^K)132>ZH49by-`|kzJWC0G!3?e0DD5Oq4Oet@b-4#>h35UQPi0Qk z5iV`N`1}4oc}V{S zE%D}+OST-cL4ObOQdvI(4-1Ki=(TSDVYP`D+Gyt|0wX{s6GsvBLCOr5+}~LHAyg`y zQ)JvQS~3$qKPN-n?zlBg^dDJ--%l%4X{&BZ4*amWB4%}cwq%Ib>~QPmd=#}xW6H3} zy4w$3+wmNUtK^J`lZGj(|Me#JY=Dj9CDm9_F)1k{fYt@lE?Y}u<~wWZ90~#DQ2Z>Z zv{c-CrmY~N%fT*(Xo^6TVKBN<&4FWINMc@ak?|+Hn_}_lJ*PX^z9sHbIl(rlAx#;Q z@X(3XF&WBQ)FCc#1hibuDhC(5MxH*APO&!MK|1uNkMR)mH-;QDoXNDywM&P-Bhm^h zP1L1BPXt8-oCm!9j1bo%6JAQ)t8udS%Cq;4jv}WTX1k@5HBa9Of&S=c*;N zQvCp2LI#Rjo0hki*v*6l32FTKMkqd})oR)5Qgf2jQF?A~?@$o@BoM?sqd<_}X!`s6 zN4|Qc=kD&F*6AU~pg@_=mRo72a+x?#2_v-k^cWLy#Vnkh*3+LsQ~&^-uN;xgewnwW zg-$*i9#JW|dir$oZU4fHVhB}Vt>mJmv04ozBZpj0+zfBB;=XGOKaXEcmz>LP!yQK- z#noN*0eStbuNS?auosophQmj;Xt2M=R<^EJV!_P*igqbc`>+~nm7R4dU6p=sd9qk3KitB^Cv!W+9K1m>t+k5^je{4IZ$@lBlPJoi% z8DFyUojakbF`T3tC5Mem3Kf&k%7%*}ssOe2RLV~J`7T;1#nU<{Wr}3Dy?bVO~$Rx@2Rm2%NZ&i20a)WlI>`3*BhvwgDs`XqNAJR;+X5#d*lHh zifwi^+2T}SzKFQGV&zH3s%z-rzlePiuy>Bc6`5s!x^Z}BJx$JcU`D{8!mnSVhKPoW zCv}^DkyJ6r)iTNJNxN-jT@SV%X5*$6CfgQn&tjNgKAQDRVK_fzOF95yMJAeONIAMi z&-wm!3PTADkSRRryQOT@($XRh@vY73lpd$$DfLwd(DdjePTVZD=R&IB(EIvM|AjP%8ER2>ZVayd@XoM;cAj1I5Dfsm1 z&c&#YxY<;61so4+|Jg$D{C-(bSh$bl&@;lgeix0d-86R@FI53Tz%ORHuG+n7g@?gW+89}UgJY5gc{^JIX?xgwJ*+j5K{p+(Mj}H zw^eOX-&{`i4V>KS@$3ypcy2aFvIu#tw!N!B^lyM! zfw*1n&`nFn$cRhmt(+e>+p6K5sPRS}q27U83!S&RrlFZx(o(f!Zi1K%I!VH@u&T;* zYs@!;PbaxZ2wis%85bLyy-6A&Qivrc9Y{NcgTJTMwW0mn9@7?fekC)g{Yi$=F(!H6 z#lCO`cJJ*ru}Ieu?J|e%wMi723BYgWNBCx0A8SahirOzt%mMtQaVQtT}Ahg{3)?BH&UU zKV8sMt=Gb1+!_4ibELR}GFPWtQ3j7c@Cfkm+z0u8E(5!^Wq=!CO@z_vGNC#R{oPFx zFZ2SRX5UnE;}LKyJS5y5lbgcv`6UL0iIKx9VI7E5XP8XxJ$_!}O+*7O2jAx>rjRSP z<$+iBov-$03Zm52O0G4Dk|ro_(1FWt!Kmk0A*}QGdPPr&U(fxQOjok@@$_*#(Q$F< zl{%|TA0?fw%#xBQvxzp6AqRV~LFyAH;@+MuQJd?7H~}?Xi(KO~^VL{e?^S{W{{zJLYV!i7ti3&1+@(fm z(S9dr;--~CU0B0y-RpVWDiO4VX*W-JSKHJ7V&9ZKNH z_lM>WaQWb54_B$BxP*2esm0>4UtBEqcZ!sVt8zWJgAV>W$96NQO4?;OCxQ!MdivEX z!eE|GHr~S0(vo!WE?dniaP->Mt8pobCZyHH)GIW9n6lN6C(N`>T~oI%H8sf7GO2VO z;(d(pJ55rM!WLG z&E`U4%QMzJQ$PXPO&kH()Gl_Z;eY}M3HR*G%sf~K0KIIAK~;dz8tPl>6Q63^gCq+e zm)F>#-9CRu+pTlzKpr5E2QDwHb&4hO0Dk3+4LO*u(O!8*O`Em)&iYo{U!My?b}gJAA7HaU-RhP0lOdI$%|0 zh{WGBTo1zv&i+cb1c{JUZsi0*O)Z8qo(FJe;!9R*OngYKKGN$e4J&M}$BMGI-fPth zl@Ivo+ZeR-)SEPHROZ;5&~iRgW;`gneO%t{o{}VkFS+?E1_KKjge#h6_x1I`A|f*v z`i}CD{?gWj1Bbu;uK|f6Q3|o=H-^|H)yyC@B;mOFWZ8Aj3OIZ5z;tUou<616u8_RE zhJ?dtF>tZ?xVY;A&hIHq^EPu&2@+dV5#IY`{K7CC9nZtSA+0Ilcwm5xi;w>ZM>nWK zp-^NFNXeWh8iLt?UisK|8c^7e8e;W^(zV^BdR zH5N43J>WL?*LxYabk4xVnjHZsG6%Tx|YH%DXi%`E(IkGtD;6>M)y;s0|*6q%$F|BFC>osJht^?ar)-> z?wwiz93*?K9Vl3Vba>05+Y>T z+N7c1mNa)AvH4TUQkfTpEwl;QH@bQACO>|`{ko8l#kq4Xg=qq{AXBUcnc|zsLXVTA z;RJ(3kPQL`)nO;T003N2n$P&c!OgpuFJF!&3lybpGULeucwn4kP2rISI zxgpB{=jmLr>YqJ4$US)7*3J%Wp^*?&A8`C^N>-tLX9A2+UVFH*o+xacFTb3+5s|UH zfXF`zhMAdnR8(<@vA~GtETFKdsH)(G#p3a=m>5s%+2!mu?yX!D`N+jKNE=OhRyc}1 z0s~puYPvIL$f(BNU%%QBr%s>NyL0DGl!7KLWKuy;qSj)osZ}XX-7ZlXZwD|-cD);DHr8%I$y)1L_5N%sto}eVf88UteJ0Vyr=Lly(`x@LGjq<1 z7k)B^uL}X~4OMbZ;NJN7k(Z7^;qxk|qWg<)v~OJJ3+UxLK{AlCm=v-p2`gut-E7hA9+ zNL8nc<;>&)5&`WbPXJ)Er@c>ZcQEmxx^bywh;{aw+k~BXKhsL!Z}kBJ$&|&`(vCm= zoL|0CC0K;}g*vrzg2fo6t`XDu_;b~XGy9OE@WXFJqCNMM3eqi{iKgvxC<6=PP|}Gz zW5fD@vDWSu&*g3l?qqBeo94-2#ZY+6WGR#xQN+Yg~Le?vL4sgvmO;02?2b?NBe z3CFWL{*jO%{3nmD%W(Os*JVzFYTy1Ril5&ZSGVdl(j)-IFsa+&NaqTFbat};gVETC zwLfZ@iD4&bW$RGDNtUo11SVXaD&8bkpBsT}m7n#JJ1w+whF`j`3vDrb(j0q3S*ghe zgJ%j-Y?{FQtK`Tu5i7Gc;7 zPCLLf#BbW0rK(%A!>qojGrB^;#d`DDa z9}}ytp#k4CkMMyNQ&+PH3VW&}&tE-JzE}8$^2kAqCRxk%%-Zh~U}$S_gMCyuJx6Y6 zC(oG@37~!e2-}jN+N1_M z0E@8?w@v5VDc=-3`|}&M*W6ntkpl}_1wXylzudZvGH8?tZ@Bx--TgQ@EYffC#Q9)(_e(4D96AGEhTbmcpj zHQ&EIkO#9eygFZ;mdec_&ndzCC3J*%Zr%3$;PAXEMwzZIiJu>^B;n z0&gcGY$|x_c^(hccS6B{>RHHbdKnxAqd)dT=>x7+JWA(}t@sHR!f@HOa(FZTd8Rc4GnXW%9i5W?T}**gWvKp^g%%ckP1ToiYRo1 zk;|myy>TSHtcQ7ZxebXj!5~Z7dUMYTFH_pDJWIUyyHxEL4+7hij`%H--lTdU(>e*$GvG9Eze##gv4 zTYJx6Dmkp4)=ugk_u#G|(`w8}=Df66_qIJeMe_D^FS-BkSNG~}?>k*0U~4PUY%bUSKbt)dGZ&6}A5nO$LI3~& literal 8670 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 qJkSo<)WHji!wi!mqw literal 9770 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

EB>mm4r!os`5-dCZRl%FM+Iic%&gYY&f& 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 R!Ju^$A}6B^E0#76`X3^ZOQHY( From 6efd84490cee8ed4acb9510f998d7d5d944e6274 Mon Sep 17 00:00:00 2001 From: Porter Nan Date: Tue, 24 Sep 2024 03:44:34 -0700 Subject: [PATCH 20/58] Add selector and component implementation for reconnecting (#5075) * Add selector and component implementation for reconnecting * Add new logic for getting different diagnostic * Update type * Fix lint problem * Fix ci build errors * Update stable build --------- Signed-off-by: Porter Nan --- .../src/participantListSelector.ts | 4 +-- .../src/utils/callUtils.ts | 20 ++++++++++-- .../src/utils/videoGalleryUtils.ts | 13 +++----- .../src/CallClientState.ts | 2 +- .../src/UserFacingDiagnosticsSubscriber.ts | 3 +- .../review/beta/communication-react.api.md | 6 ++-- .../review/stable/communication-react.api.md | 4 +-- .../src/components/RemoteVideoTile.tsx | 10 ++++-- .../src/components/StreamMedia.tsx | 15 +++++++-- .../components/styles/StreamMedia.styles.ts | 31 +++++++++++++++++++ .../src/types/ParticipantListParticipant.ts | 3 +- 11 files changed, 84 insertions(+), 27 deletions(-) diff --git a/packages/calling-component-bindings/src/participantListSelector.ts b/packages/calling-component-bindings/src/participantListSelector.ts index 782561c0265..938ff72b1b4 100644 --- a/packages/calling-component-bindings/src/participantListSelector.ts +++ b/packages/calling-component-bindings/src/participantListSelector.ts @@ -13,7 +13,7 @@ import { import { getRole } from './baseSelectors'; import { isHideAttendeeNamesEnabled } from './baseSelectors'; import { CallParticipantListParticipant } from '@internal/react-components'; -import { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils'; +import { _convertParticipantState, _updateUserDisplayNames } from './utils/callUtils'; import { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils'; import { memoizedConvertToVideoTileReaction, memoizedSpotlight } from './utils/participantListSelectorUtils'; import { getLocalParticipantRaisedHand } from './baseSelectors'; @@ -61,7 +61,7 @@ const convertRemoteParticipantsToParticipantListParticipants = ( * We want to check the participant to see if they are a PSTN participant joining the call * and mapping their state to be 'Ringing' */ - const state = _isRingingPSTNParticipant(participant); + const state = _convertParticipantState(participant); const displayName = maskDisplayNameWithRole( participant.displayName, localUserRole, diff --git a/packages/calling-component-bindings/src/utils/callUtils.ts b/packages/calling-component-bindings/src/utils/callUtils.ts index e76ba2daebc..add5af74ea6 100644 --- a/packages/calling-component-bindings/src/utils/callUtils.ts +++ b/packages/calling-component-bindings/src/utils/callUtils.ts @@ -17,7 +17,12 @@ import { } from '@azure/communication-common'; import { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; -type ParticipantConnectionState = +/** + * Type for connmection state + * + * @internal + */ +export type ParticipantConnectionState = | 'Idle' | 'Connecting' | 'Ringing' @@ -25,7 +30,8 @@ type ParticipantConnectionState = | 'Hold' | 'InLobby' | 'EarlyMedia' - | 'Disconnected'; + | 'Disconnected' + | 'Reconnecting'; /** * Check if the call state represents being in the call @@ -133,7 +139,15 @@ export const isACSCallParticipants = ( * @private * Checks whether the user is a 'Ringing' PSTN user. */ -export const _isRingingPSTNParticipant = (participant: RemoteParticipantState): ParticipantConnectionState => { +export const _convertParticipantState = (participant: RemoteParticipantState): ParticipantConnectionState => { + /* @conditional-compile-remove(remote-ufd) */ + if ( + participant.diagnostics && + participant.diagnostics['ServerConnection'] && + participant.diagnostics['ServerConnection']?.value === false + ) { + return 'Reconnecting'; + } return isPhoneNumberIdentifier(participant.identifier) && participant.state === 'Connecting' ? 'Ringing' : participant.state; diff --git a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts index b465994bc81..15a2bfa8d60 100644 --- a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts +++ b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts @@ -1,17 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { - DominantSpeakersInfo, - RemoteParticipantState as RemoteParticipantConnectionState -} from '@azure/communication-calling'; +import { DominantSpeakersInfo } from '@azure/communication-calling'; import { SpotlightedParticipant } from '@azure/communication-calling'; import { ParticipantRole } from '@azure/communication-calling'; import { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; import { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client'; import { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components'; import memoizeOne from 'memoize-one'; -import { _isRingingPSTNParticipant } from './callUtils'; +import { _convertParticipantState, ParticipantConnectionState } from './callUtils'; import { maskDisplayNameWithRole } from './callUtils'; import { checkIsSpeaking } from './SelectorUtils'; import { isPhoneNumberIdentifier } from '@azure/communication-common'; @@ -56,7 +53,7 @@ export const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipant ); }) .map((participant: RemoteParticipantState) => { - const state = _isRingingPSTNParticipant(participant); + const state = _convertParticipantState(participant); const displayName = maskDisplayNameWithRole( participant.displayName, localUserRole, @@ -88,7 +85,7 @@ const memoizedAllConvertRemoteParticipant = memoizeFnAll( isMuted: boolean, isSpeaking: boolean, videoStreams: { [key: number]: RemoteVideoStreamState }, - state: RemoteParticipantConnectionState, + state: ParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, @@ -116,7 +113,7 @@ export const convertRemoteParticipantToVideoGalleryRemoteParticipant = ( isMuted: boolean, isSpeaking: boolean, videoStreams: { [key: number]: RemoteVideoStreamState }, - state: RemoteParticipantConnectionState, + state: ParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, diff --git a/packages/calling-stateful-client/src/CallClientState.ts b/packages/calling-stateful-client/src/CallClientState.ts index afee1e54cb1..13f30310a69 100644 --- a/packages/calling-stateful-client/src/CallClientState.ts +++ b/packages/calling-stateful-client/src/CallClientState.ts @@ -483,7 +483,7 @@ export interface RemoteParticipantState { /** * The diagnostic status of RemoteParticipant{@link @azure/communication-calling#RemoteDiagnostics}. */ - diagnostic?: RemoteDiagnosticState; + diagnostics?: Record; } /** diff --git a/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts b/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts index 02303ba19e8..fe7493e07ce 100644 --- a/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts +++ b/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts @@ -74,8 +74,9 @@ export class UserFacingDiagnosticsSubscriber { for (const diagnostic of args.diagnostics) { const { remoteParticipant: _, rawId, ...participantDiagnostic } = diagnostic; const participant = call.remoteParticipants[rawId]; + participant.diagnostics = participant.diagnostics || {}; if (participant) { - participant.diagnostic = participantDiagnostic; + participant.diagnostics[participantDiagnostic.diagnostic] = participantDiagnostic; } } }); diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 44d6a8589c9..53ded9df0ac 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -3439,7 +3439,7 @@ export interface JumpToNewMessageButtonProps { export const lightTheme: PartialTheme & CallingTheme; // @public -export type LoadingState = 'loading' | 'none'; +export type LoadingState = 'loading' | 'none' | 'reconnecting'; // @public export const LocalizationProvider: (props: LocalizationProviderProps) => JSX.Element; @@ -4137,7 +4137,7 @@ export type ParticipantsRemovedListener = (event: { }) => void; // @public -export type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected'; +export type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected' | 'Reconnecting'; // @public export interface PPTLiveCallFeatureState { @@ -4262,7 +4262,7 @@ export type RemoteDiagnosticState = { export interface RemoteParticipantState { callEndReason?: CallEndReason; contentSharingStream?: HTMLElement; - diagnostic?: RemoteDiagnosticState; + diagnostics?: Record; displayName?: string; identifier: CommunicationIdentifierKind; isMuted: boolean; diff --git a/packages/communication-react/review/stable/communication-react.api.md b/packages/communication-react/review/stable/communication-react.api.md index f6385db49f0..a8b7566b92c 100644 --- a/packages/communication-react/review/stable/communication-react.api.md +++ b/packages/communication-react/review/stable/communication-react.api.md @@ -2992,7 +2992,7 @@ export interface JumpToNewMessageButtonProps { export const lightTheme: PartialTheme & CallingTheme; // @public -export type LoadingState = 'loading' | 'none'; +export type LoadingState = 'loading' | 'none' | 'reconnecting'; // @public export const LocalizationProvider: (props: LocalizationProviderProps) => JSX.Element; @@ -3583,7 +3583,7 @@ export type ParticipantsRemovedListener = (event: { }) => void; // @public -export type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected'; +export type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected' | 'Reconnecting'; // @public export interface PPTLiveCallFeatureState { diff --git a/packages/react-components/src/components/RemoteVideoTile.tsx b/packages/react-components/src/components/RemoteVideoTile.tsx index 1251d186e31..13dc325a504 100644 --- a/packages/react-components/src/components/RemoteVideoTile.tsx +++ b/packages/react-components/src/components/RemoteVideoTile.tsx @@ -160,21 +160,25 @@ export const _RemoteVideoTile = React.memo( }, [contextualMenuProps, menuKind]); const showLoadingIndicator = isAvailable && isReceiving === false && participantState !== 'Disconnected'; + const isReconnecting = participantState === 'Reconnecting'; const [drawerMenuItemProps, setDrawerMenuItemProps] = React.useState<_DrawerMenuItemProps[]>([]); const renderVideoStreamElement = useMemo(() => { // Checking if renderElement is well defined or not as calling SDK has a number of video streams limitation which // implies that, after their threshold, all streams have no child (blank video) - if (!renderElement || !renderElement.childElementCount) { + if ((!renderElement || !renderElement.childElementCount) && !isReconnecting) { // Returning `undefined` results in the placeholder with avatar being shown return undefined; } return ( - + ); - }, [renderElement, showLoadingIndicator]); + }, [isReconnecting, renderElement, showLoadingIndicator]); const onKeyDown = useCallback( (e: KeyboardEvent) => { diff --git a/packages/react-components/src/components/StreamMedia.tsx b/packages/react-components/src/components/StreamMedia.tsx index 8d16949568a..195d5cc4b83 100644 --- a/packages/react-components/src/components/StreamMedia.tsx +++ b/packages/react-components/src/components/StreamMedia.tsx @@ -1,14 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { mergeStyles, Spinner } from '@fluentui/react'; +import { mergeStyles, Spinner, Text } from '@fluentui/react'; import React, { useEffect, useRef, useState } from 'react'; import { invertedVideoInPipStyle, mediaContainer, container, loadingSpinnerContainer, - loadSpinnerStyles + loadSpinnerStyles, + reconnectingContainer, + reconnectingText } from './styles/StreamMedia.styles'; import { useTheme } from '../theming'; import { BaseCustomStyles } from '../types'; @@ -17,7 +19,7 @@ import { BaseCustomStyles } from '../types'; * Whether the stream is loading or not. * @public */ -export type LoadingState = 'loading' | 'none'; +export type LoadingState = 'loading' | 'none' | 'reconnecting'; /** * Props for {@link StreamMedia}. @@ -97,6 +99,13 @@ export const StreamMedia = (props: StreamMediaProps): JSX.Element => {

)} + {loadingState === 'reconnecting' && ( +
+ + Reconnecting... + +
+ )}
); }; diff --git a/packages/react-components/src/components/styles/StreamMedia.styles.ts b/packages/react-components/src/components/styles/StreamMedia.styles.ts index 63e823cdbd9..4b97e374261 100644 --- a/packages/react-components/src/components/styles/StreamMedia.styles.ts +++ b/packages/react-components/src/components/styles/StreamMedia.styles.ts @@ -26,6 +26,37 @@ export const loadingSpinnerContainer = (): string => transform: 'translate(-50%, -50%)' }); +/** + * @private + */ +export const reconnectingContainer = (): string => + mergeStyles({ + // Position centrally on top of content. Parent must have position: relative. + position: 'absolute', + top: '0', + bottom: '0', + left: '0', + right: '0', + background: 'rgba(0, 0, 0, 0.5)', + display: 'flex', + justifyContent: 'center', + alignItems: 'center' + }); + +/** + * @private + */ +export const reconnectingText = (theme: Theme): string => + mergeStyles({ + // Position centrally on top of content. Parent must have position: relative. + height: '3rem', + lineHeight: '3rem', + justifyContent: 'center', + alignItems: 'center', + color: theme.palette.themeLight, + fontSize: theme.fonts.large.fontSize + }); + /** * @private */ diff --git a/packages/react-components/src/types/ParticipantListParticipant.ts b/packages/react-components/src/types/ParticipantListParticipant.ts index f67464978ff..07f2f0cbfb2 100644 --- a/packages/react-components/src/types/ParticipantListParticipant.ts +++ b/packages/react-components/src/types/ParticipantListParticipant.ts @@ -90,4 +90,5 @@ export type ParticipantState = | 'Hold' | 'InLobby' | 'EarlyMedia' - | 'Disconnected'; + | 'Disconnected' + | 'Reconnecting'; From 10485b51e72d787fcaf561098aaf4110d78da948 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Tue, 24 Sep 2024 10:35:46 -0700 Subject: [PATCH 21/58] [outbound calling] remove 1-n-calling cc (#5190) * remove CC comments for PSTN * test comments * fix selector * remove 1-n-calling cc * fix build * remove feature from flag config * remove trailing comments * api * fix comments * fix merge API --- common/config/babel/features.js | 2 - .../src/baseSelectors.ts | 9 +--- .../src/handlers/createCommonHandlers.ts | 4 -- .../src/handlers/createHandlers.ts | 5 -- .../src/handlers/createTeamsCallHandlers.ts | 5 -- .../src/hooks/usePropsFor.ts | 28 ++++------- .../src/incomingCallStackSelector.ts | 35 ++++++-------- .../src/utils/videoGalleryUtils.ts | 1 - .../src/CallAgentDeclarative.test.ts | 1 - .../src/CallAgentDeclarative.ts | 5 +- .../src/CallClientState.ts | 4 +- .../src/CallContext.ts | 5 +- .../calling-stateful-client/src/Converter.ts | 6 +-- .../src/StatefulCallClient.ts | 1 - .../src/TeamsCallAgentDeclarative.ts | 5 +- .../calling-stateful-client/src/TypeGuards.ts | 4 -- .../src/index-public.ts | 3 -- .../review/beta/communication-react.api.md | 22 ++++----- .../review/stable/communication-react.api.md | 2 - packages/communication-react/src/index.ts | 4 -- .../components/IncomingCallNotification.tsx | 39 ++++------------ .../src/components/IncomingCallStack.tsx | 44 ++++++++---------- .../src/components/ParticipantItem.tsx | 5 -- .../src/components/ParticipantList.tsx | 1 - .../src/components/RemoteVideoTile.tsx | 1 - .../utils/videoGalleryLayoutUtils.ts | 8 +--- .../src/components/VideoTile.tsx | 14 ++---- .../react-components/src/components/index.ts | 2 +- .../src/localization/LocalizationProvider.tsx | 6 +-- .../react-components/src/theming/icons.tsx | 4 -- .../react-components/src/types/OnRender.ts | 3 -- .../src/types/VideoGalleryParticipant.ts | 2 - .../CallComposite/CallComposite.tsx | 2 - .../src/composites/CallComposite/Strings.tsx | 5 -- .../adapter/AzureCommunicationCallAdapter.ts | 4 +- .../CallComposite/adapter/CallAdapter.ts | 2 +- .../components/CallArrangement.tsx | 14 +----- .../CallComposite/components/CallControls.tsx | 9 +--- .../CallComposite/components/HoldPane.tsx | 32 ++++--------- .../CallComposite/pages/HoldPage.tsx | 1 - .../CallWithChatComposite.tsx | 2 - .../adapter/CallWithChatAdapter.ts | 3 +- .../adapter/CallWithChatBackedCallAdapter.ts | 1 - .../src/composites/common/AvatarPersona.tsx | 2 - .../ControlBar/CommonCallControlBar.tsx | 9 +--- .../common/ControlBar/DesktopMoreButton.tsx | 3 -- .../composites/common/Drawer/MoreDrawer.tsx | 3 -- .../common/types/CommonCallControlOptions.tsx | 1 - .../browser/call/hermetic/LobbyScreen.test.ts | 1 - .../browser/call/hermetic/PeoplePane.test.ts | 2 - .../CallWithChat/src/app/views/HomeScreen.tsx | 36 ++++++--------- samples/Calling/src/app/utils/AppUtils.ts | 1 - samples/Calling/src/app/views/HomeScreen.tsx | 32 ++++++------- samples/CallingStateful/src/App.tsx | 46 ++++--------------- .../CallingStateful/src/views/CallScreen.tsx | 17 ++----- .../CallingStateful/src/views/Homescreen.tsx | 11 ++--- samples/CallingStateful/src/views/Login.tsx | 25 +--------- 57 files changed, 139 insertions(+), 405 deletions(-) diff --git a/common/config/babel/features.js b/common/config/babel/features.js index 5460ba67d72..efe7d8b7f01 100644 --- a/common/config/babel/features.js +++ b/common/config/babel/features.js @@ -96,8 +96,6 @@ module.exports = { "acs-close-captions", // Feature for showing notifications "notifications", - // 1 to N Calling feature. - "one-to-n-calling", // Adhoc calls to a Teams user. "teams-adhoc-call", // Feature for tracking beta start call identifier diff --git a/packages/calling-component-bindings/src/baseSelectors.ts b/packages/calling-component-bindings/src/baseSelectors.ts index 219283ea7d2..06102088086 100644 --- a/packages/calling-component-bindings/src/baseSelectors.ts +++ b/packages/calling-component-bindings/src/baseSelectors.ts @@ -18,7 +18,6 @@ import { SpotlightCallFeatureState, IncomingCallState } from '@internal/calling-stateful-client'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCallState } from '@internal/calling-stateful-client'; import { ReactionState } from '@internal/calling-stateful-client'; import { CaptionsInfo } from '@internal/calling-stateful-client'; @@ -280,9 +279,7 @@ export const getMeetingConferencePhones = ( * @returns the incoming calls in the call client state * @private */ -export const getIncomingCalls = ( - state: CallClientState -): IncomingCallState[] | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState[] => { +export const getIncomingCalls = (state: CallClientState): IncomingCallState[] | TeamsIncomingCallState[] => { return Object.values(state.incomingCalls); }; @@ -291,9 +288,7 @@ export const getIncomingCalls = ( * @returns the incoming calls that have been removed * @private */ -export const getRemovedIncomingCalls = ( - state: CallClientState -): IncomingCallState[] | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState[] => { +export const getRemovedIncomingCalls = (state: CallClientState): IncomingCallState[] | TeamsIncomingCallState[] => { return Object.values(state.incomingCallsEnded); }; diff --git a/packages/calling-component-bindings/src/handlers/createCommonHandlers.ts b/packages/calling-component-bindings/src/handlers/createCommonHandlers.ts index cfcf3dad901..d4f21e82ad8 100644 --- a/packages/calling-component-bindings/src/handlers/createCommonHandlers.ts +++ b/packages/calling-component-bindings/src/handlers/createCommonHandlers.ts @@ -82,9 +82,7 @@ export interface CommonCallingHandlers { /* @conditional-compile-remove(call-readiness) */ askDevicePermission: (constrain: PermissionConstraints) => Promise; onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void; - /* @conditional-compile-remove(one-to-n-calling) */ onAcceptCall: (incomingCallId: string, useVideo?: boolean) => Promise; - /* @conditional-compile-remove(one-to-n-calling) */ onRejectCall: (incomingCallId: string) => Promise; onRemoveVideoBackgroundEffects: () => Promise; @@ -769,9 +767,7 @@ export const createDefaultCommonCallingHandlers = memoizeOne( onMuteParticipant, /* @conditional-compile-remove(soft-mute) */ onMuteAllRemoteParticipants, - /* @conditional-compile-remove(one-to-n-calling) */ onAcceptCall: notImplemented, - /* @conditional-compile-remove(one-to-n-calling) */ onRejectCall: notImplemented }; } diff --git a/packages/calling-component-bindings/src/handlers/createHandlers.ts b/packages/calling-component-bindings/src/handlers/createHandlers.ts index 6fb0238849c..7274036d288 100644 --- a/packages/calling-component-bindings/src/handlers/createHandlers.ts +++ b/packages/calling-component-bindings/src/handlers/createHandlers.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import { Call, CallAgent, StartCallOptions } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallCommon } from '@azure/communication-calling'; import { AddPhoneNumberOptions } from '@azure/communication-calling'; import { @@ -13,12 +12,10 @@ import { import { CommunicationIdentifier } from '@azure/communication-common'; import { _toCommunicationIdentifier } from '@internal/acs-ui-common'; -/* @conditional-compile-remove(one-to-n-calling) */ import { DeclarativeCallAgent } from '@internal/calling-stateful-client'; import { StatefulCallClient, StatefulDeviceManager } from '@internal/calling-stateful-client'; import memoizeOne from 'memoize-one'; import { isACSCallParticipants } from '../utils/callUtils'; -/* @conditional-compile-remove(one-to-n-calling) */ import { createLocalVideoStream } from '../utils/callUtils'; import { createDefaultCommonCallingHandlers, CommonCallingHandlers } from './createCommonHandlers'; @@ -109,7 +106,6 @@ export const createDefaultCallingHandlers: CreateDefaultCallingHandlers = memoiz const participant = _toCommunicationIdentifier(userId); await call?.removeParticipant(participant); }, - /* @conditional-compile-remove(one-to-n-calling) */ onAcceptCall: async (incomingCallId: string, useVideo?: boolean): Promise => { const localVideoStream = useVideo ? await createLocalVideoStream(callClient) : undefined; const incomingCall = (callAgent as DeclarativeCallAgent)?.incomingCalls.find( @@ -121,7 +117,6 @@ export const createDefaultCallingHandlers: CreateDefaultCallingHandlers = memoiz ); } }, - /* @conditional-compile-remove(one-to-n-calling) */ onRejectCall: async (incomingCallId: string): Promise => { const incomingCall = (callAgent as DeclarativeCallAgent)?.incomingCalls.find( (incomingCall: IncomingCallCommon) => incomingCall.id === incomingCallId diff --git a/packages/calling-component-bindings/src/handlers/createTeamsCallHandlers.ts b/packages/calling-component-bindings/src/handlers/createTeamsCallHandlers.ts index 1017bb95796..456f4f8b2c7 100644 --- a/packages/calling-component-bindings/src/handlers/createTeamsCallHandlers.ts +++ b/packages/calling-component-bindings/src/handlers/createTeamsCallHandlers.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import { StartCallOptions } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallCommon } from '@azure/communication-calling'; /* @conditional-compile-remove(teams-identity-support-beta) */ import { AddPhoneNumberOptions } from '@azure/communication-calling'; @@ -17,12 +16,10 @@ import { import { isPhoneNumberIdentifier } from '@azure/communication-common'; import { Common, _toCommunicationIdentifier } from '@internal/acs-ui-common'; import { StatefulCallClient, StatefulDeviceManager } from '@internal/calling-stateful-client'; -/* @conditional-compile-remove(one-to-n-calling) */ import { DeclarativeTeamsCallAgent } from '@internal/calling-stateful-client'; import memoizeOne from 'memoize-one'; import { ReactElement } from 'react'; import { isTeamsCallParticipants } from '../utils/callUtils'; -/* @conditional-compile-remove(one-to-n-calling) */ import { createLocalVideoStream } from '../utils/callUtils'; import { createDefaultCommonCallingHandlers, @@ -118,7 +115,6 @@ export const createDefaultTeamsCallingHandlers = memoizeOne( /* @conditional-compile-remove(teams-identity-support) */ await call?.removeParticipant(participant); }, - /* @conditional-compile-remove(one-to-n-calling) */ onAcceptCall: async (incomingCallId: string, useVideo?: boolean): Promise => { const localVideoStream = useVideo ? await createLocalVideoStream(callClient) : undefined; const incomingCall = (callAgent as DeclarativeTeamsCallAgent)?.incomingCalls.find( @@ -130,7 +126,6 @@ export const createDefaultTeamsCallingHandlers = memoizeOne( ); } }, - /* @conditional-compile-remove(one-to-n-calling) */ onRejectCall: async (incomingCallId: string): Promise => { const incomingCall = (callAgent as DeclarativeTeamsCallAgent)?.incomingCalls.find( (incomingCall: IncomingCallCommon) => incomingCall.id === incomingCallId diff --git a/packages/calling-component-bindings/src/hooks/usePropsFor.ts b/packages/calling-component-bindings/src/hooks/usePropsFor.ts index 54c136a5b03..9a70f2fc2f1 100644 --- a/packages/calling-component-bindings/src/hooks/usePropsFor.ts +++ b/packages/calling-component-bindings/src/hooks/usePropsFor.ts @@ -11,7 +11,6 @@ import { ScreenShareButton, VideoGallery } from '@internal/react-components'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallStack } from '@internal/react-components'; import { NotificationStack } from '@internal/react-components'; @@ -30,7 +29,6 @@ import { ScreenShareButtonSelector, screenShareButtonSelector } from '../callControlSelectors'; - import { holdButtonSelector, HoldButtonSelector } from '../callControlSelectors'; import { VideoGallerySelector, videoGallerySelector } from '../videoGallerySelector'; import { ParticipantListSelector, participantListSelector } from '../participantListSelector'; @@ -45,9 +43,7 @@ import { CommonCallingHandlers } from '../handlers/createCommonHandlers'; import { reactionButtonSelector } from '../callControlSelectors'; import { ReactionButton } from '@internal/react-components'; import { _ComponentCallingHandlers } from '../handlers/createHandlers'; - import { notificationStackSelector, NotificationStackSelector } from '../notificationStackSelector'; -/* @conditional-compile-remove(one-to-n-calling) */ import { incomingCallStackSelector, IncomingCallStackSelector } from '../incomingCallStackSelector'; /** @@ -125,7 +121,7 @@ export type GetSelector JSX.Element | undefine : AreEqual extends true ? NotificationStackSelector : AreEqual extends true - ? /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallStackSelector + ? IncomingCallStackSelector : undefined; /** @@ -140,11 +136,6 @@ export type GetSelector JSX.Element | undefine export const getSelector = JSX.Element | undefined>( component: Component ): GetSelector => { - /* @conditional-compile-remove(one-to-n-calling) */ - if (component === IncomingCallStack) { - return findConditionalCompiledSelector(component); - } - return findSelector(component); }; @@ -181,16 +172,15 @@ const findSelector = (component: (props: any) => JSX.Element | undefined): any = return notificationStackSelector; case HoldButton: return holdButtonSelector; - } - return undefined; -}; - -/* @conditional-compile-remove(one-to-n-calling) */ -const findConditionalCompiledSelector = (component: (props: any) => JSX.Element | undefined): any => { - switch (component) { - /* @conditional-compile-remove(one-to-n-calling) */ case IncomingCallStack: - /* @conditional-compile-remove(one-to-n-calling) */ return incomingCallStackSelector; } + return undefined; }; +/** + * Selector for new components that are conditionally compiled. Comment out when there is no CC'd components + */ +// const findConditionalCompiledSelector = (component: (props: any) => JSX.Element | undefined): any => { +// switch (component) { +// } +// }; diff --git a/packages/calling-component-bindings/src/incomingCallStackSelector.ts b/packages/calling-component-bindings/src/incomingCallStackSelector.ts index 04a19a0f915..1d6de86ddce 100644 --- a/packages/calling-component-bindings/src/incomingCallStackSelector.ts +++ b/packages/calling-component-bindings/src/incomingCallStackSelector.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import { CallClientState, IncomingCallState } from '@internal/calling-stateful-client'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCallState } from '@internal/calling-stateful-client'; import { getDeviceManager, getIncomingCalls, getRemovedIncomingCalls } from './baseSelectors'; import { createSelector } from 'reselect'; @@ -33,27 +32,21 @@ export const incomingCallStackSelector: IncomingCallStackSelector = createSelect removedIncomingCalls: IncomingCallStackCall[]; } => { // Convert incoming call state to active incoming call - const componentIncomingCalls = incomingCalls.map( - ( - incomingCall: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState - ) => { - return { - ...incomingCall, - callerInfo: { - displayName: incomingCall.callerInfo.displayName || 'Unknown Caller' - }, - videoAvailable: - (incomingCall.callerInfo.identifier && isPhoneNumberIdentifier(incomingCall.callerInfo.identifier)) || - deviceManager?.cameras.length === 0 - ? false - : true - }; - } - ); + const componentIncomingCalls = incomingCalls.map((incomingCall: IncomingCallState | TeamsIncomingCallState) => { + return { + ...incomingCall, + callerInfo: { + displayName: incomingCall.callerInfo.displayName || 'Unknown Caller' + }, + videoAvailable: + (incomingCall.callerInfo.identifier && isPhoneNumberIdentifier(incomingCall.callerInfo.identifier)) || + deviceManager?.cameras.length === 0 + ? false + : true + }; + }); const componentRemovedIncomingCalls = removedIncomingCalls.map( - ( - incomingCall: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState - ) => { + (incomingCall: IncomingCallState | TeamsIncomingCallState) => { return { ...incomingCall, callerInfo: { diff --git a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts index 15a2bfa8d60..e015efbe913 100644 --- a/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts +++ b/packages/calling-component-bindings/src/utils/videoGalleryUtils.ts @@ -158,7 +158,6 @@ export const convertRemoteParticipantToVideoGalleryRemoteParticipant = ( videoStream, screenShareStream, isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable, - /* @conditional-compile-remove(one-to-n-calling) */ state, raisedHand, reaction, diff --git a/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts b/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts index 97f3754ee20..1ba9ac8c560 100644 --- a/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts +++ b/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts @@ -370,7 +370,6 @@ describe('declarative call agent', () => { expect((receivedEvent.removed[0] as DeclarativeCall).unsubscribe).toBeDefined(); }); - /* @conditional-compile-remove(one-to-n-calling) */ test('`incomingCalls` should return declarative incoming calls array', () => { const mockIncomingCallOne = createMockIncomingCall('mockIncomingCallIdOne'); const mockIncomingCallTwo = createMockIncomingCall('mockIncomingCallIdTwo'); diff --git a/packages/calling-stateful-client/src/CallAgentDeclarative.ts b/packages/calling-stateful-client/src/CallAgentDeclarative.ts index efda4872cfd..91c6c5d5e42 100644 --- a/packages/calling-stateful-client/src/CallAgentDeclarative.ts +++ b/packages/calling-stateful-client/src/CallAgentDeclarative.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import { CallAgent } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCall } from '@azure/communication-calling'; import { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon'; import { CallContext } from './CallContext'; @@ -11,7 +10,6 @@ import { InternalCallContext } from './InternalCallContext'; import { _isACSCall, _isACSCallAgent } from './TypeGuards'; import { CallAgentCommon, CallCommon } from './BetaToStableTypes'; -/* @conditional-compile-remove(one-to-n-calling) */ /** * @public * This contains a readonly array that returns all the active `incomingCalls`. @@ -30,8 +28,7 @@ export type IncomingCallManagement = { * @public * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent} */ -export type DeclarativeCallAgent = CallAgent & - /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement; +export type DeclarativeCallAgent = CallAgent & IncomingCallManagement; /** * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state diff --git a/packages/calling-stateful-client/src/CallClientState.ts b/packages/calling-stateful-client/src/CallClientState.ts index 13f30310a69..75d81489c1b 100644 --- a/packages/calling-stateful-client/src/CallClientState.ts +++ b/packages/calling-stateful-client/src/CallClientState.ts @@ -870,7 +870,7 @@ export interface CallClientState { * It is keyed by {@link @azure/communication-calling#IncomingCall.id}. */ incomingCalls: { - [key: string]: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState; + [key: string]: IncomingCallState | TeamsIncomingCallState; }; /** * Incoming Calls that have ended are stored here so the callEndReason could be checked. @@ -879,7 +879,7 @@ export interface CallClientState { * Only {@link MAX_CALL_HISTORY_LENGTH} Calls are kept in the history. Oldest calls are evicted if required. */ incomingCallsEnded: { - [key: string]: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState; + [key: string]: IncomingCallState | TeamsIncomingCallState; }; /** * Proxy of {@link @azure/communication-calling#DeviceManager}. Please review {@link DeviceManagerState}. diff --git a/packages/calling-stateful-client/src/CallContext.ts b/packages/calling-stateful-client/src/CallContext.ts index ffe26a14b1c..b0bdd7e3b23 100644 --- a/packages/calling-stateful-client/src/CallContext.ts +++ b/packages/calling-stateful-client/src/CallContext.ts @@ -47,7 +47,6 @@ import { } from './CallClientState'; /* @conditional-compile-remove(breakout-rooms) */ import { NotificationTarget, CallNotification, CallNotifications } from './CallClientState'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCallState } from './CallClientState'; import { CaptionsInfo } from './CallClientState'; import { ReactionState } from './CallClientState'; @@ -908,9 +907,7 @@ export class CallContext { }); } - public setIncomingCall( - call: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState - ): void { + public setIncomingCall(call: IncomingCallState | TeamsIncomingCallState): void { this.modifyState((draft: CallClientState) => { const existingCall = draft.incomingCalls[call.id]; if (existingCall) { diff --git a/packages/calling-stateful-client/src/Converter.ts b/packages/calling-stateful-client/src/Converter.ts index ce2b6743609..e7a496d0087 100644 --- a/packages/calling-stateful-client/src/Converter.ts +++ b/packages/calling-stateful-client/src/Converter.ts @@ -9,7 +9,6 @@ import { IncomingCall, IncomingCallCommon } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCall } from '@azure/communication-calling'; import { TeamsCaptionsInfo } from '@azure/communication-calling'; /* @conditional-compile-remove(acs-close-captions) */ @@ -30,9 +29,7 @@ import { CallInfoState } from './CallClientState'; import { CaptionsInfo } from './CallClientState'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCallState as DeclarativeTeamsIncomingCall } from './CallClientState'; -/* @conditional-compile-remove(one-to-n-calling) */ import { _isTeamsIncomingCall } from './TypeGuards'; import { _isACSCall } from './TypeGuards'; /* @conditional-compile-remove(acs-close-captions) */ @@ -193,8 +190,7 @@ export function convertSdkCallToDeclarativeCall(call: CallCommon): CallState { */ export function convertSdkIncomingCallToDeclarativeIncomingCall( call: IncomingCallCommon -): DeclarativeIncomingCall | /* @conditional-compile-remove(one-to-n-calling) */ DeclarativeTeamsIncomingCall { - /* @conditional-compile-remove(one-to-n-calling) */ +): DeclarativeIncomingCall | DeclarativeTeamsIncomingCall { if (_isTeamsIncomingCall(call)) { const newInfo: CallInfoState = { ...(call as TeamsIncomingCall).info, kind: call.kind }; return { diff --git a/packages/calling-stateful-client/src/StatefulCallClient.ts b/packages/calling-stateful-client/src/StatefulCallClient.ts index e73e26ee38b..f47246fddd0 100644 --- a/packages/calling-stateful-client/src/StatefulCallClient.ts +++ b/packages/calling-stateful-client/src/StatefulCallClient.ts @@ -144,7 +144,6 @@ export interface StatefulCallClient extends CallClient { stream: LocalVideoStreamState | RemoteVideoStreamState ): void; - /** @conditional-compile-remove(one-to-n-calling) */ /** * The CallAgent is used to handle calls. * To create the CallAgent, pass a CommunicationTokenCredential object provided from SDK. diff --git a/packages/calling-stateful-client/src/TeamsCallAgentDeclarative.ts b/packages/calling-stateful-client/src/TeamsCallAgentDeclarative.ts index 63615c6e001..98eb1ea61ce 100644 --- a/packages/calling-stateful-client/src/TeamsCallAgentDeclarative.ts +++ b/packages/calling-stateful-client/src/TeamsCallAgentDeclarative.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import { TeamsCallAgent } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { TeamsIncomingCall } from '@azure/communication-calling'; import { CallCommon, CallAgentCommon } from './BetaToStableTypes'; import { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon'; @@ -13,7 +12,6 @@ import { InternalCallContext } from './InternalCallContext'; /* @conditional-compile-remove(teams-identity-support) */ import { teamsCallDeclaratify } from './TeamsCallDeclarative'; -/* @conditional-compile-remove(one-to-n-calling) */ /** * @public * Proxies the {@link @azure/communication-calling#TeamsIncomingCall} interface. @@ -31,8 +29,7 @@ export type TeamsIncomingCallManagement = { * @public * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent} */ -export type DeclarativeTeamsCallAgent = TeamsCallAgent & - /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallManagement; +export type DeclarativeTeamsCallAgent = TeamsCallAgent & TeamsIncomingCallManagement; /** * ProxyTeamsCallAgent proxies TeamsCallAgent and saves any returned state in the given context. It will subscribe to all state diff --git a/packages/calling-stateful-client/src/TypeGuards.ts b/packages/calling-stateful-client/src/TypeGuards.ts index 17a952a21a2..56db7eeb947 100644 --- a/packages/calling-stateful-client/src/TypeGuards.ts +++ b/packages/calling-stateful-client/src/TypeGuards.ts @@ -44,16 +44,12 @@ export const _isTeamsCallAgent = (callAgent: CallAgentCommon): callAgent is Team * @internal */ export const _isTeamsIncomingCall = (call: IncomingCallCommon): boolean => { - /* @conditional-compile-remove(one-to-n-calling) */ return call.kind === 'TeamsIncomingCall'; - return false; }; /** * @internal */ export const _isACSIncomingCall = (call: IncomingCallCommon): boolean => { - /* @conditional-compile-remove(one-to-n-calling) */ return call.kind === 'IncomingCall'; - return false; }; diff --git a/packages/calling-stateful-client/src/index-public.ts b/packages/calling-stateful-client/src/index-public.ts index b88f847afa9..2c19a23a35b 100644 --- a/packages/calling-stateful-client/src/index-public.ts +++ b/packages/calling-stateful-client/src/index-public.ts @@ -26,18 +26,15 @@ export type { } from './CallClientState'; /* @conditional-compile-remove(breakout-rooms) */ export type { CallNotification, CallNotifications, NotificationTarget } from './CallClientState'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { TeamsIncomingCallState } from './CallClientState'; /* @conditional-compile-remove(remote-ufd) */ export type { RemoteDiagnosticState } from './CallClientState'; export type { CreateViewResult } from './StreamUtils'; export type { RaiseHandCallFeatureState as RaiseHandCallFeature } from './CallClientState'; export type { RaisedHandState } from './CallClientState'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative'; /* @conditional-compile-remove(teams-identity-support) */ export type { DeclarativeTeamsCallAgent } from './TeamsCallAgentDeclarative'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { TeamsIncomingCallManagement } from './TeamsCallAgentDeclarative'; export type { LocalVideoStreamVideoEffectsState } from './CallClientState'; diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 53ded9df0ac..30e98720b73 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -629,10 +629,10 @@ export interface CallClientState { deviceManager: DeviceManagerState; environmentInfo?: EnvironmentInfo; incomingCalls: { - [key: string]: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState; + [key: string]: IncomingCallState | TeamsIncomingCallState; }; incomingCallsEnded: { - [key: string]: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState; + [key: string]: IncomingCallState | TeamsIncomingCallState; }; latestErrors: CallErrors; latestNotifications: CallNotifications; @@ -770,7 +770,7 @@ export type CallCompositeOptions = { }; // @public -export type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'hold' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'leaving' | 'lobby' | 'removedFromCall' | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment' | 'transferring' | 'badRequest'; +export type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'hold' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'leaving' | 'lobby' | 'removedFromCall' | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment' | 'transferring' | 'badRequest'; // @public export interface CallCompositeProps extends BaseCompositeProps { @@ -1225,7 +1225,7 @@ export interface CallWithChatAdapterManagement { setSpeaker(sourceInfo: AudioDeviceInfo): Promise; setSpokenLanguage(language: string): Promise; startCall(participants: string[], options?: StartCallOptions): Call | undefined; - startCall(participants: (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier)[], options?: StartCallOptions): Call | undefined; + startCall(participants: (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier)[], options?: StartCallOptions): Call | undefined; startCamera(options?: VideoStreamOptions): Promise; startCaptions(options?: StartCaptionsAdapterOptions): Promise; // @beta @@ -1577,7 +1577,7 @@ export interface CallWithChatCompositeStrings { // @public export interface CallWithChatControlOptions extends CommonCallControlOptions { - chatButton?: boolean | { + chatButton?: boolean | { disabled: boolean; }; } @@ -2089,17 +2089,17 @@ export type CommonCallAdapterOptions = { // @public export type CommonCallControlOptions = { displayType?: CallControlDisplayType; - cameraButton?: boolean | { + cameraButton?: boolean | { disabled: boolean; }; endCallButton?: boolean | /* @conditional-compile-remove(end-call-options) */ { hangUpForEveryone?: false | 'endCallOptions'; disableEndCallModal?: boolean; }; - microphoneButton?: boolean | { + microphoneButton?: boolean | { disabled: boolean; }; - devicesButton?: boolean | { + devicesButton?: boolean | { disabled: boolean; }; participantsButton?: boolean | { @@ -2119,7 +2119,7 @@ export type CommonCallControlOptions = { holdButton?: boolean | { disabled: boolean; }; - peopleButton?: boolean | { + peopleButton?: boolean | { disabled: boolean; }; dtmfDialerButton?: boolean | { @@ -4620,7 +4620,7 @@ export interface SpotlightState { } // @public -export type StartCallIdentifier = (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier) | /* @conditional-compile-remove(start-call-beta) */ CommunicationIdentifier; +export type StartCallIdentifier = (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier) | /* @conditional-compile-remove(start-call-beta) */ CommunicationIdentifier; // @public export interface StartCaptionsAdapterOptions extends StartCaptionsOptions { @@ -5235,9 +5235,7 @@ export interface VideoTilesOptions { // @public export interface VideoTileStrings { moreOptionsButtonAriaLabel: string; - // (undocumented) participantStateHold: string; - // (undocumented) participantStateRinging: string; } diff --git a/packages/communication-react/review/stable/communication-react.api.md b/packages/communication-react/review/stable/communication-react.api.md index a8b7566b92c..67cf8ac7046 100644 --- a/packages/communication-react/review/stable/communication-react.api.md +++ b/packages/communication-react/review/stable/communication-react.api.md @@ -4491,9 +4491,7 @@ export interface VideoTilesOptions { // @public export interface VideoTileStrings { moreOptionsButtonAriaLabel: string; - // (undocumented) participantStateHold: string; - // (undocumented) participantStateRinging: string; } diff --git a/packages/communication-react/src/index.ts b/packages/communication-react/src/index.ts index 02f15dd7341..c99752e9a29 100644 --- a/packages/communication-react/src/index.ts +++ b/packages/communication-react/src/index.ts @@ -98,7 +98,6 @@ export type { HoldButtonSelector } from '../../calling-component-bindings/src'; export type { RaiseHandButtonSelector } from '../../calling-component-bindings/src'; export type { NotificationStackSelector } from '../../calling-component-bindings/src'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { IncomingCallStackSelector } from '../../calling-component-bindings/src'; export { @@ -168,9 +167,7 @@ export { RaiseHandButton } from '../../react-components/src'; export { Dialpad } from '../../react-components/src'; -/* @conditional-compile-remove(one-to-n-calling) */ export { IncomingCallNotification, IncomingCallStack } from '../../react-components/src'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { IncomingCallNotificationProps, IncomingCallNotificationStrings, @@ -382,7 +379,6 @@ export type { LocalVideoTileSize } from '../../react-components/src'; export * from '../../react-components/src/localization/locales'; export * from '../../react-components/src/theming'; export * from '../../calling-stateful-client/src/index-public'; -/* @conditional-compile-remove(one-to-n-calling) */ export type { DeclarativeCallAgent } from '../../calling-stateful-client/src'; export { createStatefulChatClient } from '../../chat-stateful-client/src'; export type { diff --git a/packages/react-components/src/components/IncomingCallNotification.tsx b/packages/react-components/src/components/IncomingCallNotification.tsx index 98ae2228055..3beeab9d71c 100644 --- a/packages/react-components/src/components/IncomingCallNotification.tsx +++ b/packages/react-components/src/components/IncomingCallNotification.tsx @@ -14,10 +14,8 @@ import { Theme, useTheme } from '@fluentui/react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IContextualMenuProps } from '@fluentui/react'; import React from 'react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { useLocale } from '../localization'; import { _formatString } from '@internal/acs-ui-common'; @@ -158,40 +156,37 @@ export const IncomingCallNotification = (props: IncomingCallNotificationProps): alertText, avatarImage, onAcceptWithAudio, - /* @conditional-compile-remove(one-to-n-calling) */ onAcceptWithVideo, onReject, onDismiss, personaSize, styles, strings, - /* @conditional-compile-remove(one-to-n-calling) */ acceptOptions } = props; const theme = useTheme(); - /* @conditional-compile-remove(one-to-n-calling) */ + const localeStrings = useLocale().strings.IncomingCallNotification; - /* @conditional-compile-remove(one-to-n-calling) */ + const formattedMessageString = localeStrings.incomingCallNotificationPlaceholderAlert && callerName ? _formatString(localeStrings.incomingCallNotificationPlaceholderAlert, { callerName: callerName }) : callerName; - /* @conditional-compile-remove(one-to-n-calling) */ const acceptManuOptions: IContextualMenuProps | undefined = acceptOptions.showAcceptWithVideo ? { items: [ { key: 'audio', text: - /* @conditional-compile-remove(one-to-n-calling) */ strings?.incomingCallNotificationAcceptButtonLabel ?? + strings?.incomingCallNotificationAcceptButtonLabel ?? localeStrings.incomingCallNotificationAcceptButtonLabel, onClick: () => onAcceptWithAudio() }, { key: 'video', text: - /* @conditional-compile-remove(one-to-n-calling) */ strings?.incomingCallNotificationAccceptWithVideoButtonLabel ?? + strings?.incomingCallNotificationAccceptWithVideoButtonLabel ?? localeStrings.incomingCallNotificationAccceptWithVideoButtonLabel, onClick: () => onAcceptWithVideo() } @@ -221,18 +216,11 @@ export const IncomingCallNotification = (props: IncomingCallNotificationProps): - - {alertText ?? - strings?.incomingCallNotificationPlaceholderAlert ?? - /* @conditional-compile-remove(one-to-n-calling) */ formattedMessageString} + + {alertText ?? strings?.incomingCallNotificationPlaceholderAlert ?? formattedMessageString} onAcceptWithAudio()} iconProps={{ iconName: 'IncomingCallNotificationAcceptIcon', style: { lineHeight: '1rem' } }} - /* @conditional-compile-remove(one-to-n-calling) */ ariaLabel={ strings?.incomingCallNoticicationAcceptWithAudioAriaLabel ?? localeStrings.incomingCallNoticicationAcceptWithAudioAriaLabel } - /* @conditional-compile-remove(one-to-n-calling) */ menuProps={acceptManuOptions} > - { - /* @conditional-compile-remove(one-to-n-calling) */ strings?.incomingCallNotificationAcceptButtonLabel ?? - localeStrings.incomingCallNotificationAcceptButtonLabel - } + {strings?.incomingCallNotificationAcceptButtonLabel ?? + localeStrings.incomingCallNotificationAcceptButtonLabel} onReject()} iconProps={{ iconName: 'IncomingCallNotificationRejectIcon' }} - /* @conditional-compile-remove(one-to-n-calling) */ ariaLabel={ strings?.incomingCallNoticicationRejectAriaLabel ?? localeStrings.incomingCallNoticicationRejectAriaLabel } > - { - /* @conditional-compile-remove(one-to-n-calling) */ strings?.incomingCallNotificationRejectButtonLabel ?? - localeStrings.incomingCallNotificationRejectButtonLabel - } + {strings?.incomingCallNotificationRejectButtonLabel ?? + localeStrings.incomingCallNotificationRejectButtonLabel} diff --git a/packages/react-components/src/components/IncomingCallStack.tsx b/packages/react-components/src/components/IncomingCallStack.tsx index e0e7117a98d..cb594d7c0c8 100644 --- a/packages/react-components/src/components/IncomingCallStack.tsx +++ b/packages/react-components/src/components/IncomingCallStack.tsx @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallNotification } from './IncomingCallNotification'; import { IncomingCallNotificationStyles, IncomingCallNotificationStrings } from './IncomingCallNotification'; import { Stack } from '@fluentui/react'; @@ -78,33 +77,26 @@ export interface IncomingCallStackProps { * @public */ export const IncomingCallStack = (props: IncomingCallStackProps): JSX.Element => { - /* @conditional-compile-remove(one-to-n-calling) */ const { activeIncomingCalls, removedIncomingCalls, onAcceptCall, onRejectCall, styles, strings, tabIndex } = props; return ( - - { - /* @conditional-compile-remove(one-to-n-calling) */ activeIncomingCalls - .filter((incomingCall) => !removedIncomingCalls.some((call) => call.id === incomingCall.id)) - .map((incomingCall) => { - return ( - onAcceptCall(incomingCall.id)} - onAcceptWithVideo={() => onAcceptCall(incomingCall.id, true)} - onReject={() => onRejectCall(incomingCall.id)} - onDismiss={() => onRejectCall(incomingCall.id)} - styles={styles} - strings={strings} - acceptOptions={{ showAcceptWithVideo: incomingCall.videoAvailable }} - > - ); - }) - } + + {activeIncomingCalls + .filter((incomingCall) => !removedIncomingCalls.some((call) => call.id === incomingCall.id)) + .map((incomingCall) => { + return ( + onAcceptCall(incomingCall.id)} + onAcceptWithVideo={() => onAcceptCall(incomingCall.id, true)} + onReject={() => onRejectCall(incomingCall.id)} + onDismiss={() => onRejectCall(incomingCall.id)} + styles={styles} + strings={strings} + acceptOptions={{ showAcceptWithVideo: incomingCall.videoAvailable }} + > + ); + })} ); }; diff --git a/packages/react-components/src/components/ParticipantItem.tsx b/packages/react-components/src/components/ParticipantItem.tsx index 5d461ebc9fc..a627b729241 100644 --- a/packages/react-components/src/components/ParticipantItem.tsx +++ b/packages/react-components/src/components/ParticipantItem.tsx @@ -29,7 +29,6 @@ import { participantStateStringStyles } from './styles/ParticipantItem.styles'; import { _preventDismissOnEvent as preventDismissOnEvent } from '@internal/acs-ui-common'; -/* @conditional-compile-remove(one-to-n-calling) */ import { ParticipantState } from '../types'; import { useId } from '@fluentui/react-hooks'; @@ -67,10 +66,8 @@ export interface ParticipantItemStrings { mutedIconLabel: string; /** placeholder text for participants who does not have a display name*/ displayNamePlaceholder?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** String shown when `participantState` is `Ringing` */ participantStateRinging?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** String shown when `participantState` is `Hold` */ participantStateHold?: string; /** String for the attendee role */ @@ -115,7 +112,6 @@ export interface ParticipantItemProps { onClick?: (props?: ParticipantItemProps) => void; /** Optional value to determine if the tooltip should be shown for participants or not */ showParticipantOverflowTooltip?: boolean; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Optional value to determine and display a participants connection status. * For example, `Connecting`, `Ringing` etc. @@ -306,7 +302,6 @@ const participantStateStringTrampoline = ( props: ParticipantItemProps, strings: ParticipantItemStrings ): string | undefined => { - /* @conditional-compile-remove(one-to-n-calling) */ return props.participantState === 'EarlyMedia' || props.participantState === 'Ringing' ? strings?.participantStateRinging : props.participantState === 'Hold' diff --git a/packages/react-components/src/components/ParticipantList.tsx b/packages/react-components/src/components/ParticipantList.tsx index e031537df58..064d879a33d 100644 --- a/packages/react-components/src/components/ParticipantList.tsx +++ b/packages/react-components/src/components/ParticipantList.tsx @@ -219,7 +219,6 @@ const onRenderParticipantDefault = ( onRenderAvatar={onRenderAvatarWithRaiseHand} onClick={onParticipantClick ? () => onParticipantClick?.(participant) : undefined} showParticipantOverflowTooltip={showParticipantOverflowTooltip} - /* @conditional-compile-remove(one-to-n-calling) */ participantState={callingParticipant.state} ariaLabelledBy={participantAriaLabelledBy} /> diff --git a/packages/react-components/src/components/RemoteVideoTile.tsx b/packages/react-components/src/components/RemoteVideoTile.tsx index 13dc325a504..46bebd579e1 100644 --- a/packages/react-components/src/components/RemoteVideoTile.tsx +++ b/packages/react-components/src/components/RemoteVideoTile.tsx @@ -238,7 +238,6 @@ export const _RemoteVideoTile = React.memo( personaMinSize={props.personaMinSize} showLabel={props.showLabel} alwaysShowLabelBackground={props.alwaysShowLabelBackground} - /* @conditional-compile-remove(one-to-n-calling) */ participantState={participantState} {...videoTileContextualMenuProps} isPinned={props.isPinned} diff --git a/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts b/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts index ad9208c5955..3bd2ea8e57f 100644 --- a/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts +++ b/packages/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts @@ -52,14 +52,11 @@ const getOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedPa previousOverflowParticipants = [] } = props; - /* @conditional-compile-remove(one-to-n-calling) */ const callingParticipants = remoteParticipants.filter((p) => p.state === ('Connecting' || 'Ringing')); - /* @conditional-compile-remove(one-to-n-calling) */ + const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId)); - let connectedParticipants = remoteParticipants; - /* @conditional-compile-remove(one-to-n-calling) */ - connectedParticipants = connectedParticipants.filter((p) => !callingParticipantsSet.has(p.userId)); + const connectedParticipants = remoteParticipants.filter((p) => !callingParticipantsSet.has(p.userId)); const remoteParticipantsOrdered = putVideoParticipantsFirst(connectedParticipants); const videoParticipants = remoteParticipants.filter((p) => p.videoStream?.isAvailable); @@ -95,7 +92,6 @@ const getOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedPa let gridParticipants = newGridParticipants; let overflowGalleryParticipants = newOverflowGalleryParticipants; - /* @conditional-compile-remove(one-to-n-calling) */ if (gridParticipants.length + callingParticipants.length <= maxGridParticipants) { gridParticipants = gridParticipants.concat(callingParticipants); } else { diff --git a/packages/react-components/src/components/VideoTile.tsx b/packages/react-components/src/components/VideoTile.tsx index 17ce14685bd..260690ffa1d 100644 --- a/packages/react-components/src/components/VideoTile.tsx +++ b/packages/react-components/src/components/VideoTile.tsx @@ -20,7 +20,6 @@ import { BaseCustomStyles, CustomAvatarOptions, OnRenderAvatarCallback } from '. import { CallingTheme } from '../theming'; import { RaisedHand } from '../types'; import { RaisedHandIcon } from './assets/RaisedHandIcon'; -/* @conditional-compile-remove(one-to-n-calling) */ import { ParticipantState } from '../types'; import { @@ -46,9 +45,9 @@ import { ReactionResources } from '../types/ReactionTypes'; export interface VideoTileStrings { /** Aria label for announcing the remote video tile drawer menu */ moreOptionsButtonAriaLabel: string; - /* @conditional-compile-remove(one-to-n-calling) */ + /** String for displaying the Ringing of the remote participant */ participantStateRinging: string; - /* @conditional-compile-remove(one-to-n-calling) */ + /** String for displaying the Hold state of the remote participant */ participantStateHold: string; } @@ -149,7 +148,6 @@ export interface VideoTileProps { /** Whether the participant is raised hand. Show a indicator (border) and icon with order */ raisedHand?: RaisedHand; - /* @conditional-compile-remove(one-to-n-calling) */ /** * The call connection state of the participant. * For example, `Hold` means the participant is on hold. @@ -378,7 +376,7 @@ export const VideoTile = (props: VideoTileProps): JSX.Element => { const ids = useIdentifiers(); const canShowLabel = showLabel && (displayName || (showMuteIndicator && isMuted)); - const participantStateString = participantStateStringTrampoline(props, locale); + const participantStateString = getParticipantStateString(props, locale); const canShowContextMenuButton = isHovered || isFocused; let raisedHandBackgroundColor = ''; raisedHandBackgroundColor = callingPalette.raiseHandGold; @@ -495,17 +493,13 @@ export const VideoTile = (props: VideoTileProps): JSX.Element => { ); }; -const participantStateStringTrampoline = (props: VideoTileProps, locale: ComponentLocale): string | undefined => { - /* @conditional-compile-remove(one-to-n-calling) */ +const getParticipantStateString = (props: VideoTileProps, locale: ComponentLocale): string | undefined => { const strings = { ...locale.strings.videoTile, ...props.strings }; - /* @conditional-compile-remove(one-to-n-calling) */ return props.participantState === 'EarlyMedia' || props.participantState === 'Ringing' ? strings?.participantStateRinging : props.participantState === 'Hold' ? strings?.participantStateHold : undefined; - - return undefined; }; const tileInfoContainerTokens = { diff --git a/packages/react-components/src/components/index.ts b/packages/react-components/src/components/index.ts index d0513b00ff0..68d0148d96e 100644 --- a/packages/react-components/src/components/index.ts +++ b/packages/react-components/src/components/index.ts @@ -304,6 +304,6 @@ export { _ErrorBoundary } from './ErrorBoundary'; export * from './Notification'; export * from './NotificationStack'; -/* @conditional-compile-remove(one-to-n-calling) */ + export * from './IncomingCallNotification'; export * from './IncomingCallStack'; diff --git a/packages/react-components/src/localization/LocalizationProvider.tsx b/packages/react-components/src/localization/LocalizationProvider.tsx index 19cd9a50d64..5ef83e4dff7 100644 --- a/packages/react-components/src/localization/LocalizationProvider.tsx +++ b/packages/react-components/src/localization/LocalizationProvider.tsx @@ -17,11 +17,8 @@ import { TypingIndicatorStrings, VideoGalleryStrings } from '../components'; - import { NotificationStackStrings } from '../components'; - import { RaiseHandButtonStrings } from '../components'; -/* @conditional-compile-remove(one-to-n-calling) */ import { HoldButtonStrings } from '../components'; import { DialpadStrings } from '../components'; /* @conditional-compile-remove(call-readiness) */ @@ -48,7 +45,6 @@ import { ReactionButtonStrings } from '../components'; /* @conditional-compile-remove(rich-text-editor) */ import { RichTextSendBoxStrings } from '../components/RichTextEditor/RichTextSendBox'; import { MeetingConferencePhoneInfoModalStrings } from '../components/MeetingConferencePhoneInfo'; -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallNotificationStrings } from '../components/IncomingCallNotification'; /** @@ -183,7 +179,7 @@ export interface ComponentStrings { ParticipantList: ParticipantListStrings; /** Strings for the MeetingConferencePhoneInfoModal */ meetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings; - /* @conditional-compile-remove(one-to-n-calling) */ + IncomingCallNotification: IncomingCallNotificationStrings; } diff --git a/packages/react-components/src/theming/icons.tsx b/packages/react-components/src/theming/icons.tsx index 511616ab6f9..467d9e8bcd5 100644 --- a/packages/react-components/src/theming/icons.tsx +++ b/packages/react-components/src/theming/icons.tsx @@ -112,7 +112,6 @@ import React from 'react'; import { useTheme } from './FluentThemeProvider'; /* @conditional-compile-remove(call-readiness) */ import { sitePermissionIconBackgroundStyle, scaledIconStyles } from './icons.styles'; -/* @conditional-compile-remove(one-to-n-calling) */ import { Call20Filled } from '@fluentui/react-icons'; /** @@ -414,10 +413,7 @@ export const DEFAULT_COMPONENT_ICONS = { RichTextTableDeleteMenuIcon: , /* @conditional-compile-remove(soft-mute) */ ContextualMenuMicMutedIcon: , - /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallNotificationRejectIcon: , - /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallNotificationAcceptIcon: , - /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallNotificationAcceptWithVideoIcon: }; diff --git a/packages/react-components/src/types/OnRender.ts b/packages/react-components/src/types/OnRender.ts index 3faff917021..402d484b05f 100644 --- a/packages/react-components/src/types/OnRender.ts +++ b/packages/react-components/src/types/OnRender.ts @@ -8,7 +8,6 @@ import { PersonaPresence, PersonaSize } from '@fluentui/react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { ParticipantState } from '.'; /** @@ -34,10 +33,8 @@ export type CustomAvatarOptions = { styles?: IStyleFunctionOrObject; /** Display name to be used in Persona */ text?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** State for the participant to be displayed in the defaultPlaceHolder */ participantState?: ParticipantState; - /* @conditional-compile-remove(one-to-n-calling) */ /** * If true, show the special coin for unknown persona. * It has '?' in place of initials, with static font and background colors diff --git a/packages/react-components/src/types/VideoGalleryParticipant.ts b/packages/react-components/src/types/VideoGalleryParticipant.ts index 24bf06922bf..a83b5035ebb 100644 --- a/packages/react-components/src/types/VideoGalleryParticipant.ts +++ b/packages/react-components/src/types/VideoGalleryParticipant.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(one-to-n-calling) */ import { ParticipantState } from './ParticipantListParticipant'; import { RaisedHand } from './ParticipantListParticipant'; @@ -114,7 +113,6 @@ export interface VideoGalleryRemoteParticipant extends VideoGalleryParticipant { isSpeaking?: boolean; /** Video stream of shared screen */ screenShareStream?: VideoGalleryStream; - /* @conditional-compile-remove(one-to-n-calling) */ /** * @public * The connection state of the participant. For example, 'Hold', 'Connecting' etc. diff --git a/packages/react-composites/src/composites/CallComposite/CallComposite.tsx b/packages/react-composites/src/composites/CallComposite/CallComposite.tsx index f8802126980..8104eb4efcb 100644 --- a/packages/react-composites/src/composites/CallComposite/CallComposite.tsx +++ b/packages/react-composites/src/composites/CallComposite/CallComposite.tsx @@ -36,7 +36,6 @@ import { CallControlOptions } from './types/CallControlOptions'; import { LayerHost, mergeStyles } from '@fluentui/react'; import { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles'; import { useId } from '@fluentui/react-hooks'; -/* @conditional-compile-remove(one-to-n-calling) */ import { HoldPage } from './pages/HoldPage'; /* @conditional-compile-remove(unsupported-browser) */ import { UnsupportedBrowserPage } from './pages/UnsupportedBrowser'; @@ -708,7 +707,6 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { /> ); break; - /* @conditional-compile-remove(one-to-n-calling) */ case 'hold': pageElement = ( <> diff --git a/packages/react-composites/src/composites/CallComposite/Strings.tsx b/packages/react-composites/src/composites/CallComposite/Strings.tsx index 5b3da52ad77..381932da702 100644 --- a/packages/react-composites/src/composites/CallComposite/Strings.tsx +++ b/packages/react-composites/src/composites/CallComposite/Strings.tsx @@ -294,27 +294,22 @@ export interface CallCompositeStrings { * label for more button in the Calling composite */ moreButtonCallingLabel: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Label for the resume call button on the hold pane */ resumeCallButtonLabel?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Label for the resume call button on the hold pane when call is resuming */ resumingCallButtonLabel?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Aria label for the resume call button on the hold pane */ resumeCallButtonAriaLabel?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Aria label for the resume call button on the hold pane when call is resuming */ resumingCallButtonAriaLabel?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * Label for the hold pane */ diff --git a/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts b/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts index 86819006e53..215bec4027a 100644 --- a/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts +++ b/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts @@ -968,7 +968,7 @@ export class AzureCommunicationCallAdapter { const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus); const { updateSidePaneRenderer } = props; - /* @conditional-compile-remove(one-to-n-calling) */ const isInLocalHold = useSelector(getPage) === 'hold'; const adapter = useAdapter(); @@ -367,7 +360,6 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { } }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]); - /* @conditional-compile-remove(one-to-n-calling) */ useEffect(() => { if (isInLocalHold) { // close side pane on local hold @@ -526,9 +518,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { containerWidth={containerWidth} containerHeight={containerHeight} isMobile={props.mobileView} - /* @conditional-compile-remove(one-to-n-calling) */ peopleButtonChecked={isPeoplePaneOpen} - /* @conditional-compile-remove(one-to-n-calling) */ onPeopleButtonClicked={togglePeoplePane} displayVertical={verticalControlBar} /> @@ -539,7 +529,6 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { callAdapter={adapter as CallAdapter} mobileView={props.mobileView} disableButtonsForLobbyPage={isInLobby} - /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen={isInLocalHold} peopleButtonChecked={isPeoplePaneOpen} onPeopleButtonClicked={togglePeoplePane} @@ -574,7 +563,6 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { callControls={props.callControlProps.options} onLightDismiss={closeDrawer} onPeopleButtonClicked={onMoreDrawerPeopleClicked} - /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen={isInLocalHold} isCaptionsSupported={ (useTeamsCaptions && hasJoinedCall) || @@ -628,7 +616,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { )} {renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent()} - {true && /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && ( + {!isInLocalHold && ( ) && ( - /* @conditional-compile-remove(one-to-n-calling) */ { - /* @conditional-compile-remove(one-to-n-calling) */ const holdButtonProps = usePropsFor(HoldButton); const locale = useLocale(); - const strings = stringsTrampoline(locale); + const strings: HoldPaneStrings = { + holdScreenLabel: locale.strings.call.holdScreenLabel ?? '', + resumeCallButtonLabel: locale.strings.call.resumeCallButtonLabel ?? '', + resumeCallButtonAriaLabel: locale.strings.call.resumeCallButtonAriaLabel ?? '', + resumingCallButtonLabel: locale.strings.call.resumingCallButtonLabel ?? '', + resumingCallButtonAriaLabel: locale.strings.call.resumingCallButtonAriaLabel ?? '' + }; const [time, setTime] = useState(0); @@ -68,7 +71,6 @@ export const HoldPane = (): JSX.Element => { onClick={async () => { setResumingCall(true); try { - /* @conditional-compile-remove(one-to-n-calling) */ await holdButtonProps.onToggleHold(); } catch (e) { setResumingCall(false); @@ -104,21 +106,3 @@ export const getReadableTime = (time: number): string => { const readableSeconds = ('0' + (getSeconds(time) % 60)).slice(-2); return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`; }; - -const stringsTrampoline = (locale: CompositeLocale): HoldPaneStrings => { - /* @conditional-compile-remove(one-to-n-calling) */ - return { - holdScreenLabel: locale.strings.call.holdScreenLabel ?? '', - resumeCallButtonLabel: locale.strings.call.resumeCallButtonLabel ?? '', - resumeCallButtonAriaLabel: locale.strings.call.resumeCallButtonAriaLabel ?? '', - resumingCallButtonLabel: locale.strings.call.resumingCallButtonLabel ?? '', - resumingCallButtonAriaLabel: locale.strings.call.resumingCallButtonAriaLabel ?? '' - }; - return { - holdScreenLabel: '', - resumeCallButtonLabel: '', - resumeCallButtonAriaLabel: '', - resumingCallButtonLabel: '', - resumingCallButtonAriaLabel: '' - }; -}; diff --git a/packages/react-composites/src/composites/CallComposite/pages/HoldPage.tsx b/packages/react-composites/src/composites/CallComposite/pages/HoldPage.tsx index bd353f622d5..d4a7385490c 100644 --- a/packages/react-composites/src/composites/CallComposite/pages/HoldPage.tsx +++ b/packages/react-composites/src/composites/CallComposite/pages/HoldPage.tsx @@ -47,7 +47,6 @@ export const HoldPage = (props: HoldPageProps): JSX.Element => { 'microphoneButton', 'devicesButton', 'screenShareButton', - /* @conditional-compile-remove(one-to-n-calling) */ 'holdButton' ]); diff --git a/packages/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx b/packages/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx index 835e9ab7659..23f89b426ba 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx +++ b/packages/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx @@ -736,13 +736,11 @@ export const CallWithChatComposite = (props: CallWithChatCompositeProps): JSX.El }; const hasJoinedCallFn = (page: CallCompositePage, callStatus: CallState): boolean => { - /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */ return ( (page === 'call' && (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting')) || (page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting')) ); - return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting'); }; const checkShowChatButton = (callControls?: boolean | CallWithChatControlOptions): boolean => { diff --git a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts index b5a3ecbe16f..044bc485163 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts +++ b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts @@ -52,7 +52,6 @@ import { import { MessageOptions } from '@internal/acs-ui-common'; import { PhoneNumberIdentifier } from '@azure/communication-common'; import { UnknownIdentifier, MicrosoftTeamsAppIdentifier } from '@azure/communication-common'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CommunicationUserIdentifier } from '@azure/communication-common'; /* @conditional-compile-remove(teams-adhoc-call) */ import { MicrosoftTeamsUserIdentifier } from '@azure/communication-common'; @@ -167,7 +166,7 @@ export interface CallWithChatAdapterManagement { participants: ( | MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier - | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier + | CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier )[], diff --git a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.ts b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.ts index a48fdce347b..9ec26cd83e4 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.ts +++ b/packages/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.ts @@ -18,7 +18,6 @@ import { AddPhoneNumberOptions } from '@azure/communication-calling'; import { DtmfTone } from '@azure/communication-calling'; import { CallWithChatAdapterState } from '../state/CallWithChatAdapterState'; import { CommunicationIdentifier, isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CommunicationUserIdentifier } from '@azure/communication-common'; import { _toCommunicationIdentifier } from '@internal/acs-ui-common'; import { diff --git a/packages/react-composites/src/composites/common/AvatarPersona.tsx b/packages/react-composites/src/composites/common/AvatarPersona.tsx index 4b9cf587ca7..ac4fe15b30b 100644 --- a/packages/react-composites/src/composites/common/AvatarPersona.tsx +++ b/packages/react-composites/src/composites/common/AvatarPersona.tsx @@ -34,7 +34,6 @@ export type AvatarPersonaData = { * @defaultvalue `white` */ initialsTextColor?: string; - /* @conditional-compile-remove(one-to-n-calling) */ /** * If true, show the special coin for unknown persona. * It has '?' in place of initials, with static font and background colors @@ -119,7 +118,6 @@ export const AvatarPersona = (props: AvatarPersonaProps): JSX.Element => { initialsTextColor={data?.initialsTextColor ?? initialsTextColor ?? 'white'} // default disable tooltip unless specified showOverflowTooltip={showOverflowTooltip ?? false} - /* @conditional-compile-remove(one-to-n-calling) */ showUnknownPersonaCoin={data?.showUnknownPersonaCoin ?? props.showUnknownPersonaCoin ?? false} /> ); diff --git a/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx b/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx index ac52bcfbfe9..bf7d3680c95 100644 --- a/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx +++ b/packages/react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx @@ -346,10 +346,7 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe const showDesktopMoreButton = isEnabled(options?.moreButton) && - (false || - /* @conditional-compile-remove(one-to-n-calling) */ isEnabled(options?.holdButton) || - showCaptionsButton || - props.onUserSetGalleryLayout); + (false || isEnabled(options?.holdButton) || showCaptionsButton || props.onUserSetGalleryLayout); const role = props.callAdapter.getState().call?.role; const hideRaiseHandButtonInRoomsCall = @@ -423,7 +420,6 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe displayType={options.displayType} styles={commonButtonStyles} splitButtonsForDeviceSelection={!props.mobileView} - /* @conditional-compile-remove(one-to-n-calling) */ disabled={props.disableButtonsForHoldScreen || isDisabled(options.microphoneButton)} disableTooltip={props.mobileView} /* @conditional-compile-remove(DNS) */ @@ -439,7 +435,6 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe displayType={options.displayType} styles={commonButtonStyles} splitButtonsForDeviceSelection={!props.mobileView} - /* @conditional-compile-remove(one-to-n-calling) */ disabled={props.disableButtonsForHoldScreen || isDisabled(options.cameraButton)} onClickVideoEffects={props.onClickVideoEffects} componentRef={props.cameraButtonRef} @@ -461,7 +456,6 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe )} @@ -489,7 +483,6 @@ export const CommonCallControlBar = (props: CommonCallControlBarProps & Containe option={options.screenShareButton} displayType={options.displayType} styles={screenShareButtonStyles} - /* @conditional-compile-remove(one-to-n-calling) */ disabled={props.disableButtonsForHoldScreen || isDisabled(options.screenShareButton)} /> )} diff --git a/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx b/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx index 1e5f7850971..a0998ca26bc 100644 --- a/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx +++ b/packages/react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx @@ -5,12 +5,10 @@ import { IContextualMenuItem } from '@fluentui/react'; import { ControlBarButtonProps } from '@internal/react-components'; import { VideoGalleryLayout } from '@internal/react-components'; import { _StartCaptionsButton } from '@internal/react-components'; -/* @conditional-compile-remove(one-to-n-calling) */ import { HoldButton } from '@internal/react-components'; import React from 'react'; import { useState } from 'react'; import { useMemo, useCallback } from 'react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { usePropsFor } from '../../CallComposite/hooks/usePropsFor'; import { buttonFlyoutIncreasedSizeStyles } from '../../CallComposite/styles/Buttons.styles'; import { MoreButton } from '../MoreButton'; @@ -53,7 +51,6 @@ export interface DesktopMoreButtonProps extends ControlBarButtonProps { */ export const DesktopMoreButton = (props: DesktopMoreButtonProps): JSX.Element => { const localeStrings = useLocale(); - /* @conditional-compile-remove(one-to-n-calling) */ const holdButtonProps = usePropsFor(HoldButton); const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector); const startCaptionsButtonHandlers = useHandlers(_StartCaptionsButton); diff --git a/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx b/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx index 99830edc2bf..b76b830e60a 100644 --- a/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx +++ b/packages/react-composites/src/composites/common/Drawer/MoreDrawer.tsx @@ -17,7 +17,6 @@ import { ReactionResources } from '@internal/react-components'; import { VideoGalleryLayout } from '@internal/react-components'; import { _StartCaptionsButton, _CaptionsSettingsModal } from '@internal/react-components'; -/* @conditional-compile-remove(one-to-n-calling) */ import { HoldButton } from '@internal/react-components'; import { RaiseHandButton, RaiseHandButtonProps } from '@internal/react-components'; import { AudioDeviceInfo } from '@azure/communication-calling'; @@ -176,7 +175,6 @@ export const MoreDrawer = (props: MoreDrawerProps): JSX.Element => { const { speakers, onSelectSpeaker, onLightDismiss } = props; const localeStrings = useLocale(); - /* @conditional-compile-remove(one-to-n-calling) */ const holdButtonProps = usePropsFor(HoldButton); const callees = useSelector(getTargetCallees); @@ -387,7 +385,6 @@ export const MoreDrawer = (props: MoreDrawerProps): JSX.Element => { }); } - /* @conditional-compile-remove(one-to-n-calling) */ if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions?.holdButton)) { drawerMenuItems.push({ itemKey: 'holdButtonKey', diff --git a/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx b/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx index ee5800faa14..c6455db89b4 100644 --- a/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx +++ b/packages/react-composites/src/composites/common/types/CommonCallControlOptions.tsx @@ -99,7 +99,6 @@ export type CommonCallControlOptions = { * Inject custom buttons in the call controls. */ onFetchCustomButtonProps?: CustomCallControlButtonCallback[]; - /* @conditional-compile-remove(one-to-n-calling) */ holdButton?: boolean | { disabled: boolean }; /** * Show or hide the people button in the composite control bar. diff --git a/packages/react-composites/tests/browser/call/hermetic/LobbyScreen.test.ts b/packages/react-composites/tests/browser/call/hermetic/LobbyScreen.test.ts index 2aecc4954f7..3fbbe6f54a9 100644 --- a/packages/react-composites/tests/browser/call/hermetic/LobbyScreen.test.ts +++ b/packages/react-composites/tests/browser/call/hermetic/LobbyScreen.test.ts @@ -36,7 +36,6 @@ test.describe('Lobby page tests', async () => { expect(await stableScreenshot(page)).toMatchSnapshot('lobby-page-group-call.png'); }); - /* @conditional-compile-remove(one-to-n-calling) */ test('lobby page shows correct strings when starting a ACS outbound call', async ({ page, serverUrl }) => { const joel = defaultMockRemoteParticipant('Joel'); joel.state = 'Connecting'; diff --git a/packages/react-composites/tests/browser/call/hermetic/PeoplePane.test.ts b/packages/react-composites/tests/browser/call/hermetic/PeoplePane.test.ts index 7ddb210b378..1418dcf3772 100644 --- a/packages/react-composites/tests/browser/call/hermetic/PeoplePane.test.ts +++ b/packages/react-composites/tests/browser/call/hermetic/PeoplePane.test.ts @@ -25,9 +25,7 @@ import type { MockCallAdapterState } from '../../../common'; import { toFlatCommunicationIdentifier } from '@internal/acs-ui-common'; const participantListShownAsFlyout = (): boolean => { - /* @conditional-compile-remove(one-to-n-calling) */ return false; - return true; }; const participantListShownAsSidePane = (testInfo: TestInfo): boolean => { diff --git a/samples/CallWithChat/src/app/views/HomeScreen.tsx b/samples/CallWithChat/src/app/views/HomeScreen.tsx index 5b558fd20c6..15013869854 100644 --- a/samples/CallWithChat/src/app/views/HomeScreen.tsx +++ b/samples/CallWithChat/src/app/views/HomeScreen.tsx @@ -41,7 +41,6 @@ export interface HomeScreenProps { startCallHandler(callDetails: { displayName: string; meetingLocator?: TeamsMeetingLinkLocator | TeamsMeetingIdLocator; - /* @conditional-compile-remove(one-to-n-calling) */ outboundParticipants?: string[]; alternateCallerId?: string; /* @conditional-compile-remove(rich-text-editor-composite-support) */ @@ -59,7 +58,6 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { const callOptions: IChoiceGroupOption[] = [ { key: 'ACSCallWithChat', text: 'Start a ACS Call with Chat' }, { key: 'TeamsMeeting', text: 'Join a Teams Meeting' }, - /* @conditional-compile-remove(one-to-n-calling) */ { key: '1:N', text: 'Start a 1:N ACS Call' }, { key: 'PSTN', text: 'Start a PSTN Call' } ]; @@ -77,7 +75,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { const [passcode, setPasscode] = useState(); const [alternateCallerId, setAlternateCallerId] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ + const [outboundParticipants, setOutboundParticipants] = useState(); const [dialpadParticipant, setDialpadParticipant] = useState(); @@ -86,7 +84,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { const teamsCallChosen: boolean = chosenCallOption.key === 'TeamsMeeting'; const startGroupCall: boolean = chosenCallOption.key === 'ACSCallWithChat'; const pstnCallChosen: boolean = chosenCallOption.key === 'PSTN'; - /* @conditional-compile-remove(one-to-n-calling) */ + const acsCallChosen: boolean = chosenCallOption.key === '1:N'; const buttonEnabled = displayName && @@ -94,7 +92,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { meetingLocator || (teamsCallChosen && meetingLocator) || (pstnCallChosen && dialpadParticipant && alternateCallerId) || - /* @conditional-compile-remove(one-to-n-calling) */ (outboundParticipants && acsCallChosen)); + (outboundParticipants && acsCallChosen)); registerIcons({ icons: { DialpadBackspace: } }); @@ -183,19 +181,17 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { And )} - { - /* @conditional-compile-remove(one-to-n-calling) */ acsCallChosen && ( - - newValue && setOutboundParticipants(newValue)} - /> - - ) - } + {acsCallChosen && ( + + newValue && setOutboundParticipants(newValue)} + /> + + )} {pstnCallChosen && ( @@ -262,14 +258,13 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { onClick={() => { if (displayName) { saveDisplayNameToLocalStorage(displayName); - /* @conditional-compile-remove(one-to-n-calling) */ + const acsParticipantsToCall = parseParticipants(outboundParticipants); const dialpadParticipantToCall = parseParticipants(dialpadParticipant); startCallHandler({ displayName, meetingLocator, alternateCallerId, - /* @conditional-compile-remove(one-to-n-calling) */ outboundParticipants: acsParticipantsToCall ? acsParticipantsToCall : dialpadParticipantToCall, /* @conditional-compile-remove(rich-text-editor-composite-support) */ isRichTextEditorEnabled: isRichTextEditorEnabled @@ -287,7 +282,6 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { ); }; -/* @conditional-compile-remove(one-to-n-calling) */ /** * splits the participant Id's so we can call multiple people. */ diff --git a/samples/Calling/src/app/utils/AppUtils.ts b/samples/Calling/src/app/utils/AppUtils.ts index 165824695a0..087a3bc7102 100644 --- a/samples/Calling/src/app/utils/AppUtils.ts +++ b/samples/Calling/src/app/utils/AppUtils.ts @@ -111,7 +111,6 @@ export const getRoomIdFromUrl = (): RoomCallLocator | undefined => { return roomId ? { roomId } : undefined; }; -/* @conditional-compile-remove(one-to-n-calling) */ export const getOutboundParticipants = (outboundParticipants?: string[]): StartCallIdentifier[] | undefined => { if (outboundParticipants && outboundParticipants.length > 0) { const participants: StartCallIdentifier[] = outboundParticipants.map((participantId) => { diff --git a/samples/Calling/src/app/views/HomeScreen.tsx b/samples/Calling/src/app/views/HomeScreen.tsx index b5b20de2715..77e294c7109 100644 --- a/samples/Calling/src/app/views/HomeScreen.tsx +++ b/samples/Calling/src/app/views/HomeScreen.tsx @@ -46,7 +46,7 @@ export type CallOption = | 'Rooms' | 'StartRooms' | /* @conditional-compile-remove(teams-identity-support) */ 'TeamsIdentity' - | /* @conditional-compile-remove(one-to-n-calling) */ '1:N' + | '1:N' | 'PSTN' | 'TeamsAdhoc'; @@ -81,7 +81,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { { key: 'Rooms', text: 'Join a Rooms Call' }, /* @conditional-compile-remove(teams-identity-support) */ { key: 'TeamsIdentity', text: 'Join a Teams call using Teams identity' }, - /* @conditional-compile-remove(one-to-n-calling) */ + { key: '1:N', text: 'Start a 1:N ACS Call' }, { key: 'PSTN', text: 'Start a PSTN Call' }, { key: 'TeamsAdhoc', text: 'Call a Teams User or voice application' } @@ -134,7 +134,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { chosenRoomsRoleOption) || (pstnCallChosen && dialPadParticipant && alternateCallerId) || (teamsAdhocChosen && outboundTeamsUsers) || - /* @conditional-compile-remove(one-to-n-calling) */ (outboundParticipants && acsCallChosen) || + (outboundParticipants && acsCallChosen) || /* @conditional-compile-remove(teams-identity-support) */ (teamsIdentityChosen && callLocator && teamsToken && @@ -292,19 +292,17 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { onChange={(_, option) => option && setRoomsRoleOption(option)} /> )} - { - /* @conditional-compile-remove(one-to-n-calling) */ acsCallChosen && ( - - setOutboundParticipants(newValue)} - /> - - ) - } + {acsCallChosen && ( + + setOutboundParticipants(newValue)} + /> + + )} {teamsAdhocChosen && ( { onClick={() => { if (displayName || /* @conditional-compile-remove(teams-identity-support) */ teamsIdentityChosen) { displayName && saveDisplayNameToLocalStorage(displayName); - /* @conditional-compile-remove(one-to-n-calling) */ + const acsParticipantsToCall = parseParticipants(outboundParticipants); const teamsParticipantsToCall = parseParticipants(outboundTeamsUsers); const dialpadParticipantToCall = parseParticipants(dialPadParticipant); diff --git a/samples/CallingStateful/src/App.tsx b/samples/CallingStateful/src/App.tsx index 4aa5674d66a..b275da32e43 100644 --- a/samples/CallingStateful/src/App.tsx +++ b/samples/CallingStateful/src/App.tsx @@ -3,10 +3,8 @@ import React, { useCallback, useEffect, useState } from 'react'; import './App.css'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CommunicationUserIdentifier } from '@azure/communication-common'; import { Call, CallCommon, TeamsCall } from '@azure/communication-calling'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CallAgent } from '@azure/communication-calling'; import { DEFAULT_COMPONENT_ICONS, @@ -15,7 +13,6 @@ import { StatefulCallClient, CallClientState } from '@azure/communication-react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { DeclarativeCallAgent, DeclarativeTeamsCallAgent, @@ -23,15 +20,11 @@ import { CallAgentProvider } from '@azure/communication-react'; import { Text, initializeIcons, registerIcons } from '@fluentui/react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { Stack } from '@fluentui/react'; import heroSVG from './assets/hero.svg'; import { LoginScreen } from './views/Login'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CallScreen } from './views/CallScreen'; -/* @conditional-compile-remove(one-to-n-calling) */ import { HomeScreen } from './views/Homescreen'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CallManager } from './components/CallManager'; initializeIcons(); @@ -39,28 +32,23 @@ registerIcons({ icons: DEFAULT_COMPONENT_ICONS }); function App(): JSX.Element { const imageProps = { src: heroSVG.toString() }; - /* @conditional-compile-remove(one-to-n-calling) */ const [userIdentifier, setUserIdentifier] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [teamsIdentifier, setTeamsIdentifier] = useState(); const [userCredentialFetchError, setUserCredentialFetchError] = useState(false); const [statefulCallClient, setStatefulCallClient] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [callAgent, setCallAgent] = useState(); const [call, setCall] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [calls, setCalls] = useState([]); const statefulCallClientUpdatedListener = useCallback( (newStatefulCallClient: CallClientState): void => { - if (newStatefulCallClient.callAgent && /* @conditional-compile-remove(one-to-n-calling) */ callAgent?.calls) { - /* @conditional-compile-remove(one-to-n-calling) */ + if (newStatefulCallClient.callAgent && callAgent?.calls) { setCalls((callAgent?.calls as Call[] | TeamsCall[]) || []); } }, - [/* @conditional-compile-remove(one-to-n-calling) */ callAgent] + [callAgent] ); useEffect(() => { @@ -92,47 +80,38 @@ function App(): JSX.Element { ); useEffect(() => { - /* @conditional-compile-remove(one-to-n-calling) */ if (!callAgent) { return; } - /* @conditional-compile-remove(one-to-n-calling) */ if (callAgent.kind === 'TeamsCallAgent') { console.log('Subscribing to teams events'); - /* @conditional-compile-remove(one-to-n-calling) */ (callAgent as DeclarativeTeamsCallAgent).on('callsUpdated', callsUpdatedListener); return () => { - /* @conditional-compile-remove(one-to-n-calling) */ (callAgent as DeclarativeTeamsCallAgent).off('callsUpdated', callsUpdatedListener); }; } else if (callAgent.kind === 'CallAgent') { console.log('subscribing to ACS CallAgent events'); - /* @conditional-compile-remove(one-to-n-calling) */ (callAgent as DeclarativeCallAgent).on('callsUpdated', callsUpdatedListener); return () => { - /* @conditional-compile-remove(one-to-n-calling) */ (callAgent as DeclarativeCallAgent).off('callsUpdated', callsUpdatedListener); }; } else { throw new Error('Unknown call agent kind'); } - }, [/* @conditional-compile-remove(one-to-n-calling) */ callAgent, callsUpdatedListener]); + }, [callAgent, callsUpdatedListener]); if (userCredentialFetchError) { return Failed to fetch user credentials; } - if (statefulCallClient === undefined || /* @conditional-compile-remove(one-to-n-calling) */ callAgent === undefined) { + if (statefulCallClient === undefined || callAgent === undefined) { return ( ); @@ -143,7 +122,7 @@ function App(): JSX.Element { <> { - /* @conditional-compile-remove(one-to-n-calling) */ + {userIdentifier && your userId: {userIdentifier.communicationUserId}} {teamsIdentifier && your teamsId: {teamsIdentifier}} - { - /* @conditional-compile-remove(one-to-n-calling) */ statefulCallClient && callAgent && !call && ( - - ) - } - {statefulCallClient && /* @conditional-compile-remove(one-to-n-calling) */ callAgent && call && ( + {statefulCallClient && callAgent && !call && ( + + )} + {statefulCallClient && callAgent && call && ( - + )} diff --git a/samples/CallingStateful/src/views/CallScreen.tsx b/samples/CallingStateful/src/views/CallScreen.tsx index a00144c9ba2..59aa4219dd0 100644 --- a/samples/CallingStateful/src/views/CallScreen.tsx +++ b/samples/CallingStateful/src/views/CallScreen.tsx @@ -1,36 +1,25 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(one-to-n-calling) */ import { IncomingCallStack, usePropsFor } from '@azure/communication-react'; import { Stack } from '@fluentui/react'; -/* @conditional-compile-remove(one-to-n-calling) */ import CallingComponents from '../components/CallingComponents'; import React from 'react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { CallCommon, Call, TeamsCall } from '@azure/communication-calling'; export interface CallScreenProps { - /* @conditional-compile-remove(one-to-n-calling) */ call: CallCommon; - /* @conditional-compile-remove(one-to-n-calling) */ onSetCall: (call: Call | TeamsCall) => void; } export const CallScreen = (props: CallScreenProps): JSX.Element => { - const { /* @conditional-compile-remove(one-to-n-calling) */ call } = props; - /* @conditional-compile-remove(one-to-n-calling) */ + const { call } = props; const incomingCallStackProps = usePropsFor(IncomingCallStack); return ( - <>{/* @conditional-compile-remove(one-to-n-calling) */ call && } + <>{call && } - { - /* @conditional-compile-remove(one-to-n-calling) */ - } + {} ); diff --git a/samples/CallingStateful/src/views/Homescreen.tsx b/samples/CallingStateful/src/views/Homescreen.tsx index 275123c65b2..2a308b52804 100644 --- a/samples/CallingStateful/src/views/Homescreen.tsx +++ b/samples/CallingStateful/src/views/Homescreen.tsx @@ -11,7 +11,7 @@ import { PhoneNumberIdentifier } from '@azure/communication-common'; import { Dialpad, fromFlatCommunicationIdentifier } from '@azure/communication-react'; -/* @conditional-compile-remove(one-to-n-calling) */ + import { IncomingCallStack, usePropsFor } from '@azure/communication-react'; import { PrimaryButton, Stack, TextField, Image } from '@fluentui/react'; import React, { useState } from 'react'; @@ -28,17 +28,12 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { const { callAgent, headerImageProps } = props; const [targetParticipants, setTargetParticipants] = useState(); const [alternateCallerId, setAlternateCallerId] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ + const incomingCallStackProps = usePropsFor(IncomingCallStack); return ( - { - /* @conditional-compile-remove(one-to-n-calling) */ - } + {} Welcome to the ACS Calling sample app diff --git a/samples/CallingStateful/src/views/Login.tsx b/samples/CallingStateful/src/views/Login.tsx index 037b8e5cd1f..efd5b364fc6 100644 --- a/samples/CallingStateful/src/views/Login.tsx +++ b/samples/CallingStateful/src/views/Login.tsx @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -/* @conditional-compile-remove(one-to-n-calling) */ import { AzureCommunicationTokenCredential } from '@azure/communication-common'; import { CommunicationUserIdentifier, MicrosoftTeamsUserIdentifier } from '@azure/communication-common'; import React, { useEffect, useState } from 'react'; @@ -12,18 +11,14 @@ import { createStatefulCallClient, fromFlatCommunicationIdentifier } from '@azure/communication-react'; -/* @conditional-compile-remove(one-to-n-calling) */ import { DeclarativeCallAgent, DeclarativeTeamsCallAgent } from '@azure/communication-react'; import { Stack, Image, Text, TextField, PrimaryButton } from '@fluentui/react'; import { imgStyle } from '../styles/HomeScreen.styles'; export interface LoginProps { - /* @conditional-compile-remove(one-to-n-calling) */ onSetUserIdentifier: (user: CommunicationUserIdentifier) => void; onSetStatefulClient: (client: StatefulCallClient) => void; - /* @conditional-compile-remove(one-to-n-calling) */ onSetCallAgent: (callAgent: DeclarativeCallAgent | DeclarativeTeamsCallAgent) => void; - /* @conditional-compile-remove(one-to-n-calling) */ onSetTeamsIdentity: (identity: string) => void; setTokenCredentialError: (error: boolean) => void; headerImageProps?: { @@ -33,11 +28,8 @@ export interface LoginProps { export const LoginScreen = (props: LoginProps): JSX.Element => { const { - /* @conditional-compile-remove(one-to-n-calling) */ onSetCallAgent, - /* @conditional-compile-remove(one-to-n-calling) */ onSetUserIdentifier, - /* @conditional-compile-remove(one-to-n-calling) */ onSetTeamsIdentity, onSetStatefulClient, headerImageProps, @@ -46,11 +38,8 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { // Get Azure Communications Service token and Voice app identification from the server. const [userIdentifier, setUserIdentifier] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [callAgent, setCallAgent] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [displayName, setDisplayName] = useState(); - /* @conditional-compile-remove(one-to-n-calling) */ const [tokenCredential, setTokenCredential] = useState(); const [statefulCallClient, setStatefulCallClient] = useState(); @@ -68,9 +57,7 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { console.log('Token fetched: ', token); console.log('User fetched: ', user); setUserIdentifier(user); - /* @conditional-compile-remove(one-to-n-calling) */ onSetUserIdentifier(user); - /* @conditional-compile-remove(one-to-n-calling) */ setTokenCredential(new AzureCommunicationTokenCredential(token)); } catch (e) { console.error(e); @@ -78,12 +65,7 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { } } })(); - }, [ - isCTE, - setTokenCredentialError, - /* @conditional-compile-remove(one-to-n-calling) */ onSetUserIdentifier, - setUserIdentifier - ]); + }, [isCTE, setTokenCredentialError, onSetUserIdentifier, setUserIdentifier]); useEffect(() => { if (statefulCallClient === undefined) { @@ -93,7 +75,6 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { }); onSetStatefulClient(statefulClient); setStatefulCallClient(statefulClient); - /* @conditional-compile-remove(one-to-n-calling) */ onSetTeamsIdentity(teamsIdentityInformation.identifier); return; } @@ -109,15 +90,12 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { userIdentifier, isCTE, teamsIdentityInformation, - /* @conditional-compile-remove(one-to-n-calling) */ onSetStatefulClient, - /* @conditional-compile-remove(one-to-n-calling) */ onSetTeamsIdentity, setStatefulCallClient, statefulCallClient ]); - /* @conditional-compile-remove(one-to-n-calling) */ useEffect(() => { if (!isCTE && callAgent === undefined && statefulCallClient && tokenCredential && displayName) { const createCallAgent = async (): Promise => { @@ -175,7 +153,6 @@ export const LoginScreen = (props: LoginProps): JSX.Element => { { - /* @conditional-compile-remove(one-to-n-calling) */ setDisplayName(value); }} > From c8a84bf1409f946c9f97540e9c3dc6bb55637004 Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:40:16 -0700 Subject: [PATCH 22/58] Added deprecation note for dataUIId selector util function for Playwright tests (#5177) --- packages/react-composites/tests/browser/common/utils.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react-composites/tests/browser/common/utils.ts b/packages/react-composites/tests/browser/common/utils.ts index 7c7d7679690..21761ae0127 100644 --- a/packages/react-composites/tests/browser/common/utils.ts +++ b/packages/react-composites/tests/browser/common/utils.ts @@ -19,7 +19,10 @@ export function perStepLocalTimeout(): number { return PER_STEP_TIMEOUT_MS; } -/** Selector string to get element by data-ui-id property */ +/** + * Selector string to get element by data-ui-id property + * @deprecated Use native Playwright functions to get locators or use `dataTestId` instead. + */ export const dataUiId = (id: string): string => `[data-ui-id="${id}"]`; /** Selector string to get element by data-testid property */ From 949fd190e66e7c2d81f9e9259b8fc38fa55b7745 Mon Sep 17 00:00:00 2001 From: alkwa-msft <79329532+alkwa-msft@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:49:18 -0700 Subject: [PATCH 23/58] fixing feedback page button orientation and getting started composite links (#5201) Co-authored-by: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> --- .../storybook8/stories/Composites/GettingStarted.mdx | 8 ++++---- packages/storybook8/stories/Feedback.mdx | 12 ++++++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/storybook8/stories/Composites/GettingStarted.mdx b/packages/storybook8/stories/Composites/GettingStarted.mdx index 9c4c903a148..0e132858f26 100644 --- a/packages/storybook8/stories/Composites/GettingStarted.mdx +++ b/packages/storybook8/stories/Composites/GettingStarted.mdx @@ -96,10 +96,10 @@ npm run start The following classes and interfaces handle some of the major features of the Azure Communication Services UI client library: -| Name | Description | -| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| [CallComposite](./?path=/story/composites-call-basicexample--basic-example) | Composite component that renders a calling experience with participant gallery and controls. | -| [ChatComposite](./?path=/story/composites-chat-basicexample--basic-example) | Composite component that renders a chat experience with chat thread and input | +| Name | Description | +| ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| [CallComposite](./?path=/story/composites-callcomposite-basic-example--basic-example) | Composite component that renders a calling experience with participant gallery and controls. | +| [ChatComposite](./?path=/story/composites-chatcomposite-basic-example--basic-example) | Composite component that renders a chat experience with chat thread and input | ## Set Up Adapters diff --git a/packages/storybook8/stories/Feedback.mdx b/packages/storybook8/stories/Feedback.mdx index c01a3ae03a5..c6b9a3b6843 100644 --- a/packages/storybook8/stories/Feedback.mdx +++ b/packages/storybook8/stories/Feedback.mdx @@ -7,8 +7,16 @@ import { addCSS } from './utils';
+ '#feedback-page span { font-family: Segoe UI, sans-serif; color: white; font-weight: 600; font-size: 0.875rem; margin: 0px 4px; }' +)) +} +{ +addCSS(' '.concat( + '#feedback-page a { height: 32px; }' +)) +} + + # Feedback From f3be9f4deeb81c27236a7064d7ed9c55caddc09d Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Tue, 24 Sep 2024 14:00:16 -0700 Subject: [PATCH 24/58] [outbound calling] Teams adhoc call cc rm (#5191) * remove CC comments for PSTN * test comments * fix selector * remove 1-n-calling cc * fix build * remove feature from flag config * remove teams-adhoc-call-cc * remove trailing comments * api * api * api * fix API --- common/config/babel/features.js | 2 -- .../src/handlers/createHandlers.ts | 1 - .../review/beta/communication-react.api.md | 4 ++-- .../src/composites/CallComposite/Strings.tsx | 16 ++++++++-------- .../adapter/AzureCommunicationCallAdapter.ts | 4 ++-- .../CallComposite/adapter/CallAdapter.ts | 4 ++-- .../src/composites/CallComposite/utils/Utils.ts | 2 -- .../adapter/CallWithChatAdapter.ts | 3 +-- samples/Calling/src/app/utils/AppUtils.ts | 1 - samples/Calling/src/app/views/HomeScreen.tsx | 1 - 10 files changed, 15 insertions(+), 23 deletions(-) diff --git a/common/config/babel/features.js b/common/config/babel/features.js index efe7d8b7f01..47a4f29946a 100644 --- a/common/config/babel/features.js +++ b/common/config/babel/features.js @@ -96,8 +96,6 @@ module.exports = { "acs-close-captions", // Feature for showing notifications "notifications", - // Adhoc calls to a Teams user. - "teams-adhoc-call", // Feature for tracking beta start call identifier 'start-call-beta' ] diff --git a/packages/calling-component-bindings/src/handlers/createHandlers.ts b/packages/calling-component-bindings/src/handlers/createHandlers.ts index 7274036d288..7f8424caa07 100644 --- a/packages/calling-component-bindings/src/handlers/createHandlers.ts +++ b/packages/calling-component-bindings/src/handlers/createHandlers.ts @@ -84,7 +84,6 @@ export const createDefaultCallingHandlers: CreateDefaultCallingHandlers = memoiz ...commonCallingHandlers, // FIXME: onStartCall API should use string, not the underlying SDK types. onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined => { - /* @conditional-compile-remove(teams-adhoc-call) */ return callAgent?.startCall(participants, options); if (!isACSCallParticipants(participants)) { throw new Error('TeamsUserIdentifier in Teams call is not supported!'); diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 30e98720b73..74acb06ba95 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -1225,7 +1225,7 @@ export interface CallWithChatAdapterManagement { setSpeaker(sourceInfo: AudioDeviceInfo): Promise; setSpokenLanguage(language: string): Promise; startCall(participants: string[], options?: StartCallOptions): Call | undefined; - startCall(participants: (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier)[], options?: StartCallOptions): Call | undefined; + startCall(participants: (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier | UnknownIdentifier)[], options?: StartCallOptions): Call | undefined; startCamera(options?: VideoStreamOptions): Promise; startCaptions(options?: StartCaptionsAdapterOptions): Promise; // @beta @@ -4620,7 +4620,7 @@ export interface SpotlightState { } // @public -export type StartCallIdentifier = (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier | UnknownIdentifier) | /* @conditional-compile-remove(start-call-beta) */ CommunicationIdentifier; +export type StartCallIdentifier = (MicrosoftTeamsAppIdentifier | PhoneNumberIdentifier | CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier | UnknownIdentifier) | /* @conditional-compile-remove(start-call-beta) */ CommunicationIdentifier; // @public export interface StartCaptionsAdapterOptions extends StartCaptionsOptions { diff --git a/packages/react-composites/src/composites/CallComposite/Strings.tsx b/packages/react-composites/src/composites/CallComposite/Strings.tsx index 381932da702..6c80be61051 100644 --- a/packages/react-composites/src/composites/CallComposite/Strings.tsx +++ b/packages/react-composites/src/composites/CallComposite/Strings.tsx @@ -559,42 +559,42 @@ export interface CallCompositeStrings { * notice to be announced by narrator the transfer page is showing */ transferPageNoticeString: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * Title text of the page shown to the user when target participant could not be reached */ participantCouldNotBeReachedTitle?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * More details text of the page shown to the user when target participant could not be reached */ participantCouldNotBeReachedMoreDetails?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * Title text of the page shown to the user when permission to reach participant is not allowed */ permissionToReachTargetParticipantNotAllowedTitle?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * More details text of the page shown to the user when permission to reach participant is not allowed */ permissionToReachTargetParticipantNotAllowedMoreDetails?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * Title text of the page shown to the user when tenant id for the target participant could not be resolved */ unableToResolveTenantTitle?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * More details text of the page shown to the user when tenant id for the target participant could not be resolved */ unableToResolveTenantMoreDetails?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * Title text of the page shown to the user when target participant id is malformed */ participantIdIsMalformedTitle?: string; - /* @conditional-compile-remove(teams-adhoc-call) */ + /** * More details text of the page shown to the user when target participant id is malformed */ diff --git a/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts b/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts index 215bec4027a..92f5ac6c564 100644 --- a/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts +++ b/packages/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts @@ -969,7 +969,7 @@ export class AzureCommunicationCallAdapter { required={true} onChange={(_, option) => { option && setChosenCallOption(option as ICallChoiceGroupOption); - /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(teams-identity-support) */ setTeamsIdFormatError(false); }} From 17942a0dc26145f4a159aeb8b120824d00bcb61c Mon Sep 17 00:00:00 2001 From: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Date: Tue, 24 Sep 2024 19:27:59 -0400 Subject: [PATCH 25/58] Fixing canvas padding in storybook components (#5206) --- .../stories/Components/ImageOverlay/Docs.mdx | 6 +- .../MessageStatusIndicator/Docs.mdx | 1 + .../stories/Components/MessageThread/Docs.mdx | 61 ++++++++++++++++--- .../SendBox/RichTextSendBox/Docs.mdx | 4 ++ .../Components/SendBox/SendBox/Docs.mdx | 15 +++-- .../Components/TypingIndicator/Docs.mdx | 13 +++- 6 files changed, 83 insertions(+), 17 deletions(-) diff --git a/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx b/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx index 39e1eef7032..15c97b83c03 100644 --- a/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx +++ b/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx @@ -20,7 +20,11 @@ import { ImageOverlay } from '@azure/communication-react'; Component will render a fullscreen modal using a set image source. - + ## Cover iOS safe area diff --git a/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx b/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx index b0644517e48..1b6a214628a 100644 --- a/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx +++ b/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx @@ -20,6 +20,7 @@ import { MessageStatus, MessageStatusIndicator } from '@azure/communication-reac ## Props diff --git a/packages/storybook8/stories/Components/MessageThread/Docs.mdx b/packages/storybook8/stories/Components/MessageThread/Docs.mdx index cc63f78f426..0f6cbd21413 100644 --- a/packages/storybook8/stories/Components/MessageThread/Docs.mdx +++ b/packages/storybook8/stories/Components/MessageThread/Docs.mdx @@ -59,17 +59,29 @@ into that file. By default, MessageThread displays Chat messages with display name of only for other users and creation time of message when available. - + ## MessageThread With Message Date - + ## System Message The example below shows a message thread with a system message. - + ## Blocked Message @@ -80,6 +92,7 @@ The example below shows a message thread with a blocked message. If `link` is no ## Custom Message @@ -89,6 +102,7 @@ he example below shows how to render a `custom` message with `onRenderMessage` i ## Messages with Customized Chat Container @@ -98,6 +112,7 @@ The example below shows how to render a `custom` chat container with `styles.cha ## Messages with Customized Message Container @@ -111,6 +126,7 @@ malformed issue when loading the storybook snippets ## Messages with Customized Blocked message Container @@ -124,6 +140,7 @@ in `MessageThread` ## Default Message Status Indicator @@ -131,6 +148,7 @@ in `MessageThread` ## Custom Message Status Indicator @@ -141,11 +159,16 @@ The example below shows how to render a `custom` message status indicator with ` ## Custom Avatar - + Note: You can view the details of the [Persona](https://developer.microsoft.com/fluentui#/controls/web/persona) component @@ -156,11 +179,16 @@ Note: You can view the details of the ## Tapping Inline Images on Messages - + ## Display Messages with Attachments @@ -173,12 +201,16 @@ content along with associated attachments. By default, the button associated with the attachment card will open the attachment in a new tab. Specifically, `window.open` method will be called for target `URL` defined in `AttachmentMetadata`. - + If the identity of message sender is a Microsoft Teams user, the attachment will be rendered with an `open` icon shown below. - + ### Advanced Usage: Customizing Attachment Rendering @@ -191,7 +223,11 @@ a static list for all scenarios. For example, the following code snippet demonstrates how to customize the download options for attachments. - + ## Mention of Users with a custom renderer within Message @@ -207,7 +243,11 @@ further customization. The HTML Tag is defined: The MessageThread component also supports mentioning users when editing a message if the `lookupOptions` under the `mentionOptions` property is provided. However, if the `richTextEditorOptions` property is set, the `lookupOptions` will be ignored. - + ## Rich Text Editor Support for Editing Messages @@ -220,6 +260,7 @@ Enabling the rich text editor for message editing, without customizing its behav ## Rich Text Editor Support for Editing Messages with Inline Images @@ -249,6 +290,7 @@ paste. Selecting from the clipboard view from keyboard may not be supported. ## Process content on paste in Rich Text Editor during message editing @@ -260,6 +302,7 @@ paste. Selecting from the clipboard view from keyboard may not be supported. ## Props diff --git a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx index d4f6e5872b8..304bf0bacef 100644 --- a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx +++ b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx @@ -36,6 +36,7 @@ To add a system message, use the systemMessage property like in the example belo ## Display File Uploads @@ -47,6 +48,7 @@ their own attachment upload logic and utilize the UI provided by RichTextSendBox ## Enable Inserting Inline Images @@ -71,6 +73,7 @@ their own attachment upload logic and utilize the UI provided by RichTextSendBox ## Process pasted content @@ -80,6 +83,7 @@ RichTextSendBox provides `onPaste` callback for custom processing of the pasted ## Props diff --git a/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx b/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx index 84afc0786b7..36590df4555 100644 --- a/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx +++ b/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx @@ -26,7 +26,7 @@ import { SendBox } from '@azure/communication-react'; ## Example - + ## Add a system message @@ -35,18 +35,19 @@ To add a system message, use the `systemMessage` property like in the example be ## Customize send icon To customize the send icon, use the `onRenderIcon` property like in the example below. A Fluent UI [Icon](https://developer.microsoft.com/fluentui#/controls/web/icon) is used in this example but you can use any `JSX.Element`. - + ## Customize styling To customize the style of SendBox, use the `styles` property like in the example below. Notice that the keys of the `styles` property are the root and sub-components of `SendBox`, each of which can be styled independently. - + ## Display Attachment Uploads @@ -54,7 +55,11 @@ To customize the style of SendBox, use the `styles` property like in the example SendBox component provides UI for displaying `AttachmentMetadataInProgress` in the SendBox. This allows developers to implement a file-sharing feature using the pure UI component with minimal effort. Developers can write their own attachment upload logic and utilize the UI provided by SendBox. - + ## Mentioning Users @@ -62,6 +67,6 @@ SendBox component provides UI for displaying `AttachmentMetadataInProgress` in t The SendBox component supports mentioning users in the chat. To enable this feature, set the `mentionLookupOptions` property to an object and implement the required functionality. - + ## Props diff --git a/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx b/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx index faf6a5f8833..345f05fbec9 100644 --- a/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx +++ b/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx @@ -19,13 +19,21 @@ import { TypingIndicator } from '@azure/communication-react'; ## Example - + ## Customize Style To customize the style of `TypingIndicator`, use the `styles` property like in the example below. Notice that the keys of `styles` property are the root and sub-components of `TypingIndicator`, each of which can be styled independently. - + ## Customize user rendering @@ -34,6 +42,7 @@ To customize user rendering of `TypingIndicator`, use the `onRenderUsers` proper ## Props From a49fa3af62ca61715efbea75b0078c42dbf4fbaa Mon Sep 17 00:00:00 2001 From: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Date: Tue, 24 Sep 2024 19:40:04 -0400 Subject: [PATCH 26/58] Fixing alignment and betabanner padding (#5208) --- .../storybook8/stories/BetaBanners/ImportantBannerHeading.tsx | 2 +- packages/storybook8/stories/Composites/ChatComposite/Docs.mdx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/storybook8/stories/BetaBanners/ImportantBannerHeading.tsx b/packages/storybook8/stories/BetaBanners/ImportantBannerHeading.tsx index 6cbcfea21b8..bb4f6b2f12c 100644 --- a/packages/storybook8/stories/BetaBanners/ImportantBannerHeading.tsx +++ b/packages/storybook8/stories/BetaBanners/ImportantBannerHeading.tsx @@ -19,7 +19,7 @@ export const ImportantHeading = (props: { color: string }): JSX.Element => ( const importantIconStyles = { // Ensure icon aligns with text by setting to the height to the same as the font size (1rem) // And aligning the icon with the bottom of the text - height: '1rem', + height: '1.5rem', verticalAlign: 'text-bottom', // display must be block or inline-block for verticalAlign to work diff --git a/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx b/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx index 3281bf0fcfc..1d027eb6cbb 100644 --- a/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx +++ b/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx @@ -140,9 +140,10 @@ You can pass in a function that formats the datetime displayed in chat messages ## Adding file sharing - ### In Azure Communication Service Chat Thread + + The Chat Composite supports file sharing capabilities in conjunction with your choice of a storage solution. Please refer to our [tutorial](https://docs.microsoft.com/azure/communication-services/tutorials/file-sharing-tutorial) for more From ea74229439aca9b1b46663196fdf19adbfd964ba Mon Sep 17 00:00:00 2001 From: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Date: Tue, 24 Sep 2024 20:26:01 -0400 Subject: [PATCH 27/58] Hiding te onFetchParticipantsMenuItems control from teh stories (#5204) --- packages/storybook8/stories/controlsUtils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/storybook8/stories/controlsUtils.ts b/packages/storybook8/stories/controlsUtils.ts index b16377a43fa..d487363ce77 100644 --- a/packages/storybook8/stories/controlsUtils.ts +++ b/packages/storybook8/stories/controlsUtils.ts @@ -562,6 +562,7 @@ export const defaultChatCompositeHiddenControls = { identifiers: hiddenControl, locale: hiddenControl, onFetchAvatarPersonaData: hiddenControl, + onFetchParticipantMenuItems: hiddenControl, rtl: hiddenControl, formFactor: hiddenControl // formFactor is hidden by default and compositeFormFactor is used as a prop instead to workaround a bug where formFactor is not put in the correct order when the controls are generated }; From fad80c3788d0afaf27771496f22b281fdb6d9c21 Mon Sep 17 00:00:00 2001 From: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Date: Wed, 25 Sep 2024 12:40:56 -0400 Subject: [PATCH 28/58] [Storybook] Fixing where we initialize icons (#5205) --- packages/storybook8/.storybook/preview.tsx | 7 ++++++- .../snippets/RichTextSendBoxAttachmentUploads.snippet.tsx | 8 +------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/storybook8/.storybook/preview.tsx b/packages/storybook8/.storybook/preview.tsx index ef279b553df..7fd1f3cb384 100644 --- a/packages/storybook8/.storybook/preview.tsx +++ b/packages/storybook8/.storybook/preview.tsx @@ -1,11 +1,16 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { FluentThemeProvider, LocalizationProvider } from '@azure/communication-react'; +import { DEFAULT_COMPONENT_ICONS, FluentThemeProvider, LocalizationProvider } from '@azure/communication-react'; import React from 'react'; import { THEMES } from '../stories/themes'; import { LOCALES } from '../stories/locales' +import { initializeIcons, registerIcons } from '@fluentui/react'; +import { initializeFileTypeIcons } from '@fluentui/react-file-type-icons'; +initializeIcons(); +initializeFileTypeIcons(); +registerIcons({ icons: { ...DEFAULT_COMPONENT_ICONS } }); export const parameters = { layout: 'fullscreen', diff --git a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/snippets/RichTextSendBoxAttachmentUploads.snippet.tsx b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/snippets/RichTextSendBoxAttachmentUploads.snippet.tsx index 809d8b2c5ee..47ad02336f3 100644 --- a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/snippets/RichTextSendBoxAttachmentUploads.snippet.tsx +++ b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/snippets/RichTextSendBoxAttachmentUploads.snippet.tsx @@ -1,12 +1,6 @@ -import { FluentThemeProvider, RichTextSendBox, DEFAULT_COMPONENT_ICONS } from '@azure/communication-react'; -import { initializeIcons, registerIcons } from '@fluentui/react'; -import { initializeFileTypeIcons } from '@fluentui/react-file-type-icons'; +import { FluentThemeProvider, RichTextSendBox } from '@azure/communication-react'; import React from 'react'; -initializeIcons(); -initializeFileTypeIcons(); -registerIcons({ icons: { ...DEFAULT_COMPONENT_ICONS } }); - export const RichTextSendBoxAttachmentUploadsExample: () => JSX.Element = () => (
From db734ae39621bd4255a5862134861fc80aef6e24 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Wed, 25 Sep 2024 13:31:56 -0700 Subject: [PATCH 29/58] [ bug fix Compliance issue ] remove Node-static (#5213) * remove bad module * update to use express * update locks * update lock * remove path dep * locks * server update --- common/config/rush/pnpm-lock.yaml | 4462 ++++---- .../rush/variants/stable/pnpm-lock.yaml | 9471 ++++++----------- packages/chat-stateful-client/package.json | 1 + samples/StaticHtmlComposites/package.json | 2 - samples/tests/globalSetup.ts | 11 +- samples/tests/package.json | 6 +- 6 files changed, 5359 insertions(+), 8594 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index d3cc48f61ae..516741e6e64 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -132,8 +132,8 @@ packages: tslib: 2.7.0 dev: false - /@azure/communication-calling-effects@1.1.1-beta.1: - resolution: {integrity: sha512-hz0wEHBFSNVivS7qnDwcnJuONYqlV41VpQpEi+hEGcM4+8G4MQwC4nG7dOr2OX2AkJoX3ZTY2ZC5X3igLy9U4A==} + /@azure/communication-calling-effects@1.1.1: + resolution: {integrity: sha512-Q5fgE2i39uJlrUM1qFxNQixQtU8fQR0FP9WoOpSET05Jg+nzQ/LYZKHVlAqRkO/bo/DG3DtQBpx5Z0grKUjhVg==} dependencies: '@azure/logger': 1.1.4 events: 3.3.0 @@ -155,10 +155,10 @@ packages: '@azure/abort-controller': 1.1.0 '@azure/communication-common': 2.3.1 '@azure/communication-signaling': 1.0.0-beta.27 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-client': 1.9.2 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 '@azure/logger': 1.1.4 events: 3.3.0 @@ -174,10 +174,10 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 events: 3.3.0 jwt-decode: 3.1.2 tslib: 2.7.0 @@ -190,10 +190,10 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 events: 3.3.0 jwt-decode: 4.0.0 tslib: 2.7.0 @@ -207,11 +207,11 @@ packages: dependencies: '@azure/abort-controller': 1.1.0 '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-client': 1.9.2 '@azure/core-lro': 2.7.2 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 '@azure/logger': 1.1.4 events: 3.3.0 @@ -225,12 +225,12 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-client': 1.9.2 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 '@azure/logger': 1.1.4 tslib: 1.14.1 transitivePeerDependencies: @@ -250,12 +250,12 @@ packages: - encoding dev: false - /@azure/core-auth@1.7.2: - resolution: {integrity: sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==} + /@azure/core-auth@1.8.0: + resolution: {integrity: sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 tslib: 2.7.0 dev: false @@ -264,10 +264,10 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.7.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 '@azure/logger': 1.1.4 tslib: 2.7.0 transitivePeerDependencies: @@ -280,7 +280,7 @@ packages: dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-client': 1.9.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 transitivePeerDependencies: - supports-color dev: false @@ -290,10 +290,10 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.9.2 - '@azure/logger': 1.1.4 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.0.4 '@types/node-fetch': 2.6.11 '@types/tunnel': 0.0.3 form-data: 4.0.0 @@ -313,7 +313,7 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 '@azure/logger': 1.1.4 tslib: 2.7.0 dev: false @@ -325,14 +325,14 @@ packages: tslib: 2.7.0 dev: false - /@azure/core-rest-pipeline@1.16.3: - resolution: {integrity: sha512-VxLk4AHLyqcHsfKe4MZ6IQ+D+ShuByy+RfStKfSjxJoL3WBWq17VNmrz8aT8etKzqc2nAeIyLxScjpzsS4fz8w==} + /@azure/core-rest-pipeline@1.17.0: + resolution: {integrity: sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 '@azure/logger': 1.1.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -356,8 +356,8 @@ packages: tslib: 2.7.0 dev: false - /@azure/core-util@1.9.2: - resolution: {integrity: sha512-l1Qrqhi4x1aekkV+OlcqsJa4AnAkj5p0JV8omgwjaV9OAbP41lvrMvs+CptfetKkeEaGRGSzby7sjPZEX7+kkQ==} + /@azure/core-util@1.10.0: + resolution: {integrity: sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 2.1.2 @@ -386,19 +386,19 @@ packages: tslib: 2.7.0 dev: false - /@azure/storage-blob@12.24.0: - resolution: {integrity: sha512-l8cmWM4C7RoNCBOImoFMxhTXe1Lr+8uQ/IgnhRNMpfoA9bAFWoLG4XrWm6O5rKXortreVQuD+fc1hbzWklOZbw==} + /@azure/storage-blob@12.25.0: + resolution: {integrity: sha512-oodouhA3nCCIh843tMMbxty3WqfNT+Vgzj3Xo5jqR9UPnzq3d7mzLjlHAYz7lW+b4km3SIgz+NAgztvhm7Z6kQ==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 '@azure/core-client': 1.9.2 '@azure/core-http-compat': 2.1.2 '@azure/core-lro': 2.7.2 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@azure/core-tracing': 1.1.2 - '@azure/core-util': 1.9.2 + '@azure/core-util': 1.10.0 '@azure/core-xml': 1.4.3 '@azure/logger': 1.1.4 events: 3.3.0 @@ -453,7 +453,7 @@ packages: '@babel/traverse': 7.25.6(supports-color@5.5.0) '@babel/types': 7.25.6 convert-source-map: 1.9.0 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -479,7 +479,7 @@ packages: '@babel/traverse': 7.25.6(supports-color@5.5.0) '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -487,7 +487,7 @@ packages: - supports-color dev: false - /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.0): + /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.1): resolution: {integrity: sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -496,7 +496,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: false @@ -534,7 +534,7 @@ packages: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 dev: false @@ -579,7 +579,7 @@ packages: '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/traverse': 7.25.6(supports-color@5.5.0) - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -595,7 +595,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -610,7 +610,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -783,29 +783,6 @@ packages: '@babel/types': 7.25.6 dev: false - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} engines: {node: '>=6.9.0'} @@ -901,7 +878,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.10.4 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.12.9) dev: false @@ -1104,7 +1081,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.10.4 dev: false /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): @@ -1366,17 +1343,6 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - dev: false - /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} @@ -1992,100 +1958,6 @@ packages: - supports-color dev: false - /@babel/preset-env@7.25.4(@babel/core@7.25.2): - resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/preset-flow@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} @@ -2185,7 +2057,7 @@ packages: '@babel/parser': 7.25.6 '@babel/template': 7.25.0 '@babel/types': 7.25.6 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2240,8 +2112,8 @@ packages: resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} dev: false - /@emotion/is-prop-valid@1.3.0: - resolution: {integrity: sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==} + /@emotion/is-prop-valid@1.3.1: + resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} dependencies: '@emotion/memoize': 0.9.0 dev: false @@ -2267,9 +2139,9 @@ packages: jsdoc-type-pratt-parser: 1.1.1 dev: false - /@esbuild/aix-ppc64@0.21.5: - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + /@esbuild/aix-ppc64@0.23.1: + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -2285,9 +2157,9 @@ packages: dev: false optional: true - /@esbuild/android-arm64@0.21.5: - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + /@esbuild/android-arm64@0.23.1: + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} cpu: [arm64] os: [android] requiresBuild: true @@ -2303,9 +2175,9 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.21.5: - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.23.1: + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] requiresBuild: true @@ -2321,9 +2193,9 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.21.5: - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.23.1: + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} cpu: [x64] os: [android] requiresBuild: true @@ -2339,9 +2211,9 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.21.5: - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.23.1: + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -2357,9 +2229,9 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.21.5: - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.23.1: + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] requiresBuild: true @@ -2375,9 +2247,9 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.21.5: - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.23.1: + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -2393,9 +2265,9 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.21.5: - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.23.1: + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -2411,9 +2283,9 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.21.5: - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.23.1: + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] requiresBuild: true @@ -2429,9 +2301,9 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.21.5: - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.23.1: + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} cpu: [arm] os: [linux] requiresBuild: true @@ -2447,9 +2319,9 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.21.5: - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.23.1: + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] requiresBuild: true @@ -2465,9 +2337,9 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.21.5: - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.23.1: + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] requiresBuild: true @@ -2483,9 +2355,9 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.21.5: - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.23.1: + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -2501,9 +2373,9 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.21.5: - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.23.1: + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -2519,9 +2391,9 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.21.5: - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.23.1: + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -2537,9 +2409,9 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.21.5: - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.23.1: + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] requiresBuild: true @@ -2555,9 +2427,9 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.21.5: - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.23.1: + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] requiresBuild: true @@ -2573,15 +2445,24 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.21.5: - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.23.1: + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] requiresBuild: true dev: false optional: true + /@esbuild/openbsd-arm64@0.23.1: + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -2591,9 +2472,9 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.21.5: - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + /@esbuild/openbsd-x64@0.23.1: + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -2609,9 +2490,9 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.21.5: - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.23.1: + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] requiresBuild: true @@ -2627,9 +2508,9 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.21.5: - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.23.1: + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] requiresBuild: true @@ -2645,9 +2526,9 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.21.5: - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.23.1: + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] requiresBuild: true @@ -2663,27 +2544,27 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.21.5: - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.23.1: + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.1): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.11.0: - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + /@eslint-community/regexpp@4.11.1: + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: false @@ -2692,7 +2573,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -2704,8 +2585,8 @@ packages: - supports-color dev: false - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false @@ -2714,32 +2595,32 @@ packages: engines: {node: '>=14'} dev: false - /@floating-ui/core@1.6.7: - resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + /@floating-ui/core@1.6.8: + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.6.10): + /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.6.11): resolution: {integrity: sha512-8PHJLbD6VhBh+LJ1uty/Bz30qs02NXCE5u8WpOhSewlYXUWl03GNXknr9AS2yaAWJEQaY27x7eByJs44gODBcw==} peerDependencies: '@floating-ui/dom': '>=1.5.4' dependencies: - '@floating-ui/dom': 1.6.10 + '@floating-ui/dom': 1.6.11 dev: false - /@floating-ui/dom@1.6.10: - resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + /@floating-ui/dom@1.6.11: + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/utils@0.2.7: - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + /@floating-ui/utils@0.2.8: + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} dev: false - /@fluentui-contrib/react-chat@0.1.10(@fluentui/react-components@9.54.13)(@fluentui/react-icons@2.0.256)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + /@fluentui-contrib/react-chat@0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-H4kmeMhSX1h6Rt673ZnJ34rW//VXhYLbsoW5dr+N496UkdEQm1nQRvXInEfdV//+czbzAeYOatE3td+WoPwBUw==} peerDependencies: '@fluentui/react-components': '>=9.25.1 <10.0.0' @@ -2749,9 +2630,9 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-components': 9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -2825,24 +2706,24 @@ packages: '@swc/helpers': 0.5.13 dev: false - /@fluentui/react-accordion@9.5.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-QnOfHEM7do52b4mgyb0SPvKQOa6lPEsOOy+V/xGK2LNimnZSPvGAfJ/vAD4yjR5gOR5zQl7iNv3FNN0mJSefXA==} + /@fluentui/react-accordion@9.5.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-4zwtmZTcD2jgjxbMTHajhMxRNkFFHIXG060dSVoK73H4vWLKtDYuwQJesfgi2swUim+xhemvcInrLXIoY8pLZw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-motion-components-preview': 0.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2853,7 +2734,7 @@ packages: - scheduler dev: false - /@fluentui/react-alert@9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): + /@fluentui/react-alert@9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): resolution: {integrity: sha512-yFBo3B5H9hnoaXxlkuz8wRz04DEyQ+ElYA/p5p+Vojf19Zuta8DmFZZ6JtWdtxcdnnQ4LvAfC5OYYlzdReozPA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' @@ -2861,13 +2742,13 @@ packages: react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2878,8 +2759,8 @@ packages: - scheduler dev: false - /@fluentui/react-aria@9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-kFavxrWnOOkScy1Ue7YvnofxjjPzdEROziyApEp7QhyWd8syfNvTZh79WnBza0RBEPvWqExphS95J3vmyM8avA==} + /@fluentui/react-aria@9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-/bepLd2SKL+WHhiHJ8O/Lt+1FxvVeGB+pgbUuSjtPVwafwcA4RNXVlkMQaoYk8sQvnG4oqVa4ToTxUWURaOeNA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -2887,10 +2768,10 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -2898,24 +2779,24 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-avatar@9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-6/5AgZ/s353FhCscFWOiec0j4vJCjHXbWO4F9JDItYDUm0t+egN7rb98LZhAezfapo4GUxdx7ZNpqWy0bZ5GDw==} + /@fluentui/react-avatar@9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-of2XMrwTZ4xKsiPEgayJupeI29dAiNBbWos4MCzBJaBS6u9BcaHRenSyzDFViC4jFyvoJQDqftWYThaSwH3PHw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-popover': 9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-tooltip': 9.4.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-tooltip': 9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2926,19 +2807,19 @@ packages: - scheduler dev: false - /@fluentui/react-badge@9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-/GBKotH68XrBix1mCJybYHw+5QKYoAbINqYPj2mEfcDiC2VfS4w4Drjokcp2O1KD2cX/YZ9PThptKmWkjT3UOw==} + /@fluentui/react-badge@9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-E+J08RIj2UZ5daq1kN+IgOCf5x4VVnFQTO+XI2bXsqoc/6wFHS2FZ8I7pNQqkWbvZ6cspR7cG7S8RfTR5pQz1Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2947,23 +2828,23 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-breadcrumb@9.0.36(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-InuZqcokYVyEjLZWQNXUapBi7ryo8i5q0onNxDEf0J+Qolg3baqRN1jY4cKC4UzjlMJgjr+Vz/+gMIRGNLDIKw==} + /@fluentui/react-breadcrumb@9.0.38(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-VWf/nNrJSWtYpT4eR4vl4+QNf8idXtdqChB22siAaFg8pBndBE6N4nsSgMcs70E+VQ4SuJVp9HQVSx8vpngi0Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-link': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-link': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2972,8 +2853,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-button@9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-fliozeCpApuDpevvHLC2rTdhyVymXZHaXSR2cFqgYdYtHrXFE7JbMHVMNAszQCo+T+4uovzKU/SL1z7xMr1VhQ==} + /@fluentui/react-button@9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-g/0kn9S/SO/XRUkRpxnAfpe6rv2Tn/zJhygeyTy+rOGuR5MxAEDhauRnpjntt+h8U6088LGImZUTfU5vHjsVNg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -2981,13 +2862,13 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -2996,8 +2877,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-card@9.0.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-5p1d5hpEnkXNnj7BAvl6pLyvX3bOOY0kFB/gGn32rpFpdxs5vCsGe1qNs2Ju9MlMhSFh7c2mBMHOixc/eD9JiA==} + /@fluentui/react-card@9.0.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-HhaNzhnk1htPGF1Lvh9G9Bohm26Tt49csjz8/Xc+u/dfzoXPAmYJxgCOzHT6QPp0/e21Fy+cQONV051BO5dE5w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3005,11 +2886,11 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-text': 9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-text': 9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3018,22 +2899,22 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-checkbox@9.2.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-YK6jYbW/Sg9raJ3uoHUhLO7htEA4VZponhG3vfHg1ss6BHjfArSHHMHLRaHhHmzfeQewoA7A6Y/XDSGLeffXVw==} + /@fluentui/react-checkbox@9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-qNJIsZaTqD7vYz547bp14q/nXd5le1bZKApR0NORVf6qLfID0/B5hJ48pUpQV03HrbgBFf8ZiVGzHfwwfHZiLQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3044,8 +2925,8 @@ packages: - scheduler dev: false - /@fluentui/react-combobox@9.13.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-nfhERKiTB73jcVsSJYlX1cXu/Tcd1YE9TrldgIm1Rb79vDlX0WT3hpf4yvHMuPwA6qPGISm8RmYGj6mjs4ucLA==} + /@fluentui/react-combobox@9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-UQnUdThddkwDzvPZmPTH3kFNYTotTmO2cg5+oKzhYfC5I8Km3tzclItRjNRxjjo9hdjDHn2ZiXpvr8qFWJbS/A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3053,17 +2934,17 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3074,70 +2955,70 @@ packages: - scheduler dev: false - /@fluentui/react-components@9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-zh/wBpNfhXyOBh36BE89gGkv9Sdc8NNcSQsN8TxDfawry/QLJVfO42wpUYTV/wLPKuwELGq1TVGjoaZf75s16g==} + /@fluentui/react-components@9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-XLy3ZKlmb+BqJIWeOXEzh8yCFn/gkKWlSt50tAEck0WapUpCPcB+Ccst4eT81GJipH6yjyy/jZUnEEkKAYRvLA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-accordion': 9.5.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-alert': 9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-breadcrumb': 9.0.36(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-card': 9.0.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-checkbox': 9.2.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-combobox': 9.13.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-dialog': 9.11.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-divider': 9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-drawer': 9.5.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-image': 9.1.71(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-infobutton': 9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-infolabel': 9.0.44(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-input': 9.4.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-link': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-menu': 9.14.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-message-bar': 9.2.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-overflow': 9.1.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-persona': 9.2.96(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-popover': 9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-progress': 9.1.85(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-provider': 9.17.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-radio': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-rating': 9.0.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-search': 9.0.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-select': 9.1.85(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-skeleton': 9.1.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-slider': 9.1.92(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-spinbutton': 9.2.86(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-spinner': 9.4.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-swatch-picker': 9.1.8(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-switch': 9.1.92(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-table': 9.15.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabs': 9.4.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tag-picker': 9.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tags': 9.3.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-teaching-popover': 9.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-text': 9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-textarea': 9.3.86(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-toast': 9.3.54(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-toolbar': 9.2.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tooltip': 9.4.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tree': 9.7.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-virtualizer': 9.0.0-alpha.82(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-accordion': 9.5.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-alert': 9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-breadcrumb': 9.0.38(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-card': 9.0.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-combobox': 9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-dialog': 9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-drawer': 9.5.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-image': 9.1.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-infobutton': 9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-infolabel': 9.0.46(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-input': 9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-link': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-menu': 9.14.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-message-bar': 9.2.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-overflow': 9.1.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-persona': 9.2.98(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-progress': 9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-provider': 9.17.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-rating': 9.0.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-search': 9.0.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-select': 9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-skeleton': 9.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-slider': 9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinbutton': 9.2.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinner': 9.4.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-swatch-picker': 9.1.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-switch': 9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-table': 9.15.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabs': 9.5.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tag-picker': 9.3.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tags': 9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-teaching-popover': 9.1.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-text': 9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-textarea': 9.3.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-toast': 9.3.56(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-toolbar': 9.2.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tooltip': 9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tree': 9.8.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-virtualizer': 9.0.0-alpha.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3148,8 +3029,8 @@ packages: - scheduler dev: false - /@fluentui/react-context-selector@9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-hpluiP2NtK01Kx1RdKnJkQr7snbFuFJUwRho3NsuzuX/ea9OaVNEAxcvLMUcwd5nItf5Y5U8i07ib7YX5qchmQ==} + /@fluentui/react-context-selector@9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-1jpOjt3NVOlyLcMY/nycyhyXvcPw57+0gkF7Eln4c9Hb2xFUlsAFX0x8MDLNsvyjGgKekLX9p+tPt9TUENWPOw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3157,17 +3038,17 @@ packages: react-dom: '>=16.14.0 <19.0.0' scheduler: '>=0.19.0 <=0.23.0' dependencies: - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - scheduler: 0.23.0 + scheduler: 0.23.2 dev: false - /@fluentui/react-dialog@9.11.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-tKleAKDa97BdNXwzUs4RqdZoe5uucJnEexZIjlqSbNrCItQU5Xa9alqZvqZGDw0t4WpH6Ux9t37m3yyGpwItQA==} + /@fluentui/react-dialog@9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-yfEw7uc8wVvgK17YW7035TDfDAf86Ti/DRJaw/D9Ld/gOB9nLG1L6NBjbfYE4x+f0+r/BtG+0nhrNM95zG0sog==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3175,16 +3056,16 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3195,18 +3076,18 @@ packages: - scheduler dev: false - /@fluentui/react-divider@9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-AmkJPAFEszLbWh7vrV6vV+omnkQgfw1hhVBcTIlLD2b712Tk7GczZC2PXTq0fNKI3Aw8x4sNBbomozJp2y+X7w==} + /@fluentui/react-divider@9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-pWWJH7ZLG4sHcfhwUO5nnhA0TsGK/JlSkcyEnndK76umQlWAzLrN4JWEHKTWplUIIa6STKWObAYPXkiTnkLEkQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3215,21 +3096,21 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-drawer@9.5.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-7Daj+KG37B2bsBsrFmpX3FMWtC0Q1zvOvnCdKu3D1XXDIgOdUTzcnmMqqMVKYl6p8Lwe8778FQ0+eRdI23G/RQ==} + /@fluentui/react-drawer@9.5.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-YE6Dhv+8clafDiBHpUPF2P3WR0er2PO3HtyXCN/rUs5AKQpVYu4Uc2eQu/C6wnQMWgEui//FP6qTS3UXRMIJ/A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-dialog': 9.11.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-dialog': 9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3240,20 +3121,20 @@ packages: - scheduler dev: false - /@fluentui/react-field@9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-Z4RJXJ4PP2YnAzz+TWYXv0QcaREV9eW1lv0fcWQKWzmHgOdeIqHruUigteoRaatmOfW6t/SjttTheoV09h/8LA==} + /@fluentui/react-field@9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-eV1MKB97lgvgiVEps9OakqXXeLGHTdLSK7Zd/QmD4HzSSV/XapRLCw+7fITBoG19Tp8AVkGbZI753iPPOv9RZA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3307,8 +3188,8 @@ packages: tslib: 2.7.0 dev: false - /@fluentui/react-icons@2.0.256(react@18.3.1): - resolution: {integrity: sha512-c3j7J4vwuqN5BG1DLUWAHpROzHBzErOHkviqZDje2lbeLk/5BCqMKwnpmlMkH/BaIKqiS/zsqW1f9uIsaRCHPg==} + /@fluentui/react-icons@2.0.258(react@18.3.1): + resolution: {integrity: sha512-SRCW+3q/fBBCwgucdnfuRad9ck/hQW92xAJ+tELKBJI4f9BJ1U8QyeZoRu14xMEKL/VsFLbEkeXNAgvjJ0IjkA==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: @@ -3317,18 +3198,18 @@ packages: tslib: 2.7.0 dev: false - /@fluentui/react-image@9.1.71(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-OKUbVsZLVe/kRP7KrweHDkztY8FUz6HzEPxZvJqIkwDf+KIJJxDV4R9Hpw8Fis6ceLbj/VI5JUVwGIp5YQlsjA==} + /@fluentui/react-image@9.1.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aVpillfiEIqqlyQGGFf17WtiKKFhhGyUMVUv3zLksick/5kifk7zdAW623PA8mpeQf6U1tSPJc8iaXSwr+5cwQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3337,7 +3218,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-infobutton@9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): + /@fluentui/react-infobutton@9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): resolution: {integrity: sha512-3kA4F0Vga8Ds6JGlBajLCCDOo/LmPuS786Wg7ui4ZTDYVIMzy1yp2XuVcZniifBFvEp0HQCUoDPWUV0VI3FfzQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' @@ -3345,13 +3226,13 @@ packages: react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-popover': 9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3362,21 +3243,21 @@ packages: - scheduler dev: false - /@fluentui/react-infolabel@9.0.44(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-GWw6UlF0s8HujWaCkGLfnbGaukQycfax7GPe38xVn/TkQp7KPNMgFp1Ag7kwaQtMqDbPIKJeDkaz8kdFziIT9w==} + /@fluentui/react-infolabel@9.0.46(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-sDJDlRLroP+9XOj76mpLBpyUVng/+cJDPVNuNvJtS7JBVCs9owlQlq8RBcKFzdbLNh7GZgpi2qe0kUPCNOZYOQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-popover': 9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3387,19 +3268,19 @@ packages: - scheduler dev: false - /@fluentui/react-input@9.4.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-rIJEL+/xUrTWVi4CJlaCPyauQRMs3nTNvOuy3vBy3+C4IipTOAEM6cyR3RJUCt5IjKLsxJBTLZWRzwhZhAGx8Q==} + /@fluentui/react-input@9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-O6THfgikbwpPgUYBcQBXbQ1dHpP6qY1P31gb7+epaX54AJMuo0xeANfSMBBhTkbLshyn6AS9OMOwrc/Zkvmfew==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3410,31 +3291,31 @@ packages: - scheduler dev: false - /@fluentui/react-jsx-runtime@9.0.42(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-/iKhJx5htz+iBjWRjviM7cEAiG0y9oqVimmeWaZChi0M5abwvHkueYQ+n1BhzYOtsdeuXXcbrkx4VkaO5j5Efg==} + /@fluentui/react-jsx-runtime@9.0.44(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-cnFjiFaztl3zV2bL/Pgsa/dvLES/gNzSKkBUD3ShWeaEi7LbInc3+tnCcttBSTSNdLh8mcuzQkUCImVSD857VA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 react-is: 17.0.2 dev: false - /@fluentui/react-label@9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-9EDwomVwcHJvI7QKIsBok3EQ5Ty5R3cDMnYZl7OIugffEvt+UWcmNyIOckYt80vsPYNbM9XqTt4rNAvCkFd1UQ==} + /@fluentui/react-label@9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-7lqil5XIYkxSQNy/GEqFypAo0eQyjYIPYu0LO2z8UPCuRyaItHA/ArSc3GnyIL/naY9Wz1EG2WvakLbgB+PkGg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3443,8 +3324,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-link@9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Vgd3x6wyDvG20P6t3j0zXqncy5grkCDV05Gpt6Q77qwqDLNUUpu/DoolgCxVidp91Vlvt6/M9NZAJS4XXDBqTA==} + /@fluentui/react-link@9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-BsjDm8ixFMoh+7Hi7WRgDxLEKYj61gc0VjCs9ah0JxJoM1o+OoJhXKc29a13qRJHMSB3Gfndw6nYCineRPcFiA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3452,11 +3333,11 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3465,8 +3346,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-menu@9.14.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-QBwpi6qUWCNNTdxtn+n/xpzbC4L2stdRnzYedodvby2Q1MQ95RmCFkxjjujJvcF4R5lOxwaNQAoVDtRY6rhxzw==} + /@fluentui/react-menu@9.14.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-q0FVqSjTXQL8jO6Zf+fTFRbJglGBQS7dfkINZ966p9Kqq7zyHFMuaadXil2TpTkGcpo/Qva3wlFJoEeHki2PLQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3474,16 +3355,16 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3494,20 +3375,20 @@ packages: - scheduler dev: false - /@fluentui/react-message-bar@9.2.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-r8KN/CECCKzMTSDzN4Iztn+Ta5mXz4LW4E8vYRl8l4LV5/Si5msK2VYAgVAVnIL0KTBDO9XIsXS+zxHl2xwFHw==} + /@fluentui/react-message-bar@9.2.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-JQFbO1EKx0Qel6hdQbSJTdKdPGCyaprt/pFabHpbhmMbIRwtMPuPbni6/tX7Eak5a8fHTVmTaaPZaeDEDB5kww==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3517,15 +3398,15 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@fluentui/react-motion-components-preview@0.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-G3CdWZPJ6XW5DV9eBEYOxBJI2fvnhs7G7wEipWUVieQdPhJDmKlTXB2pANBJOlhF3zJMuYq9IIhszjhaDP7nxA==} + /@fluentui/react-motion-components-preview@0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nVZNKf+VDOAswQtWv7ZWBpPCZYApALBR/AK+F+TlRPx7qjij1ZOCUq5qtXfAV/mmomeeTHVtI1zKLBtNQIQ43A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -3533,16 +3414,16 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-motion@9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-UQP62emJhfJOrVwNtfH+Mw8hELHhLW09PbKD8rGioth3TJpYTMMeaspF1LuhsFGNCqfww3ZqtB7vz1MxIuMEsA==} + /@fluentui/react-motion@9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-43Y1ZXhGxts8RIqOSyD7FXLAZl6Xyy4aQQuneXQJihY3vgsgMBtaEuQ9ZS2Ewo3zYJAf1kgZK+Q7OdQ3M9jmEg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -3551,8 +3432,8 @@ packages: react-is: 17.0.2 dev: false - /@fluentui/react-overflow@9.1.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-J6WDAy22IJTCQAZiIRGn+DEqKnCS2xWHrAz+6F4JwTfjWWdbgTYofIQNTus8p4/vBjw5/ORwCERBkfrRsLBEBQ==} + /@fluentui/react-overflow@9.1.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-4r0/YQaSX00OWeQwWsW9cctloTom1GguSaDRTxg2qMdwwr8gr9ZEni4LbCXJfH6soCNFzurnwdSeNOg4ogyT+g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3560,9 +3441,9 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/priority-overflow': 9.1.13 - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3573,20 +3454,20 @@ packages: - scheduler dev: false - /@fluentui/react-persona@9.2.96(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-SG2y8EKKMGdHqJjtilT2uDrlbTDPxrrTjQYRLj8Rlr7P2NT4SkiMpx826eexV6/8ZNcmyn/kvaR5EvlG9SWkbg==} + /@fluentui/react-persona@9.2.98(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-PpgHB1puW1GwwgvPtSwMMUs+CpP3mQCRivHmWq6sf609rZZyV+ItGf4IzEdCDa+rD2GvkN53zfcFU9RJtrJwPg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3597,8 +3478,8 @@ packages: - scheduler dev: false - /@fluentui/react-popover@9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-iT/UvfwBdtPbYgQC2nNyogrocrhVHKftd30yElDnFN/tz8TIFyIS8Wghxtti0Qmg5bo7H5CQGUU7+wkL/bNI7Q==} + /@fluentui/react-popover@9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-7pM/+vaSFDc6fFc8gCHw44aX4EKUyz3jAZXXEzUwg6cjQfJrK42Pfq6EAt0ZzftJdmdOXXTBToI3tqRA7ENlSA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3606,15 +3487,15 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3636,17 +3517,17 @@ packages: react: 18.3.1 dev: false - /@fluentui/react-portal@9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-x+RaGu5ICWgsBXTu2onF34bitZVK362j+9EGqXDpq0FoEb/e3/pFvBW2J2dou+rmviaKhNNprwL29dII8aUPZw==} + /@fluentui/react-portal@9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-b0OTtFUmbHOU41wbRITqe3Wlqx3zpmXXUUsFh0KtSTKsMrWy2a2jtl7ZToNRsFfa3opwKsvlk+ohRT5CkDyQ4w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3656,19 +3537,19 @@ packages: use-disposable: 1.0.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) dev: false - /@fluentui/react-positioning@9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Zb+Td/a3nFDeLvz3pH6ebod7Bq9tsDtx2MGQ/aarfKAvbp9JRrmb/1nkqMEauth7NPg/JV9NfXJMGq5hvBQtrw==} + /@fluentui/react-positioning@9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-X/0Fv3XxRdvOMLUgrL9T9RsIB8FQUgwfT9joQsldK4g2KUiRxpQcmGBO6+kOOB2CjakDrGLxlL5TWTwjibLJQQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.6.10) - '@floating-ui/dom': 1.6.10 - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.6.11) + '@floating-ui/dom': 1.6.11 + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3677,19 +3558,19 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-progress@9.1.85(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-cHFvJnZ5Em5RKiK4tq8c+ZbPF9JlJJcydE2j/y2aXKtufsCrD0SuNDDjEyCP7UUdJ8FWeoO2Azq3oSsP/VaT7A==} + /@fluentui/react-progress@9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-B3XK5hZgJDvKTQ536bDCvN8r6RjuA0ndlHjihAzjXefm5u990nEEI0FgjZcIlezEUGfWi5YPo3i3W17KjQ2QCA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3700,20 +3581,20 @@ packages: - scheduler dev: false - /@fluentui/react-provider@9.17.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-0JNFaL6fqDxV0IvXov/QBqJbjuCoGJw8SOE5Fn7X0wORtGpGlR6rJgsccNs4s/hEOlmmnS79d0q3xyyDiGSuUg==} + /@fluentui/react-provider@9.17.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-BjnB8ZSuRPS2h6FP1RiMaR+hiTaX5iogqYktULhFYDeN8DoA6RDkLGrPcaaGqYQTIVKKAJUqN18QoPmh8WBh6A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/core': 1.18.0 '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 @@ -3723,21 +3604,21 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-radio@9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-1FklLprqvi4307PcA0aH0H4LtvtyD0hP/xqvrAP5uZdrBwFxMcbP258E4zmsRcUPAi1bQNUbUOrwe4GuQFjSog==} + /@fluentui/react-radio@9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-KwpK7rn+ATsRPRLXeNzHreCeoLQnMWIW+GzPfAoaHm3NI/cwQSqSdEItbUnWKq7i8evJpyGbPSooboMwlCo9Zw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3748,19 +3629,19 @@ packages: - scheduler dev: false - /@fluentui/react-rating@9.0.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-nNe/YZXnUFYzCTvAiFMo18X/hpmXFgOQIs8itBbLWUUu0H48dbjO/HQFhd/1aOeEPURc/h+XbozztGDj5LbJNA==} + /@fluentui/react-rating@9.0.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-c1/tEJXx2DpDeJ8r1AbrCtRQb+4RlM9tMoQDuHqLxscmrrxvvKCbjqCOvA/myiMczuAsp2z6Fvlc4LESjdqxpA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3769,19 +3650,19 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-search@9.0.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-daJUhwD659svOlhT6lvTwmvdFTSN53MmE80btdYYCnahJfBn27OT7askdH7iiqiogI/7VP2+sZnbWANEkd2Zvw==} + /@fluentui/react-search@9.0.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-bUxi28d8KfrKKaG61n5YXE/A7qrp6amwrn/+iJo9PXYN4FlY8FAjYQ9vZOjR+1yWmNbaSisuZHKA7IisrmahEQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-input': 9.4.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-input': 9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3792,20 +3673,20 @@ packages: - scheduler dev: false - /@fluentui/react-select@9.1.85(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-4mgCTMoQN68vW+1WjptvIkWmnfdiz0WmyY670dp0JEL5KvMp5WVYIUmXjmR/fP1Nbp0df0BspUDPMrKTS6DEyw==} + /@fluentui/react-select@9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-LlREKNfCxpXh9j1D27FL/WLgoJs5vKK4HBFpAr4FGII0OFIl2wMCb7SpeaBziuPQU7EnEjeqHlG2hN5oVARoJw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3816,31 +3697,31 @@ packages: - scheduler dev: false - /@fluentui/react-shared-contexts@9.20.0(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-LOMgP51dC/dOQOopEhvRk9V/GlpkStMbXTsci+2raG+Zno3eIdS3TesWCango+r5rpBFCIZl4HOpGEErHGm03Q==} + /@fluentui/react-shared-contexts@9.20.1(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-QoduMl+QkZ3FEyiSc+rCBbCLY88L/uX8o/eXoJOI0v1px/+5iYkCIUlQPiU9nCGjAI+C8AmG4pIJ7h5iLUlAyQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-theme': 9.1.19 + '@fluentui/react-theme': 9.1.20 '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 dev: false - /@fluentui/react-skeleton@9.1.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-4rSQdV2W98uiK9k3o8ivTaUcpxo9GDyBWkECNCtLYNxvjG1RSpGooNCaT5YlMGWvZYjr0QQy/3KVztY9ZFBYQw==} + /@fluentui/react-skeleton@9.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-bRRB3DOxmX1lM1dAayAsIpVZU2rIOzlHpO7yVV9LhWGnGnfNRhYCcM3WSQXhdCmGdUSbb02lSo85PYB/JyW9Zw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3851,20 +3732,20 @@ packages: - scheduler dev: false - /@fluentui/react-slider@9.1.92(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-MwbvKQRxwSvGWa/6mnb81cN23QsCEWaYfkcmYdLkP9ijf0BFKlMscyv9E3UdbEdZ8WtJEm0gaQ62BTR6wTATOA==} + /@fluentui/react-slider@9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-7US332rPd6rH8KRFP3TvAwxMGx/UKJo/Bv0i9rtszNPDi0nF1988uvvj1sfC4MA2I343ASajs+lnaav14BUa9g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3875,8 +3756,8 @@ packages: - scheduler dev: false - /@fluentui/react-spinbutton@9.2.86(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-LOgLKBSRsli0zEMSlV+Kqvj3tFs6w7y+VP7dQQ7zPlvhGcm/U9/R5ax/tJ1DC6iRDIUQlNHXpyXITHscilodvA==} + /@fluentui/react-spinbutton@9.2.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-UDsPhLOqQieGzPF5a9WNTB3qo49y65rhjNd7Fq1j2Vc003P02USl4MyonTkPugsNoMm30slxgErym5bLj3Cbug==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3884,12 +3765,12 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3900,19 +3781,19 @@ packages: - scheduler dev: false - /@fluentui/react-spinner@9.4.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pcIxhJtM0SFqDqL7/FUm9h2AbKn9D7WLjwXfE0Umx8T9cp8H/D1VgL9whCGqnvwa2BX2xWTmPbSz6QVRdwL7Jw==} + /@fluentui/react-spinner@9.4.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-CT38dZhvXWxcUWZaL0jwuxj5P0ttQp4Njx3ZhIXn87/8HIxGGT9QOirBjp+1nGq5gA5q1AYyPy4sbrcculA48Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3921,21 +3802,21 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-swatch-picker@9.1.8(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-zlAghHbgHBUiK3CCxebQzbyyGkRc68IIpsSEq0wDZ8D/sSjageBdcveavKLSRChXp4qkdGPnMIMWyHyenl6Z5A==} + /@fluentui/react-swatch-picker@9.1.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-3vymANhAbyD+iV0ENQe4atX0lEDqFfgO5uQzrVl7jQdfmkaBmuzdlqPJ9Tl/wyEsiEys3+1JkgDiS0MoOrTTlg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3946,22 +3827,22 @@ packages: - scheduler dev: false - /@fluentui/react-switch@9.1.92(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-Rd9vz+R8fniGsSv5yfaRRmc4y6vbnr8pnttQA67Mku5jhbwB2aUFEZ8iL0FOIxyS8RSJEi0yyar96Hn1sMhaAA==} + /@fluentui/react-switch@9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-MXsOmfGHc9b/JEwplZi7LHmk7t8c/rzgK5Z9Avpbj19+sNsHJlnyl7IwLEVJHwxgO3r5dp1fgPbsmUdEoBEyOg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -3972,8 +3853,8 @@ packages: - scheduler dev: false - /@fluentui/react-table@9.15.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-UVYVprXZwx108qzSNwiflqPKuZTvf0r8JFOKFsO65hV3gSeYncOM6FcCdQAHJ2RTpPHQJ4ba+iwJvaaHG4JQ5w==} + /@fluentui/react-table@9.15.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-5PuN2OC/DaFEZdrw7WTIcZFqZbTAJU8gTtgbDHSvM3+KMsTE65JHus24sDrnAshjiNcYorEKZdoWZq/bDr46Aw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3981,17 +3862,17 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-checkbox': 9.2.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-radio': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4002,20 +3883,20 @@ packages: - scheduler dev: false - /@fluentui/react-tabs@9.4.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-pYGL80Wwg2UCU837+R9ehOuGteeBej2tWbqbERb9cvRdwdbLCdKcbI+Cy9V+ny1zSRZ+U/7ltlmxosP5DiaM+w==} + /@fluentui/react-tabs@9.5.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-tBPyIvTvQnDtTtvWW7qgmK9Wz4DUEZU7MUmG6/n5aKluzutiCA7uC33xa8ndUibxEBSMiVJVHL7VTeo/+1/3eQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4026,17 +3907,17 @@ packages: - scheduler dev: false - /@fluentui/react-tabster@9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ddSy6/v1JLNH09SCXLwSf4ERKHTxcqN/dX8yl18jEk34VxveAXFR5x+0XbO5/8nPBxkdl1LEkTgn5EKH4joDCg==} + /@fluentui/react-tabster@9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ITvm69INou9WGVN+l+iJhYFZ+8zEgP++IKu7/oUxOfjNYzqDzEm3Q8u4oxdlv9ofVGT1qXZhA7jSDE6DOnlXmA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4044,11 +3925,11 @@ packages: keyborg: 2.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tabster: 8.0.1 + tabster: 8.1.0 dev: false - /@fluentui/react-tag-picker@9.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-XIVmCRWxRGV35cXivKdA4OMI8ND4l7nRUK0VzlAb7rDESc4fzAhhao5YuB4JwAUHrfagP8aCmH7V8NRS0a9J4g==} + /@fluentui/react-tag-picker@9.3.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-okIO+Ock5t7dvNUHTtJyw6OPTqYsSnDy8mePhG67pGwDDOTGWqgikEfUBDN1bO8NaQf56tivubyyg7s2boLZTg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4056,19 +3937,19 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-combobox': 9.13.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tags': 9.3.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-combobox': 9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tags': 9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4079,8 +3960,8 @@ packages: - scheduler dev: false - /@fluentui/react-tags@9.3.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-NESGP9hUOmN3fqfKtAe2/fWc/Buvyt6cbp3eNgLUsZq9J1lwn4cnHBvEfvAJVv4fd8qwb8W2UTJ57/jrtISy4w==} + /@fluentui/react-tags@9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-DSZJx95xeF3Hhw5VardJAAApeGdR9BHZt+oJmZl0qdHPShQTh9g848kSXy94iwK2xU3VWfenBWPSk+LqEIwxxg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4088,14 +3969,14 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4106,24 +3987,24 @@ packages: - scheduler dev: false - /@fluentui/react-teaching-popover@9.1.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-pDTTL/xHr/pb+D/5UeYirTaxlTRqBwquc1GjvtibaxXrTgIfDfs/20HkgB5EPtPa7o6z2gd0OoByfseD0EgMwg==} + /@fluentui/react-teaching-popover@9.1.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-aA7ImKM4xGf/CK1Bhs5MD8suow76vdRzscHnvCRMBZ9MSqLlkLglvJevzntyhuUAEV1qXxaJZHHbWhY5+/cfHA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-popover': 9.9.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4135,18 +4016,18 @@ packages: - scheduler dev: false - /@fluentui/react-text@9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ZQu7yBSULDIbCOvP9B1ViK4BFSb2T6VaWUbv5qfUEV4g24b812EspTYNdoicx7SqdaDt1tSdpy1wFl6QViC5/Q==} + /@fluentui/react-text@9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-PVEDG1X3z3C8igtI2g2bTSiWPWmzF/6lT2yB70W+lsWmI5+L54aW0rNF2/GOls25N/+MHRAGBIk5SmMWW+SH8g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4155,19 +4036,19 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-textarea@9.3.86(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-ZUDXTiaFxIico7n14yVStNa3emLrm3one3HWTwpifr2vBuZtDHczShn+5E4rfHIZZfB0p0i0o2sX/gUBldVi6w==} + /@fluentui/react-textarea@9.3.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-gjSgqvstE2vxUdY11Yw/zcFkXhZ5cAy/GJWppqhLV9KnBT4nTeT7ODmz44qMekJ1rNtwBx8Gk7RJe9HVhKbZTQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4178,15 +4059,15 @@ packages: - scheduler dev: false - /@fluentui/react-theme@9.1.19: - resolution: {integrity: sha512-mrVhKbr4o9UKERPxgghIRDU59S7gRizrgz3/wwyMt7elkr8Sw+OpwKIeEw9x6P0RTcFDC00nggaMJhBGs7Xo4A==} + /@fluentui/react-theme@9.1.20: + resolution: {integrity: sha512-Rh3N2ewCBlY9q+bucEKfii7sovp03HgZvN4Xwg8gbnVWA9zgX0QyTTPR+ynV+kMuwP1OiGmGHOiO+daz1k1dbg==} dependencies: - '@fluentui/tokens': 1.0.0-alpha.16 + '@fluentui/tokens': 1.0.0-alpha.17 '@swc/helpers': 0.5.13 dev: false - /@fluentui/react-toast@9.3.54(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-y/BW/ojmb4EFGEo/dxbZhVBC/feQ2ttftqQkY477wWWOcRm9rnOTfZ/cnSRdeOGvzZcoMylnWQR6cj2Fz0PrsQ==} + /@fluentui/react-toast@9.3.56(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-L3zHGTh32D5tACTCKnXAx4cdXWnY9zBFOVUl/Qpm1PdP4i/4mn4khNRmHDbN9U30a2VyxGWKiU/zQ70NuoMd+w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4194,15 +4075,15 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4211,23 +4092,23 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-toolbar@9.2.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-6cXvalIkqTG0Rc8KojLGv16ah4lhyYOCPzdmZr6L55yGr2AZujkc31DIOv/nWMQmubZP0yXKN9jX+uC79xyi9w==} + /@fluentui/react-toolbar@9.2.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-Z4FEfrNsI5WJKv0/cuU6ysyGVi35EXVpkuLxnodUkFxTXu3nNUrBnqgEomz7p6psnOjFXJP1PvxU+ndAQhtVJg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-divider': 9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-radio': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4238,8 +4119,8 @@ packages: - scheduler dev: false - /@fluentui/react-tooltip@9.4.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Tk8a3W+8UBu0y1vAfLNU/OPWXuoDgX3Kts6ml8bZAKmKbq5M9OlnoXA7rOEU2IV7LWHTw25mkqUpPebjW4zpRw==} + /@fluentui/react-tooltip@9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-j424ZG4stTg3UbWUb1lYIteBCO37TB4pYNnX8ARLeaAE7kdQTD/t5GEDD2fyVhYYi097xJhUA4jMhsPig06Jow==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4247,13 +4128,13 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4262,8 +4143,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-tree@9.7.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-2WDc3J27XYDqpMNVk4k9T7VWosVHru+c0YYGWtx7gWKTrGwoNHdnxtSK+22o8YQKN8+GFmWQIse6thdpqsCA1A==} + /@fluentui/react-tree@9.8.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-nKvzBl5hLHUU7NcRlljxfWhEeRsPZrTGAz6+aVbT6C1Lu6AC2kOhLryjRqGct0/9KK7N3WS0UjNjDS7dXtt8TQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4271,20 +4152,20 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-button': 9.3.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-checkbox': 9.2.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-motion-components-preview': 0.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-radio': 9.2.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4295,30 +4176,30 @@ packages: - scheduler dev: false - /@fluentui/react-utilities@9.18.13(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-Qk9rL5tZI+az77+S2WKwLWu+WOSZZJSIthxp/ImjuiR6CS+LMrVdl0UC8lHpq03QU7hPgNxbbo0cVnCFazU3Lg==} + /@fluentui/react-utilities@9.18.15(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-eJX6nyfHFRR6cZ3bi9c7s8rxIo6wCQE+phFzLqBke+RUV+p3Hwf6zW1IBVWauoaQKwPAW5RdWRYZrahqwo4DOA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 dev: false - /@fluentui/react-virtualizer@9.0.0-alpha.82(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-XvkDXua8Tn9If02RhLPzFMR7CivAZ+frCajQFKaWZjE7OJqYsJ+hKb5ZGz7SWdOPtFq6uxe3H96vG1aDcA0n+w==} + /@fluentui/react-virtualizer@9.0.0-alpha.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-CM0fKLVKQ++Z1KCFDQpxo9gULkIwAbtOFFcJwl5nxqszRmML3dL+dSX5NZMSCk2bg1VlQ+Dx1tqL5Q/Eh1f2aQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@swc/helpers': 0.5.13 '@types/react': 18.3.3 @@ -4339,8 +4220,8 @@ packages: tslib: 2.7.0 dev: false - /@fluentui/react@8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-eU8b3X6t3v6Gv38vYXXnI9JBnaTY1wpeLmErPcdBIuvVpAq35/HU+FmR1CB6FDd9oOQqC4sbM6nTlI6mSudmsw==} + /@fluentui/react@8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-loZJYZ/qAjoz7la4uClrwJV50pYe+reopYjdgEZX3cjYMPzdIdDsAuRY+HJ9SqOOW97k6PTyBtYvpVpfy7OdEw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' @@ -4401,7 +4282,7 @@ packages: /@fluentui/theme-samples@8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-aRr99fq0HNzsG68fJjHBbZSkxDe1BA/hpprCgJj7P69jFJbf2V1GBWXQfoTDPj/PZKS80qlJLo6M+B7yHaet+A==} dependencies: - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/scheme-utilities': 8.3.60(@types/react@18.3.3)(react@18.3.1) '@fluentui/set-version': 8.2.23 tslib: 2.7.0 @@ -4426,8 +4307,8 @@ packages: tslib: 2.7.0 dev: false - /@fluentui/tokens@1.0.0-alpha.16: - resolution: {integrity: sha512-Gr9G8LIlUhZYX5j6CfDQrofQqsWAz/q54KabWn1tWV/1083WwyoTZXiG1k6b37NnK7Feye7D7Nz+4MNqoKpXGw==} + /@fluentui/tokens@1.0.0-alpha.17: + resolution: {integrity: sha512-tD+sHoY9u31SrgnWOl1XwWawCUQEgLWZkR+WiQbekoj2s2RCe8aO6Bl33qkh+pcskThukBpcFU5lHwqqTgUKJA==} dependencies: '@swc/helpers': 0.5.13 dev: false @@ -4488,13 +4369,13 @@ packages: '@hapi/hoek': 9.3.0 dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4531,7 +4412,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4552,14 +4433,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.5.4)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@22.7.1)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4594,7 +4475,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-mock: 29.7.0 dev: false @@ -4621,7 +4502,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4654,7 +4535,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.5.4 + '@types/node': 22.7.1 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4764,7 +4645,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.4 + '@types/node': 20.14.12 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: false @@ -4776,7 +4657,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.5.4 + '@types/node': 22.7.1 '@types/yargs': 17.0.33 chalk: 4.1.2 dev: false @@ -4878,42 +4759,42 @@ packages: resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} dev: false - /@microsoft/api-documenter@7.25.12(@types/node@20.14.12): - resolution: {integrity: sha512-iGucfnoJsbNcMeUZgODvA91sYG9uNy/pnyDiVHjO8++A91Fp1vECAEd1qaqqeCP3ImgJ9HcJuUnwlRvS93QNXw==} + /@microsoft/api-documenter@7.25.14(@types/node@20.14.12): + resolution: {integrity: sha512-nysAB+j4l5Al3XvCdee6tw0rw4fXpnlIq9En2opcc3DgITeoehiaYYoZZqoqOQSKlSUDWF7Z55GGsvntVrcBkg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.29.6(@types/node@20.14.12) + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.12) '@microsoft/tsdoc': 0.15.0 - '@rushstack/node-core-library': 5.7.0(@types/node@20.14.12) - '@rushstack/terminal': 0.14.0(@types/node@20.14.12) - '@rushstack/ts-command-line': 4.22.6(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) + '@rushstack/ts-command-line': 4.22.8(@types/node@20.14.12) js-yaml: 3.13.1 resolve: 1.22.8 transitivePeerDependencies: - '@types/node' dev: false - /@microsoft/api-extractor-model@7.29.6(@types/node@20.14.12): - resolution: {integrity: sha512-gC0KGtrZvxzf/Rt9oMYD2dHvtN/1KPEYsrQPyMKhLHnlVuO/f4AFN3E4toqZzD2pt4LhkKoYmL2H9tX3yCOyRw==} + /@microsoft/api-extractor-model@7.29.8(@types/node@20.14.12): + resolution: {integrity: sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==} dependencies: '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.7.0(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) transitivePeerDependencies: - '@types/node' dev: false - /@microsoft/api-extractor@7.47.7(@types/node@20.14.12): - resolution: {integrity: sha512-fNiD3G55ZJGhPOBPMKD/enozj8yxJSYyVJWxRWdcUtw842rvthDHJgUWq9gXQTensFlMHv2wGuCjjivPv53j0A==} + /@microsoft/api-extractor@7.47.9(@types/node@20.14.12): + resolution: {integrity: sha512-TTq30M1rikVsO5wZVToQT/dGyJY7UXJmjiRtkHPLb74Prx3Etw8+bX7Bv7iLuby6ysb7fuu1NFWqma+csym8Jw==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.29.6(@types/node@20.14.12) + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.12) '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.7.0(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.0(@types/node@20.14.12) - '@rushstack/ts-command-line': 4.22.6(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) + '@rushstack/ts-command-line': 4.22.8(@types/node@20.14.12) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -4924,108 +4805,108 @@ packages: - '@types/node' dev: false - /@microsoft/applicationinsights-analytics-js@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-analytics-js@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-YfuUyTBx8HNGgIwg8N01iwsIO6LaqApNwGXw5YunAw+hqYR6jRmYlseQGTPFvKtq1ebEPJiwK0LjIQw/fOcxHQ==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-channel-js@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-channel-js@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-KNYk8qeci8AcWKZUqgCElEr1Ef5G+iudq1mN57Sc/8hUONNp2fTfWh1Cm+RUTRIEWAC29uUWGyLhSqiTF3ox1w==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-common@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-common@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-/PBRmRL6rFCoO3vWpIEHuFnu+TinEYRKWOj+I+XVUH5myZpv+nYvaRdwryVTkmCYxLyL9kxtNn7hQx8DBlhdSw==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-core-js@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-core-js@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-yPHRZFLpnEO0uSgFPM1BLMRRwjoten9YBbn4pJRbCT4PigLnj748knmWsMwXIdcehtkRTYz78kPYa/LWP7nvmA==} peerDependencies: tslib: '*' dependencies: '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-dependencies-js@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-dependencies-js@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-XW3m1DEXo2CkTUEeBzXGjoMjud6b1Y1J6W1Nz0RJ3IMC5ptbSOeen5rRDSzcBEUZN75vWvbGmhxVuQTXnnIu2g==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-properties-js@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-properties-js@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-WucPqEzgT20JhjwOPQhgBSal6tlKldUz3c6j5Kpj4Rej95c2vvm1t14lI/p9SvOjZDRK5dMfkuQtvFG7NrUlIA==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-react-js@3.4.3(react@18.3.1)(tslib@2.6.2): + /@microsoft/applicationinsights-react-js@3.4.3(react@18.3.1)(tslib@2.7.0): resolution: {integrity: sha512-+IIPDYU7DKBwByN7lK/mkMGrnWMGdyIsEZfDzBh/fKDZgGGGgH9B3WHej+vIpdwBcVaPbYx++lonTshn56C9/A==} peerDependencies: history: '>= 4.10.1' react: '>= 17.0.1' tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@microsoft/applicationinsights-shims@2.0.2: resolution: {integrity: sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==} dev: false - /@microsoft/applicationinsights-web@2.8.18(tslib@2.6.2): + /@microsoft/applicationinsights-web@2.8.18(tslib@2.7.0): resolution: {integrity: sha512-n6gW9WXr/oHrt2S8waXjYoBqzhPChJNoTPlKm+pwtO3iP+I8dQDuf8Q02RKLgCaWzvEhO/1GSznCECBX0jP+gg==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-analytics-js': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-channel-js': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-common': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-dependencies-js': 2.8.18(tslib@2.6.2) - '@microsoft/applicationinsights-properties-js': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-analytics-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-channel-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-dependencies-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-properties-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@microsoft/dynamicproto-js@1.1.11: @@ -5252,7 +5133,7 @@ packages: dependencies: playwright: 1.39.0 playwright-core: 1.39.0 - vite: 4.5.3(@types/node@20.14.12) + vite: 4.5.5(@types/node@20.14.12) transitivePeerDependencies: - '@types/node' - less @@ -5285,6 +5166,7 @@ packages: /@playwright/test@1.39.0: resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==} engines: {node: '>=16'} + deprecated: Please update to the latest version of Playwright to test up-to-date browsers. hasBin: true dependencies: playwright: 1.39.0 @@ -5364,11 +5246,11 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} dev: false - /@rollup/plugin-commonjs@25.0.8(rollup@4.21.2): + /@rollup/plugin-commonjs@25.0.8(rollup@4.22.4): resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5377,16 +5259,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.11 - rollup: 4.21.2 + rollup: 4.22.4 dev: false - /@rollup/plugin-json@6.1.0(rollup@4.21.2): + /@rollup/plugin-json@6.1.0(rollup@4.22.4): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5395,11 +5277,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) - rollup: 4.21.2 + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + rollup: 4.22.4 dev: false - /@rollup/pluginutils@3.1.0(rollup@4.21.2): + /@rollup/pluginutils@3.1.0(rollup@4.22.4): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -5408,11 +5290,11 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 4.21.2 + rollup: 4.22.4 dev: false - /@rollup/pluginutils@5.1.0(rollup@4.21.2): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + /@rollup/pluginutils@5.1.2(rollup@4.22.4): + resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -5420,134 +5302,134 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.21.2 + rollup: 4.22.4 dev: false - /@rollup/rollup-android-arm-eabi@4.21.2: - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + /@rollup/rollup-android-arm-eabi@4.22.4: + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-android-arm64@4.21.2: - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + /@rollup/rollup-android-arm64@4.22.4: + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-arm64@4.21.2: - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + /@rollup/rollup-darwin-arm64@4.22.4: + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-x64@4.21.2: - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + /@rollup/rollup-darwin-x64@4.22.4: + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.21.2: - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + /@rollup/rollup-linux-arm-gnueabihf@4.22.4: + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-musleabihf@4.21.2: - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + /@rollup/rollup-linux-arm-musleabihf@4.22.4: + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-gnu@4.21.2: - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + /@rollup/rollup-linux-arm64-gnu@4.22.4: + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-musl@4.21.2: - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + /@rollup/rollup-linux-arm64-musl@4.22.4: + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.21.2: - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.22.4: + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-riscv64-gnu@4.21.2: - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + /@rollup/rollup-linux-riscv64-gnu@4.22.4: + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-s390x-gnu@4.21.2: - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + /@rollup/rollup-linux-s390x-gnu@4.22.4: + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} cpu: [s390x] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-gnu@4.21.2: - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + /@rollup/rollup-linux-x64-gnu@4.22.4: + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-musl@4.21.2: - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + /@rollup/rollup-linux-x64-musl@4.22.4: + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-arm64-msvc@4.21.2: - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + /@rollup/rollup-win32-arm64-msvc@4.22.4: + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-ia32-msvc@4.21.2: - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + /@rollup/rollup-win32-ia32-msvc@4.22.4: + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-x64-msvc@4.21.2: - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + /@rollup/rollup-win32-x64-msvc@4.22.4: + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -5558,8 +5440,8 @@ packages: resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} dev: false - /@rushstack/node-core-library@5.7.0(@types/node@20.14.12): - resolution: {integrity: sha512-Ff9Cz/YlWu9ce4dmqNBZpA45AEya04XaBFIjV7xTVeEf+y/kTjEasmozqFELXlNG4ROdevss75JrrZ5WgufDkQ==} + /@rushstack/node-core-library@5.9.0(@types/node@20.14.12): + resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -5584,23 +5466,23 @@ packages: strip-json-comments: 3.1.1 dev: false - /@rushstack/terminal@0.14.0(@types/node@20.14.12): - resolution: {integrity: sha512-juTKMAMpTIJKudeFkG5slD8Z/LHwNwGZLtU441l/u82XdTBfsP+LbGKJLCNwP5se+DMCT55GB8x9p6+C4UL7jw==} + /@rushstack/terminal@0.14.2(@types/node@20.14.12): + resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 5.7.0(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) '@types/node': 20.14.12 supports-color: 8.1.1 dev: false - /@rushstack/ts-command-line@4.22.6(@types/node@20.14.12): - resolution: {integrity: sha512-QSRqHT/IfoC5nk9zn6+fgyqOPXHME0BfchII9EUPR19pocsNp/xSbeBCbD3PIR2Lg+Q5qk7OFqk1VhWPMdKHJg==} + /@rushstack/ts-command-line@4.22.8(@types/node@20.14.12): + resolution: {integrity: sha512-XbFjOoV7qZHJnSuFUHv0pKaFA4ixyCuki+xMjsMfDwfvQjs5MYG0IK5COal3tRnG7KCDe2l/G+9LrzYE/RJhgg==} dependencies: - '@rushstack/terminal': 0.14.0(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -5626,11 +5508,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: false - /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -5677,16 +5554,16 @@ packages: uuid-browser: 3.1.0 dev: false - /@storybook/addon-actions@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-eh2teOqjga7aoClDVV+/b1gHJqsPwjiU1t+Hg/l4i2CkaBUNdYMEL90nR6fgReOdvvL5YhcPwJ8w38f9TrQcoQ==} + /@storybook/addon-actions@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-cbpksmld7iADwDGXgojZ4r8LGI3YA3NP68duAHg2n1dtnx1oUaFK5wd6dbNuz7GdjyhIOIy3OKU1dAuylYNGOQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 uuid: 9.0.1 dev: false @@ -5718,18 +5595,18 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/addon-backgrounds@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-eGmZAd742ORBbQ6JepzBCko/in62T4Xg9j9LVa+Cvz/7L1C/RQSuU6sUwbRAsXaz+PMVDksPDCUUNsXl3zUL7w==} + /@storybook/addon-backgrounds@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-aX0OIrtjIB7UgSaiv20SFkfC1iWwJIGMPsPSJ5ZPhXIIOWIEBtSujh8YXwjDEXSC4DOHalmeT4bitRRe5KrVKA==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/addon-controls@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/addon-controls@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -5744,7 +5621,7 @@ packages: '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -5763,73 +5640,19 @@ packages: - webpack-command dev: false - /@storybook/addon-controls@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-vaSE78KOE7SO0GrW4e+mdQphSNpvCX/FGybIRxyaKX9h8smoyUwRNHVyCS3ROHTwH324QWu7GDzsOVrnyXOv0A==} + /@storybook/addon-controls@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-78xRtVpY7eX/Lti00JLgwYCBRB6ZcvzY3SWk0uQjEqcTnQGoQkVg2L7oWFDlDoA1LBY18P5ei2vu8MYT9GXU4g==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: + '@storybook/global': 5.0.0 dequal: 2.0.3 lodash: 4.17.21 - storybook: 8.2.9(@babel/preset-env@7.23.9) - ts-dedent: 2.2.0 - dev: false - - /@storybook/addon-docs@6.5.14(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): - resolution: {integrity: sha512-gapuzDY+dqgS4/Ap9zj5L76OSExBYtVNYej9xTiF+v0Gh4/kty9FIGlVWiqskffOmixL4nlyImpfsSH8V0JnCw==} - peerDependencies: - '@storybook/mdx2-csf': ^0.0.3 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@storybook/mdx2-csf': - optional: true - react: - optional: true - react-dom: - optional: true - dependencies: - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@jest/transform': 26.6.2 - '@mdx-js/react': 1.6.22(react@18.3.1) - '@storybook/addons': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/api': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/components': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/core-events': 6.5.14 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/docs-tools': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/mdx1-csf': 0.0.1(@babel/core@7.25.2) - '@storybook/node-logger': 6.5.14 - '@storybook/postinstall': 6.5.14 - '@storybook/preview-web': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/source-loader': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - core-js: 3.38.1 - fast-deep-equal: 3.1.3 - global: 4.4.0 - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - regenerator-runtime: 0.13.11 - remark-external-links: 8.0.0 - remark-slug: 6.1.0 + storybook: 8.3.3 ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@babel/core' - - eslint - - supports-color - - typescript - - vue-template-compiler - - webpack - - webpack-cli - - webpack-command dev: false - /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -5850,7 +5673,7 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -5884,31 +5707,29 @@ packages: - webpack-command dev: false - /@storybook/addon-docs@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-flDOxFIGmXg+6lVdwTLMOKsGob1WrT7rG98mn1SNW0Nxhg3Wg+9pQuq1GLxEzKtAgSflmu+xcBRfYhsogyDXkw==} + /@storybook/addon-docs@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-REUandqq1RnMNOhsocRwx5q2fdlBAYPTDFlKASYfEn4Ln5NgbQRGxOAWl7yXAAFzbDmUDU7K20hkauecF0tyMw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - '@babel/core': 7.25.2 '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) - '@storybook/blocks': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9) - '@storybook/csf-plugin': 8.2.9(storybook@8.2.9) + '@storybook/blocks': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/csf-plugin': 8.3.3(storybook@8.3.3) '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9) + '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) '@types/react': 18.3.3 fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rehype-external-links: 3.0.0 rehype-slug: 6.0.0 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: - - supports-color - webpack-sources dev: false - /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -5968,16 +5789,16 @@ packages: '@babel/core': 7.25.2 '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-controls': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addon-measure': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-outline': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-toolbars': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-viewport': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 core-js: 3.38.1 react: 18.3.1 @@ -5995,34 +5816,33 @@ packages: - webpack-command dev: false - /@storybook/addon-essentials@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-B2d3eznGZvPIyCVtYX0UhrYcEfK+3Y2sACmEWpSwtk8KXomFEsZnD95m397BYDRw3/X6qeSLWxqgMfqDTEDeMA==} + /@storybook/addon-essentials@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-E/uXoUYcg8ulG3lVbsEKb4v5hnMeGkq9YJqiZYKgVK7iRFa6p4HeVB1wU1adnm7RgjWvh+p0vQRo4KL2CTNXqw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - '@storybook/addon-actions': 8.2.9(storybook@8.2.9) - '@storybook/addon-backgrounds': 8.2.9(storybook@8.2.9) - '@storybook/addon-controls': 8.2.9(storybook@8.2.9) - '@storybook/addon-docs': 8.2.9(storybook@8.2.9) - '@storybook/addon-highlight': 8.2.9(storybook@8.2.9) - '@storybook/addon-measure': 8.2.9(storybook@8.2.9) - '@storybook/addon-outline': 8.2.9(storybook@8.2.9) - '@storybook/addon-toolbars': 8.2.9(storybook@8.2.9) - '@storybook/addon-viewport': 8.2.9(storybook@8.2.9) - storybook: 8.2.9(@babel/preset-env@7.23.9) + '@storybook/addon-actions': 8.3.3(storybook@8.3.3) + '@storybook/addon-backgrounds': 8.3.3(storybook@8.3.3) + '@storybook/addon-controls': 8.3.3(storybook@8.3.3) + '@storybook/addon-docs': 8.3.3(storybook@8.3.3) + '@storybook/addon-highlight': 8.3.3(storybook@8.3.3) + '@storybook/addon-measure': 8.3.3(storybook@8.3.3) + '@storybook/addon-outline': 8.3.3(storybook@8.3.3) + '@storybook/addon-toolbars': 8.3.3(storybook@8.3.3) + '@storybook/addon-viewport': 8.3.3(storybook@8.3.3) + storybook: 8.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: - - supports-color - webpack-sources dev: false - /@storybook/addon-highlight@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-qdcazeNQoo9QKIq+LJJZZXvFZoLn+i4uhbt1Uf9WtW6oU/c1qxORGVD7jc3zsxbQN9nROVPbJ76sfthogxeqWA==} + /@storybook/addon-highlight@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-MB084xJM66rLU+iFFk34kjLUiAWzDiy6Kz4uZRa1CnNqEK0sdI8HaoQGgOxTIa2xgJor05/8/mlYlMkP/0INsQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-links@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -6041,7 +5861,7 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/router': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 core-js: 3.38.1 global: 4.4.0 prop-types: 15.8.1 @@ -6052,11 +5872,11 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-links@8.2.9(react@18.3.1)(storybook@8.2.9): - resolution: {integrity: sha512-RhJzUNdDb7lbliwXb64HMwieIeJ+OQ2Ditue1vmSox6NsSd+pshR+okHpAyoP1+fW+dahNENwAS2Kt2QiI78FA==} + /@storybook/addon-links@8.3.3(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-rz4KEbzr1ca4zZEZwbOnhKiaEsokCl1KkngxT/C1YIkpW908j/kg2nnIb5MrtlAW1nirXguAR74t6CGntvdU9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 peerDependenciesMeta: react: optional: true @@ -6064,7 +5884,7 @@ packages: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 react: 18.3.1 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false @@ -6091,13 +5911,13 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@storybook/addon-measure@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-XUfQtYRKWB2dfbPRmHuos816wt1JrLbtRld5ZC8J8ljeqZ4hFBPTQcgI5GAzZqjQuclLC0KuhlA/0bKxdxMMGA==} + /@storybook/addon-measure@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-R20Z83gnxDRrocES344dw1Of/zDhe3XHSM6TLq80UQTJ9PhnMI+wYHQlK9DsdP3KiRkI+pQA6GCOp0s2ZRy5dg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 tiny-invariant: 1.3.3 dev: false @@ -6126,17 +5946,17 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-outline@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-p22kI4W7MT0YJOCmg/FfhfH+NpZEDA5tgwstjazSg4ertyhaxziMwWZWiK2JCg0gOAfRJjoYjHz+6/u56iXwgQ==} + /@storybook/addon-outline@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-OwqYfieNuqSqWNtUZLu3UmsfQNnwA2UaSMBZyeC2Dte9Jd59PPYggcWmH+b0S6OTbYXWNAUK5U6WdK+X9Ypzdw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.0)(jest@29.7.0)(preact@10.23.2)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-5pQrRM1PUtg8YM1odgUQyQeo6DDaMBF9CnIMwgioDrSBMHf+SqQ2MBgW/4GYbfrBYhhrML1d/QbbpwPJ7eb1Bg==} deprecated: 'Storyshots is deprecated in favor of the Storybook test-runner. Migration guide: https://storybook.js.org/docs/writing-tests/storyshots-migration-guide' peerDependencies: @@ -6192,11 +6012,11 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/babel-plugin-require-context-hook': 1.0.1 '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) + '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) '@types/glob': 7.2.0 '@types/jest': 26.0.24 '@types/jest-specific-snapshot': 0.5.9 @@ -6205,8 +6025,8 @@ packages: global: 4.4.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-specific-snapshot: 4.0.0(jest@29.7.0) - preact: 10.23.2 - preact-render-to-string: 5.2.6(preact@10.23.2) + preact: 10.24.1 + preact-render-to-string: 5.2.6(preact@10.24.1) pretty-format: 26.6.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6252,12 +6072,12 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@storybook/addon-toolbars@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-9LMZZ2jRD86Jh6KXedDbAYs4eHj9HtJA9VhSEE2wiqMGwXozpySi7B1GWniNzmFfcgMQ4JHfmD/OrBVTK7Ca/w==} + /@storybook/addon-toolbars@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-4WyiVqDm4hlJdENIVQg9pLNLdfhnNKa+haerYYSzTVjzYrUx0X6Bxafshq+sud6aRtSYU14abwP56lfW8hgTlA==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-viewport@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -6286,13 +6106,13 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@storybook/addon-viewport@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-lyM24+DJEt8R0YZkJKee34NQWv0REACU6lYDalqJNdKS1sEwzLGWxg1hZXnw2JFdBID9NGVvyYU2w6LDozOB0g==} + /@storybook/addon-viewport@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-2S+UpbKAL+z1ppzUCkixjaem2UDMkfmm/kyJ1wm3A/ofGLYi4fjMSKNRckk+7NdolXGQJjBo0RcaotUTxFIFwQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: memoizerific: 1.11.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.89.0): @@ -6300,7 +6120,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.89.0) transitivePeerDependencies: - supports-color - webpack @@ -6406,12 +6226,12 @@ packages: resolution: {integrity: sha512-WM4vjgSVi8epvGiYfru7BtC3f0tGwNs7QK3Uc4xQn4t5hHQvISnCqbNrHdDYmNW56Do+bBztE8SwP6NGUvd7ww==} dev: false - /@storybook/blocks@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9): - resolution: {integrity: sha512-5276q/s/UL8arwftuBXovUNHqYo/HPQFMGXEmjVVAMXUyFjzEAfKj3+xU897J6AuL+7XVZG32WnqA+X6LJMrcQ==} + /@storybook/blocks@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-8Vsvxqstop3xfbsx3Dn1nEjyxvQUcOYd8vpxyp2YumxYO8FlXIRuYL6HAkYbcX8JexsKvCZYxor52D2vUGIKZg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 peerDependenciesMeta: react: optional: true @@ -6420,8 +6240,8 @@ packages: dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.10(react-dom@18.3.1)(react@18.3.1) - '@types/lodash': 4.17.7 + '@storybook/icons': 1.2.12(react-dom@18.3.1)(react@18.3.1) + '@types/lodash': 4.17.9 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -6431,13 +6251,13 @@ packages: react: 18.3.1 react-colorful: 5.6.1(react-dom@18.3.1)(react@18.3.1) react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 telejson: 7.2.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/builder-webpack4@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/builder-webpack4@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6455,7 +6275,7 @@ packages: '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -6464,7 +6284,7 @@ packages: '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.108 + '@types/node': 16.18.110 '@types/webpack': 4.41.39 autoprefixer: 9.8.8 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) @@ -6505,7 +6325,7 @@ packages: - webpack-command dev: false - /@storybook/builder-webpack5@6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/builder-webpack5@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-Ukj7Wwxz/3mKn5TI5mkm2mIm583LxOz78ZrpcOgI+vpjeRlMFXmGGEb68R47SiCdZoVCfIeCXXXzBd6Q6As6QQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6523,7 +6343,7 @@ packages: '@storybook/client-api': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.14 '@storybook/components': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.14 '@storybook/node-logger': 6.5.14 '@storybook/preview-web': 6.5.14(react-dom@18.3.1)(react@18.3.1) @@ -6531,14 +6351,14 @@ packages: '@storybook/semver': 7.3.2 '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.108 + '@types/node': 16.18.110 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.38.1 css-loader: 5.2.7(webpack@5.89.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) html-webpack-plugin: 5.6.0(webpack@5.89.0) @@ -6568,25 +6388,25 @@ packages: - webpack-command dev: false - /@storybook/builder-webpack5@8.2.9(storybook@8.2.9)(typescript@5.4.5): - resolution: {integrity: sha512-D3oYk4LkteWZ3QLcdUTu/0rUvVNUp/bWwEKAycZDr2uFCOhv8VoS2/l/TaHjn3wpyWpVVKS6GgdP72K++YVufg==} + /@storybook/builder-webpack5@8.3.3(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-4zBvHZoKjm+ZgZ6CpGEFlgGMfoSbHiKdwFLG+t/hV6zKDN/tmBC65KCjZ6pq/RUukvDJyfFLOiOZpc8JyTVFZw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.9(storybook@8.2.9) - '@types/node': 18.19.50 + '@storybook/core-webpack': 8.3.3(storybook@8.3.3) + '@types/node': 22.7.1 '@types/semver': 7.5.8 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 - cjs-module-lexer: 1.4.0 + cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 css-loader: 6.11.0(webpack@5.89.0) es-module-lexer: 1.5.4 - express: 4.19.2 + express: 4.21.0 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.89.0) fs-extra: 11.2.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) @@ -6594,7 +6414,7 @@ packages: path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 style-loader: 3.3.4(webpack@5.89.0) terser-webpack-plugin: 5.3.10(webpack@5.89.0) ts-dedent: 2.2.0 @@ -6677,7 +6497,7 @@ packages: '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 '@types/webpack-env': 1.18.5 core-js: 3.38.1 fast-deep-equal: 3.1.3 @@ -6707,7 +6527,7 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.15 + '@types/qs': 6.9.16 '@types/webpack-env': 1.18.5 core-js: 3.38.1 fast-deep-equal: 3.1.3 @@ -6738,28 +6558,6 @@ packages: global: 4.4.0 dev: false - /@storybook/codemod@8.2.9: - resolution: {integrity: sha512-3yRx1lFMm1FXWVv+CKDiYM4gOQPEfpcZAQrjfcumxSDUrB091pnU1PeI92Prj3vCdi4+0oPNuN4yDGNUYTMP/A==} - dependencies: - '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/types': 7.25.6 - '@storybook/core': 8.2.9 - '@storybook/csf': 0.1.11 - '@types/cross-spawn': 6.0.6 - cross-spawn: 7.0.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.25.4) - lodash: 4.17.21 - prettier: 3.3.2 - recast: 0.23.9 - tiny-invariant: 1.3.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - /@storybook/components@6.5.14(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-wqB9CF3sjxtgffnDW1G/W5SsKumsFQ0ftn/3PdrsvKULu5LM5bjNEqC2cTCWrk9vQhj+EVQxzdVM/BlPl/lSwg==} peerDependencies: @@ -6796,12 +6594,12 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/components@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==} + /@storybook/components@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-i2JYtesFGkdu+Hwuj+o9fLuO3yo+LPT1/8o5xBVYtEqsgDtEAyuRUWjSz8d8NPtzloGPOv5kvR6MokWDfbeMfw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0): @@ -6878,7 +6676,7 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /@storybook/core-common@6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-common@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-MrxhYXYrtN6z/+tydjPkCIwDQm5q8Jx+w4TPdLKBZu7vzfp6T3sT12Ym96j9MJ42CvE4vSDl/Njbw6C0D+yEVw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6906,23 +6704,23 @@ packages: '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) '@babel/register': 7.24.6(@babel/core@7.25.2) '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 - '@types/node': 16.18.108 + '@types/node': 16.18.110 '@types/pretty-hrtime': 1.0.3 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.25.2) chalk: 4.1.2 core-js: 3.38.1 - express: 4.19.2 + express: 4.21.0 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -6949,7 +6747,7 @@ packages: - webpack-command dev: false - /@storybook/core-common@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-common@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6983,17 +6781,17 @@ packages: '@babel/register': 7.24.6(@babel/core@7.25.2) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 - '@types/node': 16.18.108 + '@types/node': 16.18.110 '@types/pretty-hrtime': 1.0.3 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.25.2) chalk: 4.1.2 core-js: 3.38.1 - express: 4.19.2 + express: 4.21.0 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -7020,12 +6818,12 @@ packages: - webpack-command dev: false - /@storybook/core-common@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-DdV+Myvi8nk9rv62M5j0B2bTlQfCX4p3htwzKPgmaHyhvVLuOqBbfKtDOWPCwaVLXx7Q0wpBFlgM0rxmQXLVDQ==} + /@storybook/core-common@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-bwAKMU4rEJq6db4R9TBE23OjOsz8fdTr8hxua61nlpBjQW2JULvYO5Zab74PV61gnRLIu6+RhxcIm953hm6HGw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/core-events@6.5.14: @@ -7040,15 +6838,15 @@ packages: core-js: 3.38.1 dev: false - /@storybook/core-events@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-8VS6k2ySAYdG2VBWxb66Vko7Pqd429TIdkrw1/u2N0IPsvPsdbs3WaOTyxOMB1e39YUCpD/IZUOPdxX2lC3g4w==} + /@storybook/core-events@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-YL+gBuCS81qktzTkvw0MXUJW0bYAXfRzMoiLfDBTrEKZfcJOB4JAlMGmvRRar0+jygK3icD42Rl5BwWoZY6KFQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -7065,20 +6863,20 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack4': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack4': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/telemetry': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@types/node': 16.18.108 + '@storybook/telemetry': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@types/node': 16.18.110 '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 '@types/webpack': 4.41.39 @@ -7091,7 +6889,7 @@ packages: core-js: 3.38.1 cpy: 8.1.2 detect-port: 1.6.1 - express: 4.19.2 + express: 4.21.0 fs-extra: 9.1.0 global: 4.4.0 globby: 11.1.0 @@ -7126,17 +6924,17 @@ packages: - webpack-command dev: false - /@storybook/core-webpack@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-6yL1su+d8IOTU+UkZqM9SeBcVc/G6vUHLsMdlWNyVtRus2JTMmT0K0/ll56jrm/ym0y98cxUOA1jsImkBubP2Q==} + /@storybook/core-webpack@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-GKEpGGe8gzf+2BCZ4PeUb5JBcLPF3TS5fRrm8Zp5+iOc8Y51xfys2ifL3KqqZR0KLig9LcLlKMnFlSXPb4a7Cw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - '@types/node': 18.19.50 - storybook: 8.2.9(@babel/preset-env@7.23.9) + '@types/node': 22.7.1 + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -7153,10 +6951,10 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) typescript: 5.4.5 @@ -7173,18 +6971,20 @@ packages: - webpack-command dev: false - /@storybook/core@8.2.9: - resolution: {integrity: sha512-wSER8FpA6Il/jPyDfKm3yohxDtuhisNPTonMVzd3ulNWR4zERLddyO3HrHJJwdqYHLNk4SBFzwMGpQZVws1y0w==} + /@storybook/core@8.3.3: + resolution: {integrity: sha512-pmf2bP3fzh45e56gqOuBT8sDX05hGdUKIZ/hcI84d5xmd6MeHiPW8th2v946wCHcxHzxib2/UU9vQUh+mB4VNw==} dependencies: '@storybook/csf': 0.1.11 '@types/express': 4.17.21 - '@types/node': 18.19.50 + better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.21.5 - esbuild-register: 3.6.0(esbuild@0.21.5) - express: 4.19.2 + esbuild: 0.23.1 + esbuild-register: 3.6.0(esbuild@0.23.1) + express: 4.21.0 + jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.9 + semver: 7.6.3 util: 0.12.5 ws: 8.18.0 transitivePeerDependencies: @@ -7193,13 +6993,13 @@ packages: - utf-8-validate dev: false - /@storybook/csf-plugin@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-QQCFb3g12VQQEraDV1UfCmniGhQZKyT6oEt1Im6dzzPJj9NQk+6BjWoDep33CZhBHWoLryrMQd2fjuHxnFRNEA==} + /@storybook/csf-plugin@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-7AD7ojpXr3THqpTcEI4K7oKUfSwt1hummgL/cASuQvEPOwAZCVZl2gpGtKxcXhtJXTkn3GMCAvlYMoe7O/1YWw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) - unplugin: 1.13.1 + storybook: 8.3.3 + unplugin: 1.14.1 transitivePeerDependencies: - webpack-sources dev: false @@ -7216,7 +7016,7 @@ packages: '@babel/generator': 7.25.6 '@babel/parser': 7.25.6 '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/traverse': 7.25.6(supports-color@5.5.0) '@babel/types': 7.25.6 '@storybook/csf': 0.0.2--canary.4566f4d.1 @@ -7230,12 +7030,12 @@ packages: - supports-color dev: false - /@storybook/csf-tools@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-tkW6c/AMRLrQ/Hyu0nD+VHufqFNgZqrjlboP+upasVAoPcKjzMVpEMoYHrIzw0yxKhA2f+CitTGGbywJpUfH7w==} + /@storybook/csf-tools@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-e1Td0aEAaNNlMwvNxGMGDDAyVuv17yRzdQvgot5hL3Vwl2VqXx5FarDzYyH0eez/yX7j3AVUR8SXPXn+L5KcJQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/csf@0.0.2--canary.4566f4d.1: @@ -7250,22 +7050,6 @@ packages: type-fest: 2.19.0 dev: false - /@storybook/docs-tools@6.5.14(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-qA0UWvrZ7XyIWD+01NGHiiGPSbfercrxjphM9wHgF6KrO6e5iykNKIEL4elsM+EV4szfhlalQdtpnwM7WtXODA==} - dependencies: - '@babel/core': 7.25.2 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) - core-js: 3.38.1 - doctrine: 3.0.0 - lodash: 4.17.21 - regenerator-runtime: 0.13.11 - transitivePeerDependencies: - - react - - react-dom - - supports-color - dev: false - /@storybook/docs-tools@6.5.16(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==} dependencies: @@ -7286,8 +7070,8 @@ packages: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: false - /@storybook/icons@1.2.10(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==} + /@storybook/icons@1.2.12(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7297,15 +7081,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@storybook/manager-api@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-mkYvUlfqDw+0WbxIynh5TcrotmoXlumEsOA4+45zuNea8XpEgj5cNBUCnmfEO6yQ85swqkS8YYbMpg1cZyu/Vw==} + /@storybook/manager-api@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-Na4U+McOeVUJAR6qzJfQ6y2Qt0kUgEDUriNoAn+curpoKPTmIaZ79RAXBzIqBl31VyQKknKpZbozoRGf861YaQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/manager-webpack4@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/manager-webpack4@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7320,18 +7104,18 @@ packages: '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.108 + '@types/node': 16.18.110 '@types/webpack': 4.41.39 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.38.1 css-loader: 3.6.0(webpack@4.47.0) - express: 4.19.2 + express: 4.21.0 file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fs-extra: 9.1.0 @@ -7362,7 +7146,7 @@ packages: - webpack-command dev: false - /@storybook/manager-webpack5@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/manager-webpack5@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7377,17 +7161,17 @@ packages: '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.108 + '@types/node': 16.18.110 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.38.1 css-loader: 5.2.7(webpack@5.89.0) - express: 4.19.2 + express: 4.21.0 find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) @@ -7425,10 +7209,10 @@ packages: dependencies: '@babel/generator': 7.25.6 '@babel/parser': 7.25.6 - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/types': 7.25.6 '@mdx-js/mdx': 1.6.22 - '@types/lodash': 4.17.7 + '@types/lodash': 4.17.9 js-string-escape: 1.0.1 loader-utils: 2.0.4 lodash: 4.17.21 @@ -7459,18 +7243,12 @@ packages: pretty-hrtime: 1.0.3 dev: false - /@storybook/node-logger@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-j0jHjj1HtwBd69ZNd6txOaB5J5JQj9rnvtiDuvTKM/qXM6HxifL6LJ75b9pQOMKIx9XmlSIA9663zmkL4EsrJg==} + /@storybook/node-logger@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-gk0v63VgyxV6CqVLoSc4TuB8docsNcnSftRoZuxCTPhX++d8gZvpSSgRoCB6p2k9DE9yVE3eQER6uGUgopXhMg==} peerDependencies: - storybook: ^8.2.9 - dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) - dev: false - - /@storybook/postinstall@6.5.14: - resolution: {integrity: sha512-vtnQczSSkz7aPIc2dsDaZWlCDAcJb258KGXk72w7MEY9/zLlr6tdQLI30B6SkRNFnR8fQQf4H2gbFq/GM0EF5A==} + storybook: ^8.3.3 dependencies: - core-js: 3.38.1 + storybook: 8.3.3 dev: false /@storybook/postinstall@6.5.16: @@ -7479,22 +7257,22 @@ packages: core-js: 3.38.1 dev: false - /@storybook/preset-react-webpack@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5): - resolution: {integrity: sha512-uBLsUfwymWXGmfN/0vB7gLCC0CWDHc778605SWxakqFx7wGF1FZUW4R46qbDFrHTaKh+bundseRdy5/uklksLQ==} + /@storybook/preset-react-webpack@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-uvGtGQ2BDzmHCDl0jCvoAzbD7AWPf9nU7zQsgvpCgs7BiHQVXq40ZU+aFhU74K/WLvdArMOoyZPU70dJGzvdKg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.9(storybook@8.2.9) - '@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5) + '@storybook/core-webpack': 8.3.3(storybook@8.3.3) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) - '@types/node': 18.19.50 + '@types/node': 22.7.1 '@types/semver': 7.5.8 find-up: 5.0.0 fs-extra: 11.2.0 @@ -7504,11 +7282,12 @@ packages: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 semver: 7.6.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 tsconfig-paths: 4.2.0 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -7516,12 +7295,12 @@ packages: - webpack-cli dev: false - /@storybook/preview-api@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==} + /@storybook/preview-api@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-GP2QlaF3BBQGAyo248N7549YkTQjCentsc1hUvqPnFWU4xfjkejbnFk8yLaIw0VbYbL7jfd7npBtjZ+6AnphMQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/preview-web@6.5.14(react-dom@18.3.1)(react@18.3.1): @@ -7582,7 +7361,7 @@ packages: typescript: '>= 3.x' webpack: '>= 4' dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -7601,7 +7380,7 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -7614,40 +7393,41 @@ packages: - supports-color dev: false - /@storybook/react-dom-shim@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9): - resolution: {integrity: sha512-uCAjSQEsNk8somVn1j/I1G9G/uUax5byHseIIV0Eq3gVXttGd7gaWcP+TDHtqIaenWHx4l+hCSuCesxiLWmx4Q==} + /@storybook/react-dom-shim@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-0dPC9K7+K5+X/bt3GwYmh+pCpisUyKVjWsI+PkzqGnWqaXFakzFakjswowIAIO1rf7wYZR591x3ehUAyL2bJiQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/react-webpack5@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5): - resolution: {integrity: sha512-c5udaEIFFlBfOQJlPsJvrhyK02B3ltZ86SS0j5bhOa6UgqYOo+KtKaVyegXWgsRw8vVO9ZdmXCfwVvFsHkgJdA==} + /@storybook/react-webpack5@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-ikD48XvgmP/kegnjJ9+RoiKGF9IdVjOc1MFUnnIU1TNLwCsqkwf5jGcOvFTAzK8Phu/ykwUBWT41UqBptkrHEQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 8.2.9(storybook@8.2.9)(typescript@5.4.5) - '@storybook/preset-react-webpack': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5) - '@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5) - '@types/node': 18.19.50 + '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) + '@storybook/preset-react-webpack': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@types/node': 22.7.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 typescript: 5.4.5 transitivePeerDependencies: - '@rspack/core' + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -7655,7 +7435,7 @@ packages: - webpack-cli dev: false - /@storybook/react@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5): + /@storybook/react@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5): resolution: {integrity: sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==} engines: {node: '>=10.13.0'} hasBin: true @@ -7688,19 +7468,19 @@ packages: '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.89.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/estree': 0.0.51 - '@types/node': 16.18.108 + '@types/node': 16.18.110 '@types/webpack-env': 1.18.5 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) @@ -7746,39 +7526,41 @@ packages: - webpack-plugin-serve dev: false - /@storybook/react@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5): - resolution: {integrity: sha512-F2xZcTDxxjpbqt7eP8rEHmlksiKmE/qtPusEWEY4N4jK01kN+ncxSl8gkJpUohMEmAnVC5t/1v/sU57xv1DYpg==} + /@storybook/react@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-fHOW/mNqI+sZWttGOE32Q+rAIbN7/Oib091cmE8usOM0z0vPNpywUBtqC2cCQH39vp19bhTsQaSsTcoBSweAHw==} engines: {node: '>=18.0.0'} peerDependencies: + '@storybook/test': 8.3.3 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.9 + storybook: ^8.3.3 typescript: '>= 4.2.x' peerDependenciesMeta: + '@storybook/test': + optional: true typescript: optional: true dependencies: - '@storybook/components': 8.2.9(storybook@8.2.9) + '@storybook/components': 8.3.3(storybook@8.3.3) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.2.9(storybook@8.2.9) - '@storybook/preview-api': 8.2.9(storybook@8.2.9) - '@storybook/react-dom-shim': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9) - '@storybook/theming': 8.2.9(storybook@8.2.9) + '@storybook/manager-api': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/theming': 8.3.3(storybook@8.3.3) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.50 + '@types/node': 22.7.1 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 escodegen: 2.1.0 html-tags: 3.3.1 - lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-element-to-jsx-string: 15.0.0(react-dom@18.3.1)(react@18.3.1) semver: 7.6.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 type-fest: 2.19.0 typescript: 5.4.5 @@ -7824,26 +7606,6 @@ packages: find-up: 4.1.0 dev: false - /@storybook/source-loader@6.5.14(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-0GKMZ6IMVGxfQn/RYdRdnzxCe4+zZsxHBY9SQB2bbYWyfjJQ5rCJvmYQuMAuuuUmXBv9gk50iJLwai+lb4tbFg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/addons': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/client-logger': 6.5.14 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.38.1 - estraverse: 5.3.0 - global: 4.4.0 - loader-utils: 2.0.4 - lodash: 4.17.21 - prettier: 2.3.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - regenerator-runtime: 0.13.11 - dev: false - /@storybook/source-loader@6.5.16(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-fyVl4jrM/5JLrb48aqXPu7sTsmySQaVGFp1zfeqvPPlJRFMastDrePm5XGPN7Qjv1wsKmpuBvuweFKOT1pru3g==} peerDependencies: @@ -7914,11 +7676,11 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/telemetry@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/telemetry@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==} dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) chalk: 4.1.2 core-js: 3.38.1 detect-package-manager: 2.0.1 @@ -7941,7 +7703,7 @@ packages: - webpack-command dev: false - /@storybook/test-runner@0.17.0(@types/node@20.14.12)(storybook@8.2.9)(ts-node@10.9.2): + /@storybook/test-runner@0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2): resolution: {integrity: sha512-4mt822j0VF1H/c0//OWSST9eWV0wboncJUQ+hBm5N4wmyuObvwsiMh4pmgXw8Y82wF7g1RIofjEQqAGLa7NjgQ==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -7951,12 +7713,12 @@ packages: '@babel/template': 7.25.0 '@babel/types': 7.25.6 '@jest/types': 29.6.3 - '@storybook/core-common': 8.2.9(storybook@8.2.9) + '@storybook/core-common': 8.3.3(storybook@8.3.3) '@storybook/csf': 0.1.11 - '@storybook/csf-tools': 8.2.9(storybook@8.2.9) - '@storybook/preview-api': 8.2.9(storybook@8.2.9) - '@swc/core': 1.7.23 - '@swc/jest': 0.2.36(@swc/core@1.7.23) + '@storybook/csf-tools': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@swc/core': 1.7.28 + '@swc/jest': 0.2.36(@swc/core@1.7.28) expect-playwright: 0.8.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-circus: 29.7.0 @@ -7966,7 +7728,7 @@ packages: jest-runner: 29.7.0 jest-serializer-html: 7.1.0 jest-watch-typeahead: 2.2.2(jest@29.7.0) - playwright: 1.47.0 + playwright: 1.47.2 transitivePeerDependencies: - '@swc/helpers' - '@types/node' @@ -8006,12 +7768,12 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@storybook/theming@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w==} + /@storybook/theming@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-gWJKetI6XJQgkrvvry4ez10+jLaGNCQKi5ygRPM9N+qrjA3BB8F2LCuFUTBuisa4l64TILDNjfwP/YTWV5+u5A==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.3 dependencies: - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/ui@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -8038,8 +7800,8 @@ packages: resolve-from: 5.0.0 dev: false - /@swc/core-darwin-arm64@1.7.23: - resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} + /@swc/core-darwin-arm64@1.7.28: + resolution: {integrity: sha512-BNkj6enHo2pdzOpCtQGKZbXT2A/qWIr0CVtbTM4WkJ3MCK/glbFsyO6X59p1r8+gfaZG4bWYnTTu+RuUAcsL5g==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -8047,8 +7809,8 @@ packages: dev: false optional: true - /@swc/core-darwin-x64@1.7.23: - resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} + /@swc/core-darwin-x64@1.7.28: + resolution: {integrity: sha512-96zQ+X5Fd6P/RNPkOyikTJgEc2M4TzznfYvjRd2hye5h22jhxCLL/csoauDgN7lYfd7mwsZ/sVXwJTMKl+vZSA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -8056,8 +7818,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm-gnueabihf@1.7.23: - resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} + /@swc/core-linux-arm-gnueabihf@1.7.28: + resolution: {integrity: sha512-l2100Wx6LdXMOmOW3+KoHhBhyZrGdz8ylkygcVOC0QHp6YIATfuG+rRHksfyEWCSOdL3anM9MJZJX26KT/s+XQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -8065,8 +7827,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-gnu@1.7.23: - resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} + /@swc/core-linux-arm64-gnu@1.7.28: + resolution: {integrity: sha512-03m6iQ5Bv9u2VPnNRyaBmE8eHi056eE39L0gXcqGoo46GAGuoqYHt9pDz8wS6EgoN4t85iBMUZrkCNqFKkN6ZQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -8074,8 +7836,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-musl@1.7.23: - resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} + /@swc/core-linux-arm64-musl@1.7.28: + resolution: {integrity: sha512-vqVOpG/jc8mvTKQjaPBLhr7tnWyzuztOHsPnJqMWmg7zGcMeQC/2c5pU4uzRAfXMTp25iId6s4Y4wWfPS1EeDw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -8083,8 +7845,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-gnu@1.7.23: - resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} + /@swc/core-linux-x64-gnu@1.7.28: + resolution: {integrity: sha512-HGwpWuB83Kr+V0E+zT5UwIIY9OxiS8aLd0UVMRVWuO8SrQyKm9HKJ46+zoAb8tfJrpZftfxvbn2ayZWR7gqosA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -8092,8 +7854,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-musl@1.7.23: - resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} + /@swc/core-linux-x64-musl@1.7.28: + resolution: {integrity: sha512-q2Y2T8y8EgFtIiRyInnAXNe94aaHX74F0ha1Bl9VdRxE0u1/So+3VLbPvtp4V3Z6pj5pOePfCQJKifnllgAQ9A==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -8101,8 +7863,8 @@ packages: dev: false optional: true - /@swc/core-win32-arm64-msvc@1.7.23: - resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} + /@swc/core-win32-arm64-msvc@1.7.28: + resolution: {integrity: sha512-bCqh4uBT/59h3dWK1v91In6qzz8rKoWoFRxCtNQLIK4jP55K0U231ZK9oN7neZD6bzcOUeFvOGgcyMAgDfFWfA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -8110,8 +7872,8 @@ packages: dev: false optional: true - /@swc/core-win32-ia32-msvc@1.7.23: - resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} + /@swc/core-win32-ia32-msvc@1.7.28: + resolution: {integrity: sha512-XTHbHrksnrqK3JSJ2sbuMWvdJ6/G0roRpgyVTmNDfhTYPOwcVaL/mSrPGLwbksYUbq7ckwoKzrobhdxvQzPsDA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -8119,8 +7881,8 @@ packages: dev: false optional: true - /@swc/core-win32-x64-msvc@1.7.23: - resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} + /@swc/core-win32-x64-msvc@1.7.28: + resolution: {integrity: sha512-jyXeoq6nX8abiCy2EpporsC5ywNENs4ocYuvxo1LSxDktWN1E2MTXq3cdJcEWB2Vydxq0rDcsGyzkRPMzFhkZw==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -8128,8 +7890,8 @@ packages: dev: false optional: true - /@swc/core@1.7.23: - resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} + /@swc/core@1.7.28: + resolution: {integrity: sha512-XapcMgsOS0cKh01AFEj+qXOk6KM4NZhp7a5vPicdhkRR8RzvjrCa7DTtijMxfotU8bqaEHguxmiIag2HUlT8QQ==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -8141,16 +7903,16 @@ packages: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.23 - '@swc/core-darwin-x64': 1.7.23 - '@swc/core-linux-arm-gnueabihf': 1.7.23 - '@swc/core-linux-arm64-gnu': 1.7.23 - '@swc/core-linux-arm64-musl': 1.7.23 - '@swc/core-linux-x64-gnu': 1.7.23 - '@swc/core-linux-x64-musl': 1.7.23 - '@swc/core-win32-arm64-msvc': 1.7.23 - '@swc/core-win32-ia32-msvc': 1.7.23 - '@swc/core-win32-x64-msvc': 1.7.23 + '@swc/core-darwin-arm64': 1.7.28 + '@swc/core-darwin-x64': 1.7.28 + '@swc/core-linux-arm-gnueabihf': 1.7.28 + '@swc/core-linux-arm64-gnu': 1.7.28 + '@swc/core-linux-arm64-musl': 1.7.28 + '@swc/core-linux-x64-gnu': 1.7.28 + '@swc/core-linux-x64-musl': 1.7.28 + '@swc/core-win32-arm64-msvc': 1.7.28 + '@swc/core-win32-ia32-msvc': 1.7.28 + '@swc/core-win32-x64-msvc': 1.7.28 dev: false /@swc/counter@0.1.3: @@ -8163,14 +7925,14 @@ packages: tslib: 2.7.0 dev: false - /@swc/jest@0.2.36(@swc/core@1.7.23): + /@swc/jest@0.2.36(@swc/core@1.7.28): resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.7.23 + '@swc/core': 1.7.28 '@swc/counter': 0.1.3 jsonc-parser: 3.3.1 dev: false @@ -8200,7 +7962,7 @@ packages: engines: {node: '>=14', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.4.0 - aria-query: 5.3.0 + aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 @@ -8302,26 +8064,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.19.5 - '@types/node': 22.5.4 + '@types/express-serve-static-core': 5.0.0 + '@types/node': 20.14.12 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/cookie-parser@1.4.7: @@ -8343,13 +8105,7 @@ packages: /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 22.5.4 - dev: false - - /@types/cross-spawn@6.0.6: - resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/debug@4.1.12: @@ -8368,10 +8124,6 @@ packages: '@types/trusted-types': 2.0.7 dev: false - /@types/emscripten@1.39.13: - resolution: {integrity: sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==} - dev: false - /@types/escodegen@0.0.6: resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} dev: false @@ -8380,13 +8132,13 @@ packages: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 dev: false /@types/eslint@9.6.1: resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 dev: false @@ -8402,15 +8154,28 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: false + /@types/events@3.0.3: resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} dev: false - /@types/express-serve-static-core@4.19.5: - resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + /@types/express-serve-static-core@4.19.6: + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + dependencies: + '@types/node': 20.14.12 + '@types/qs': 6.9.16 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: false + + /@types/express-serve-static-core@5.0.0: + resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} dependencies: - '@types/node': 22.5.4 - '@types/qs': 6.9.15 + '@types/node': 20.14.12 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 dev: false @@ -8419,8 +8184,8 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.5 - '@types/qs': 6.9.15 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 dev: false @@ -8428,20 +8193,20 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.7.1 dev: false /@types/hast@2.3.10: @@ -8475,7 +8240,7 @@ packages: /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/is-function@1.0.3: @@ -8501,7 +8266,7 @@ packages: /@types/jest-specific-snapshot@0.5.9: resolution: {integrity: sha512-NPcItjVhJq3x6MWR6QNi92n5orOkcTvuQ0E8nqK2WZN18a7O93D2dcNL0x+eSNxmNSIbgfgCJ5eUScjACPCWsg==} dependencies: - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 dev: false /@types/jest@26.0.24: @@ -8511,8 +8276,8 @@ packages: pretty-format: 26.6.2 dev: false - /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + /@types/jest@29.5.13: + resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -8521,7 +8286,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false @@ -8538,8 +8303,8 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false - /@types/lodash@4.17.7: - resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + /@types/lodash@4.17.9: + resolution: {integrity: sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==} dev: false /@types/mdast@3.0.15: @@ -8573,7 +8338,7 @@ packages: /@types/morgan@1.9.9: resolution: {integrity: sha512-iRYSDKVaC6FkGSpEVVIvrRGw0DfJMiQzIn3qr2G5B3C//AWkulhXgaBd7tS9/J79GWSYMTHGs7PfI5b3Y8m+RQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/ms@0.7.34: @@ -8589,31 +8354,18 @@ packages: /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.7.1 form-data: 4.0.0 dev: false /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 22.5.4 - dev: false - - /@types/node-static@0.7.11: - resolution: {integrity: sha512-1LrpKh6oftSpO2T7gUtUjT/flRdJt9Dp7IZVuNiTOXtgYVQgb/UJBLMNRUQb/Z+WCRP5OotmrUT3S3PfQn0igQ==} - dependencies: - '@types/mime': 1.3.5 - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false - /@types/node@16.18.108: - resolution: {integrity: sha512-fj42LD82fSv6yN9C6Q4dzS+hujHj+pTv0IpRR3kI20fnYeS0ytBpjFO9OjmDowSPPt4lNKN46JLaKbCyP+BW2A==} - dev: false - - /@types/node@18.19.50: - resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - dependencies: - undici-types: 5.26.5 + /@types/node@16.18.110: + resolution: {integrity: sha512-hFlWPrNn1S7/Dxd2xZE0knhRZSe9SbtGJPVezusCtlFO8FN53xxw52A1ex+evLh31ltkXCc71NE5dx4Z3W7uow==} dev: false /@types/node@20.14.12: @@ -8622,8 +8374,8 @@ packages: undici-types: 5.26.5 dev: false - /@types/node@22.5.4: - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + /@types/node@22.7.1: + resolution: {integrity: sha512-adOMRLVmleuWs/5V/w5/l7o0chDK/az+5ncCsIapTKogsu/3MVWvSgP58qVTXi5IwpfGt8pMobNq9rOWtJyu5Q==} dependencies: undici-types: 6.19.8 dev: false @@ -8635,7 +8387,7 @@ packages: /@types/npmlog@4.1.6: resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/parse-json@4.0.2: @@ -8654,12 +8406,12 @@ packages: resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} dev: false - /@types/prop-types@15.7.12: - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: false - /@types/qs@6.9.15: - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + /@types/qs@6.9.16: + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} dev: false /@types/range-parser@1.2.7: @@ -8681,7 +8433,7 @@ packages: /@types/react@18.3.3: resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.12 + '@types/prop-types': 15.7.13 csstype: 3.1.3 dev: false @@ -8701,7 +8453,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/serve-index@1.9.4: @@ -8714,14 +8466,14 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.5.4 + '@types/node': 20.14.12 '@types/send': 0.17.4 dev: false /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/source-list-map@0.1.6: @@ -8745,7 +8497,7 @@ packages: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.5.4 + '@types/node': 20.14.12 form-data: 4.0.0 dev: false @@ -8770,7 +8522,7 @@ packages: /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 22.5.4 + '@types/node': 22.7.1 dev: false /@types/uglify-js@3.17.5: @@ -8794,7 +8546,7 @@ packages: /@types/wait-on@5.3.4: resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/webpack-env@1.18.5: @@ -8804,7 +8556,7 @@ packages: /@types/webpack-node-externals@3.0.4(webpack-cli@5.1.4): resolution: {integrity: sha512-8Z3/edqxE3RRlOJwKSgOFxLZRt/i1qFlv/Bi308ZUKo9jh8oGngd9r8GR0ZNKW5AEJq8QNQE3b17CwghTjQ0Uw==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' @@ -8816,7 +8568,7 @@ packages: /@types/webpack-sources@3.2.3: resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 '@types/source-list-map': 0.1.6 source-map: 0.7.4 dev: false @@ -8824,7 +8576,7 @@ packages: /@types/webpack@4.41.39: resolution: {integrity: sha512-otxUJvoi6FbBq/64gGH34eblpKLgdi+gf08GaAh8Bx6So0ZZic028Ev/SUxD22gbthMKCkeeiXEat1kHLDJfYg==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -8835,7 +8587,7 @@ packages: /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 dev: false /@types/yargs-parser@21.0.3: @@ -8854,7 +8606,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: false - /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -8865,13 +8617,13 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -8881,7 +8633,7 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -8895,8 +8647,8 @@ packages: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@5.5.0) - eslint: 8.57.0 + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -8910,7 +8662,7 @@ packages: '@typescript-eslint/visitor-keys': 7.18.0 dev: false - /@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -8921,9 +8673,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.6(supports-color@5.5.0) - eslint: 8.57.0 + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -8946,7 +8698,7 @@ packages: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -8957,17 +8709,17 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) - eslint: 8.57.0 + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -9294,22 +9046,6 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: false - /@yarnpkg/fslib@2.10.3: - resolution: {integrity: sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==} - engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} - dependencies: - '@yarnpkg/libzip': 2.3.0 - tslib: 1.14.1 - dev: false - - /@yarnpkg/libzip@2.3.0: - resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==} - engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} - dependencies: - '@types/emscripten': 1.39.13 - tslib: 1.14.1 - dev: false - /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: false @@ -9331,7 +9067,7 @@ packages: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 dev: false /acorn-import-assertions@1.9.0(acorn@8.12.1): @@ -9363,8 +9099,8 @@ packages: engines: {node: '>=0.4.0'} dev: false - /acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} dependencies: acorn: 8.12.1 @@ -9397,7 +9133,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -9406,7 +9142,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -9460,8 +9196,10 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1: + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9583,8 +9321,8 @@ packages: engines: {node: '>=8'} dev: false - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + /ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} dev: false @@ -9693,10 +9431,9 @@ packages: deep-equal: 2.2.3 dev: false - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 + /aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} dev: false /arr-diff@2.0.0: @@ -9968,8 +9705,8 @@ packages: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001657 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001663 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -9992,7 +9729,7 @@ packages: /axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} dependencies: - follow-redirects: 1.15.8 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -10004,14 +9741,6 @@ packages: engines: {node: '>= 0.4'} dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.25.2): - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - dev: false - /babel-jest@29.7.0(@babel/core@7.25.2): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10062,8 +9791,8 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.89.0): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.89.0): + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -10156,18 +9885,6 @@ packages: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.38.1 - transitivePeerDependencies: - - supports-color - dev: false - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.25.2): resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: @@ -10191,17 +9908,6 @@ packages: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): - resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - dev: false - /babel-plugin-react-docgen@4.2.1: resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==} dependencies: @@ -10317,8 +10023,8 @@ packages: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} dev: false - /beachball@2.46.0(typescript@5.4.5): - resolution: {integrity: sha512-5HRxA8+kr/MIPD2xcgJVNLkcCZq/J9o3JYAabLHIqMFjCbNmLyQ0N36vkY8D0KwhW8u/COdWO/EiSAcRsnCrOw==} + /beachball@2.47.1(typescript@5.4.5): + resolution: {integrity: sha512-OAbbAK0Vx16Uzukrvfki9WO1S5AtKFEZEUENIOdePJtfAunECjD1Gmz8kKJeRy6g5S0JVaC875DaAPWtujQY9A==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -10349,6 +10055,13 @@ packages: open: 7.4.2 dev: false + /better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + dependencies: + open: 8.4.2 + dev: false + /big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} @@ -10379,14 +10092,6 @@ packages: dev: false optional: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: false @@ -10399,8 +10104,8 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: false - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + /body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -10411,7 +10116,7 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -10560,15 +10265,15 @@ packages: pako: 1.0.11 dev: false - /browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + /browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001657 - electron-to-chromium: 1.5.15 + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.28 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.0(browserslist@4.24.0) dev: false /bs-logger@0.2.6: @@ -10606,13 +10311,6 @@ packages: isarray: 1.0.0 dev: false - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} dev: false @@ -10785,8 +10483,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001657: - resolution: {integrity: sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==} + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} dev: false /capture-exit@2.0.0: @@ -10871,7 +10569,6 @@ packages: /chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} - deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. dependencies: anymatch: 1.3.2 async-each: 1.0.6 @@ -10887,7 +10584,6 @@ packages: /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies requiresBuild: true dependencies: anymatch: 2.0.0 @@ -10951,14 +10647,8 @@ packages: safe-buffer: 5.2.1 dev: false - /citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - dependencies: - consola: 3.2.3 - dev: false - - /cjs-module-lexer@1.4.0: - resolution: {integrity: sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==} + /cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} dev: false /class-utils@0.3.6: @@ -10995,18 +10685,6 @@ packages: engines: {node: '>=6'} dev: false - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: false - - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: false - /cli-table3@0.6.5: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} @@ -11058,11 +10736,6 @@ packages: shallow-clone: 3.0.1 dev: false - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false - /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -11118,11 +10791,6 @@ packages: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: false - /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: false - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -11259,10 +10927,6 @@ packages: yargs: 13.3.2 dev: false - /confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - dev: false - /confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: false @@ -11272,11 +10936,6 @@ packages: engines: {node: '>=0.8'} dev: false - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: false - /console-browserify@1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} dev: false @@ -11389,7 +11048,7 @@ packages: /core-js-compat@3.38.1: resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 dev: false /core-js-pure@3.38.1: @@ -11403,11 +11062,6 @@ packages: requiresBuild: true dev: false - /core-js@3.36.0: - resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} - requiresBuild: true - dev: false - /core-js@3.38.1: resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} requiresBuild: true @@ -11613,13 +11267,6 @@ packages: randomfill: 1.0.4 dev: false - /crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - dependencies: - type-fest: 1.4.0 - dev: false - /css-color-keywords@1.0.0: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} engines: {node: '>=4'} @@ -11674,13 +11321,13 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.45) + icss-utils: 5.1.0(postcss@8.4.47) loader-utils: 2.0.4 - postcss: 8.4.45 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.45) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.45) - postcss-modules-scope: 3.2.0(postcss@8.4.45) - postcss-modules-values: 4.0.0(postcss@8.4.45) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.6.3 @@ -11699,12 +11346,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.45) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.45) - postcss-modules-scope: 3.2.0(postcss@8.4.45) - postcss-modules-values: 4.0.0(postcss@8.4.45) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 webpack: 5.89.0(webpack-cli@5.1.4) @@ -11851,8 +11498,8 @@ packages: ms: 2.1.3 dev: false - /debug@4.3.6(supports-color@5.5.0): - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + /debug@4.3.7(supports-color@5.5.0): + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -11860,7 +11507,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 supports-color: 5.5.0 dev: false @@ -11961,12 +11608,6 @@ packages: strip-bom: 4.0.0 dev: false - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: false - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -12012,10 +11653,6 @@ packages: isobject: 3.0.1 dev: false - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: false - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -12062,11 +11699,6 @@ packages: repeat-string: 1.6.1 dev: false - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: false - /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -12089,7 +11721,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -12339,8 +11971,8 @@ packages: jake: 10.9.2 dev: false - /electron-to-chromium@1.5.15: - resolution: {integrity: sha512-Z4rIDoImwEJW+YYKnPul4DzqsWVqYetYVN3XqDmRpgV0mjz0hYTaeeh+8/9CL1bk3AHYmF4freW/NTiVoXA2gA==} + /electron-to-chromium@1.5.28: + resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} dev: false /elliptic@6.5.7: @@ -12382,6 +12014,11 @@ packages: engines: {node: '>= 0.8'} dev: false + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -12435,8 +12072,8 @@ packages: cross-spawn: 7.0.3 dev: false - /envinfo@7.13.0: - resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} + /envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} hasBin: true dev: false @@ -12610,13 +12247,13 @@ packages: resolution: {integrity: sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==} dev: false - /esbuild-register@3.6.0(esbuild@0.21.5): + /esbuild-register@3.6.0(esbuild@0.23.1): resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.6(supports-color@5.5.0) - esbuild: 0.21.5 + debug: 4.3.7(supports-color@5.5.0) + esbuild: 0.23.1 transitivePeerDependencies: - supports-color dev: false @@ -12651,35 +12288,36 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: false - /esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + /esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 dev: false /escalade@3.2.0: @@ -12723,16 +12361,16 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@8.57.1): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0): + /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1): resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -12753,15 +12391,15 @@ packages: eslint-plugin-testing-library: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) confusing-browser-globals: 1.0.11 - eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) dev: false /eslint-import-resolver-node@0.3.9: @@ -12772,14 +12410,14 @@ packages: resolve: 1.22.8 dev: false - /eslint-mdx@1.17.1(eslint@8.57.0): + /eslint-mdx@1.17.1(eslint@8.57.1): resolution: {integrity: sha512-ihkTZCYipPUpzZgTeTwRajj3ZFYQAMWUm/ajscLWjXPVA2+ZQoLRreVNETRZ1znCnE3OAGbwmA1vd0uxtSk2wg==} engines: {node: '>=10.0.0'} peerDependencies: eslint: '>=5.0.0' dependencies: cosmiconfig: 7.1.0 - eslint: 8.57.0 + eslint: 8.57.1 remark-mdx: 1.6.22 remark-parse: 8.0.3 remark-stringify: 8.1.1 @@ -12789,8 +12427,8 @@ packages: - supports-color dev: false - /eslint-module-utils@2.9.0(eslint@8.57.0): - resolution: {integrity: sha512-McVbYmwA3NEKwRQY5g4aWMdcZE5xZxV8i8l7CqJSrameuGSQJtSWaL/LxTEzSKKaCcOhlpDR8XEfYXWPrdo/ZQ==} + /eslint-module-utils@2.11.1(eslint@8.57.1): + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: eslint: '*' @@ -12799,10 +12437,10 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-flowtype@8.0.3(eslint@8.57.0): + /eslint-plugin-flowtype@8.0.3(eslint@8.57.1): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -12810,20 +12448,20 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-header@3.1.1(eslint@8.57.0): + /eslint-plugin-header@3.1.1(eslint@8.57.1): resolution: {integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==} peerDependencies: eslint: '>=7.7.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-import@2.30.0(eslint@8.57.0): + /eslint-plugin-import@2.30.0(eslint@8.57.1): resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} engines: {node: '>=4'} peerDependencies: @@ -12836,9 +12474,9 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.9.0(eslint@8.57.0) + eslint-module-utils: 2.11.1(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -12850,7 +12488,7 @@ packages: tsconfig-paths: 3.15.0 dev: false - /eslint-plugin-jsdoc@36.1.1(eslint@8.57.0): + /eslint-plugin-jsdoc@36.1.1(eslint@8.57.1): resolution: {integrity: sha512-nuLDvH1EJaKx0PCa9oeQIxH6pACIhZd1gkalTUxZbaxxwokjs7TplqY0Q8Ew3CoZaf5aowm0g/Z3JGHCatt+gQ==} engines: {node: ^12 || ^14 || ^16} peerDependencies: @@ -12858,8 +12496,8 @@ packages: dependencies: '@es-joy/jsdoccomment': 0.10.8 comment-parser: 1.2.4 - debug: 4.3.6(supports-color@5.5.0) - eslint: 8.57.0 + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 1.2.0 lodash: 4.17.21 @@ -12870,7 +12508,7 @@ packages: - supports-color dev: false - /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0): + /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} engines: {node: '>=4.0'} peerDependencies: @@ -12885,7 +12523,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -12895,27 +12533,27 @@ packages: string.prototype.includes: 2.0.0 dev: false - /eslint-plugin-markdown@2.2.1(eslint@8.57.0): + /eslint-plugin-markdown@2.2.1(eslint@8.57.1): resolution: {integrity: sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA==} engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-mdx@1.16.0(eslint@8.57.0): + /eslint-plugin-mdx@1.16.0(eslint@8.57.1): resolution: {integrity: sha512-p5S6+UZMt+9Xa4fJNaBcldO3gHkDwoPMFM6417PfggPlbai8mWbrSEehZU6o3vZ2Lg/WQfVXYic35VYycYqJDA==} engines: {node: '>=10.0.0'} peerDependencies: eslint: '>=5.0.0' dependencies: - eslint: 8.57.0 - eslint-mdx: 1.17.1(eslint@8.57.0) - eslint-plugin-markdown: 2.2.1(eslint@8.57.0) + eslint: 8.57.1 + eslint-mdx: 1.17.1(eslint@8.57.1) + eslint-plugin-markdown: 2.2.1(eslint@8.57.1) synckit: 0.4.1 tslib: 2.7.0 vfile: 4.2.1 @@ -12923,7 +12561,7 @@ packages: - supports-color dev: false - /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2): + /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2): resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -12937,24 +12575,24 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) prettier: 3.3.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 dev: false - /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-react@7.35.2(eslint@8.57.0): - resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==} + /eslint-plugin-react@7.36.1(eslint@8.57.1): + resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -12965,7 +12603,7 @@ packages: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -13014,23 +12652,23 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + /eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -13193,21 +12831,6 @@ packages: strip-final-newline: 2.0.0 dev: false - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: false - /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -13274,36 +12897,36 @@ packages: jest-util: 29.7.0 dev: false - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + /express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -13433,12 +13056,6 @@ packages: bser: 2.1.1 dev: false - /fd-package-json@1.2.0: - resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} - dependencies: - walk-up-path: 3.0.1 - dev: false - /fetch-retry@5.0.6: resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} dev: false @@ -13532,12 +13149,12 @@ packages: to-regex-range: 5.0.1 dev: false - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + /finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -13596,7 +13213,7 @@ packages: dependencies: chalk: 4.1.2 commander: 5.1.0 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -13667,11 +13284,6 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: false - /flow-parser@0.245.2: - resolution: {integrity: sha512-FU4yuqC1j2IeWWicpzG0YJrXHJgKjK/AU8QKK/7MvQaNhcoGisDoE7FJLGCtbvnifzsgDWdm9/jtTF7Mp+PJXQ==} - engines: {node: '>=0.4.0'} - dev: false - /flush-write-stream@1.1.1: resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} dependencies: @@ -13689,8 +13301,8 @@ packages: optional: true dev: false - /follow-redirects@1.15.8: - resolution: {integrity: sha512-xgrmBhBToVKay1q2Tao5LI26B83UhrB/vM1avwVSDzt8rx3rO6AizBAaF46EgksTVr+rFTQaqZZ9MVBfUe4nig==} + /follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -13738,7 +13350,7 @@ packages: worker-rpc: 0.1.1 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13758,7 +13370,7 @@ packages: chokidar: 3.6.0 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.57.0 + eslint: 8.57.1 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 @@ -13770,7 +13382,7 @@ packages: webpack: 4.47.0 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13790,7 +13402,7 @@ packages: chokidar: 3.6.0 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.57.0 + eslint: 8.57.1 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 @@ -13950,7 +13562,7 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + deprecated: Upgrade to fsevents v2 to mitigate potential security issues requiresBuild: true dependencies: bindings: 1.5.0 @@ -14045,7 +13657,7 @@ packages: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} dependencies: - pump: 3.0.0 + pump: 3.0.2 dev: false /get-stream@6.0.1: @@ -14053,11 +13665,6 @@ packages: engines: {node: '>=10'} dev: false - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: false - /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -14072,20 +13679,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /giget@1.2.3: - resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} - hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - defu: 6.1.4 - node-fetch-native: 1.6.4 - nypm: 0.3.11 - ohash: 1.1.3 - pathe: 1.1.2 - tar: 6.2.1 - dev: false - /git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} dependencies: @@ -14275,18 +13868,6 @@ packages: slash: 4.0.0 dev: false - /globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.2 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: false - /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14639,11 +14220,11 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.6 + terser: 5.33.0 dev: false - /html-react-parser@5.1.15(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-LRwSTseAZtdtzYbBaN0a+pJ48x4qmwPzQC5tvwAp9IvuNf7afxtTHLpCPYCsVjRKRUqhXvfjTaKJJrhctxkHJA==} + /html-react-parser@5.1.16(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-OtVPEQRwa4eelyMbHmUfMSw5VwJsVGSVsfa8I+M8xuV87n91cF3PHpvT/z0Frf1uG34atqh3dxgjaGIsmqVsRA==} peerDependencies: '@types/react': 0.14 || 15 || 16 || 17 || 18 react: 0.14 || 15 || 16 || 17 || 18 @@ -14656,7 +14237,7 @@ packages: html-dom-parser: 5.0.10 react: 18.3.1 react-property: 2.0.2 - style-to-js: 1.1.13 + style-to-js: 1.1.14 dev: false /html-tags@3.3.1: @@ -14781,7 +14362,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -14791,7 +14372,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -14820,7 +14401,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.8 + follow-redirects: 1.15.9 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -14861,7 +14442,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -14871,7 +14452,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -14881,11 +14462,6 @@ packages: engines: {node: '>=10.17.0'} dev: false - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: false - /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} @@ -14913,13 +14489,13 @@ packages: postcss: 7.0.39 dev: false - /icss-utils@5.1.0(postcss@8.4.45): + /icss-utils@5.1.0(postcss@8.4.47): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 dev: false /ieee754@1.2.1: @@ -15331,11 +14907,6 @@ packages: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: false - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: false - /is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -15431,7 +15002,7 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 dev: false /is-regex@1.1.4: @@ -15470,11 +15041,6 @@ packages: engines: {node: '>=8'} dev: false - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -15500,11 +15066,6 @@ packages: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: false - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: false - /is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} requiresBuild: true @@ -15681,7 +15242,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -15745,7 +15306,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 20.14.12 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -15835,7 +15396,7 @@ packages: - supports-color dev: false - /jest-config@29.7.0(@types/node@22.5.4)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@22.7.1)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -15850,7 +15411,7 @@ packages: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 babel-jest: 29.7.0(@babel/core@7.25.2) chalk: 4.1.2 ci-info: 3.9.0 @@ -15927,7 +15488,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -15944,7 +15505,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -15974,7 +15535,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.9 - '@types/node': 22.5.4 + '@types/node': 20.14.12 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -15995,7 +15556,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.5.4 + '@types/node': 22.7.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16081,7 +15642,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-util: 29.7.0 dev: false @@ -16100,7 +15661,7 @@ packages: jest-process-manager: 0.4.0 jest-runner: 29.7.0 nyc: 15.1.0 - playwright-core: 1.47.0 + playwright-core: 1.47.2 rimraf: 3.0.2 uuid: 8.3.2 transitivePeerDependencies: @@ -16208,7 +15769,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 20.14.12 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -16239,9 +15800,9 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 chalk: 4.1.2 - cjs-module-lexer: 1.4.0 + cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -16268,7 +15829,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 graceful-fs: 4.2.11 dev: false @@ -16336,7 +15897,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 22.5.4 + '@types/node': 20.14.12 chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 @@ -16348,7 +15909,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16389,7 +15950,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.5.4 + '@types/node': 22.7.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16401,7 +15962,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -16410,7 +15971,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -16419,7 +15980,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 22.5.4 + '@types/node': 20.14.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16492,74 +16053,6 @@ packages: argparse: 2.0.1 dev: false - /jscodeshift@0.15.2(@babel/preset-env@7.23.9): - resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - peerDependenciesMeta: - '@babel/preset-env': - optional: true - dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.6 - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/register': 7.24.6(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) - chalk: 4.1.2 - flow-parser: 0.245.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.23.9 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: false - - /jscodeshift@0.15.2(@babel/preset-env@7.25.4): - resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - peerDependenciesMeta: - '@babel/preset-env': - optional: true - dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.25.6 - '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) - '@babel/preset-env': 7.25.4(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/register': 7.24.6(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) - chalk: 4.1.2 - flow-parser: 0.245.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.23.9 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: false - /jsdoc-type-pratt-parser@1.1.1: resolution: {integrity: sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==} engines: {node: '>=12.0.0'} @@ -16570,6 +16063,11 @@ packages: engines: {node: '>=12.0.0'} dev: false + /jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + dev: false + /jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -16901,14 +16399,6 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: false - /longest-streak@2.0.4: resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: false @@ -17306,8 +16796,8 @@ packages: dev: false optional: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} dev: false /merge-stream@2.0.0: @@ -17558,7 +17048,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -17568,7 +17058,7 @@ packages: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -17681,11 +17171,6 @@ packages: engines: {node: '>=8'} dev: false - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false - /min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: @@ -17705,13 +17190,6 @@ packages: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} dev: false - /minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} - engines: {node: 20 || >=22} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} dependencies: @@ -17738,10 +17216,6 @@ packages: brace-expansion: 2.0.1 dev: false - /minimist@0.0.10: - resolution: {integrity: sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==} - dev: false - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false @@ -17797,7 +17271,7 @@ packages: flush-write-stream: 1.1.1 from2: 2.3.0 parallel-transform: 1.2.0 - pump: 3.0.0 + pump: 3.0.2 pumpify: 1.5.1 stream-each: 1.2.3 through2: 2.0.5 @@ -17824,15 +17298,6 @@ packages: hasBin: true dev: false - /mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - dependencies: - acorn: 8.12.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - ufo: 1.5.4 - dev: false - /mobile-detect@1.4.5: resolution: {integrity: sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g==} dev: false @@ -17878,10 +17343,6 @@ packages: resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: false - /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false @@ -17979,10 +17440,6 @@ packages: minimatch: 3.1.2 dev: false - /node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - dev: false - /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -18055,16 +17512,6 @@ packages: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: false - /node-static@0.7.11: - resolution: {integrity: sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==} - engines: {node: '>= 0.4.1'} - hasBin: true - dependencies: - colors: 1.4.0 - mime: 1.6.0 - optimist: 0.6.1 - dev: false - /noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} dependencies: @@ -18123,13 +17570,6 @@ packages: path-key: 3.1.1 dev: false - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: false - /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. @@ -18190,19 +17630,6 @@ packages: - supports-color dev: false - /nypm@0.3.11: - resolution: {integrity: sha512-E5GqaAYSnbb6n1qZyik2wjPDZON43FqOJO59+3OkWrnmQtjggrMOVnsyzfjxp/tS6nlYJBA4zRA5jSM2YaadMg==} - engines: {node: ^14.16.0 || >=16.10.0} - hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - execa: 8.0.1 - pathe: 1.1.2 - pkg-types: 1.2.0 - ufo: 1.5.4 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -18325,10 +17752,6 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: false - /ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - dev: false - /on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -18361,13 +17784,6 @@ packages: mimic-fn: 2.1.0 dev: false - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: false - /open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -18390,13 +17806,6 @@ packages: hasBin: true dev: false - /optimist@0.6.1: - resolution: {integrity: sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==} - dependencies: - minimist: 0.0.10 - wordwrap: 0.0.3 - dev: false - /optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -18409,21 +17818,6 @@ packages: word-wrap: 1.2.5 dev: false - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: false - /os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} dev: false @@ -18744,21 +18138,16 @@ packages: engines: {node: '>=8'} dev: false - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false - /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} dev: false - /path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} dependencies: isarray: 0.0.1 dev: false @@ -18786,13 +18175,11 @@ packages: engines: {node: '>=8'} dev: false - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: false - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + /path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + dependencies: + process: 0.11.10 + util: 0.10.4 dev: false /pause-stream@0.0.11: @@ -18896,22 +18283,14 @@ packages: find-up: 6.3.0 dev: false - /pkg-types@1.2.0: - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} - dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 - dev: false - /playwright-core@1.39.0: resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} engines: {node: '>=16'} hasBin: true dev: false - /playwright-core@1.47.0: - resolution: {integrity: sha512-1DyHT8OqkcfCkYUD9zzUTfg7EfTd+6a8MkD/NWOvjo0u/SCNd5YmY/lJwFvUZOxJbWNds+ei7ic2+R/cRz/PDg==} + /playwright-core@1.47.2: + resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} engines: {node: '>=18'} hasBin: true dev: false @@ -18926,12 +18305,12 @@ packages: fsevents: 2.3.2 dev: false - /playwright@1.47.0: - resolution: {integrity: sha512-jOWiRq2pdNAX/mwLiwFYnPHpEZ4rM+fRSQpRHwEwZlP2PUANvL3+aJOF/bvISMhFD30rqMxUB4RJx9aQbfh4Ww==} + /playwright@1.47.2: + resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==} engines: {node: '>=18'} hasBin: true dependencies: - playwright-core: 1.47.0 + playwright-core: 1.47.2 optionalDependencies: fsevents: 2.3.2 dev: false @@ -19000,13 +18379,13 @@ packages: postcss: 7.0.39 dev: false - /postcss-modules-extract-imports@3.1.0(postcss@8.4.45): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.47): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 dev: false /postcss-modules-local-by-default@3.0.3: @@ -19019,14 +18398,14 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-modules-local-by-default@4.0.5(postcss@8.4.45): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.47): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: false @@ -19039,13 +18418,13 @@ packages: postcss-selector-parser: 6.1.2 dev: false - /postcss-modules-scope@3.2.0(postcss@8.4.45): + /postcss-modules-scope@3.2.0(postcss@8.4.47): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 dev: false @@ -19056,14 +18435,14 @@ packages: postcss: 7.0.39 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.45): + /postcss-modules-values@4.0.0(postcss@8.4.47): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 dev: false /postcss-selector-parser@6.1.2: @@ -19086,26 +18465,26 @@ packages: source-map: 0.6.1 dev: false - /postcss@8.4.45: - resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.1.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: false - /preact-render-to-string@5.2.6(preact@10.23.2): + /preact-render-to-string@5.2.6(preact@10.24.1): resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.23.2 + preact: 10.24.1 pretty-format: 3.8.0 dev: false - /preact@10.23.2: - resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} + /preact@10.24.1: + resolution: {integrity: sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==} dev: false /prelude-ls@1.2.1: @@ -19330,8 +18709,8 @@ packages: once: 1.4.0 dev: false - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 @@ -19358,13 +18737,6 @@ packages: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} dev: false - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.6 - dev: false - /qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -19621,7 +18993,7 @@ packages: history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - path-to-regexp: 1.8.0 + path-to-regexp: 1.9.0 prop-types: 15.8.1 react: 18.3.1 react-is: 16.13.1 @@ -19831,8 +19203,8 @@ packages: which-builtin-type: 1.1.4 dev: false - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + /regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -19895,10 +19267,10 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 + regenerate-unicode-properties: 10.2.0 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 + unicode-match-property-value-ecmascript: 2.2.0 dev: false /regextras@0.8.0: @@ -20081,7 +19453,7 @@ packages: load-module: 4.2.1 printj: 1.3.1 stream-read-all: 3.0.1 - typical: 7.1.1 + typical: 7.2.0 transitivePeerDependencies: - '@75lb/nature' dev: false @@ -20208,14 +19580,6 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: false - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - /ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} @@ -20262,7 +19626,7 @@ packages: inherits: 2.0.4 dev: false - /rollup-plugin-sourcemaps@0.6.3(@types/node@20.14.12)(rollup@4.21.2): + /rollup-plugin-sourcemaps@0.6.3(@types/node@20.14.12)(rollup@4.22.4): resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==} engines: {node: '>=10.0.0'} peerDependencies: @@ -20272,9 +19636,9 @@ packages: '@types/node': optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@4.21.2) + '@rollup/pluginutils': 3.1.0(rollup@4.22.4) '@types/node': 20.14.12 - rollup: 4.21.2 + rollup: 4.22.4 source-map-resolve: 0.6.0 dev: false @@ -20291,75 +19655,75 @@ packages: minimatch: 3.1.2 dev: false - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + /rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: false - /rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + /rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 dev: false - /roosterjs-content-model-api@9.9.1: - resolution: {integrity: sha512-ZXiMKhPoCodn6dKXN5F0HbH5d9PKNhQgRKIs6kv9uQ3O0yCLwVCSmuP1mQ6CNXpz0wlm9wNjFuoeOyzIRlGoYQ==} + /roosterjs-content-model-api@9.10.0: + resolution: {integrity: sha512-AUul5ZBGxnFeR60ArXCyBI/IPAqEeZb/Jpp3MNy0PHYi9OeXrXmmWFsH2JH8ht+8IveBuM+xzktuBbLXRqi79g==} dependencies: - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 tslib: 2.7.0 dev: false - /roosterjs-content-model-core@9.9.2: - resolution: {integrity: sha512-STGLtM9fSnt8gtTDtMlQ6xo1URkIZQSmT4lCHkhXPNxoNWiV2qaWvDqMSfSyEpEi9dCXAJYHQdw72GUKM1X5iA==} + /roosterjs-content-model-core@9.10.0: + resolution: {integrity: sha512-7U8vbuW1nitnxNkn2GchrVmjbxu+TwMvIkvhkO1TIRWOQ6eczkdvH0a5XPscPrmaaNvhMsVzhEuZw+1jmhijbQ==} dependencies: - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 tslib: 2.7.0 dev: false - /roosterjs-content-model-dom@9.9.1: - resolution: {integrity: sha512-gZILjB2rQgkAK8h4JXhgvSam/wDqOKZam9OiCP6/4IzOl5210ZNeAHySxmgorE6jtzZKtAldM7cTvE5ybL/uqg==} + /roosterjs-content-model-dom@9.10.0: + resolution: {integrity: sha512-2dk/ZvEsR96OVOcKDVyGbx8+t5ZyYjXbpgjNc2h9c+rhk61XWWDJ23u2vKRUMtI6Qv6CwpeBrdjzJSIa3Moi9g==} dependencies: - roosterjs-content-model-types: 9.9.1 + roosterjs-content-model-types: 9.10.0 tslib: 2.7.0 dev: false - /roosterjs-content-model-plugins@9.9.1: - resolution: {integrity: sha512-1GpmLQCcMxp3kCq+DMTMkUrWhZwJCjSqlTQbdeIUrcV7w4nv4Wvb3cpMqKyPvfL82LZhkXBIh8TbJO1mtUU6zA==} + /roosterjs-content-model-plugins@9.10.1: + resolution: {integrity: sha512-W8LVi80qgjqOe+0C0Svyd1yMzKoThYClznuBjZeehDpyS+/A2MwTIwiAV9FyRZ93lb8Qx0Qid1QCfXJQpbznIQ==} dependencies: - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.2 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 tslib: 2.7.0 dev: false - /roosterjs-content-model-types@9.9.1: - resolution: {integrity: sha512-egTgVXhrahRPQa2yG5yq5zYpKO2PhzDG1XUzy4UbZ1Z+OELDqI8kHPTE//vhnSDwVtqulw0VwhcKLhQlrvSBaw==} + /roosterjs-content-model-types@9.10.0: + resolution: {integrity: sha512-SsRgMUEWW9F8btNbQt6ZvR2ukBVVi9ZfQ49fhIK8xgUHkZSdB/NSmVuQOjkrV8VyYvHLAwEMVXeMYbGmVVpnHQ==} dev: false /rsvp@4.8.5: @@ -20474,12 +19838,6 @@ packages: object-assign: 4.1.1 dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - dependencies: - loose-envify: 1.4.0 - dev: false - /scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: @@ -20528,7 +19886,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -20572,8 +19930,8 @@ packages: hasBin: true dev: false - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 @@ -20633,14 +19991,14 @@ packages: parseurl: 1.3.3 dev: false - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + /serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.0 dev: false /set-blocking@2.0.0: @@ -20756,16 +20114,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: false - /sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 dev: false @@ -20855,8 +20208,8 @@ packages: yargs: 16.2.0 dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -20973,7 +20326,7 @@ packages: /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -20987,7 +20340,7 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -21075,7 +20428,7 @@ packages: resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} dev: false - /storybook-docs-toc@1.7.0(@storybook/addon-docs@6.5.14)(react-dom@18.3.1)(react@18.3.1)(styled-components@5.3.11): + /storybook-docs-toc@1.7.0(@storybook/addon-docs@6.5.16)(react-dom@18.3.1)(react@18.3.1)(styled-components@5.3.11): resolution: {integrity: sha512-FoCYErtsy9QiKoOyDWzW8tuVsRKo5SZOqHMVCFT1CDkWOoJqSm2IMsM8HAVKK4pIDq3qVm6PhOPjZr68U630uw==} peerDependencies: '@storybook/addon-docs': ^6.1.0 @@ -21083,47 +20436,19 @@ packages: react-dom: ^16.8.0 || ^17 || ^18 styled-components: ^5.2.0 dependencies: - '@storybook/addon-docs': 6.5.14(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) - tocbot: 4.25.0 + tocbot: 4.29.0 dev: false - /storybook@8.2.9(@babel/preset-env@7.23.9): - resolution: {integrity: sha512-S7Q/Yt4A+nu1O23rg39lQvBqL2Vg+PKXbserDWUR4LFJtfmoZ2xGO8oFIhJmvvhjUBvolw1q7QDeswPq2i0sGw==} + /storybook@8.3.3: + resolution: {integrity: sha512-FG2KAVQN54T9R6voudiEftehtkXtLO+YVGP2gBPfacEdDQjY++ld7kTbHzpTT/bpCDx7Yq3dqOegLm9arVJfYw==} hasBin: true dependencies: - '@babel/core': 7.25.2 - '@babel/types': 7.25.6 - '@storybook/codemod': 8.2.9 - '@storybook/core': 8.2.9 - '@types/semver': 7.5.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - commander: 6.2.1 - cross-spawn: 7.0.3 - detect-indent: 6.1.0 - envinfo: 7.13.0 - execa: 5.1.1 - fd-package-json: 1.2.0 - find-up: 5.0.0 - fs-extra: 11.2.0 - giget: 1.2.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.23.9) - leven: 3.1.0 - ora: 5.4.1 - prettier: 3.3.2 - prompts: 2.4.2 - semver: 7.6.3 - strip-json-comments: 3.1.1 - tempy: 3.1.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 + '@storybook/core': 8.3.3 transitivePeerDependencies: - - '@babel/preset-env' - bufferutil - supports-color - utf-8-validate @@ -21344,7 +20669,7 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 dev: false /strip-bom@2.0.0: @@ -21376,11 +20701,6 @@ packages: engines: {node: '>=6'} dev: false - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false - /strip-indent@1.0.1: resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} engines: {node: '>=0.10.0'} @@ -21450,10 +20770,10 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /style-to-js@1.1.13: - resolution: {integrity: sha512-+43kvxwjrW9n5gFR40Rv98A0/Mcjew7Lt+p5Nnw1KGR9SZf/ZaKqmMwl9Enj9EnYNcJ5VzuCjejC5KZzvH2lOA==} + /style-to-js@1.1.14: + resolution: {integrity: sha512-+FGNddHGLPY4NOPneEEdFj8dIy+oV4mHGrPZpB38P+YXrCAG9mp70dbcsAWnM8BFZULkJRvMqD0CXRjZLOYJFA==} dependencies: - style-to-object: 1.0.6 + style-to-object: 1.0.7 dev: false /style-to-object@0.3.0: @@ -21462,8 +20782,8 @@ packages: inline-style-parser: 0.1.1 dev: false - /style-to-object@1.0.6: - resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + /style-to-object@1.0.7: + resolution: {integrity: sha512-uSjr59G5u6fbxUfKbb8GcqMGT3Xs9v5IbPkjb0S16GyOeBLAzSRK0CixBv5YrYvzO6TDLzIS6QCn78tkqWngPw==} dependencies: inline-style-parser: 0.2.3 dev: false @@ -21478,7 +20798,7 @@ packages: dependencies: '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/traverse': 7.25.6(supports-color@5.5.0) - '@emotion/is-prop-valid': 1.3.0 + '@emotion/is-prop-valid': 1.3.1 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 babel-plugin-styled-components: 2.1.4(@babel/core@7.25.2)(styled-components@5.3.11)(supports-color@5.5.0) @@ -21510,7 +20830,7 @@ packages: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 2.1.2 @@ -21610,8 +20930,8 @@ packages: wordwrapjs: 4.0.1 dev: false - /tabster@8.0.1: - resolution: {integrity: sha512-Df8La4+IkdbHjupybEDv4rCPSOwx8L3Xh7UVbl0tzyrkiVTKvZg3IRID6KHd/tXbyerO4cXwhY9aOQ+mbEP04w==} + /tabster@8.1.0: + resolution: {integrity: sha512-F01QF7FwToWzuh4nhHWnrR4ga5TQlC5aKLyAFD1ChPaXcdmm+4jKZe2fnsZ1CjouEOCodcY8TLHDOHyY7GZelQ==} dependencies: keyborg: 2.6.0 tslib: 2.7.0 @@ -21658,18 +20978,6 @@ packages: memoizerific: 1.11.3 dev: false - /temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - dev: false - - /temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - dependencies: - rimraf: 2.6.3 - dev: false - /temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -21678,16 +20986,6 @@ packages: rimraf: 2.6.3 dev: false - /tempy@3.1.0: - resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} - engines: {node: '>=14.16'} - dependencies: - is-stream: 3.0.0 - temp-dir: 3.0.0 - type-fest: 2.19.0 - unique-string: 3.0.0 - dev: false - /terser-webpack-plugin@1.4.6(webpack@4.47.0): resolution: {integrity: sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==} engines: {node: '>= 6.9.0'} @@ -21719,7 +21017,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.31.6 + terser: 5.33.0 webpack: 4.47.0 webpack-sources: 1.4.3 dev: false @@ -21744,7 +21042,7 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.6 + terser: 5.33.0 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -21758,8 +21056,8 @@ packages: source-map-support: 0.5.21 dev: false - /terser@5.31.6: - resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: @@ -21867,8 +21165,8 @@ packages: safe-regex: 1.1.0 dev: false - /tocbot@4.25.0: - resolution: {integrity: sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==} + /tocbot@4.29.0: + resolution: {integrity: sha512-E+8+lceJpWHJYKq+qFHbi+gmFdXZeOAliHFdgiIAUo68cr8ClReXAx7h9e3TcDM0kw9PSnBn3GAZEpRmRLZ93g==} dev: false /toggle-selection@1.0.6: @@ -22094,7 +21392,7 @@ packages: '@tsconfig/node16': 1.0.4 '@types/node': 20.14.12 acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -22168,10 +21466,6 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: false - /tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false @@ -22217,18 +21511,13 @@ packages: engines: {node: '>=8'} dev: false - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: false - /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} dev: false - /type-fest@4.26.0: - resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} + /type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} dev: false @@ -22294,12 +21583,12 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typescript-transform-paths@3.5.0(typescript@5.4.5): - resolution: {integrity: sha512-Qsm5elv11DWu1q+yaugV37ygHhSLhPExkkQu3+blIYfEZAMtY6jSdXANoaR7p+uDoAAHrWXSzwFYK9AmTApLvw==} + /typescript-transform-paths@3.5.1(typescript@5.4.5): + resolution: {integrity: sha512-nq+exuF+38rAby9zrP+S6t0HWuwv69jeFu0I5UwjdoCIDPmnKIAr6a7JfYkbft7h5OzYKEDRhT/jLvvtTvWF4Q==} peerDependencies: typescript: '>=3.6.5' dependencies: - minimatch: 10.0.1 + minimatch: 9.0.5 typescript: 5.4.5 dev: false @@ -22331,8 +21620,8 @@ packages: engines: {node: '>=8'} dev: false - /typical@7.1.1: - resolution: {integrity: sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==} + /typical@7.2.0: + resolution: {integrity: sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==} engines: {node: '>=12.17'} dev: false @@ -22340,10 +21629,6 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: false - /ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - dev: false - /uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -22387,8 +21672,8 @@ packages: xtend: 4.0.2 dev: false - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + /unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} dev: false @@ -22396,12 +21681,12 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-canonical-property-names-ecmascript: 2.0.1 unicode-property-aliases-ecmascript: 2.1.0 dev: false - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + /unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} engines: {node: '>=4'} dev: false @@ -22410,11 +21695,6 @@ packages: engines: {node: '>=4'} dev: false - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: false - /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: @@ -22478,13 +21758,6 @@ packages: imurmurhash: 0.1.4 dev: false - /unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - dependencies: - crypto-random-string: 4.0.0 - dev: false - /unist-builder@2.0.3: resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} dev: false @@ -22585,8 +21858,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /unplugin@1.13.1: - resolution: {integrity: sha512-6Kq1iSSwg7KyjcThRUks9LuqDAKvtnioxbL9iEtB9ctTyBA5OmrB8gZd/d225VJu1w3UpUsKV7eGrvf59J7+VA==} + /unplugin@1.14.1: + resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} peerDependencies: webpack-sources: ^3 @@ -22627,13 +21900,13 @@ packages: dev: false optional: true - /update-browserslist-db@1.1.0(browserslist@4.23.3): + /update-browserslist-db@1.1.0(browserslist@4.24.0): resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 escalade: 3.2.0 picocolors: 1.1.0 dev: false @@ -22863,8 +22136,8 @@ packages: vfile-message: 4.0.2 dev: false - /vite@4.5.3(@types/node@20.14.12): - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} + /vite@4.5.5(@types/node@20.14.12): + resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -22893,8 +22166,8 @@ packages: dependencies: '@types/node': 20.14.12 esbuild: 0.18.20 - postcss: 8.4.45 - rollup: 3.29.4 + postcss: 8.4.47 + rollup: 3.29.5 optionalDependencies: fsevents: 2.3.3 dev: false @@ -22931,15 +22204,11 @@ packages: dependencies: chalk: 2.4.2 commander: 3.0.2 - debug: 4.3.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false - /walk-up-path@3.0.1: - resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - dev: false - /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -22978,12 +22247,6 @@ packages: minimalistic-assert: 1.0.1 dev: false - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: false - /web-namespaces@1.1.4: resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} dev: false @@ -23004,7 +22267,7 @@ packages: dependencies: '@discoveryjs/json-ext': 0.5.7 acorn: 8.12.1 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 commander: 7.2.0 debounce: 1.2.1 escape-string-regexp: 4.0.0 @@ -23043,7 +22306,7 @@ packages: colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 - envinfo: 7.13.0 + envinfo: 7.14.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 @@ -23078,7 +22341,7 @@ packages: colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 - envinfo: 7.13.0 + envinfo: 7.14.0 fastest-levenshtein: 1.0.16 import-local: 3.2.0 interpret: 3.1.1 @@ -23175,7 +22438,7 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.19.2 + express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.5.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21) @@ -23314,13 +22577,13 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-assertions: 1.9.0(acorn@8.12.1) - browserslist: 4.23.3 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -23475,11 +22738,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /wordwrap@0.0.3: - resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} - engines: {node: '>=0.4.0'} - dev: false - /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: false @@ -23547,14 +22805,6 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false - /write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - dependencies: - graceful-fs: 4.2.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: false - /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: @@ -23765,7 +23015,7 @@ packages: dev: false file:projects/acs-ui-common.tgz: - resolution: {integrity: sha512-LBMt5Ddqv7LPA4Z75lQ2ayQESN/bGnZqKPMEzUSq8M4PQ9bPi4j4wTtpgdyqdK81GYDlPMG/91nUB8ZX29Gqjg==, tarball: file:projects/acs-ui-common.tgz} + resolution: {integrity: sha512-+j53f4pQARMblkGIOqzOS1hAhqHYuiHQJrGwwtivuBSKrboNP2b0veDx+I9ePfzTrnOOXhK1L+hQ3BD97/IbuA==, tarball: file:projects/acs-ui-common.tgz} name: '@rush-temp/acs-ui-common' version: 0.0.0 dependencies: @@ -23773,26 +23023,26 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 react: 18.3.1 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -23809,7 +23059,7 @@ packages: dev: false file:projects/acs-ui-javascript-loaders.tgz: - resolution: {integrity: sha512-E0JkfmshqabLJoCT+0/Vfo9hUmGwdRVkT20DpOOG+4NS6wGISgv60MbJqMJfylheTqRn0a/GBu9s1F9ePeKjbg==, tarball: file:projects/acs-ui-javascript-loaders.tgz} + resolution: {integrity: sha512-pWTuuUa9soKSTVE+e9wtoUatgVO0Qhx7L1Bv8/xXryaQ+SQO4SSQmuIAOzBxcC+6aLCzO/ArZ/PV+N5IKk/vhQ==, tarball: file:projects/acs-ui-javascript-loaders.tgz} name: '@rush-temp/acs-ui-javascript-loaders' version: 0.0.0 dependencies: @@ -23817,29 +23067,29 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@types/jest': 29.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -23856,29 +23106,29 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-i65FHN18eDnIhmb4d05AgoEugSyTfhkrQf7yv+OL7PTYUg3RkDl9nAVdii+NTxqk8Ra3iWw0I0KmX9zX2u1W5g==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-U7frD7yCWkKdAMJCmYYQlwOz38hiNqNWA0ScWgKv0uj8Ul57+U4PbrrK2GNFY8DNCx+lQ3aHvKpjMbpRrFhWjw==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: '@azure/communication-calling': 1.29.1-beta.2 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-common': 2.3.1 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) memoize-one: 5.2.1 @@ -23886,7 +23136,7 @@ packages: react: 18.3.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -23903,38 +23153,38 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-ZlJ5ISEWE5PncZ6lFd3SYBAXlhEcPvFc9iHfVBlLeKlgSBrVGmigHTYMbuD8rwCQjAESNTZnE99YCHh4qAQncw==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-wugXNq3CG9liAdByIUNCOzdHb5Bymx/Q+od/ZiMJwM8+MaljMoDqxTnp4yC25GP1/6e00qxn5LmHKe3htlgTJw==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: '@azure/communication-calling': 1.29.1-beta.2 '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -23951,7 +23201,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-wUzrPqWTqO5hNalEfOymLQRPe169C1J7dSLpmUtPmQae8AYMnbh2tCyPq5UAYbGJHTAEA8P+ohM7A9DYT8X6gQ==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-VuZYMfjuwdovXmre2dcGyOTsFfAe/lZMMgqpUbeA6/xyJ1OVHXFwOItHbVAKT81o8MDgv+Xok40SwXlD5eTsIg==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23962,19 +23212,19 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -23983,16 +23233,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -24045,7 +23295,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-OmHDPMKIyY9791Glsu46sUvxLHr86vFNDfSfL/hsTl4gxo93Gb5XY/PurFUGCMAwtQPtfnIb3VGz8I8yBbex3Q==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-FhAEFSl5wQpSH/aOkIX1Ss+cgpR483jZ1d3BlDiHPGcKkBXu1mlRX4/9P7+vUahUSHz/sm9SJClvW8BbEMqxEQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -24056,19 +23306,19 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -24077,16 +23327,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -24139,7 +23389,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-SwbgGVfUbsIpLiJ/id/CvSgs9rNoyjla3FXkr/mVDiFv4cAMLTtz5FhupNqRWN79TGgcCXfy3Rpda/t4258kdw==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-ARVGFVmpWuBCKwdgbfXDClWIj1Dbai6CezBsKk4+x3EAXkLwSg7uiVvj/BvLVuuBHeI0cEB7Hk0hhC14HHGWLw==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -24151,19 +23401,19 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -24173,16 +23423,16 @@ packages: cross-env: 7.0.3 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 if-env: 1.0.4 @@ -24232,7 +23482,7 @@ packages: dev: false file:projects/chat-component-bindings.tgz: - resolution: {integrity: sha512-aiQRAP9YLHjtu+If9oNwpXNwRTaYkZBN/dZSNCDbSIGudxRYVFfZdAbIgXJLemUSFCjPkKKKgWU7mvwLgIDHGQ==, tarball: file:projects/chat-component-bindings.tgz} + resolution: {integrity: sha512-zLh8siLw3MEqy1fG70DY6opQx0Vg44n8P7oMNstRKCgAUmoitbG8eR56wkzY+QW5JFRaaROLFe3lyj87/tRsDA==, tarball: file:projects/chat-component-bindings.tgz} name: '@rush-temp/chat-component-bindings' version: 0.0.0 dependencies: @@ -24241,18 +23491,18 @@ packages: '@azure/core-paging': 1.6.2 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) memoize-one: 5.2.1 @@ -24260,7 +23510,7 @@ packages: react: 18.3.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 typescript: 5.4.5 transitivePeerDependencies: - '@types/eslint' @@ -24273,7 +23523,7 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-CG8lKCXj6VrCuV1jLp5Rbt2Lgi9MS9fDiNYcFQev/cm+q67H7pjqOjx2cnX3p98cvKC+yFOVwWu09il/sxP6sw==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-q67ZNRJrOpMM5MsQQvuo9SVjTPuNfX8ttIKLCPUG21A8LJ227NzZH0mC2JU7LVlayk+TRS3EQXL2UVB/gtVJ2w==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: @@ -24285,20 +23535,21 @@ packages: '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 + '@types/node': 20.14.12 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 @@ -24306,14 +23557,13 @@ packages: nanoid: 3.3.6 prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' - '@jest/types' - '@types/eslint' - - '@types/node' - babel-jest - babel-plugin-macros - encoding @@ -24324,7 +23574,7 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-k8WeW1AoJjRTgpNsmTpfpF3QMUkc4qxEwHxgeEWFyhOa6YuL64bG0EpjJc/sbxtsId7pMe+Cw/opdQ/7bTVr1g==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-PTwgOIsKm+pxowxvEmJtqGibQPwhSl2MGQhE8nnIyb0M/DzFtcr/oOR84JzcBVLHbIkCHsw9DOZ/1U6aVKUnPw==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: @@ -24335,17 +23585,17 @@ packages: '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) axios: 1.7.7 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) concurrently: 5.3.0 @@ -24353,16 +23603,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) form-data: 4.0.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -24413,18 +23663,18 @@ packages: dev: false file:projects/check-treeshaking.tgz: - resolution: {integrity: sha512-oniP8zsX1Kpj3gduWaFrQIade0f07gujfNxZDSfd8ZQZoAQG0o1fRMhOZzh0YMHpltcjQz561ZmgYhpI12yh9Q==, tarball: file:projects/check-treeshaking.tgz} + resolution: {integrity: sha512-CufJZqS9KCqCPSm025txt+KU8AIjFyyhmNhFew/1ZdxQFEJutewvfUUhMtvkIXIw9/+74F57b1EuJDCfixKBDw==, tarball: file:projects/check-treeshaking.tgz} name: '@rush-temp/check-treeshaking' version: 0.0.0 dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -24441,15 +23691,15 @@ packages: dev: false file:projects/check-typescript-regression.tgz: - resolution: {integrity: sha512-d+Pgb55oIwWEUnt1k7/yBbmqD3iQ5nzz2X9uCvR7S6sIbvf0OdnZGHbJ0vuTUDLf7+Vj6NSdeK7o0R5XNDa7HA==, tarball: file:projects/check-typescript-regression.tgz} + resolution: {integrity: sha512-gFrv+9aZGNk1iUcE9CQdBppDotxpvifgmdBOLTq1LSimgqv95P+0vQZ9YVfHKjmeCfhTHT0/Yb9ikyKs9w2qMw==, tarball: file:projects/check-typescript-regression.tgz} name: '@rush-temp/check-typescript-regression' version: 0.0.0 dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 typescript: 4.6.3 @@ -24459,43 +23709,43 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-VLdUuk673s+De2uTUN7bbf35mdQDKVgq4QgV8B8ZhAgp7XkllhGecsaEWFGLbWV+IFVpVr4sl5yX4EwiaCGs1Q==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-uadnqhx7kJYCGV2kH7oc089fgV9HkBWthaUadmxx+hboWpALH67TFWHGxXw5vVcEoS+BVY0eRrJmZiS6eDOMzA==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: '@azure/communication-calling': 1.29.1-beta.2 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-paging': 1.6.2 '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.13)(@fluentui/react-icons@2.0.256)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@microsoft/api-documenter': 7.25.12(@types/node@20.14.12) - '@microsoft/api-extractor': 7.47.7(@types/node@20.14.12) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) + '@microsoft/api-documenter': 7.25.14(@types/node@20.14.12) + '@microsoft/api-extractor': 7.47.9(@types/node@20.14.12) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) '@testing-library/jest-dom': 6.5.0 '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/dompurify': 3.0.5 '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 @@ -24503,16 +23753,16 @@ packages: cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) events: 3.3.0 - html-react-parser: 5.1.15(@types/react@18.3.3)(react@18.3.1) + html-react-parser: 5.1.16(@types/react@18.3.3)(react@18.3.1) if-env: 1.0.4 immer: 10.1.1 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -24531,21 +23781,21 @@ packages: renamer: 4.0.0 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.2 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-plugins: 9.9.1 - roosterjs-content-model-types: 9.9.1 - scheduler: 0.23.0 + rollup: 4.22.4 + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-plugins: 9.10.1 + roosterjs-content-model-types: 9.10.0 + scheduler: 0.23.2 source-map-explorer: 2.5.3 textarea-caret-ts: 4.1.1 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) ts-patch: 3.2.1 - type-fest: 4.26.0 + type-fest: 4.26.1 typescript: 5.4.5 - typescript-transform-paths: 3.5.0(typescript@5.4.5) + typescript-transform-paths: 3.5.1(typescript@5.4.5) use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 transitivePeerDependencies: @@ -24565,7 +23815,7 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-/YVB7F17Q9wbclaQFAA5uMJ/uWUShVrOuSD/mCPUEhPSOYNpsTXAmSm4IcdejMCVDJk1qFlFSTsqkpcUMXvuNg==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-jUf7zw9bAjglFzMS5Z2LI1hkIE4xh4gc9GuAWLIbMWY6N+IUEaR2svlZ9jrf3UAakPfF6ww7iAAigVXgLuk3tQ==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: @@ -24574,28 +23824,28 @@ packages: '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.0) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) concurrently: 5.3.0 css-loader: 4.3.0(webpack@5.89.0) dotenv: 10.0.0 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.35.2)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 if-env: 1.0.4 @@ -24632,19 +23882,19 @@ packages: dev: false file:projects/config.tgz: - resolution: {integrity: sha512-DZRPyoZXKdFPiI92b08Lxi0PtgYkdwgdpPUNES9r+qwHObDfQxCCHt2TmfCFul3wD4pkQChOh+yPqBzI469Naw==, tarball: file:projects/config.tgz} + resolution: {integrity: sha512-v9GdcII3BLxEYVAwnnCU5vxtn6tGzs7BdtZ+2BPjV0QUmSPE+x5fIIXWpPl+0+k09EeSoqCefngkWboKz3chgw==, tarball: file:projects/config.tgz} name: '@rush-temp/config' version: 0.0.0 dependencies: '@actions/core': 1.10.1 '@octokit/rest': 19.0.13 '@playwright/test': 1.39.0 - '@rollup/plugin-commonjs': 25.0.8(rollup@4.21.2) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.22.4) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) '@types/node': 20.14.12 - beachball: 2.46.0(typescript@5.4.5) - rollup: 4.21.2 - rollup-plugin-sourcemaps: 0.6.3(@types/node@20.14.12)(rollup@4.21.2) + beachball: 2.47.1(typescript@5.4.5) + rollup: 4.22.4 + rollup-plugin-sourcemaps: 0.6.3(@types/node@20.14.12)(rollup@4.22.4) rollup-plugin-svg: 2.0.0 ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) typescript: 5.4.5 @@ -24655,7 +23905,7 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-uaaRbJrzPmJ9k7L2IwVIoNp1gUR7pYyeMJYUlNfLilM2UvbF1HucenJ+a2BfQ+l1WzruiGGLfYsxBWPSj93l4g==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-LbVteqhoFR1NOEpDbMawqbHX7c90/f/0y7NVHkdeN1XJGm6vYMXOwzCojpxVrndFzI+rJiwq+zMJ635GI3rFFQ==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: @@ -24663,26 +23913,26 @@ packages: '@azure/communication-common': 2.3.1 '@azure/communication-signaling': 1.0.0-beta.27 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@types/events': 3.0.3 - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@types/jest': 29.5.13 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 @@ -24690,7 +23940,7 @@ packages: nanoid: 3.3.6 prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) @@ -24711,37 +23961,37 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-0SLB0opF01RcPvh+Y9xi8PGEIgPe/HCh5QXpM77WfySYvcy0bYTq8iyO5m/J6aG1kkBd8eOYr3YNHQQYxJeEcQ==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-YxcWRr1EhcgcCuNzOi+dlfmfn6jbSHH+nNdoGWU6apXimohdgnHUL1RHEzFjmXvJP/QN1L8VWtfoJ8IQejc3Zg==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.13)(@fluentui/react-icons@2.0.256)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@playwright/experimental-ct-react': 1.39.0(@types/node@20.14.12) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) '@testing-library/dom': 9.3.4 '@testing-library/jest-dom': 6.5.0 '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) '@types/dompurify': 3.0.5 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) '@vitejs/plugin-react': 4.2.1 ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) @@ -24749,21 +23999,21 @@ packages: concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - html-react-parser: 5.1.15(@types/react@18.3.3)(react@18.3.1) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + html-react-parser: 5.1.16(@types/react@18.3.3)(react@18.3.1) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -24783,18 +24033,18 @@ packages: react-use-draggable-scroll: 0.4.7(react@18.3.1) regenerator-runtime: 0.14.1 rimraf: 2.7.1 - rollup: 4.21.2 - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.2 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-plugins: 9.9.1 - roosterjs-content-model-types: 9.9.1 - scheduler: 0.23.0 + rollup: 4.22.4 + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-plugins: 9.10.1 + roosterjs-content-model-types: 9.10.0 + scheduler: 0.23.2 source-map-explorer: 2.5.3 textarea-caret-ts: 4.1.1 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - type-fest: 4.26.0 + type-fest: 4.26.1 typescript: 5.4.5 use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 @@ -24825,34 +24075,34 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-fH6kDX73oH6+P1M2rpqLVUv9MvBjWIEH3OmCt5A6qd0qPvrC1jlgd60mbb99hD3ZKyHgvfnBCGYjxld6ZM56LA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-u9gZGaxbEH0a05e4ZH3hu5rh/TjFvCj3nNJ0nWGybVgnyMHd7c7RpAY9gavY8TAs53NQ1k5AksaCg7uEe4YP/A==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: '@azure/communication-calling': 1.29.1-beta.2 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.16.3 + '@azure/core-rest-pipeline': 1.17.0 '@azure/logger': 1.1.4 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) - '@microsoft/api-documenter': 7.25.12(@types/node@20.14.12) - '@microsoft/api-extractor': 7.47.7(@types/node@20.14.12) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@microsoft/api-documenter': 7.25.14(@types/node@20.14.12) + '@microsoft/api-extractor': 7.47.9(@types/node@20.14.12) '@playwright/test': 1.39.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/copy-webpack-plugin': 6.4.3 '@types/events': 3.0.3 '@types/express': 4.17.21 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 @@ -24860,8 +24110,8 @@ packages: '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 '@types/yargs': 17.0.33 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -24869,23 +24119,23 @@ packages: copy-to-clipboard: 3.3.3 copy-webpack-plugin: 11.0.0(webpack@5.89.0) copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 css-loader: 4.3.0(webpack@5.89.0) dotenv: 10.0.0 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) events: 3.3.0 - express: 4.19.2 + express: 4.21.0 fs-extra: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -24908,14 +24158,14 @@ packages: regenerator-runtime: 0.14.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 shell-quote: 1.8.1 source-map-explorer: 2.5.3 style-loader: 2.0.0(webpack@5.89.0) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - type-fest: 4.26.0 + type-fest: 4.26.1 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -24944,7 +24194,7 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-0qUkMhAywxbG4wqt4ellaN70LIPoHsHGQ31MhnOYf/dVwrMjb5Uql4rwahclvvLnK48JBwzoZ3oyGSJvJGBhtA==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-UwwRUovCy6Di+TS4d3c4az3n33lHyqTsMM5GlUEckYGlmhgyxvrzkWe255dRiGEMwxFw4bX8LdkNFvDIe6iy9A==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: @@ -24954,12 +24204,12 @@ packages: '@azure/communication-identity': 1.3.1 '@playwright/test': 1.39.0 '@types/node': 20.14.12 - '@types/node-static': 0.7.11 cross-env: 7.0.3 dotenv: 10.0.0 env-cmd: 10.1.0 + express: 4.21.0 if-env: 1.0.4 - node-static: 0.7.11 + path: 0.12.7 rimraf: 2.7.1 typescript: 5.4.5 uuid: 9.0.1 @@ -24969,7 +24219,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-dZ9R0gPlz1fTeKnZMFO6m/AKDZVqidUSt5ToMQo0SYAAeBC7RU4rFRKLJKNDqiZl583r3vqLqOXiN/8dlozQ7Q==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-uxxBQOHZvCDLuvKnRSLqdynwLbk98wIF2gF+WsYVRSZVznk7qnfOrwf9gfwUaxbiKXoUKwC3p9eldMod73yiMg==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24979,11 +24229,10 @@ packages: '@azure/communication-identity': 1.3.1 '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@playwright/test': 1.39.0 '@types/copy-webpack-plugin': 6.4.3 '@types/node': 20.14.12 - '@types/node-static': 0.7.11 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -24996,7 +24245,6 @@ packages: http: 0.0.1-security http-server: 14.1.1 if-env: 1.0.4 - node-static: 0.7.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 @@ -25020,7 +24268,7 @@ packages: dev: false file:projects/scripts.tgz: - resolution: {integrity: sha512-bDw92ULh79UtEB3X5e+FZGr0fNIUev0GGLu7uBEQIVgJjigYJGIp6bz01+cVUcNqkP6zKjqrafhWXBkB43ckYw==, tarball: file:projects/scripts.tgz} + resolution: {integrity: sha512-etEablx5ljVhADQIRE5hIW0rcgMt2K8eQ1iTjXlDmK7izoFSCbcR8pBD5KRmNGqg47isbtKuNdcjEps6HJrRHg==, tarball: file:projects/scripts.tgz} name: '@rush-temp/scripts' version: 0.0.0 dependencies: @@ -25029,7 +24277,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-hHAs/Ibwo52QNEQWvgBZELfUf+2Dh6JPWYZMqXkwq3IDol7Ee/YskcV1dUqlcKJPF50pP3GFHmvE0uujP52RXw==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-eOgjeQ14riiK7n/sHznue9oK8tck8epqU3d3db1O/KvVyC+0gEslPyHy2RhKhCNm8GMXAm4wHVYUj70VZscIdg==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -25037,33 +24285,33 @@ packages: '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 '@azure/communication-rooms': 1.1.0 - '@azure/storage-blob': 12.24.0 + '@azure/storage-blob': 12.25.0 '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.89.0) '@types/cookie-parser': 1.4.7 '@types/copy-webpack-plugin': 6.4.3 '@types/cors': 2.8.17 '@types/express': 4.17.21 '@types/http-errors': 1.8.2 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/morgan': 1.9.9 '@types/multer': 1.4.12 '@types/node': 20.14.12 '@types/supertest': 2.0.16 '@types/webpack-node-externals': 3.0.4(webpack-cli@5.1.4) - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.89.0) cors: 2.8.5 cpx: 1.5.0 debug: 2.6.9 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - express: 4.19.2 + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + express: 4.21.0 http-errors: 1.8.1 husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -25112,7 +24360,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-UDM/RPLcTMvLpxItwlrtyjqcdfwQgURDSb/kWDBIOKJh9A9lUBP4bm07CI3iXC/HLlZYOmMTEGPMluJOHuCJPQ==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-CT8Uep4x5ae2JPtVdQ0iiXRFzR3Shxv8b5Y+QnM61NrxkT8f16d3hrGdqdXXAfd2thpQtdSEU6VFpmgHGEOUBw==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -25122,59 +24370,59 @@ packages: '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/theme-samples': 8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@mdx-js/react': 1.6.22(react@18.3.1) - '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.6.2) - '@microsoft/applicationinsights-web': 2.8.18(tslib@2.6.2) + '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.7.0) + '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-controls': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.14(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addon-links': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.0)(jest@29.7.0)(preact@10.23.2)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-events': 6.5.16 - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 - '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) + '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@testing-library/jest-dom': 6.5.0 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - browserslist: 4.23.3 + browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cross-env: 7.0.3 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-mdx: 1.16.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-mdx: 1.16.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-fetch-mock: 3.0.3 @@ -25183,7 +24431,7 @@ packages: mobile-detect: 1.4.5 nan: 2.20.0 node-forge: 1.3.1 - preact: 10.23.2 + preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) raw-loader: 4.0.2(webpack@5.89.0) @@ -25193,15 +24441,14 @@ packages: regenerator-runtime: 0.14.1 require-from-string: 2.0.2 resize-observer-polyfill: 1.5.1 - scheduler: 0.23.0 + scheduler: 0.23.2 shell-quote: 1.8.1 source-map-explorer: 2.5.3 - storybook-docs-toc: 1.7.0(@storybook/addon-docs@6.5.14)(react-dom@18.3.1)(react@18.3.1)(styled-components@5.3.11) + storybook-docs-toc: 1.7.0(@storybook/addon-docs@6.5.16)(react-dom@18.3.1)(react@18.3.1)(styled-components@5.3.11) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) - tocbot: 4.25.0 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -25254,7 +24501,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-1SwAqueU32sP4amcgQvKQ9IwtFY3DyGIpnRBn9rIeXqGp0k/AFXlWkCqvyj9Fq+6wYWkfTh1aw1ROGeuCP1qEw==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-gFc5ZeqzE0HubFFeuwKI7zwWTBleAcqxvfI6Rr510Hx8bVZ/6UAygCWP1tKXyNcvBJNad/NNMZ/hoA/WJxuV7g==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: @@ -25264,60 +24511,60 @@ packages: '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.256(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/theme-samples': 8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@mdx-js/react': 1.6.22(react@18.3.1) - '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.6.2) - '@microsoft/applicationinsights-web': 2.8.18(tslib@2.6.2) - '@storybook/addon-actions': 8.2.9(storybook@8.2.9) - '@storybook/addon-controls': 8.2.9(storybook@8.2.9) - '@storybook/addon-docs': 8.2.9(storybook@8.2.9) - '@storybook/addon-essentials': 8.2.9(storybook@8.2.9) - '@storybook/addon-links': 8.2.9(react@18.3.1)(storybook@8.2.9) + '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.7.0) + '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) + '@storybook/addon-actions': 8.3.3(storybook@8.3.3) + '@storybook/addon-controls': 8.3.3(storybook@8.3.3) + '@storybook/addon-docs': 8.3.3(storybook@8.3.3) + '@storybook/addon-essentials': 8.3.3(storybook@8.3.3) + '@storybook/addon-links': 8.3.3(react@18.3.1)(storybook@8.3.3) '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.89.0) - '@storybook/builder-webpack5': 8.2.9(storybook@8.2.9)(typescript@5.4.5) - '@storybook/components': 8.2.9(storybook@8.2.9) - '@storybook/core-events': 8.2.9(storybook@8.2.9) - '@storybook/manager-api': 8.2.9(storybook@8.2.9) - '@storybook/node-logger': 8.2.9(storybook@8.2.9) - '@storybook/preview-api': 8.2.9(storybook@8.2.9) - '@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5) - '@storybook/react-webpack5': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.4.5) - '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.2.9)(ts-node@10.9.2) - '@storybook/theming': 8.2.9(storybook@8.2.9) + '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) + '@storybook/components': 8.3.3(storybook@8.3.3) + '@storybook/core-events': 8.3.3(storybook@8.3.3) + '@storybook/manager-api': 8.3.3(storybook@8.3.3) + '@storybook/node-logger': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react-webpack5': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2) + '@storybook/theming': 8.3.3(storybook@8.3.3) '@testing-library/jest-dom': 6.5.0 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - browserslist: 4.23.3 + browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cross-env: 7.0.3 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.30.0(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-mdx: 1.16.0(eslint@8.57.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-mdx: 1.16.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-fetch-mock: 3.0.3 @@ -25325,7 +24572,7 @@ packages: json-stringify-safe: 5.0.1 nan: 2.20.0 node-forge: 1.3.1 - preact: 10.23.2 + preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) raw-loader: 4.0.2(webpack@5.89.0) @@ -25336,16 +24583,16 @@ packages: remark-gfm: 4.0.0 require-from-string: 2.0.2 resize-observer-polyfill: 1.5.1 - scheduler: 0.23.0 + scheduler: 0.23.2 shell-quote: 1.8.1 source-map-explorer: 2.5.3 - storybook: 8.2.9(@babel/preset-env@7.23.9) + storybook: 8.3.3 styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) tsconfig-paths-webpack-plugin: 4.1.0 - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -25353,6 +24600,7 @@ packages: - '@jest/transform' - '@jest/types' - '@rspack/core' + - '@storybook/test' - '@swc/core' - '@swc/helpers' - '@swc/wasm' diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index f52cb506133..742494219af 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -92,23 +92,18 @@ dependencies: packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: false - /@actions/core@1.10.1: resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==} dependencies: - '@actions/http-client': 2.2.1 + '@actions/http-client': 2.2.3 uuid: 8.3.2 dev: false - /@actions/http-client@2.2.1: - resolution: {integrity: sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==} + /@actions/http-client@2.2.3: + resolution: {integrity: sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==} dependencies: tunnel: 0.0.6 - undici: 5.28.3 + undici: 5.28.4 dev: false /@adobe/css-tools@4.4.0: @@ -127,20 +122,20 @@ packages: resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@azure/abort-controller@2.0.0: - resolution: {integrity: sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==} + /@azure/abort-controller@2.1.2: + resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} engines: {node: '>=18.0.0'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@azure/communication-calling-effects@1.1.1-beta.1: - resolution: {integrity: sha512-hz0wEHBFSNVivS7qnDwcnJuONYqlV41VpQpEi+hEGcM4+8G4MQwC4nG7dOr2OX2AkJoX3ZTY2ZC5X3igLy9U4A==} + /@azure/communication-calling-effects@1.1.1: + resolution: {integrity: sha512-Q5fgE2i39uJlrUM1qFxNQixQtU8fQR0FP9WoOpSET05Jg+nzQ/LYZKHVlAqRkO/bo/DG3DtQBpx5Z0grKUjhVg==} dependencies: - '@azure/logger': 1.0.4 + '@azure/logger': 1.1.4 events: 3.3.0 dev: false @@ -148,7 +143,7 @@ packages: resolution: {integrity: sha512-Yqt8Gzc76gJe/mhb5RoQCv7OcEPfksfRcF2jmA54SXqMO/Oc2nbUAWFMN5WGjLI5L9sJYP1bE8mQLXDBWABdkg==} dependencies: '@azure/communication-common': 2.3.0 - '@azure/logger': 1.0.4 + '@azure/logger': 1.1.4 transitivePeerDependencies: - supports-color dev: false @@ -157,17 +152,17 @@ packages: resolution: {integrity: sha512-PyfKRiX1Hy91h8tLEe8HN44Zvf+Px/tLtqyi8NGOPx2PvSMsQoilaqdoSgYhS3uuOCGQucvwOkROz1xVz0pYNQ==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 + '@azure/abort-controller': 2.1.2 '@azure/communication-common': 2.3.1 '@azure/communication-signaling': 1.0.0-beta.28 - '@azure/core-auth': 1.7.2 + '@azure/core-auth': 1.8.0 '@azure/core-client': 1.9.2 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.16.3 - '@azure/core-tracing': 1.0.1 - '@azure/logger': 1.0.4 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.2 + tslib: 2.7.0 uuid: 8.3.2 transitivePeerDependencies: - supports-color @@ -178,13 +173,13 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.6.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 events: 3.3.0 jwt-decode: 3.1.2 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - supports-color dev: false @@ -194,278 +189,188 @@ packages: engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.6.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 events: 3.3.0 jwt-decode: 4.0.0 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - supports-color dev: false - /@azure/communication-identity@1.3.0: - resolution: {integrity: sha512-SCfmOEanjXho8k93T0/SvZc1OrunD0868VZWA2gkiy9sCiYfC5HG0aDJ0tLlEw5RHNeICuXa5s7TqapwLPPThw==} + /@azure/communication-identity@1.3.1: + resolution: {integrity: sha512-S54UTeEM3SbUNGFeGcGQEw64KLUu8CmZi2/2hRu3sy6Rx2i4Y8aL+ITlGC7bOm2v5rKELD5PoXAVYDJxVCJN1w==} engines: {node: '>=18.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/communication-common': 2.3.0 - '@azure/core-auth': 1.6.0 - '@azure/core-client': 1.8.0 - '@azure/core-lro': 2.6.0 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/core-tracing': 1.0.1 - '@azure/logger': 1.0.4 + '@azure/communication-common': 2.3.1 + '@azure/core-auth': 1.8.0 + '@azure/core-client': 1.9.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - supports-color dev: false - /@azure/communication-rooms@1.1.0-beta.1: - resolution: {integrity: sha512-KQsW4uaWgY2RsYjaZZ8OJonLZuALV0+sooJ97JyJYuHe5yBMSo8uREQ1pSPETcYno6gC3Jenf5mg5BnY4Q1yXA==} - engines: {node: '>=14.0.0'} + /@azure/communication-rooms@1.1.0: + resolution: {integrity: sha512-PC1Me2pdpEZtl1FpasEjziskSbxMfuAQ0YLwerYrDpQ9U/xiQpIo1gn+pFHUEEuNBdPK9wnSOuyft+lLVkEepg==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/communication-common': 2.3.0 - '@azure/core-auth': 1.6.0 - '@azure/core-client': 1.8.0 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/core-tracing': 1.0.1 - '@azure/logger': 1.0.4 + '@azure/communication-common': 2.3.1 + '@azure/core-auth': 1.8.0 + '@azure/core-client': 1.9.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 tslib: 1.14.1 - uuid: 8.3.2 transitivePeerDependencies: - supports-color dev: false - /@azure/communication-signaling@1.0.0-beta.26: - resolution: {integrity: sha512-/GYJ0ycUZEhl04TXPnkID1fl6KAAfjSJBtt0x34PeYS47KhPNpU0GegxHb7U6Ia3TD6r9O4ET1xsUJUD8Jva8Q==} - engines: {node: '>=8.0.0'} - dependencies: - '@azure/core-http': 2.3.2 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.0.4 - events: 3.3.0 - tslib: 1.14.1 - transitivePeerDependencies: - - encoding - dev: false - /@azure/communication-signaling@1.0.0-beta.28: resolution: {integrity: sha512-D1ujjaIiXPhePvjKlG+iYazYxLwPHSxD8WOJluCwptElcj1PslF70nmXDJw3udCLTYDbDgV+SrGpAHnJsyuh3Q==} engines: {node: '>=8.0.0'} dependencies: '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 + '@azure/core-auth': 1.8.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.2 + tslib: 2.7.0 uuid: 8.3.2 dev: false - /@azure/core-auth@1.6.0: - resolution: {integrity: sha512-3X9wzaaGgRaBCwhLQZDtFp5uLIXCPrGbwJNWPPugvL4xbIGgScv77YzzxToKGLAKvG9amDoofMoP+9hsH1vs1w==} - engines: {node: '>=18.0.0'} - dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-util': 1.7.0 - tslib: 2.6.2 - dev: false - - /@azure/core-auth@1.7.2: - resolution: {integrity: sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==} + /@azure/core-auth@1.8.0: + resolution: {integrity: sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-util': 1.7.0 - tslib: 2.6.2 - dev: false - - /@azure/core-client@1.8.0: - resolution: {integrity: sha512-+gHS3gEzPlhyQBMoqVPOTeNH031R5DM/xpCvz72y38C09rg4Hui/1sJS/ujoisDZbbSHyuRLVWdFlwL0pIFwbg==} - engines: {node: '>=18.0.0'} - dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-auth': 1.7.2 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.10.0 + tslib: 2.7.0 dev: false /@azure/core-client@1.9.2: resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-auth': 1.7.2 - '@azure/core-rest-pipeline': 1.16.3 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - tslib: 2.6.2 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 + tslib: 2.7.0 transitivePeerDependencies: - supports-color dev: false - /@azure/core-http@2.3.2: - resolution: {integrity: sha512-Z4dfbglV9kNZO177CNx4bo5ekFuYwwsvjLiKdZI4r84bYGv3irrbQz7JC3/rUfFH2l4T/W6OFleJaa2X0IaQqw==} - engines: {node: '>=14.0.0'} - dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.6.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - '@types/node-fetch': 2.6.11 - '@types/tunnel': 0.0.3 - form-data: 4.0.0 - node-fetch: 2.7.0 - process: 0.11.10 - tough-cookie: 4.1.3 - tslib: 2.6.2 - tunnel: 0.0.6 - uuid: 8.3.2 - xml2js: 0.5.0 - transitivePeerDependencies: - - encoding - dev: false - - /@azure/core-http@3.0.4: - resolution: {integrity: sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==} - engines: {node: '>=14.0.0'} + /@azure/core-http-compat@2.1.2: + resolution: {integrity: sha512-5MnV1yqzZwgNLLjlizsU3QqOeQChkIXw781Fwh1xdAqJR5AA32IUaq6xv1BICJvfbHoa+JYcaij2HFkhLbNTJQ==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.7.2 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - '@types/node-fetch': 2.6.11 - '@types/tunnel': 0.0.3 - form-data: 4.0.0 - node-fetch: 2.7.0 - process: 0.11.10 - tslib: 2.6.2 - tunnel: 0.0.6 - uuid: 8.3.2 - xml2js: 0.5.0 + '@azure/abort-controller': 2.1.2 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.17.0 transitivePeerDependencies: - - encoding + - supports-color dev: false - /@azure/core-lro@2.6.0: - resolution: {integrity: sha512-PyRNcaIOfMgoUC01/24NoG+k8O81VrKxYARnDlo+Q2xji0/0/j2nIt8BwQh294pb1c5QnXTDPbNR4KzoDKXEoQ==} + /@azure/core-lro@2.7.2: + resolution: {integrity: sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - tslib: 2.6.2 - dev: false - - /@azure/core-paging@1.5.0: - resolution: {integrity: sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 + tslib: 2.7.0 dev: false - /@azure/core-rest-pipeline@1.14.0: - resolution: {integrity: sha512-Tp4M6NsjCmn9L5p7HsW98eSOS7A0ibl3e5ntZglozT0XuD/0y6i36iW829ZbBq0qihlGgfaeFpkLjZ418KDm1Q==} + /@azure/core-paging@1.6.2: + resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-auth': 1.6.0 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.7.0 - '@azure/logger': 1.0.4 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - tslib: 2.6.2 - transitivePeerDependencies: - - supports-color + tslib: 2.7.0 dev: false - /@azure/core-rest-pipeline@1.16.3: - resolution: {integrity: sha512-VxLk4AHLyqcHsfKe4MZ6IQ+D+ShuByy+RfStKfSjxJoL3WBWq17VNmrz8aT8etKzqc2nAeIyLxScjpzsS4fz8w==} + /@azure/core-rest-pipeline@1.17.0: + resolution: {integrity: sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - '@azure/core-auth': 1.7.2 - '@azure/core-tracing': 1.0.1 - '@azure/core-util': 1.9.2 - '@azure/logger': 1.0.4 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - supports-color dev: false - /@azure/core-tracing@1.0.0-preview.13: - resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} - engines: {node: '>=12.0.0'} - dependencies: - '@opentelemetry/api': 1.8.0 - tslib: 2.6.2 - dev: false - - /@azure/core-tracing@1.0.1: - resolution: {integrity: sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==} - engines: {node: '>=12.0.0'} + /@azure/core-tracing@1.1.2: + resolution: {integrity: sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA==} + engines: {node: '>=18.0.0'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@azure/core-util@1.7.0: - resolution: {integrity: sha512-Zq2i3QO6k9DA8vnm29mYM4G8IE9u1mhF1GUabVEqPNX8Lj833gdxQ2NAFxt2BZsfAL+e9cT8SyVN7dFVJ/Hf0g==} + /@azure/core-util@1.10.0: + resolution: {integrity: sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - tslib: 2.6.2 + '@azure/abort-controller': 2.1.2 + tslib: 2.7.0 dev: false - /@azure/core-util@1.9.2: - resolution: {integrity: sha512-l1Qrqhi4x1aekkV+OlcqsJa4AnAkj5p0JV8omgwjaV9OAbP41lvrMvs+CptfetKkeEaGRGSzby7sjPZEX7+kkQ==} + /@azure/core-xml@1.4.3: + resolution: {integrity: sha512-D6G7FEmDiTctPKuWegX2WTrS1enKZwqYwdKTO6ZN6JMigcCehlT0/CYl+zWpI9vQ9frwwp7GQT3/owaEXgnOsA==} engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 2.0.0 - tslib: 2.6.2 + fast-xml-parser: 4.5.0 + tslib: 2.7.0 dev: false - /@azure/logger@1.0.4: - resolution: {integrity: sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==} - engines: {node: '>=14.0.0'} + /@azure/logger@1.1.4: + resolution: {integrity: sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ==} + engines: {node: '>=18.0.0'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@azure/storage-blob@12.17.0: - resolution: {integrity: sha512-sM4vpsCpcCApagRW5UIjQNlNylo02my2opgp0Emi8x888hZUvJ3dN69Oq20cEGXkMUWnoCrBaB0zyS3yeB87sQ==} - engines: {node: '>=14.0.0'} + /@azure/storage-blob@12.25.0: + resolution: {integrity: sha512-oodouhA3nCCIh843tMMbxty3WqfNT+Vgzj3Xo5jqR9UPnzq3d7mzLjlHAYz7lW+b4km3SIgz+NAgztvhm7Z6kQ==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.4 - '@azure/core-lro': 2.6.0 - '@azure/core-paging': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.0.4 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-client': 1.9.2 + '@azure/core-http-compat': 2.1.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.1.2 + '@azure/core-util': 1.10.0 + '@azure/core-xml': 1.4.3 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - - encoding + - supports-color dev: false - /@babel/cli@7.24.8(@babel/core@7.25.2): - resolution: {integrity: sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==} + /@babel/cli@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-Z+Doemr4VtvSD2SNHTrkiFZ1LX+JI6tyRXAAOb4N9khIuPyoEPmTPJarPm8ljJV1D6bnMQjyHMWTT9NeKbQuXA==} engines: {node: '>=6.9.0'} hasBin: true peerDependencies: @@ -484,34 +389,16 @@ packages: chokidar: 3.6.0 dev: false - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - dev: false - /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.0 - dev: false - - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} + picocolors: 1.1.0 dev: false - /@babel/compat-data@7.24.7: - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/compat-data@7.25.2: - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} dev: false @@ -520,15 +407,15 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.12.9) - '@babel/helpers': 7.24.8 - '@babel/parser': 7.25.3 + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -545,16 +432,16 @@ packages: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -562,123 +449,60 @@ packages: - supports-color dev: false - /@babel/eslint-parser@7.23.10(@babel/core@7.25.2)(eslint@8.57.0): - resolution: {integrity: sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==} + /@babel/eslint-parser@7.25.1(@babel/core@7.25.2)(eslint@8.57.1): + resolution: {integrity: sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 dependencies: '@babel/core': 7.25.2 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: false - /@babel/generator@7.24.5: - resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.25.2 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/generator@7.24.7: - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/generator@7.25.0: - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: false - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-annotate-as-pure@7.24.7: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 - dev: false - - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-compilation-targets@7.24.7: - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - /@babel/helper-compilation-targets@7.25.2: resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.25.2): - resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.5 - semver: 6.3.1 - dev: false - - /@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} + /@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -689,24 +513,12 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.25.2): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - dev: false - /@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2): resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} engines: {node: '>=6.9.0'} @@ -726,10 +538,10 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/traverse': 7.25.3 - debug: 4.3.4(supports-color@5.5.0) + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -743,24 +555,9 @@ packages: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@5.5.0) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-define-polyfill-provider@0.6.0(@babel/core@7.25.2): - resolution: {integrity: sha512-efwOM90nCG6YeT8o3PCyBVSxRfmILxCNL+TNI8CGQl7a62M0Wd9VkV+XHwIlkOz1r4b+lxu6gBjdWiOMdUCrCQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@5.5.0) + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -775,94 +572,29 @@ packages: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-environment-visitor@7.24.7: - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - dev: false - - /@babel/helper-function-name@7.24.7: - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - dev: false - - /@babel/helper-hoist-variables@7.24.7: - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: false - - /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.25.2 - dev: false - /@babel/helper-member-expression-to-functions@7.24.8: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - - /@babel/helper-module-imports@7.24.7: + /@babel/helper-module-imports@7.24.7(supports-color@5.5.0): resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7(supports-color@5.5.0) - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-module-transforms@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false @@ -874,10 +606,10 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -889,54 +621,30 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.25.2 - dev: false - /@babel/helper-optimise-call-expression@7.24.7: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 dev: false /@babel/helper-plugin-utils@7.10.4: resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} dev: false - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-plugin-utils@7.24.8: resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.25.2): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-wrap-function': 7.22.20 - dev: false - /@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} @@ -946,23 +654,11 @@ packages: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.25.2): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - dev: false - /@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} @@ -972,7 +668,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -981,122 +677,54 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.7(supports-color@5.5.0) - '@babel/types': 7.24.7 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-skip-transparent-expression-wrappers@7.24.7: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-split-export-declaration@7.24.5: - resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.25.2 - dev: false - - /@babel/helper-split-export-declaration@7.24.7: - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.7 - dev: false - - /@babel/helper-string-parser@7.24.7: - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-string-parser@7.24.8: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-validator-identifier@7.24.5: - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-validator-option@7.24.7: - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-validator-option@7.24.8: resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.24.7 - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - dev: false - /@babel/helper-wrap-function@7.25.0: resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helpers@7.24.8: - resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - dev: false - - /@babel/helpers@7.25.0: - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - dev: false - - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.24.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 + '@babel/types': 7.25.6 dev: false /@babel/highlight@7.24.7: @@ -1106,88 +734,25 @@ packages: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.1.0 dev: false - /@babel/parser@7.24.5: - resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.25.6 dev: false - /@babel/parser@7.24.7: - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: false - - /@babel/parser@7.24.8: - resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} - engines: {node: '>=6.0.0'} - hasBin: true - dev: false - - /@babel/parser@7.25.3: - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.25.2 - dev: false - - /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.25.2) + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2): @@ -1204,17 +769,6 @@ packages: - supports-color dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.25.2): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} engines: {node: '>=6.9.0'} @@ -1223,7 +777,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -1236,31 +790,35 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-proposal-decorators@7.24.0(@babel/core@7.25.2): - resolution: {integrity: sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==} + /@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-decorators': 7.24.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==} + /@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.25.2) dev: false /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2): @@ -1271,7 +829,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) dev: false @@ -1282,9 +840,9 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.10.4 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.12.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.12.9) dev: false /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.25.2): @@ -1294,12 +852,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) dev: false /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2): @@ -1310,9 +868,11 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.25.2): @@ -1323,8 +883,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color dev: false /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2): @@ -1344,10 +906,12 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2): @@ -1356,7 +920,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2): @@ -1365,7 +929,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2): @@ -1374,7 +938,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2): @@ -1384,17 +948,17 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-decorators@7.24.0(@babel/core@7.25.2): - resolution: {integrity: sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==} + /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2): @@ -1403,17 +967,17 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==} + /@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2): @@ -1422,31 +986,11 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1455,18 +999,18 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2): + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1481,7 +1025,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2): @@ -1490,7 +1034,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): @@ -1499,17 +1043,17 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2): @@ -1518,7 +1062,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2): @@ -1527,7 +1071,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2): @@ -1536,7 +1080,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): @@ -1545,7 +1089,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2): @@ -1554,7 +1098,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2): @@ -1563,7 +1107,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2): @@ -1572,7 +1116,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2): @@ -1582,7 +1126,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2): @@ -1592,17 +1136,17 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2): @@ -1612,18 +1156,8 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2): @@ -1636,21 +1170,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.25.2): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-async-generator-functions@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} + /@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1659,21 +1180,7 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.25.2) + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -1685,23 +1192,13 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} @@ -1712,16 +1209,6 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} engines: {node: '>=6.9.0'} @@ -1732,42 +1219,19 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + /@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - dev: false - /@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} @@ -1775,32 +1239,15 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.25.2): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.25.2) - '@babel/helper-split-export-declaration': 7.24.7 - globals: 11.12.0 - dev: false - - /@babel/plugin-transform-classes@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} + /@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1810,23 +1257,12 @@ packages: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.24.7 - dev: false - /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} @@ -1838,16 +1274,6 @@ packages: '@babel/template': 7.25.0 dev: false - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2): resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} engines: {node: '>=6.9.0'} @@ -1858,17 +1284,6 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} @@ -1880,261 +1295,129 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2): - resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + /@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + /@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2): + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + /@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} + /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.25.2): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: false - - /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2): - resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2): - resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2): @@ -2150,20 +1433,6 @@ packages: - supports-color dev: false - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2): resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} @@ -2178,21 +1447,6 @@ packages: - supports-color dev: false - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.25.2): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} engines: {node: '>=6.9.0'} @@ -2203,20 +1457,7 @@ packages: '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/traverse': 7.25.6(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -2234,17 +1475,6 @@ packages: - supports-color dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.25.2): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} @@ -2256,370 +1486,149 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.25.2): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2): - resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.12.9): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - dev: false - - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - dev: false - - /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.25.2): - resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + /@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) dev: false - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} + /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.25.2): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.12.9): + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) - '@babel/types': 7.24.5 + '@babel/core': 7.12.9 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - regenerator-transform: 0.15.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + /@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 - regenerator-transform: 0.15.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2628,18 +1637,20 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + /@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2648,62 +1659,66 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + /@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2712,18 +1727,21 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2): - resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} + /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2732,48 +1750,50 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.25.2): - resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2): + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + /@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2): @@ -2787,17 +1807,6 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} @@ -2809,19 +1818,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.0 - dev: false - - /@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.25.2): - resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2): + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2837,104 +1835,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.25.2 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.25.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.25.2) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.25.2) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.25.2) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.25.2) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.25.2) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.25.2) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.25.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) - babel-plugin-polyfill-corejs2: 0.4.9(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.25.2) - core-js-compat: 3.36.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/preset-env@7.25.3(@babel/core@7.25.2): - resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) @@ -2944,8 +1849,8 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.25.6(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) @@ -2958,18 +1863,17 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) @@ -2992,7 +1896,7 @@ packages: '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) @@ -3005,27 +1909,27 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.25.2) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.25.2) + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-flow@7.24.0(@babel/core@7.25.2): - resolution: {integrity: sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==} + /@babel/preset-flow@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.25.2) dev: false /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2): @@ -3034,44 +1938,46 @@ packages: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/types': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.6 esutils: 2.0.3 dev: false - /@babel/preset-react@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + /@babel/preset-react@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color dev: false - /@babel/preset-typescript@7.23.3(@babel/core@7.25.2): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + /@babel/preset-typescript@7.24.7(@babel/core@7.25.2): + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color dev: false - /@babel/register@7.23.7(@babel/core@7.25.2): - resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} + /@babel/register@7.24.6(@babel/core@7.25.2): + resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3088,102 +1994,39 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime@7.24.0: - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + /@babel/runtime@7.25.6: + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: false - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 - dev: false - - /@babel/template@7.24.7: - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - dev: false - /@babel/template@7.25.0: resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 - dev: false - - /@babel/traverse@7.24.7(supports-color@5.5.0): - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.4(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: false - /@babel/traverse@7.25.3: - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + /@babel/traverse@7.25.6(supports-color@5.5.0): + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - debug: 4.3.4(supports-color@5.5.0) + '@babel/types': 7.25.6 + debug: 4.3.7(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.24.5: - resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.24.7: - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.24.9: - resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.25.2: - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 @@ -3227,18 +2070,18 @@ packages: engines: {node: '>=10.0.0'} dev: false - /@emotion/hash@0.9.1: - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + /@emotion/hash@0.9.2: + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} dev: false - /@emotion/is-prop-valid@1.2.2: - resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} + /@emotion/is-prop-valid@1.3.1: + resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} dependencies: - '@emotion/memoize': 0.8.1 + '@emotion/memoize': 0.9.0 dev: false - /@emotion/memoize@0.8.1: - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + /@emotion/memoize@0.9.0: + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} dev: false /@emotion/stylis@0.8.5: @@ -3254,10 +2097,19 @@ packages: engines: {node: ^12 || ^14 || ^16} dependencies: comment-parser: 1.2.4 - esquery: 1.5.0 + esquery: 1.6.0 jsdoc-type-pratt-parser: 1.1.1 dev: false + /@esbuild/aix-ppc64@0.23.1: + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -3267,6 +2119,15 @@ packages: dev: false optional: true + /@esbuild/android-arm64@0.23.1: + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -3276,6 +2137,15 @@ packages: dev: false optional: true + /@esbuild/android-arm@0.23.1: + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -3285,6 +2155,15 @@ packages: dev: false optional: true + /@esbuild/android-x64@0.23.1: + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -3294,6 +2173,15 @@ packages: dev: false optional: true + /@esbuild/darwin-arm64@0.23.1: + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -3303,6 +2191,15 @@ packages: dev: false optional: true + /@esbuild/darwin-x64@0.23.1: + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -3312,9 +2209,27 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.23.1: + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.23.1: + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -3330,6 +2245,15 @@ packages: dev: false optional: true + /@esbuild/linux-arm64@0.23.1: + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -3339,6 +2263,15 @@ packages: dev: false optional: true + /@esbuild/linux-arm@0.23.1: + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -3348,6 +2281,15 @@ packages: dev: false optional: true + /@esbuild/linux-ia32@0.23.1: + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -3357,6 +2299,15 @@ packages: dev: false optional: true + /@esbuild/linux-loong64@0.23.1: + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -3366,6 +2317,15 @@ packages: dev: false optional: true + /@esbuild/linux-mips64el@0.23.1: + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -3375,6 +2335,15 @@ packages: dev: false optional: true + /@esbuild/linux-ppc64@0.23.1: + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -3384,6 +2353,15 @@ packages: dev: false optional: true + /@esbuild/linux-riscv64@0.23.1: + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -3393,6 +2371,15 @@ packages: dev: false optional: true + /@esbuild/linux-s390x@0.23.1: + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -3402,6 +2389,15 @@ packages: dev: false optional: true + /@esbuild/linux-x64@0.23.1: + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -3411,6 +2407,24 @@ packages: dev: false optional: true + /@esbuild/netbsd-x64@0.23.1: + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-arm64@0.23.1: + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -3420,6 +2434,15 @@ packages: dev: false optional: true + /@esbuild/openbsd-x64@0.23.1: + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -3429,6 +2452,15 @@ packages: dev: false optional: true + /@esbuild/sunos-x64@0.23.1: + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -3438,6 +2470,15 @@ packages: dev: false optional: true + /@esbuild/win32-arm64@0.23.1: + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -3447,6 +2488,15 @@ packages: dev: false optional: true + /@esbuild/win32-ia32@0.23.1: + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -3456,18 +2506,27 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@esbuild/win32-x64@0.23.1: + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.1): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + /@eslint-community/regexpp@4.11.1: + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: false @@ -3476,10 +2535,10 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3488,8 +2547,8 @@ packages: - supports-color dev: false - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false @@ -3498,32 +2557,32 @@ packages: engines: {node: '>=14'} dev: false - /@floating-ui/core@1.6.0: - resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + /@floating-ui/core@1.6.8: + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} dependencies: - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.6.3): + /@floating-ui/devtools@0.2.1(@floating-ui/dom@1.6.11): resolution: {integrity: sha512-8PHJLbD6VhBh+LJ1uty/Bz30qs02NXCE5u8WpOhSewlYXUWl03GNXknr9AS2yaAWJEQaY27x7eByJs44gODBcw==} peerDependencies: '@floating-ui/dom': '>=1.5.4' dependencies: - '@floating-ui/dom': 1.6.3 + '@floating-ui/dom': 1.6.11 dev: false - /@floating-ui/dom@1.6.3: - resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} + /@floating-ui/dom@1.6.11: + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 dev: false - /@floating-ui/utils@0.2.1: - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + /@floating-ui/utils@0.2.8: + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} dev: false - /@fluentui-contrib/react-chat@0.1.10(@fluentui/react-components@9.54.7)(@fluentui/react-icons@2.0.252)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + /@fluentui-contrib/react-chat@0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-H4kmeMhSX1h6Rt673ZnJ34rW//VXhYLbsoW5dr+N496UkdEQm1nQRvXInEfdV//+czbzAeYOatE3td+WoPwBUw==} peerDependencies: '@fluentui/react-components': '>=9.25.1 <10.0.0' @@ -3533,156 +2592,102 @@ packages: react: '>=16.8.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-components': 9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.35(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/date-time-utilities@8.6.1: - resolution: {integrity: sha512-F6DAYk0uzboQB1j5YQq5gJPvGSc6L8PjdnSDDkURsHpBUars2pDO5vyOJdnW0vAbU/35Dl4uR0X/Nrkq8lyXyA==} - dependencies: - '@fluentui/set-version': 8.2.23 - tslib: 2.6.2 - dev: false - /@fluentui/date-time-utilities@8.6.9: resolution: {integrity: sha512-dgOlVm4nXBWDLqijmvn4iAtyv1hVpQZjN6p0So74BW+7ASUTkQGe3lf8PHV/OjBiXfZa4qwONvmTQBGCheNU0w==} dependencies: '@fluentui/set-version': 8.2.23 - tslib: 2.6.2 - dev: false - - /@fluentui/dom-utilities@2.2.15: - resolution: {integrity: sha512-/s97pTNwcdr+vbbFmlCOMgdPDcm//ZF2qA+XuL/8b+QKusUBAfuD+H+TmqIymqS3jvFKGo3ty+lMg7aYGEYEKw==} - dependencies: - '@fluentui/set-version': 8.2.17 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@fluentui/dom-utilities@2.3.7: resolution: {integrity: sha512-AaTR9BhJEF0i042NS1Ju8l95f24p2tBMq6jVVbUEDtYnKaxWnpv8R9eYjOwy8SDniQc1ino+BkolIgCVXXvDmw==} dependencies: '@fluentui/set-version': 8.2.23 - tslib: 2.6.2 - dev: false - - /@fluentui/font-icons-mdl2@8.5.35(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-wWqMVxOfqKojktyv31ydDgMVTKCG9cB5Etff40etOIIgdq8940oUxeLKocnkPo/AKOSIMJy9aNRTcDkgti7WPw==} - dependencies: - '@fluentui/set-version': 8.2.15 - '@fluentui/style-utilities': 8.10.6(@types/react@18.2.74)(react@18.2.0) - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - tslib: 2.6.2 - transitivePeerDependencies: - - '@types/react' - - react + tslib: 2.7.0 dev: false - /@fluentui/font-icons-mdl2@8.5.47(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-99d/cjEMz0ik9LnVrEDhZB4CnQavwgBvZuNa/EAaeHZMlQ7eheCzU3PNG4goPC7o4yg7XCNyngA7hEx3RUPUDA==} + /@fluentui/font-icons-mdl2@8.5.50(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-04pRRmuBf9r/3cnBlIedF+SFk2UW7GdRQvdfKxoMuL4dDMLPqo4ruPkI/dz8Mp3EDERQU01XDWtBx11w9obmFQ==} dependencies: '@fluentui/set-version': 8.2.23 - '@fluentui/style-utilities': 8.10.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.2 + '@fluentui/style-utilities': 8.10.21(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) + tslib: 2.7.0 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/foundation-legacy@8.4.1(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-WsuA95zaM7fE9lFB+aLkGwtbGhWJJr7WztelTcrgaVPrXUPGlYH4SMrswx4ko9CbRJmEPnTGq13EwKn1PdXYmg==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/merge-styles': 8.6.1 - '@fluentui/set-version': 8.2.15 - '@fluentui/style-utilities': 8.10.6(@types/react@18.2.74)(react@18.2.0) - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 - dev: false - - /@fluentui/foundation-legacy@8.4.13(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-LIrqiDM0Fe45XLIx/XISwRfcaB5TfoMlkjic7K6goZtssi6VSNEAWjj+V2DOZNUaaFE3J3j61EspoZEKbqGazg==} + /@fluentui/foundation-legacy@8.4.16(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-01/uQPQ2pEkQ6nUUF+tXaYeOG8UssfoEgAVLPolYXr1DC4tT66hPi7Smgsh6tzUkt/Ljy0nw9TIMRoHDHlfRyg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.6.12 + '@fluentui/merge-styles': 8.6.13 '@fluentui/set-version': 8.2.23 - '@fluentui/style-utilities': 8.10.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/style-utilities': 8.10.21(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 - dev: false - - /@fluentui/keyboard-key@0.4.15: - resolution: {integrity: sha512-1Kv0ugURJsWGpjHy39wom8q+aH6CdrcAqTa1POucDsmkeM7bSdw1unyRf9ez4gb8/Fn5XRg+/Qik4xZ9OOAFAQ==} - dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@fluentui/keyboard-key@0.4.23: resolution: {integrity: sha512-9GXeyUqNJUdg5JiQUZeGPiKnRzMRi9YEUn1l9zq6X/imYdMhxHrxpVZS12129cBfgvPyxt9ceJpywSfmLWqlKA==} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@fluentui/keyboard-keys@9.0.7: resolution: {integrity: sha512-vaQ+lOveQTdoXJYqDQXWb30udSfTVcIuKk1rV0X0eGAgcHeSDeP1HxMy+OgHOQZH3OiBH4ZYeWxb+tmfiDiygQ==} dependencies: - '@swc/helpers': 0.5.6 - dev: false - - /@fluentui/merge-styles@8.6.1: - resolution: {integrity: sha512-hxzOmuxyp0xE+b9Ugm6EUHDVzSn8bcqISRGYstv4UKOTTJVbaYdldGLhrtTLSuhob3olKHDxxds2Wbq3K7uGRA==} - dependencies: - '@fluentui/set-version': 8.2.17 - tslib: 2.6.2 + '@swc/helpers': 0.5.13 dev: false - /@fluentui/merge-styles@8.6.12: - resolution: {integrity: sha512-v8njux9frUkoGGlBnQXKHaKCX2nLZVHPFMDMzibtAIt4vIkkv+oY2lFmJ2h96tSIkg4eVN7h5sSDTFVoAPwpYg==} + /@fluentui/merge-styles@8.6.13: + resolution: {integrity: sha512-IWgvi2CC+mcQ7/YlCvRjsmHL2+PUz7q+Pa2Rqk3a+QHN0V1uBvgIbKk5y/Y/awwDXy1yJHiqMCcDHjBNmS1d4A==} dependencies: '@fluentui/set-version': 8.2.23 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@fluentui/priority-overflow@9.1.13: resolution: {integrity: sha512-yDojVpkhBZTXOYExrCgW1GXbw3x9pYIS617xlNJIc2t06Cd3H32y2p51QXFt94sBmlVyAvPu7UKBHaq1Yw7u+w==} dependencies: - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 dev: false - /@fluentui/react-accordion@9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-GKkY+626XF+k0oWZV2aI8UBhM3E3KE73udzAvJ18mHVVTZ6fSRvz71ieFA6nR8h5USf0CO8RPgF98iXxaz1LKQ==} + /@fluentui/react-accordion@9.5.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-4zwtmZTcD2jgjxbMTHajhMxRNkFFHIXG060dSVoK73H4vWLKtDYuwQJesfgi2swUim+xhemvcInrLXIoY8pLZw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-motion-components-preview': 0.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3691,7 +2696,7 @@ packages: - scheduler dev: false - /@fluentui/react-alert@9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): + /@fluentui/react-alert@9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): resolution: {integrity: sha512-yFBo3B5H9hnoaXxlkuz8wRz04DEyQ+ElYA/p5p+Vojf19Zuta8DmFZZ6JtWdtxcdnnQ4LvAfC5OYYlzdReozPA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' @@ -3699,15 +2704,15 @@ packages: react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3716,8 +2721,8 @@ packages: - scheduler dev: false - /@fluentui/react-aria@9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lb93r/FiE3bj1/lfixy/Hb+LW8MQ9HCqdDWLRo1gmP4f3QgIj/Gz7oTB+NilwzytiH4OBDXq0apdUHGLwGkotA==} + /@fluentui/react-aria@9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-/bepLd2SKL+WHhiHJ8O/Lt+1FxvVeGB+pgbUuSjtPVwafwcA4RNXVlkMQaoYk8sQvnG4oqVa4ToTxUWURaOeNA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3725,37 +2730,37 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-avatar@9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-KojRJFErsutRLIOXJbaWhA/AkiKvQzKpQVBzpvYf1vQu+ZEn90Ng0J8cwGQcqjQ1E9NydrCGO7G3akEcBuaqHg==} + /@fluentui/react-avatar@9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-of2XMrwTZ4xKsiPEgayJupeI29dAiNBbWos4MCzBJaBS6u9BcaHRenSyzDFViC4jFyvoJQDqftWYThaSwH3PHw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-popover': 9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-tooltip': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-tooltip': 9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3764,54 +2769,54 @@ packages: - scheduler dev: false - /@fluentui/react-badge@9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-/GBKotH68XrBix1mCJybYHw+5QKYoAbINqYPj2mEfcDiC2VfS4w4Drjokcp2O1KD2cX/YZ9PThptKmWkjT3UOw==} + /@fluentui/react-badge@9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-E+J08RIj2UZ5daq1kN+IgOCf5x4VVnFQTO+XI2bXsqoc/6wFHS2FZ8I7pNQqkWbvZ6cspR7cG7S8RfTR5pQz1Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-breadcrumb@9.0.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-uSMlQme/Rrt6giWJRz5el0soY9GjKsnm8v6b/md1cehivc6FX8iys2Lmk5oJM+m3a2gxKQYr3sp8CvKsyKOGlw==} + /@fluentui/react-breadcrumb@9.0.38(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-VWf/nNrJSWtYpT4eR4vl4+QNf8idXtdqChB22siAaFg8pBndBE6N4nsSgMcs70E+VQ4SuJVp9HQVSx8vpngi0Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-link': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-link': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-button@9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Di8RWjIswa1jriYfed6FH90fqmTwBkaILWxzJzChaBbUAOtxEYn3K57F+9PS9s05z7PhlDuVnfd2RV0dIrYHtg==} + /@fluentui/react-button@9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-g/0kn9S/SO/XRUkRpxnAfpe6rv2Tn/zJhygeyTy+rOGuR5MxAEDhauRnpjntt+h8U6088LGImZUTfU5vHjsVNg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3819,23 +2824,23 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-card@9.0.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-wEvgIonwR1r4e7N+fDxcW5DuBxGUjtOjNhrCqRxVFA1H0WjhLXHpGAlbBzROrCtolHBnv+Xv4ndKPm/ftguA5Q==} + /@fluentui/react-card@9.0.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-HhaNzhnk1htPGF1Lvh9G9Bohm26Tt49csjz8/Xc+u/dfzoXPAmYJxgCOzHT6QPp0/e21Fy+cQONV051BO5dE5w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3843,37 +2848,37 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-text': 9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-text': 9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-checkbox@9.2.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-5bccf0H4as8vjQXslFrZhEIosNUUOqpuZ20OLkpoI+NVzVfQtwa4sI8BaSr8oATJU3haXVBxItOa/zOOiBzWvA==} + /@fluentui/react-checkbox@9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-qNJIsZaTqD7vYz547bp14q/nXd5le1bZKApR0NORVf6qLfID0/B5hJ48pUpQV03HrbgBFf8ZiVGzHfwwfHZiLQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3882,8 +2887,8 @@ packages: - scheduler dev: false - /@fluentui/react-combobox@9.13.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-q1B/1e/beA8dkPZS8MV+jHF092W8y0bCdxfTrsnWuapKIXIn0BMPSE04f0aNED8R4yxxZN27y8LR/9EGcWeHtA==} + /@fluentui/react-combobox@9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-UQnUdThddkwDzvPZmPTH3kFNYTotTmO2cg5+oKzhYfC5I8Km3tzclItRjNRxjjo9hdjDHn2ZiXpvr8qFWJbS/A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3891,19 +2896,19 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3912,72 +2917,72 @@ packages: - scheduler dev: false - /@fluentui/react-components@9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-X7B5rLEsx30bRtHMdNHgWnij+xSMleJg6tyRR9L2nwFaDIf89jaQU1iNDkIgEf4zSXGhBRXAlT0UlYcwcEWZjw==} + /@fluentui/react-components@9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-XLy3ZKlmb+BqJIWeOXEzh8yCFn/gkKWlSt50tAEck0WapUpCPcB+Ccst4eT81GJipH6yjyy/jZUnEEkKAYRvLA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-accordion': 9.5.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-alert': 9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-breadcrumb': 9.0.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-card': 9.0.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-checkbox': 9.2.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-combobox': 9.13.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-dialog': 9.11.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-divider': 9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-drawer': 9.5.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-image': 9.1.71(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-infobutton': 9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-infolabel': 9.0.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-input': 9.4.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-link': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-menu': 9.14.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-message-bar': 9.2.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-overflow': 9.1.26(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-persona': 9.2.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-popover': 9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-progress': 9.1.83(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-provider': 9.17.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-radio': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-rating': 9.0.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-search': 9.0.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-select': 9.1.83(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-skeleton': 9.1.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-slider': 9.1.90(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-spinbutton': 9.2.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-spinner': 9.4.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-swatch-picker': 9.1.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-switch': 9.1.90(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-table': 9.15.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabs': 9.4.27(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tag-picker': 9.2.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tags': 9.3.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-teaching-popover': 9.1.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-text': 9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-textarea': 9.3.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-toast': 9.3.51(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-toolbar': 9.1.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tooltip': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tree': 9.7.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-virtualizer': 9.0.0-alpha.82(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-accordion': 9.5.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-alert': 9.0.0-beta.124(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-breadcrumb': 9.0.38(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-card': 9.0.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-combobox': 9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-dialog': 9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-drawer': 9.5.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-image': 9.1.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-infobutton': 9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-infolabel': 9.0.46(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-input': 9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-link': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-menu': 9.14.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-message-bar': 9.2.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-overflow': 9.1.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-persona': 9.2.98(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-progress': 9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-provider': 9.17.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-rating': 9.0.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-search': 9.0.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-select': 9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-skeleton': 9.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-slider': 9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinbutton': 9.2.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-spinner': 9.4.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-swatch-picker': 9.1.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-switch': 9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-table': 9.15.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabs': 9.5.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tag-picker': 9.3.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tags': 9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-teaching-popover': 9.1.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-text': 9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-textarea': 9.3.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-toast': 9.3.56(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-toolbar': 9.2.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tooltip': 9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tree': 9.8.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-virtualizer': 9.0.0-alpha.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3986,8 +2991,8 @@ packages: - scheduler dev: false - /@fluentui/react-context-selector@9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-hpluiP2NtK01Kx1RdKnJkQr7snbFuFJUwRho3NsuzuX/ea9OaVNEAxcvLMUcwd5nItf5Y5U8i07ib7YX5qchmQ==} + /@fluentui/react-context-selector@9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-1jpOjt3NVOlyLcMY/nycyhyXvcPw57+0gkF7Eln4c9Hb2xFUlsAFX0x8MDLNsvyjGgKekLX9p+tPt9TUENWPOw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -3995,17 +3000,17 @@ packages: react-dom: '>=16.14.0 <19.0.0' scheduler: '>=0.19.0 <=0.23.0' dependencies: - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - scheduler: 0.23.0 + scheduler: 0.23.2 dev: false - /@fluentui/react-dialog@9.11.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-g0tcW2X7FyDGifwJU+Q2hX8pgLk+AUYBDK7d0xOyXpWhP/HN920r4E+MlgJhmmpf5hRh3959knZqoyrnG0+GGA==} + /@fluentui/react-dialog@9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-yfEw7uc8wVvgK17YW7035TDfDAf86Ti/DRJaw/D9Ld/gOB9nLG1L6NBjbfYE4x+f0+r/BtG+0nhrNM95zG0sog==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4013,18 +3018,18 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4033,43 +3038,43 @@ packages: - scheduler dev: false - /@fluentui/react-divider@9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-AmkJPAFEszLbWh7vrV6vV+omnkQgfw1hhVBcTIlLD2b712Tk7GczZC2PXTq0fNKI3Aw8x4sNBbomozJp2y+X7w==} + /@fluentui/react-divider@9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-pWWJH7ZLG4sHcfhwUO5nnhA0TsGK/JlSkcyEnndK76umQlWAzLrN4JWEHKTWplUIIa6STKWObAYPXkiTnkLEkQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-drawer@9.5.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-9v755/LWQu76vvdsHiSMj/3XKvjfJT8NFQGHF+qwUj/wXmyW6ZfmVwW1HcwJ1dDMP6yOGBUXS9R56SqLIVGFxQ==} + /@fluentui/react-drawer@9.5.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-YE6Dhv+8clafDiBHpUPF2P3WR0er2PO3HtyXCN/rUs5AKQpVYu4Uc2eQu/C6wnQMWgEui//FP6qTS3UXRMIJ/A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-dialog': 9.11.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-dialog': 9.11.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4078,22 +3083,22 @@ packages: - scheduler dev: false - /@fluentui/react-field@9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-39DsB0nIOU7FdWN7+a8x2RKPaZrAMmsGaz85DOYryzbp8y9bn990BjU8WnhquNABkW2xJNI9gEi0goW/R3tmiQ==} + /@fluentui/react-field@9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-eV1MKB97lgvgiVEps9OakqXXeLGHTdLSK7Zd/QmD4HzSSV/XapRLCw+7fITBoG19Tp8AVkGbZI753iPPOv9RZA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4109,103 +3114,73 @@ packages: react: '>=16.8.0 <19.0.0' dependencies: '@fluentui/set-version': 8.2.23 - '@fluentui/style-utilities': 8.10.18(@types/react@18.3.3)(react@18.3.1) + '@fluentui/style-utilities': 8.10.21(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 - dev: false - - /@fluentui/react-focus@8.8.43(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-8t7RyNvU3VOD/1uYYexaY0Fqumtl9yKo1lDmKrCYxqvknHm85V6E30cueyprmEBd+F4yLwCdElxAJJNsg4K3Fg==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/keyboard-key': 0.4.15 - '@fluentui/merge-styles': 8.6.1 - '@fluentui/set-version': 8.2.15 - '@fluentui/style-utilities': 8.10.6(@types/react@18.2.74)(react@18.2.0) - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/react-focus@8.9.10(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-9kV15td8uuYhQS4bTLImxVo75dmbeOK0rZ4gQgOAY/0nKRYwiCLfH9SwQuEa+eCmjsBTNuDlXgghjQJyKFh5+A==} + /@fluentui/react-focus@8.9.13(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-oUtY4F+tp0RmV0Wr30CoYFdTQEqHWKjU3/dYHPbI0xKH4emLrf8+sc0FAHJdeHH2rx4T1XSA807pm7YB4CQqWw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: '@fluentui/keyboard-key': 0.4.23 - '@fluentui/merge-styles': 8.6.12 + '@fluentui/merge-styles': 8.6.13 '@fluentui/set-version': 8.2.23 - '@fluentui/style-utilities': 8.10.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/style-utilities': 8.10.21(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 - dev: false - - /@fluentui/react-hooks@8.7.1(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-E5PMJ/QB/FdLiEj+3nx8599/QVhepxBa+DIsYTEMZHnGp9fu1OLzl3XX832kZ8P6QAqxpYy6gJtmOWNKWuBQwA==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/react-window-provider': 2.2.19(@types/react@18.2.74)(react@18.2.0) - '@fluentui/set-version': 8.2.15 - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/react-hooks@8.8.10(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-Xvnn6uKMsinMg/zo79KBNCDABnl0gpmArQYNQya9FCNRzvmHUCDvuQCqv4IKslvPvuC0Ya8mR2NORm2w0JoZiw==} + /@fluentui/react-hooks@8.8.12(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-lplre6x5dONjd12D0BWs4LKq4lX++o0w07pIk2XhxikOW1e4Xfjn6VM52WSdtx+tU4rbLUoCA8drN2y/wDvhGg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-window-provider': 2.2.27(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@fluentui/set-version': 8.2.23 - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/react-icons@2.0.252(react@18.3.1): - resolution: {integrity: sha512-MvvgjRL2Hb0ftQkJwQRqwlNNMUTqh246psL1Xb4DRWZjpxR+CcDY9UxAyIu2Fp6i2/BEWtizIMzo8sxH0e1YRw==} + /@fluentui/react-icons@2.0.258(react@18.3.1): + resolution: {integrity: sha512-SRCW+3q/fBBCwgucdnfuRad9ck/hQW92xAJ+tELKBJI4f9BJ1U8QyeZoRu14xMEKL/VsFLbEkeXNAgvjJ0IjkA==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/react': 1.5.24(react@18.3.1) + '@griffel/react': 1.5.25(react@18.3.1) react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/react-image@9.1.71(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-OKUbVsZLVe/kRP7KrweHDkztY8FUz6HzEPxZvJqIkwDf+KIJJxDV4R9Hpw8Fis6ceLbj/VI5JUVwGIp5YQlsjA==} + /@fluentui/react-image@9.1.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-aVpillfiEIqqlyQGGFf17WtiKKFhhGyUMVUv3zLksick/5kifk7zdAW623PA8mpeQf6U1tSPJc8iaXSwr+5cwQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-infobutton@9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): + /@fluentui/react-infobutton@9.0.0-beta.102(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): resolution: {integrity: sha512-3kA4F0Vga8Ds6JGlBajLCCDOo/LmPuS786Wg7ui4ZTDYVIMzy1yp2XuVcZniifBFvEp0HQCUoDPWUV0VI3FfzQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' @@ -4213,15 +3188,15 @@ packages: react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-popover': 9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4230,23 +3205,23 @@ packages: - scheduler dev: false - /@fluentui/react-infolabel@9.0.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-Jp544tDHH+Ss2XsHJy18nQlWA8tv4jKWXR9wwNS8NbKk40mW+KIVV4fbq8fUvD29McHI9vpuAMl5Yfzpcu2hkg==} + /@fluentui/react-infolabel@9.0.46(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-sDJDlRLroP+9XOj76mpLBpyUVng/+cJDPVNuNvJtS7JBVCs9owlQlq8RBcKFzdbLNh7GZgpi2qe0kUPCNOZYOQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-popover': 9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4255,21 +3230,21 @@ packages: - scheduler dev: false - /@fluentui/react-input@9.4.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-gl/HRKkxsJKlc9mBcblb6HSUWeqPJTpi2yAjyPMIHxVHOg1RftG3+5xQTcmkXwvFeUEfC/4krEMibsFBXtvwWg==} + /@fluentui/react-input@9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-O6THfgikbwpPgUYBcQBXbQ1dHpP6qY1P31gb7+epaX54AJMuo0xeANfSMBBhTkbLshyn6AS9OMOwrc/Zkvmfew==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4278,54 +3253,41 @@ packages: - scheduler dev: false - /@fluentui/react-jsx-runtime@9.0.35(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-UDLN0nqTfnc3i809F/6pn15CslU8l71zY8nBBF14PHht/5fsp529hABOjF/QXUZsHGUTVWolMJnVXt2SmNFD4w==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-utilities': 9.18.6(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 - '@types/react': 18.3.3 - react: 18.3.1 - react-is: 17.0.2 - dev: false - - /@fluentui/react-jsx-runtime@9.0.42(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-/iKhJx5htz+iBjWRjviM7cEAiG0y9oqVimmeWaZChi0M5abwvHkueYQ+n1BhzYOtsdeuXXcbrkx4VkaO5j5Efg==} + /@fluentui/react-jsx-runtime@9.0.44(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-cnFjiFaztl3zV2bL/Pgsa/dvLES/gNzSKkBUD3ShWeaEi7LbInc3+tnCcttBSTSNdLh8mcuzQkUCImVSD857VA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 react-is: 17.0.2 dev: false - /@fluentui/react-label@9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-9EDwomVwcHJvI7QKIsBok3EQ5Ty5R3cDMnYZl7OIugffEvt+UWcmNyIOckYt80vsPYNbM9XqTt4rNAvCkFd1UQ==} + /@fluentui/react-label@9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-7lqil5XIYkxSQNy/GEqFypAo0eQyjYIPYu0LO2z8UPCuRyaItHA/ArSc3GnyIL/naY9Wz1EG2WvakLbgB+PkGg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-link@9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-k1/i8ktTCbztK88YogIt2FYCpJJMFxC4IzXAvpKLioTw6N3ITmxo9KuNNMvOYckGgHyvJliWutu/rSozFXTDmg==} + /@fluentui/react-link@9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-BsjDm8ixFMoh+7Hi7WRgDxLEKYj61gc0VjCs9ah0JxJoM1o+OoJhXKc29a13qRJHMSB3Gfndw6nYCineRPcFiA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4333,21 +3295,21 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-menu@9.14.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-aBFXf5dtDLctNTb5+VTS7zqZgV3VOv6hEOpf4PmRZiWfw1WAjSwMKdWTWXunqIdd5eOZu9mB7y1RWSoyBrN7Jg==} + /@fluentui/react-menu@9.14.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-q0FVqSjTXQL8jO6Zf+fTFRbJglGBQS7dfkINZ966p9Kqq7zyHFMuaadXil2TpTkGcpo/Qva3wlFJoEeHki2PLQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4355,18 +3317,18 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4375,22 +3337,22 @@ packages: - scheduler dev: false - /@fluentui/react-message-bar@9.2.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-A1OwuzCK9Rce4PHYyPnB56qVMj2bg9Qb9h2qpHrChhz6Giol5Ty45lmmVqEpd/w+lyMC73Sgqyfg2Lucy/p3vw==} + /@fluentui/react-message-bar@9.2.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-JQFbO1EKx0Qel6hdQbSJTdKdPGCyaprt/pFabHpbhmMbIRwtMPuPbni6/tX7Eak5a8fHTVmTaaPZaeDEDB5kww==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4398,33 +3360,33 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@fluentui/react-motion-components-preview@0.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-V6NxqlIgNyad0FjwcseuMef0nJyyf9uKSy400EsfnL95X/u6zYze3WiXukSjU+HlL7iASvDZDovTX2oL0eVLTQ==} + /@fluentui/react-motion-components-preview@0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nVZNKf+VDOAswQtWv7ZWBpPCZYApALBR/AK+F+TlRPx7qjij1ZOCUq5qtXfAV/mmomeeTHVtI1zKLBtNQIQ43A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-motion@9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-WeLA0/INSf74DKFjCxHjn16p0Pak7LnKlaxva8r5ZMNNQ2Mcl7dFGdY+2e+qejghR7+8fzeojr+nQfKXH94uVQ==} + /@fluentui/react-motion@9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-43Y1ZXhGxts8RIqOSyD7FXLAZl6Xyy4aQQuneXQJihY3vgsgMBtaEuQ9ZS2Ewo3zYJAf1kgZK+Q7OdQ3M9jmEg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4432,8 +3394,8 @@ packages: react-is: 17.0.2 dev: false - /@fluentui/react-overflow@9.1.26(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-zrJfbLvxrW10GH+JtRhPclCeV/mxUxSYRsHBpD/RwABaE+L2PR//3QKHXCV7xIlFpNJUpmRbFe71dtb7Eyt2Xw==} + /@fluentui/react-overflow@9.1.30(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-4r0/YQaSX00OWeQwWsW9cctloTom1GguSaDRTxg2qMdwwr8gr9ZEni4LbCXJfH6soCNFzurnwdSeNOg4ogyT+g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4441,11 +3403,11 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/priority-overflow': 9.1.13 - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4454,22 +3416,22 @@ packages: - scheduler dev: false - /@fluentui/react-persona@9.2.93(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-b/D7LzDC75L2yR3V6d3F3KTs72rGvagIuX7tEVtvs3e0Q6iX3vlJAsZFd/ce4T49gMm9+gbI9TYJlDQmgoBJ+w==} + /@fluentui/react-persona@9.2.98(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-PpgHB1puW1GwwgvPtSwMMUs+CpP3mQCRivHmWq6sf609rZZyV+ItGf4IzEdCDa+rD2GvkN53zfcFU9RJtrJwPg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-badge': 9.2.41(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-badge': 9.2.43(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4478,8 +3440,8 @@ packages: - scheduler dev: false - /@fluentui/react-popover@9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-edgBJBYXJ8N6LgxH0bKgnMCFp430BpqqOzqf2Ap/0360qo9YbK8oUP2rfh0YZZJKcSC0bro3smcMbFQkq8v/3Q==} + /@fluentui/react-popover@9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-7pM/+vaSFDc6fFc8gCHw44aX4EKUyz3jAZXXEzUwg6cjQfJrK42Pfq6EAt0ZzftJdmdOXXTBToI3tqRA7ENlSA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4487,17 +3449,17 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4506,41 +3468,30 @@ packages: - scheduler dev: false - /@fluentui/react-portal-compat-context@9.0.11(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-ubvW/ej0O+Pago9GH3mPaxzUgsNnBoqvghNamWjyKvZIViyaXUG6+sgcAl721R+qGAFac+A20akI5qDJz/xtdg==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - dependencies: - '@swc/helpers': 0.5.6 - '@types/react': 18.2.74 - react: 18.2.0 - dev: false - /@fluentui/react-portal-compat-context@9.0.12(@types/react@18.3.3)(react@18.3.1): resolution: {integrity: sha512-5AVXWX9GnbvwnJZYUb4LSIF7BsI/N8oTI6+7Yn0w6B3yaWykA8Menlz757X5tgVBjouEj4Eom+AoVvA7u8gPDA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 dev: false - /@fluentui/react-portal@9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-c/mrsn29MvBIxkyYrIAdI9E9JCMicF7mCxpWFbQQZMYKdu4/qLCtkmQfvQKEI9WFQzLS8IzTRM+NajNewUi/nA==} + /@fluentui/react-portal@9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-b0OTtFUmbHOU41wbRITqe3Wlqx3zpmXXUUsFh0KtSTKsMrWy2a2jtl7ZToNRsFfa3opwKsvlk+ohRT5CkDyQ4w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4548,42 +3499,42 @@ packages: use-disposable: 1.0.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) dev: false - /@fluentui/react-positioning@9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-Zb+Td/a3nFDeLvz3pH6ebod7Bq9tsDtx2MGQ/aarfKAvbp9JRrmb/1nkqMEauth7NPg/JV9NfXJMGq5hvBQtrw==} + /@fluentui/react-positioning@9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-X/0Fv3XxRdvOMLUgrL9T9RsIB8FQUgwfT9joQsldK4g2KUiRxpQcmGBO6+kOOB2CjakDrGLxlL5TWTwjibLJQQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.6.3) - '@floating-ui/dom': 1.6.3 - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@floating-ui/devtools': 0.2.1(@floating-ui/dom@1.6.11) + '@floating-ui/dom': 1.6.11 + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-progress@9.1.83(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-hZGlarZwPhi90LwUsNStEymd/oqHt3Dc8mBm402RHD3XJOhJ+T7k71ROLblZOwm98m2hNJ0lSB3o6FztQlrtsw==} + /@fluentui/react-progress@9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-B3XK5hZgJDvKTQ536bDCvN8r6RjuA0ndlHjihAzjXefm5u990nEEI0FgjZcIlezEUGfWi5YPo3i3W17KjQ2QCA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4592,46 +3543,46 @@ packages: - scheduler dev: false - /@fluentui/react-provider@9.17.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-z2nKk8MEDmDivxhcySLhD4xuEuSJgXjO14SjMcLnerAimm3Wftgoayga23cvwGgLmoeqAjG7ykEgLEfAzRDk7A==} + /@fluentui/react-provider@9.17.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-BjnB8ZSuRPS2h6FP1RiMaR+hiTaX5iogqYktULhFYDeN8DoA6RDkLGrPcaaGqYQTIVKKAJUqN18QoPmh8WBh6A==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) - '@griffel/core': 1.17.1 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) + '@griffel/core': 1.18.0 '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-radio@9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-WoH95UndR6sx+BfBH4MdztHWIodi6smpZekKBUN7Y5YjvD2delCxEDaEn5Ct5qyF3pY6rwlkVTSvmZ+GSC/baQ==} + /@fluentui/react-radio@9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-KwpK7rn+ATsRPRLXeNzHreCeoLQnMWIW+GzPfAoaHm3NI/cwQSqSdEItbUnWKq7i8evJpyGbPSooboMwlCo9Zw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4640,42 +3591,42 @@ packages: - scheduler dev: false - /@fluentui/react-rating@9.0.15(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-fa8rDyvxQplqL234IMThWRVfVj3U7y3LiJcjliZ1YrTNkTVRg/w7LK010625Ased2IOBIWS4YLP1UFBFdxIflw==} + /@fluentui/react-rating@9.0.19(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-c1/tEJXx2DpDeJ8r1AbrCtRQb+4RlM9tMoQDuHqLxscmrrxvvKCbjqCOvA/myiMczuAsp2z6Fvlc4LESjdqxpA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-search@9.0.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-mg2vI15635/h/9/FffxrVBXrD8AiCRetCISbvNHCgzHMl/1M1C/7HsJnaLj+U6wl3sgBVaWYJgLgyLd8jcc1hg==} + /@fluentui/react-search@9.0.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-bUxi28d8KfrKKaG61n5YXE/A7qrp6amwrn/+iJo9PXYN4FlY8FAjYQ9vZOjR+1yWmNbaSisuZHKA7IisrmahEQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-input': 9.4.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-input': 9.4.89(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4684,22 +3635,22 @@ packages: - scheduler dev: false - /@fluentui/react-select@9.1.83(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-vdbkFOtkG3ychVsX1b1nMxsewzu2e+ox+p+rIn2X6hBqa989797VJdhXRRQYMfCs1phSlDL1HCPM1p1s7827Lw==} + /@fluentui/react-select@9.1.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-LlREKNfCxpXh9j1D27FL/WLgoJs5vKK4HBFpAr4FGII0OFIl2wMCb7SpeaBziuPQU7EnEjeqHlG2hN5oVARoJw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4708,45 +3659,33 @@ packages: - scheduler dev: false - /@fluentui/react-shared-contexts@9.16.0(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-KUfjbVKQOK3bEZ4ImZZDMtEQWQToRqfmLVGilKV9m5ksfcgk/B5v0ny08LCFPRSmtCW/WB1N+eaMLYQm6y9vkA==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/react-theme': 9.1.19 - '@swc/helpers': 0.5.6 - '@types/react': 18.3.3 - react: 18.3.1 - dev: false - - /@fluentui/react-shared-contexts@9.20.0(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-LOMgP51dC/dOQOopEhvRk9V/GlpkStMbXTsci+2raG+Zno3eIdS3TesWCango+r5rpBFCIZl4HOpGEErHGm03Q==} + /@fluentui/react-shared-contexts@9.20.1(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-QoduMl+QkZ3FEyiSc+rCBbCLY88L/uX8o/eXoJOI0v1px/+5iYkCIUlQPiU9nCGjAI+C8AmG4pIJ7h5iLUlAyQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-theme': 9.1.19 - '@swc/helpers': 0.5.6 + '@fluentui/react-theme': 9.1.20 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 dev: false - /@fluentui/react-skeleton@9.1.11(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-e5Pl8EqclZ2NHAdRtwheFmrNwvynVooem0Hh+w19AZwuukjFDvpdWktJ6mpECtPQyaWgcFb67mO1IbfnQNffqA==} + /@fluentui/react-skeleton@9.1.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-bRRB3DOxmX1lM1dAayAsIpVZU2rIOzlHpO7yVV9LhWGnGnfNRhYCcM3WSQXhdCmGdUSbb02lSo85PYB/JyW9Zw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4755,22 +3694,22 @@ packages: - scheduler dev: false - /@fluentui/react-slider@9.1.90(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-k+NppSxPKYji9KqtKbpfo6Lva8g6dO289Hpkt8UAwyuV1c7BxnwgOLfPXE9OyQg28J0vcsluxYXFwsLyRqj/Fg==} + /@fluentui/react-slider@9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-7US332rPd6rH8KRFP3TvAwxMGx/UKJo/Bv0i9rtszNPDi0nF1988uvvj1sfC4MA2I343ASajs+lnaav14BUa9g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4779,8 +3718,8 @@ packages: - scheduler dev: false - /@fluentui/react-spinbutton@9.2.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-3Zsqk5zYXNrCjAR6wIrwvMMbrKthdXJKQH3Z37LhF+gfRfwq34dyj8N5CFhXYi0bClWRqK3namX2cMXZ7FqIsQ==} + /@fluentui/react-spinbutton@9.2.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-UDsPhLOqQieGzPF5a9WNTB3qo49y65rhjNd7Fq1j2Vc003P02USl4MyonTkPugsNoMm30slxgErym5bLj3Cbug==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4788,14 +3727,14 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4804,44 +3743,44 @@ packages: - scheduler dev: false - /@fluentui/react-spinner@9.4.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-pcIxhJtM0SFqDqL7/FUm9h2AbKn9D7WLjwXfE0Umx8T9cp8H/D1VgL9whCGqnvwa2BX2xWTmPbSz6QVRdwL7Jw==} + /@fluentui/react-spinner@9.4.14(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-CT38dZhvXWxcUWZaL0jwuxj5P0ttQp4Njx3ZhIXn87/8HIxGGT9QOirBjp+1nGq5gA5q1AYyPy4sbrcculA48Q==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-swatch-picker@9.1.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-vLpmM2ENFPs+4qemjswfO5gEveUFIqSS/Gu1z7FiBbp/tUNS13rXYQBiUPFCS8xEsQG4gNcozBs9Lejdyean4g==} + /@fluentui/react-swatch-picker@9.1.10(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-3vymANhAbyD+iV0ENQe4atX0lEDqFfgO5uQzrVl7jQdfmkaBmuzdlqPJ9Tl/wyEsiEys3+1JkgDiS0MoOrTTlg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4850,24 +3789,24 @@ packages: - scheduler dev: false - /@fluentui/react-switch@9.1.90(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-0xd7vn1o+XsGk4jIkA6mAXJm4HxnFcK2WoQI3NFjsJ1wXdghHZEEV+1YX0bgUUh4DouXfETrQzgZKkF0c1uCFA==} + /@fluentui/react-switch@9.1.94(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-MXsOmfGHc9b/JEwplZi7LHmk7t8c/rzgK5Z9Avpbj19+sNsHJlnyl7IwLEVJHwxgO3r5dp1fgPbsmUdEoBEyOg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-label': 9.1.74(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-label': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4876,8 +3815,8 @@ packages: - scheduler dev: false - /@fluentui/react-table@9.15.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-J7oF4szGNhXboobgOeNGMy3F342IJYma76sEQhUN1rZEHpIkJIEfldUtdXlJK72N3RRaNruq26WTpeQFLaT9MQ==} + /@fluentui/react-table@9.15.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-5PuN2OC/DaFEZdrw7WTIcZFqZbTAJU8gTtgbDHSvM3+KMsTE65JHus24sDrnAshjiNcYorEKZdoWZq/bDr46Aw==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4885,19 +3824,19 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-checkbox': 9.2.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-radio': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4906,22 +3845,22 @@ packages: - scheduler dev: false - /@fluentui/react-tabs@9.4.27(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-aJmaTqXz77neyJpgffdKi9gpLtGQjRZcVcvhR/Ft0ZMC+u8XGkTlrtF0ntZZcnPwzeZ7P2qjMMrdvIyDsaSxMg==} + /@fluentui/react-tabs@9.5.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-tBPyIvTvQnDtTtvWW7qgmK9Wz4DUEZU7MUmG6/n5aKluzutiCA7uC33xa8ndUibxEBSMiVJVHL7VTeo/+1/3eQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4930,29 +3869,29 @@ packages: - scheduler dev: false - /@fluentui/react-tabster@9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-z/icX1sMTHVXJxq2tlNKGM9A9J7RYLgu03vVh+0z4N+Q4k5Oe0HvKFNyi447+R5UEHbWebMEpabbTIox3DuLQw==} + /@fluentui/react-tabster@9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ITvm69INou9WGVN+l+iJhYFZ+8zEgP++IKu7/oUxOfjNYzqDzEm3Q8u4oxdlv9ofVGT1qXZhA7jSDE6DOnlXmA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 keyborg: 2.6.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tabster: 8.0.1 + tabster: 8.1.0 dev: false - /@fluentui/react-tag-picker@9.2.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-pApWLCBA/Lpi7WRCyNEAr5Vmye6/WtOHdTpjLTWPb4ymWM1ifXZwHGmD1c7dvukhO4jxWbQHFCz0Jt3ElyoY5Q==} + /@fluentui/react-tag-picker@9.3.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-okIO+Ock5t7dvNUHTtJyw6OPTqYsSnDy8mePhG67pGwDDOTGWqgikEfUBDN1bO8NaQf56tivubyyg7s2boLZTg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4960,21 +3899,21 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-combobox': 9.13.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-tags': 9.3.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-combobox': 9.13.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-tags': 9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -4983,8 +3922,8 @@ packages: - scheduler dev: false - /@fluentui/react-tags@9.3.13(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-Q+vY6q8HecNIPH0VQ8nIIcInBFScfGvG+5VZkCV+LOQ/QLY7AhXt/dJPsx0nFJXhoxSrTXyPYm908RdBsfnv8A==} + /@fluentui/react-tags@9.3.18(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-DSZJx95xeF3Hhw5VardJAAApeGdR9BHZt+oJmZl0qdHPShQTh9g848kSXy94iwK2xU3VWfenBWPSk+LqEIwxxg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -4992,16 +3931,16 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -5010,26 +3949,26 @@ packages: - scheduler dev: false - /@fluentui/react-teaching-popover@9.1.12(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-bzZQWZRgOWGNbohu0MKIbjQkQiosgBBetBvUrJZiQsV3Dw8rKuU1TyRBNbLuSyA0AOGPR0NHQBkbCkfnMgnKBQ==} + /@fluentui/react-teaching-popover@9.1.17(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-aA7ImKM4xGf/CK1Bhs5MD8suow76vdRzscHnvCRMBZ9MSqLlkLglvJevzntyhuUAEV1qXxaJZHHbWhY5+/cfHA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-popover': 9.9.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-popover': 9.9.21(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -5039,41 +3978,41 @@ packages: - scheduler dev: false - /@fluentui/react-text@9.4.23(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ZQu7yBSULDIbCOvP9B1ViK4BFSb2T6VaWUbv5qfUEV4g24b812EspTYNdoicx7SqdaDt1tSdpy1wFl6QViC5/Q==} + /@fluentui/react-text@9.4.25(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-PVEDG1X3z3C8igtI2g2bTSiWPWmzF/6lT2yB70W+lsWmI5+L54aW0rNF2/GOls25N/+MHRAGBIk5SmMWW+SH8g==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-textarea@9.3.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-ORBGHRX4rJMo3CMVt459KJucPSIo5liedQjs5Uzlp5eJsWuWQdWj0j9bKf34wNc3kD+ciyDrjGI4xSgaRd30OQ==} + /@fluentui/react-textarea@9.3.88(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-gjSgqvstE2vxUdY11Yw/zcFkXhZ5cAy/GJWppqhLV9KnBT4nTeT7ODmz44qMekJ1rNtwBx8Gk7RJe9HVhKbZTQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-field': 9.1.72(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-field': 9.1.76(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -5082,15 +4021,15 @@ packages: - scheduler dev: false - /@fluentui/react-theme@9.1.19: - resolution: {integrity: sha512-mrVhKbr4o9UKERPxgghIRDU59S7gRizrgz3/wwyMt7elkr8Sw+OpwKIeEw9x6P0RTcFDC00nggaMJhBGs7Xo4A==} + /@fluentui/react-theme@9.1.20: + resolution: {integrity: sha512-Rh3N2ewCBlY9q+bucEKfii7sovp03HgZvN4Xwg8gbnVWA9zgX0QyTTPR+ynV+kMuwP1OiGmGHOiO+daz1k1dbg==} dependencies: - '@fluentui/tokens': 1.0.0-alpha.16 - '@swc/helpers': 0.5.6 + '@fluentui/tokens': 1.0.0-alpha.17 + '@swc/helpers': 0.5.13 dev: false - /@fluentui/react-toast@9.3.51(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-msbIdN1x4XlifDDxaoV54aQ+dCjIVH7l9J37mG98ySrjP1F+QpDcaZ87xPb0Cpfg/oUkdvsK6FCeCl6HrWIGWA==} + /@fluentui/react-toast@9.3.56(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-L3zHGTh32D5tACTCKnXAx4cdXWnY9zBFOVUl/Qpm1PdP4i/4mn4khNRmHDbN9U30a2VyxGWKiU/zQ70NuoMd+w==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -5098,42 +4037,42 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-motion': 9.4.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-toolbar@9.1.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-mkrtSd95uT2udBgHZXseAtSSziqm6BB0nRi4NEoXvRj9fbJTTP54Xb/HM6LZYEp+cxzcbNLPvKQzNw+Sh3VHow==} + /@fluentui/react-toolbar@9.2.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-Z4FEfrNsI5WJKv0/cuU6ysyGVi35EXVpkuLxnodUkFxTXu3nNUrBnqgEomz7p6psnOjFXJP1PvxU+ndAQhtVJg==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-divider': 9.2.73(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-radio': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-divider': 9.2.75(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -5142,8 +4081,8 @@ packages: - scheduler dev: false - /@fluentui/react-tooltip@9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-UgFRwNaOYCgMv88ds5kBZY6NPsj5eH5RYSw09WsXPpeow84eDSovH4iAW3iduDYThoFIYdJc4cUuhn49f131zQ==} + /@fluentui/react-tooltip@9.4.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-j424ZG4stTg3UbWUb1lYIteBCO37TB4pYNnX8ARLeaAE7kdQTD/t5GEDD2fyVhYYi097xJhUA4jMhsPig06Jow==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -5151,23 +4090,23 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-portal': 9.4.31(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-positioning': 9.15.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-portal': 9.4.35(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-positioning': 9.15.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-tree@9.7.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0): - resolution: {integrity: sha512-AaOziw3wZ5yTGXs7cGIblR2noqVP2O785/0ZUFdMj0DredAfU7m2coIFrj64xa2W7FvVOueiUcGU8LBRzXarpQ==} + /@fluentui/react-tree@9.8.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2): + resolution: {integrity: sha512-nKvzBl5hLHUU7NcRlljxfWhEeRsPZrTGAz6+aVbT6C1Lu6AC2kOhLryjRqGct0/9KK7N3WS0UjNjDS7dXtt8TQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' @@ -5175,20 +4114,22 @@ packages: react-dom: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-aria': 9.13.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-avatar': 9.6.34(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-button': 9.3.87(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-checkbox': 9.2.33(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-context-selector': 9.1.65(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-radio': 9.2.28(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-tabster': 9.22.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-theme': 9.1.19 - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-aria': 9.13.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-avatar': 9.6.39(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-button': 9.3.91(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-checkbox': 9.2.37(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-context-selector': 9.1.67(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-motion': 9.5.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-motion-components-preview': 0.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-radio': 9.2.32(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-tabster': 9.22.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-theme': 9.1.20 + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -5197,65 +4138,40 @@ packages: - scheduler dev: false - /@fluentui/react-utilities@9.18.13(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-Qk9rL5tZI+az77+S2WKwLWu+WOSZZJSIthxp/ImjuiR6CS+LMrVdl0UC8lHpq03QU7hPgNxbbo0cVnCFazU3Lg==} - peerDependencies: - '@types/react': '>=16.14.0 <19.0.0' - react: '>=16.14.0 <19.0.0' - dependencies: - '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 - '@types/react': 18.3.3 - react: 18.3.1 - dev: false - - /@fluentui/react-utilities@9.18.6(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-TLWL0jqArzZXZLLzA/Mi7gMDBr8tc7LcCnCnZBIHniVB/eESMKgTYl6EwbepHfkkcPfp+amH9U4CbXADNqQQsw==} + /@fluentui/react-utilities@9.18.15(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-eJX6nyfHFRR6cZ3bi9c7s8rxIo6wCQE+phFzLqBke+RUV+p3Hwf6zW1IBVWauoaQKwPAW5RdWRYZrahqwo4DOA==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' react: '>=16.14.0 <19.0.0' dependencies: '@fluentui/keyboard-keys': 9.0.7 - '@fluentui/react-shared-contexts': 9.16.0(@types/react@18.3.3)(react@18.3.1) - '@swc/helpers': 0.5.6 + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 react: 18.3.1 dev: false - /@fluentui/react-virtualizer@9.0.0-alpha.82(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-XvkDXua8Tn9If02RhLPzFMR7CivAZ+frCajQFKaWZjE7OJqYsJ+hKb5ZGz7SWdOPtFq6uxe3H96vG1aDcA0n+w==} + /@fluentui/react-virtualizer@9.0.0-alpha.84(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-CM0fKLVKQ++Z1KCFDQpxo9gULkIwAbtOFFcJwl5nxqszRmML3dL+dSX5NZMSCk2bg1VlQ+Dx1tqL5Q/Eh1f2aQ==} peerDependencies: '@types/react': '>=16.14.0 <19.0.0' '@types/react-dom': '>=16.9.0 <19.0.0' react: '>=16.14.0 <19.0.0' react-dom: '>=16.14.0 <19.0.0' dependencies: - '@fluentui/react-jsx-runtime': 9.0.42(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-shared-contexts': 9.20.0(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-utilities': 9.18.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-jsx-runtime': 9.0.44(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-shared-contexts': 9.20.1(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-utilities': 9.18.15(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@swc/helpers': 0.5.6 + '@swc/helpers': 0.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@fluentui/react-window-provider@2.2.19(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-1K2ppKkaulLnMD+VvSRw9tufzR/MqGbuP/BKV0vRdyO/pqU+rIhNKj17F3uistJOOSmn+suz4l4wCk4Br5hdKA==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/set-version': 8.2.15 - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 - dev: false - - /@fluentui/react-window-provider@2.2.27(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-Dg0G9bizjryV0Q/r0CPtCVTPa2II/EsT9E6JT3jPSALjQADDLlW4/+ZXbcEC7geZ/40+KpZDmhplvk/AJSFBKg==} + /@fluentui/react-window-provider@2.2.28(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-YdZ74HTaoDwlvLDzoBST80/17ExIl93tLJpTxnqK5jlJOAUVQ+mxLPF2HQEJq+SZr5IMXHsQ56w/KaZVRn72YA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' @@ -5263,39 +4179,11 @@ packages: '@fluentui/set-version': 8.2.23 '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 - dev: false - - /@fluentui/react@8.117.2(@types/react-dom@18.2.23)(@types/react@18.2.74)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OGYPgl51o8DHyoAMRPdHRiampMNGV49pXWfdGub83fsQDyvU5D34XY+K4H6tThjqYtOSctL6gcMnUMIozez6sQ==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - '@types/react-dom': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - react-dom: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/date-time-utilities': 8.6.1 - '@fluentui/font-icons-mdl2': 8.5.35(@types/react@18.2.74)(react@18.2.0) - '@fluentui/foundation-legacy': 8.4.1(@types/react@18.2.74)(react@18.2.0) - '@fluentui/merge-styles': 8.6.1 - '@fluentui/react-focus': 8.8.43(@types/react@18.2.74)(react@18.2.0) - '@fluentui/react-hooks': 8.7.1(@types/react@18.2.74)(react@18.2.0) - '@fluentui/react-portal-compat-context': 9.0.11(@types/react@18.2.74)(react@18.2.0) - '@fluentui/react-window-provider': 2.2.19(@types/react@18.2.74)(react@18.2.0) - '@fluentui/set-version': 8.2.15 - '@fluentui/style-utilities': 8.10.6(@types/react@18.2.74)(react@18.2.0) - '@fluentui/theme': 2.6.44(@types/react@18.2.74)(react@18.2.0) - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - '@microsoft/load-themed-styles': 1.10.295 - '@types/react': 18.2.74 - '@types/react-dom': 18.2.23 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/react@8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-MpsmyRT9F0WA/VzTFTXPjCPOGiuQ5eAS79p7+NGXnVbAjZBi39hoKoiMamN2KMdpUU6SOLSdY6ZslO1BwIpKgg==} + /@fluentui/react@8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-loZJYZ/qAjoz7la4uClrwJV50pYe+reopYjdgEZX3cjYMPzdIdDsAuRY+HJ9SqOOW97k6PTyBtYvpVpfy7OdEw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' @@ -5303,77 +4191,51 @@ packages: react-dom: '>=16.8.0 <19.0.0' dependencies: '@fluentui/date-time-utilities': 8.6.9 - '@fluentui/font-icons-mdl2': 8.5.47(@types/react@18.3.3)(react@18.3.1) - '@fluentui/foundation-legacy': 8.4.13(@types/react@18.3.3)(react@18.3.1) - '@fluentui/merge-styles': 8.6.12 - '@fluentui/react-focus': 8.9.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) + '@fluentui/font-icons-mdl2': 8.5.50(@types/react@18.3.3)(react@18.3.1) + '@fluentui/foundation-legacy': 8.4.16(@types/react@18.3.3)(react@18.3.1) + '@fluentui/merge-styles': 8.6.13 + '@fluentui/react-focus': 8.9.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) '@fluentui/react-portal-compat-context': 9.0.12(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-window-provider': 2.2.27(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@fluentui/set-version': 8.2.23 - '@fluentui/style-utilities': 8.10.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/theme': 2.6.56(@types/react@18.3.3)(react@18.3.1) - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/style-utilities': 8.10.21(@types/react@18.3.3)(react@18.3.1) + '@fluentui/theme': 2.6.59(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@microsoft/load-themed-styles': 1.10.295 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/scheme-utilities@8.3.42(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-3q1ej7hdoJkBw2c9GU90StWMxqHMmuKcpALs67DlpBpJ/3vIOeMumKoS7Yl34AfyUwiz1Dw38TZOhDJ1y2nfxw==} + /@fluentui/scheme-utilities@8.3.60(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-rh79B+YFUHmDXAtA8uucUZIUa77ENNylfpsSq0bULNxG21sVwcCaWqPXHr4MBgjxkbOoUkPP+kDSd6sc/aHAwQ==} dependencies: '@fluentui/set-version': 8.2.23 - '@fluentui/theme': 2.6.56(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.2 + '@fluentui/theme': 2.6.59(@types/react@18.3.3)(react@18.3.1) + tslib: 2.7.0 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/set-version@8.2.15: - resolution: {integrity: sha512-cJjpAeyFXZ7X6zKpEqtWTjyZXcvdBrz9jvBX3BBrqe3ooYaK+2tHE1ezGaS6NGh8R74qOH3z45gbjleHmKGS5g==} - dependencies: - tslib: 2.6.2 - dev: false - - /@fluentui/set-version@8.2.17: - resolution: {integrity: sha512-AdhnGcw0qAdSJliDYc2sWh+fryeN9FjFw7VVw8/eG1U97k6KmJvAmMMgqcOir1XZgRRnwL4EjSPc5TWYwh5EuQ==} - dependencies: - tslib: 2.6.2 - dev: false - /@fluentui/set-version@8.2.23: resolution: {integrity: sha512-VPXaBsiaa3Xn/AY40nLU9bvDQ62lpMVnFzFTlQ8CbpdwrjxNlRxDUY5vRToNzp1+Zu5gD/+CgsXqIZGcry5L5w==} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@fluentui/style-utilities@8.10.18(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-nsXc6LI/UaPrJUh71WIqR19+mmfPl0b4qhaBUOzBGznGKU8jKlHT94pJbAIhWIjytdS8Zk8qtgStI+oYMxz9xg==} + /@fluentui/style-utilities@8.10.21(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-tqdSQI1MAnNUPtNKKV9LeNqmEhBZL+lpV+m6Ngl6SDuR0aQkMkuo1jA9rPxNRLUf5+pbI8LrNQ4WiCWqYkV/QQ==} dependencies: - '@fluentui/merge-styles': 8.6.12 + '@fluentui/merge-styles': 8.6.13 '@fluentui/set-version': 8.2.23 - '@fluentui/theme': 2.6.56(@types/react@18.3.3)(react@18.3.1) - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) - '@microsoft/load-themed-styles': 1.10.295 - tslib: 2.6.2 - transitivePeerDependencies: - - '@types/react' - - react - dev: false - - /@fluentui/style-utilities@8.10.6(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-SP7bsQ5v9UdVgZCteKo8VMSlnbrtwfuLrXxbnt4uHRRvpee1ZTcFQtqIDCgB9n7z3fcEFFlTgj3NsmYea4i3Sg==} - dependencies: - '@fluentui/merge-styles': 8.6.1 - '@fluentui/set-version': 8.2.15 - '@fluentui/theme': 2.6.44(@types/react@18.2.74)(react@18.2.0) - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) + '@fluentui/theme': 2.6.59(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@microsoft/load-themed-styles': 1.10.295 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - '@types/react' - react @@ -5382,10 +4244,10 @@ packages: /@fluentui/theme-samples@8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-aRr99fq0HNzsG68fJjHBbZSkxDe1BA/hpprCgJj7P69jFJbf2V1GBWXQfoTDPj/PZKS80qlJLo6M+B7yHaet+A==} dependencies: - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/scheme-utilities': 8.3.42(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/scheme-utilities': 8.3.60(@types/react@18.3.3)(react@18.3.1) '@fluentui/set-version': 8.2.23 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -5393,103 +4255,54 @@ packages: - react-dom dev: false - /@fluentui/theme@2.6.44(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-d3CppiTHQHoN1Gsxz0aU3SodnLBHBwH6OB+SU3EqSNc9qrjpqAf92MaYD6x3SWIdmqsYbb6qrZmChjzvktm1sw==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' - dependencies: - '@fluentui/merge-styles': 8.6.1 - '@fluentui/set-version': 8.2.15 - '@fluentui/utilities': 8.15.1(@types/react@18.2.74)(react@18.2.0) - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 - dev: false - - /@fluentui/theme@2.6.56(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-uUDfZpye7e+oXpmP0DOboBYKlyAxbLamnVdWs1a7l6fWEqTNfwDPIPZpMkdDmIBTjE6Q9eHP1u1PmQpMSlz0wA==} + /@fluentui/theme@2.6.59(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-o/6UgKgPW6QI/+2OfCXeJfcOCbtzLIwM/3W/DzI2Pjt56ubT98IEcb32NCHoIKB2xkEnJoTjGgN1m+vHAvcQxA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/merge-styles': 8.6.12 + '@fluentui/merge-styles': 8.6.13 '@fluentui/set-version': 8.2.23 - '@fluentui/utilities': 8.15.13(@types/react@18.3.3)(react@18.3.1) + '@fluentui/utilities': 8.15.15(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 - dev: false - - /@fluentui/tokens@1.0.0-alpha.16: - resolution: {integrity: sha512-Gr9G8LIlUhZYX5j6CfDQrofQqsWAz/q54KabWn1tWV/1083WwyoTZXiG1k6b37NnK7Feye7D7Nz+4MNqoKpXGw==} - dependencies: - '@swc/helpers': 0.5.6 + tslib: 2.7.0 dev: false - /@fluentui/utilities@8.15.1(@types/react@18.2.74)(react@18.2.0): - resolution: {integrity: sha512-9RdPGXmwnAhmVSVD/9F+P5dAQMpiLZudp8tpCYbSCftqtGpDtbWeTX/V9JEtG++fy50V6dpjLDCCOcBu20erAA==} - peerDependencies: - '@types/react': '>=16.8.0 <19.0.0' - react: '>=16.8.0 <19.0.0' + /@fluentui/tokens@1.0.0-alpha.17: + resolution: {integrity: sha512-tD+sHoY9u31SrgnWOl1XwWawCUQEgLWZkR+WiQbekoj2s2RCe8aO6Bl33qkh+pcskThukBpcFU5lHwqqTgUKJA==} dependencies: - '@fluentui/dom-utilities': 2.2.15 - '@fluentui/merge-styles': 8.6.1 - '@fluentui/set-version': 8.2.15 - '@types/react': 18.2.74 - react: 18.2.0 - tslib: 2.6.2 + '@swc/helpers': 0.5.13 dev: false - /@fluentui/utilities@8.15.13(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-DrPv5baKHYtwB+OFqtGiOucdHFbqbnW7TSyxigADYkZQzJj1lnw5DoEGsVyMMVacD4vR21L3JfkMmfrhWm6hyw==} + /@fluentui/utilities@8.15.15(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-7GpET/AuWR8aBEQSQj9iO2j+9riAaoK1qBduCB4Ht6353d25vwwsKXreHZGqS8efv+NNIxQTlLWz0Rq73iQFWw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: '@fluentui/dom-utilities': 2.3.7 - '@fluentui/merge-styles': 8.6.12 - '@fluentui/react-window-provider': 2.2.27(@types/react@18.3.3)(react@18.3.1) + '@fluentui/merge-styles': 8.6.13 + '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@fluentui/set-version': 8.2.23 '@types/react': 18.3.3 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: false - /@griffel/core@1.17.1: - resolution: {integrity: sha512-K3osVOktJ5nioY62idtkjLiIdVcazMwraNxkUMhLtoapDthnKVSC3+gYTuPCBZMdfLH5Hl5Y29YUClRlDjyb7g==} - dependencies: - '@emotion/hash': 0.9.1 - '@griffel/style-types': 1.2.0 - csstype: 3.1.3 - rtl-css-js: 1.16.1 - stylis: 4.3.1 - tslib: 2.6.2 - dev: false - /@griffel/core@1.18.0: resolution: {integrity: sha512-3Dkn6f7ULeSzJ1wLyLfN1vc+v3q5shuEejeMe4XymBozQo0l35WIfH8FWcwB+Xrgip4fLLOy1p3sYN85gFGZxw==} dependencies: - '@emotion/hash': 0.9.1 + '@emotion/hash': 0.9.2 '@griffel/style-types': 1.2.0 csstype: 3.1.3 rtl-css-js: 1.16.1 - stylis: 4.3.1 - tslib: 2.6.2 - dev: false - - /@griffel/react@1.5.24(react@18.3.1): - resolution: {integrity: sha512-WDxWyg182kL/aFCViybARAm/ZFVZoJDiW52pguveZx6cJvvc51esZ2qYJhsbMoy8cqOfnfOrWhOibdb89kgXAQ==} - peerDependencies: - react: '>=16.8.0 <19.0.0' - dependencies: - '@griffel/core': 1.17.1 - react: 18.3.1 - tslib: 2.6.2 + stylis: 4.3.4 + tslib: 2.7.0 dev: false /@griffel/react@1.5.25(react@18.3.1): @@ -5499,7 +4312,7 @@ packages: dependencies: '@griffel/core': 1.18.0 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@griffel/style-types@1.2.0: @@ -5518,13 +4331,13 @@ packages: '@hapi/hoek': 9.3.0 dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -5540,18 +4353,6 @@ packages: deprecated: Use @eslint/object-schema instead dev: false - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: false - /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -5573,7 +4374,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 22.7.1 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -5594,14 +4395,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.3 + '@types/node': 22.7.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.3)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@22.7.1)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5613,7 +4414,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -5636,7 +4437,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 20.14.12 jest-mock: 29.7.0 dev: false @@ -5663,7 +4464,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.14.8 + '@types/node': 20.14.12 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5696,14 +4497,14 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.14.8 + '@types/node': 22.7.1 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.2 + istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.7 @@ -5713,7 +4514,7 @@ packages: slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color dev: false @@ -5768,7 +4569,7 @@ packages: jest-haste-map: 26.6.2 jest-regex-util: 26.0.0 jest-util: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 source-map: 0.6.1 @@ -5792,7 +4593,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -5818,8 +4619,8 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.3 - '@types/yargs': 17.0.32 + '@types/node': 22.7.1 + '@types/yargs': 17.0.33 chalk: 4.1.2 dev: false @@ -5828,7 +4629,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 dev: false @@ -5842,33 +4643,33 @@ packages: engines: {node: '>=6.0.0'} dev: false - /@jridgewell/source-map@0.3.5: - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 dev: false - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@leichtgewicht/ip-codec@2.0.4: - resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + /@leichtgewicht/ip-codec@2.0.5: + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} dev: false /@mdx-js/mdx@1.6.22: @@ -5920,88 +4721,42 @@ packages: resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} dev: false - /@microsoft/api-documenter@7.23.37(@types/node@20.11.25): - resolution: {integrity: sha512-8StaLn4tLGllcgXCNGnqQRLFcWT9JILv5dHm2rYDdMWDQulInNKJnc2P9rpcI5mrO+cKcIRl75kdq4QrI9zunw==} - hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.25) - '@microsoft/tsdoc': 0.14.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) - '@rushstack/ts-command-line': 4.19.1(@types/node@20.11.25) - js-yaml: 3.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - '@types/node' - dev: false - - /@microsoft/api-documenter@7.25.9(@types/node@20.14.12): - resolution: {integrity: sha512-iQCicwgGcK3r+tEQSkY8SqMVgKEq1ILchgZvoDsH7kDcwqRQSDZEJq6l636t5p43jNa/RN+MlmKtDU/9VKBX9g==} + /@microsoft/api-documenter@7.25.14(@types/node@20.14.12): + resolution: {integrity: sha512-nysAB+j4l5Al3XvCdee6tw0rw4fXpnlIq9En2opcc3DgITeoehiaYYoZZqoqOQSKlSUDWF7Z55GGsvntVrcBkg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.29.4(@types/node@20.14.12) + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.12) '@microsoft/tsdoc': 0.15.0 - '@rushstack/node-core-library': 5.5.1(@types/node@20.14.12) - '@rushstack/terminal': 0.13.3(@types/node@20.14.12) - '@rushstack/ts-command-line': 4.22.3(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) + '@rushstack/ts-command-line': 4.22.8(@types/node@20.14.12) js-yaml: 3.13.1 resolve: 1.22.8 transitivePeerDependencies: - '@types/node' dev: false - /@microsoft/api-extractor-model@7.28.13(@types/node@20.11.25): - resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - transitivePeerDependencies: - - '@types/node' - dev: false - - /@microsoft/api-extractor-model@7.29.4(@types/node@20.14.12): - resolution: {integrity: sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw==} + /@microsoft/api-extractor-model@7.29.8(@types/node@20.14.12): + resolution: {integrity: sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==} dependencies: '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.5.1(@types/node@20.14.12) - transitivePeerDependencies: - - '@types/node' - dev: false - - /@microsoft/api-extractor@7.42.3(@types/node@20.11.25): - resolution: {integrity: sha512-JNLJFpGHz6ekjS6bvYXxUBeRGnSHeCMFNvRbCQ+7XXB/ZFrgLSMPwWtEq40AiWAy+oyG5a4RSNwdJTp0B2USvQ==} - hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.25) - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) - '@rushstack/ts-command-line': 4.19.1(@types/node@20.11.25) - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.8 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.3.3 + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) transitivePeerDependencies: - '@types/node' dev: false - /@microsoft/api-extractor@7.47.4(@types/node@20.14.12): - resolution: {integrity: sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg==} + /@microsoft/api-extractor@7.47.9(@types/node@20.14.12): + resolution: {integrity: sha512-TTq30M1rikVsO5wZVToQT/dGyJY7UXJmjiRtkHPLb74Prx3Etw8+bX7Bv7iLuby6ysb7fuu1NFWqma+csym8Jw==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.29.4(@types/node@20.14.12) + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.14.12) '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.5.1(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.13.3(@types/node@20.14.12) - '@rushstack/ts-command-line': 4.22.3(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) + '@rushstack/ts-command-line': 4.22.8(@types/node@20.14.12) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -6012,108 +4767,108 @@ packages: - '@types/node' dev: false - /@microsoft/applicationinsights-analytics-js@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-xuP5vdxPyvpGsbtH9yrm+g0NK8CH4mv1yHR2XRMvpUJ6xWDU0XONtg4tW99j/saE4+5wKk/8eB07jEtDfnYOJg==} + /@microsoft/applicationinsights-analytics-js@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-YfuUyTBx8HNGgIwg8N01iwsIO6LaqApNwGXw5YunAw+hqYR6jRmYlseQGTPFvKtq1ebEPJiwK0LjIQw/fOcxHQ==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-channel-js@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-dYL8vR/1rLmncc16uukSMyZYzYpMhf9OPZypkUquZc01q5Afwwn4i6pJL72i2AoHQKOEir6wBbQbqHtQc/HQ7g==} + /@microsoft/applicationinsights-channel-js@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-KNYk8qeci8AcWKZUqgCElEr1Ef5G+iudq1mN57Sc/8hUONNp2fTfWh1Cm+RUTRIEWAC29uUWGyLhSqiTF3ox1w==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-common@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-Q8W94oJuZvNWL6klUeEpXR5FFcwkyksQAfunBgRsIkpfFeoMw8Ac7DzY3HWFeQAYMq4hiifdiHxJ1YM/opbShA==} + /@microsoft/applicationinsights-common@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-/PBRmRL6rFCoO3vWpIEHuFnu+TinEYRKWOj+I+XVUH5myZpv+nYvaRdwryVTkmCYxLyL9kxtNn7hQx8DBlhdSw==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-core-js@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-v1UMRkV1dW1ezQqhIcMz4L7TyAvWi5vQ333uKO93UY+UmCZW8frYqmqgxV9uaJjs3IBgr0T7ddp4IkvOTjy1/w==} + /@microsoft/applicationinsights-core-js@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-yPHRZFLpnEO0uSgFPM1BLMRRwjoten9YBbn4pJRbCT4PigLnj748knmWsMwXIdcehtkRTYz78kPYa/LWP7nvmA==} peerDependencies: tslib: '*' dependencies: '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-dependencies-js@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-0dZvWIZj3XC+ocDzFZqVPs4x8W0urw2p/XUdc0PgGY7FyQCNtOp2OoEi6BDSWipaRWQeOwB99Ch71RILl/OQEw==} + /@microsoft/applicationinsights-dependencies-js@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-XW3m1DEXo2CkTUEeBzXGjoMjud6b1Y1J6W1Nz0RJ3IMC5ptbSOeen5rRDSzcBEUZN75vWvbGmhxVuQTXnnIu2g==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-properties-js@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-TqOMdbVCcjOyMCwZwfOH1Z9ZHxeHRJ6JkAP1cdDtpX3H7e8j/ce+p3t0yFGmZGBVRhsgsZgEuV8npK7LYnryRA==} + /@microsoft/applicationinsights-properties-js@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-WucPqEzgT20JhjwOPQhgBSal6tlKldUz3c6j5Kpj4Rej95c2vvm1t14lI/p9SvOjZDRK5dMfkuQtvFG7NrUlIA==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@microsoft/applicationinsights-react-js@3.4.3(react@18.3.1)(tslib@2.6.2): + /@microsoft/applicationinsights-react-js@3.4.3(react@18.3.1)(tslib@2.7.0): resolution: {integrity: sha512-+IIPDYU7DKBwByN7lK/mkMGrnWMGdyIsEZfDzBh/fKDZgGGGgH9B3WHej+vIpdwBcVaPbYx++lonTshn56C9/A==} peerDependencies: history: '>= 4.10.1' react: '>= 17.0.1' tslib: '*' dependencies: - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@microsoft/applicationinsights-shims@2.0.2: resolution: {integrity: sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==} dev: false - /@microsoft/applicationinsights-web@2.8.17(tslib@2.6.2): - resolution: {integrity: sha512-3JjQb5+3z9wnJS1SQDS2nyH3K6p2v/CsWxyY2etwG7CVEe/R9n0jpA4dcNYQoP7afoKR2TPBfARr17zNHBmlug==} + /@microsoft/applicationinsights-web@2.8.18(tslib@2.7.0): + resolution: {integrity: sha512-n6gW9WXr/oHrt2S8waXjYoBqzhPChJNoTPlKm+pwtO3iP+I8dQDuf8Q02RKLgCaWzvEhO/1GSznCECBX0jP+gg==} peerDependencies: tslib: '*' dependencies: - '@microsoft/applicationinsights-analytics-js': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-channel-js': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-common': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-core-js': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-dependencies-js': 2.8.17(tslib@2.6.2) - '@microsoft/applicationinsights-properties-js': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-analytics-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-channel-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-common': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-core-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-dependencies-js': 2.8.18(tslib@2.7.0) + '@microsoft/applicationinsights-properties-js': 2.8.18(tslib@2.7.0) '@microsoft/applicationinsights-shims': 2.0.2 '@microsoft/dynamicproto-js': 1.1.11 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /@microsoft/dynamicproto-js@1.1.11: @@ -6124,15 +4879,6 @@ packages: resolution: {integrity: sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==} dev: false - /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: false - /@microsoft/tsdoc-config@0.17.0: resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} dependencies: @@ -6142,10 +4888,6 @@ packages: resolve: 1.22.8 dev: false - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: false - /@microsoft/tsdoc@0.15.0: resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} dev: false @@ -6200,7 +4942,7 @@ packages: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: '@gar/promisify': 1.1.3 - semver: 7.6.0 + semver: 7.6.3 dev: false /@npmcli/move-file@1.1.2: @@ -6336,18 +5078,6 @@ packages: '@octokit/openapi-types': 18.1.1 dev: false - /@opentelemetry/api@1.8.0: - resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} - engines: {node: '>=8.0.0'} - dev: false - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: false - optional: true - /@pkgr/core@0.1.1: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -6360,7 +5090,7 @@ packages: dependencies: playwright: 1.39.0 playwright-core: 1.39.0 - vite: 4.5.2(@types/node@20.14.12) + vite: 4.5.5(@types/node@20.14.12) transitivePeerDependencies: - '@types/node' - less @@ -6393,13 +5123,14 @@ packages: /@playwright/test@1.39.0: resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==} engines: {node: '>=16'} + deprecated: Please update to the latest version of Playwright to test up-to-date browsers. hasBin: true dependencies: playwright: 1.39.0 dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack@5.89.0): - resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack@5.89.0): + resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: '@types/webpack': 4.x || 5.x @@ -6407,7 +5138,7 @@ packages: sockjs-client: ^1.4.0 type-fest: '>=0.17.0 <5.0.0' webpack: '>=4.43.0 <6.0.0' - webpack-dev-server: 3.x || 4.x + webpack-dev-server: 3.x || 4.x || 5.x webpack-hot-middleware: 2.x webpack-plugin-serve: 0.x || 1.x peerDependenciesMeta: @@ -6424,15 +5155,13 @@ packages: webpack-plugin-serve: optional: true dependencies: - ansi-html-community: 0.0.8 - common-path-prefix: 3.0.0 - core-js-pure: 3.36.0 + ansi-html: 0.0.9 + core-js-pure: 3.38.1 error-stack-parser: 2.1.4 - find-up: 5.0.0 html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 3.3.0 + schema-utils: 4.2.0 source-map: 0.7.4 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -6464,7 +5193,7 @@ packages: optional: true dependencies: ansi-html: 0.0.9 - core-js-pure: 3.36.0 + core-js-pure: 3.38.1 error-stack-parser: 2.1.4 html-entities: 2.5.2 loader-utils: 2.0.4 @@ -6474,12 +5203,12 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} dev: false - /@rollup/plugin-commonjs@25.0.7(rollup@4.21.2): - resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + /@rollup/plugin-commonjs@25.0.8(rollup@4.22.4): + resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -6487,16 +5216,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.8 - rollup: 4.21.2 + magic-string: 0.30.11 + rollup: 4.22.4 dev: false - /@rollup/plugin-json@6.1.0(rollup@4.21.2): + /@rollup/plugin-json@6.1.0(rollup@4.22.4): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -6505,11 +5234,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.2) - rollup: 4.21.2 + '@rollup/pluginutils': 5.1.2(rollup@4.22.4) + rollup: 4.22.4 dev: false - /@rollup/pluginutils@3.1.0(rollup@4.21.2): + /@rollup/pluginutils@3.1.0(rollup@4.22.4): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -6518,11 +5247,11 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 4.21.2 + rollup: 4.22.4 dev: false - /@rollup/pluginutils@5.1.0(rollup@4.21.2): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + /@rollup/pluginutils@5.1.2(rollup@4.22.4): + resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -6530,159 +5259,146 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.21.2 + rollup: 4.22.4 dev: false - /@rollup/rollup-android-arm-eabi@4.21.2: - resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + /@rollup/rollup-android-arm-eabi@4.22.4: + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-android-arm64@4.21.2: - resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + /@rollup/rollup-android-arm64@4.22.4: + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-arm64@4.21.2: - resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + /@rollup/rollup-darwin-arm64@4.22.4: + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-x64@4.21.2: - resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + /@rollup/rollup-darwin-x64@4.22.4: + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.21.2: - resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + /@rollup/rollup-linux-arm-gnueabihf@4.22.4: + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-musleabihf@4.21.2: - resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + /@rollup/rollup-linux-arm-musleabihf@4.22.4: + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-gnu@4.21.2: - resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + /@rollup/rollup-linux-arm64-gnu@4.22.4: + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-musl@4.21.2: - resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + /@rollup/rollup-linux-arm64-musl@4.22.4: + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.21.2: - resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + /@rollup/rollup-linux-powerpc64le-gnu@4.22.4: + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-riscv64-gnu@4.21.2: - resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + /@rollup/rollup-linux-riscv64-gnu@4.22.4: + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-s390x-gnu@4.21.2: - resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + /@rollup/rollup-linux-s390x-gnu@4.22.4: + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} cpu: [s390x] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-gnu@4.21.2: - resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + /@rollup/rollup-linux-x64-gnu@4.22.4: + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-musl@4.21.2: - resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + /@rollup/rollup-linux-x64-musl@4.22.4: + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-arm64-msvc@4.21.2: - resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + /@rollup/rollup-win32-arm64-msvc@4.22.4: + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-ia32-msvc@4.21.2: - resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + /@rollup/rollup-win32-ia32-msvc@4.22.4: + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-x64-msvc@4.21.2: - resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + /@rollup/rollup-win32-x64-msvc@4.22.4: + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.25): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 20.11.25 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 + /@rtsao/scc@1.1.0: + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} dev: false - /@rushstack/node-core-library@5.5.1(@types/node@20.14.12): - resolution: {integrity: sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g==} + /@rushstack/node-core-library@5.9.0(@types/node@20.14.12): + resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -6700,13 +5416,6 @@ packages: semver: 7.5.4 dev: false - /@rushstack/rig-package@0.5.2: - resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} - dependencies: - resolve: 1.22.8 - strip-json-comments: 3.1.1 - dev: false - /@rushstack/rig-package@0.5.3: resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} dependencies: @@ -6714,47 +5423,23 @@ packages: strip-json-comments: 3.1.1 dev: false - /@rushstack/terminal@0.10.0(@types/node@20.11.25): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@types/node': 20.11.25 - supports-color: 8.1.1 - dev: false - - /@rushstack/terminal@0.13.3(@types/node@20.14.12): - resolution: {integrity: sha512-fc3zjXOw8E0pXS5t9vTiIPx9gHA0fIdTXsu9mT4WbH+P3mYvnrX0iAQ5a6NvyK1+CqYWBTw/wVNx7SDJkI+WYQ==} + /@rushstack/terminal@0.14.2(@types/node@20.14.12): + resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 5.5.1(@types/node@20.14.12) + '@rushstack/node-core-library': 5.9.0(@types/node@20.14.12) '@types/node': 20.14.12 supports-color: 8.1.1 dev: false - /@rushstack/ts-command-line@4.19.1(@types/node@20.11.25): - resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: false - - /@rushstack/ts-command-line@4.22.3(@types/node@20.14.12): - resolution: {integrity: sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA==} + /@rushstack/ts-command-line@4.22.8(@types/node@20.14.12): + resolution: {integrity: sha512-XbFjOoV7qZHJnSuFUHv0pKaFA4ixyCuki+xMjsMfDwfvQjs5MYG0IK5COal3tRnG7KCDe2l/G+9LrzYE/RJhgg==} dependencies: - '@rushstack/terminal': 0.13.3(@types/node@20.14.12) + '@rushstack/terminal': 0.14.2(@types/node@20.14.12) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -6780,11 +5465,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: false - /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -6815,7 +5495,7 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -6831,16 +5511,16 @@ packages: uuid-browser: 3.1.0 dev: false - /@storybook/addon-actions@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-iCsf3V28/jJ95w2zd8aSvR4denoA2UYV3fpNCTGOURqICyKOG3cyVxvqKp8Hhcwn7trNOsK+HlL6q5gpv56ViA==} + /@storybook/addon-actions@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-cbpksmld7iADwDGXgojZ4r8LGI3YA3NP68duAHg2n1dtnx1oUaFK5wd6dbNuz7GdjyhIOIy3OKU1dAuylYNGOQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 uuid: 9.0.1 dev: false @@ -6862,7 +5542,7 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 memoizerific: 1.11.3 react: 18.3.1 @@ -6872,18 +5552,18 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/addon-backgrounds@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-61NFowA6EmCw+Eyzp0U4fat9MlPDdnT7aoDyzqSImLwWLITY9IvmWuTeo7XKJZN3fe22z1r7cZseKdYrtaHcKw==} + /@storybook/addon-backgrounds@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-aX0OIrtjIB7UgSaiv20SFkfC1iWwJIGMPsPSJ5ZPhXIIOWIEBtSujh8YXwjDEXSC4DOHalmeT4bitRRe5KrVKA==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/addon-controls@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/addon-controls@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6898,12 +5578,12 @@ packages: '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.16 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6917,18 +5597,19 @@ packages: - webpack-command dev: false - /@storybook/addon-controls@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-EHUwHy+oZZv3pXzN7fuXWrS/meHFjqcELY3RBvOyEkGf21agl6co6R1tnf6d5N5QoYAGfIbDO7dkauSL2RfNAw==} + /@storybook/addon-controls@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-78xRtVpY7eX/Lti00JLgwYCBRB6ZcvzY3SWk0uQjEqcTnQGoQkVg2L7oWFDlDoA1LBY18P5ei2vu8MYT9GXU4g==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: + '@storybook/global': 5.0.0 dequal: 2.0.3 lodash: 4.17.21 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -6942,14 +5623,14 @@ packages: react-dom: optional: true dependencies: - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) '@jest/transform': 26.6.2 '@mdx-js/react': 1.6.22(react@18.3.1) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -6961,7 +5642,7 @@ packages: '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -6983,30 +5664,29 @@ packages: - webpack-command dev: false - /@storybook/addon-docs@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-qe7hxntaezqjKdU9QS+Q9NFL6i/uNdBxdvOnCKgPhBAY/zY6yhk5t3sOvonynPK5nkaNAowfSNPIzNxAXlJ1sA==} + /@storybook/addon-docs@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-REUandqq1RnMNOhsocRwx5q2fdlBAYPTDFlKASYfEn4Ln5NgbQRGxOAWl7yXAAFzbDmUDU7K20hkauecF0tyMw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - '@babel/core': 7.25.2 '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) - '@storybook/blocks': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6) - '@storybook/csf-plugin': 8.2.6(storybook@8.2.6) + '@storybook/blocks': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/csf-plugin': 8.3.3(storybook@8.3.3) '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6) + '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) '@types/react': 18.3.3 fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rehype-external-links: 3.0.0 rehype-slug: 6.0.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: - - supports-color + - webpack-sources dev: false - /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -7066,18 +5746,18 @@ packages: '@babel/core': 7.25.2 '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-controls': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addon-measure': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-outline': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-toolbars': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-viewport': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 - core-js: 3.36.0 + core-js: 3.38.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7093,33 +5773,33 @@ packages: - webpack-command dev: false - /@storybook/addon-essentials@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-diGjGZcZNov+RCAVQBTm8JKP2kUtMRuJIQFBeXdPWpu6hYBk6lw1FlAf2GywWGCvdny1pJT90hfoD33qUMNuDg==} + /@storybook/addon-essentials@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-E/uXoUYcg8ulG3lVbsEKb4v5hnMeGkq9YJqiZYKgVK7iRFa6p4HeVB1wU1adnm7RgjWvh+p0vQRo4KL2CTNXqw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - '@storybook/addon-actions': 8.2.6(storybook@8.2.6) - '@storybook/addon-backgrounds': 8.2.6(storybook@8.2.6) - '@storybook/addon-controls': 8.2.6(storybook@8.2.6) - '@storybook/addon-docs': 8.2.6(storybook@8.2.6) - '@storybook/addon-highlight': 8.2.6(storybook@8.2.6) - '@storybook/addon-measure': 8.2.6(storybook@8.2.6) - '@storybook/addon-outline': 8.2.6(storybook@8.2.6) - '@storybook/addon-toolbars': 8.2.6(storybook@8.2.6) - '@storybook/addon-viewport': 8.2.6(storybook@8.2.6) - storybook: 8.2.6(@babel/preset-env@7.23.9) + '@storybook/addon-actions': 8.3.3(storybook@8.3.3) + '@storybook/addon-backgrounds': 8.3.3(storybook@8.3.3) + '@storybook/addon-controls': 8.3.3(storybook@8.3.3) + '@storybook/addon-docs': 8.3.3(storybook@8.3.3) + '@storybook/addon-highlight': 8.3.3(storybook@8.3.3) + '@storybook/addon-measure': 8.3.3(storybook@8.3.3) + '@storybook/addon-outline': 8.3.3(storybook@8.3.3) + '@storybook/addon-toolbars': 8.3.3(storybook@8.3.3) + '@storybook/addon-viewport': 8.3.3(storybook@8.3.3) + storybook: 8.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: - - supports-color + - webpack-sources dev: false - /@storybook/addon-highlight@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-03cV9USsfP3bS4wYV06DYcIaGPfoheQe53Q0Jr1B2yJUVyIPKvmO2nGjLBsqzeL3Wl7vSfLQn0/dUdxCcbqLsw==} + /@storybook/addon-highlight@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-MB084xJM66rLU+iFFk34kjLUiAWzDiy6Kz4uZRa1CnNqEK0sdI8HaoQGgOxTIa2xgJor05/8/mlYlMkP/0INsQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-links@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -7138,22 +5818,22 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/router': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.12 - core-js: 3.36.0 + '@types/qs': 6.9.16 + core-js: 3.38.1 global: 4.4.0 prop-types: 15.8.1 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 dev: false - /@storybook/addon-links@8.2.6(react@18.3.1)(storybook@8.2.6): - resolution: {integrity: sha512-CUuU3nk8wyZ3bljCmOG/OCKazan+bPuNbCph8N763zyzdEx5M/CbBxV9d3pi3zjYpix7txlqrl2/YdMCejfyFw==} + /@storybook/addon-links@8.3.3(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-rz4KEbzr1ca4zZEZwbOnhKiaEsokCl1KkngxT/C1YIkpW908j/kg2nnIb5MrtlAW1nirXguAR74t6CGntvdU9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 peerDependenciesMeta: react: optional: true @@ -7161,7 +5841,7 @@ packages: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 react: 18.3.1 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false @@ -7182,19 +5862,19 @@ packages: '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@storybook/addon-measure@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-neI8YeSOAtOmzasLxo6O8ZLr2ebMaD7XVF+kYatl5+SpyuwwvUGcP9NkKe5S+mB8V2zxFUIsXS74XrhmQhRoaQ==} + /@storybook/addon-measure@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-R20Z83gnxDRrocES344dw1Of/zDhe3XHSM6TLq80UQTJ9PhnMI+wYHQlK9DsdP3KiRkI+pQA6GCOp0s2ZRy5dg==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 tiny-invariant: 1.3.3 dev: false @@ -7215,7 +5895,7 @@ packages: '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7223,17 +5903,17 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-outline@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-uAlPtqDWlq7MQQ4zJT80qdjbSdLF/zsvtPhidX6h9cjLKNPWAv79xJQ14AJHaMv+Hzy5xKnM4wdEhgPbzKabQg==} + /@storybook/addon-outline@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-OwqYfieNuqSqWNtUZLu3UmsfQNnwA2UaSMBZyeC2Dte9Jd59PPYggcWmH+b0S6OTbYXWNAUK5U6WdK+X9Ypzdw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.0)(jest@29.7.0)(preact@10.19.6)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-5pQrRM1PUtg8YM1odgUQyQeo6DDaMBF9CnIMwgioDrSBMHf+SqQ2MBgW/4GYbfrBYhhrML1d/QbbpwPJ7eb1Bg==} deprecated: 'Storyshots is deprecated in favor of the Storybook test-runner. Migration guide: https://storybook.js.org/docs/writing-tests/storyshots-migration-guide' peerDependencies: @@ -7289,21 +5969,21 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/babel-plugin-require-context-hook': 1.0.1 '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) + '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) '@types/glob': 7.2.0 '@types/jest': 26.0.24 '@types/jest-specific-snapshot': 0.5.9 - core-js: 3.36.0 + core-js: 3.38.1 glob: 7.2.3 global: 4.4.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-specific-snapshot: 4.0.0(jest@29.7.0) - preact: 10.19.6 - preact-render-to-string: 5.2.6(preact@10.19.6) + preact: 10.24.1 + preact-render-to-string: 5.2.6(preact@10.24.1) pretty-format: 26.6.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7343,18 +6023,18 @@ packages: '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 dev: false - /@storybook/addon-toolbars@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-0JmRirMpxHS6VZzBk0kY871xWTpkk3TN4S1sxoFf5fcnCfVTHDjEJ5Ws/QWru1RJlIZHuJKRdQIA6Vuq5X+KfQ==} + /@storybook/addon-toolbars@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-4WyiVqDm4hlJdENIVQg9pLNLdfhnNKa+haerYYSzTVjzYrUx0X6Bxafshq+sud6aRtSYU14abwP56lfW8hgTlA==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-viewport@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -7374,7 +6054,7 @@ packages: '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-events': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 memoizerific: 1.11.3 prop-types: 15.8.1 @@ -7383,13 +6063,13 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@storybook/addon-viewport@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-IAxH9H8tVFzSmZhKf5E+EALiAdkp19RzGqP/rWluD8LH7oW5HumQE/4oN0ZhVMy1RxYsCKFYjWyAp7AuxeMRSw==} + /@storybook/addon-viewport@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-2S+UpbKAL+z1ppzUCkixjaem2UDMkfmm/kyJ1wm3A/ofGLYi4fjMSKNRckk+7NdolXGQJjBo0RcaotUTxFIFwQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: memoizerific: 1.11.3 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.89.0): @@ -7397,7 +6077,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - babel-loader: 9.1.3(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.89.0) transitivePeerDependencies: - supports-color - webpack @@ -7416,8 +6096,8 @@ packages: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/router': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@types/webpack-env': 1.18.4 - core-js: 3.36.0 + '@types/webpack-env': 1.18.5 + core-js: 3.38.1 global: 4.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7437,8 +6117,8 @@ packages: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/router': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/webpack-env': 1.18.4 - core-js: 3.36.0 + '@types/webpack-env': 1.18.5 + core-js: 3.38.1 global: 4.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7458,7 +6138,7 @@ packages: '@storybook/router': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -7485,7 +6165,7 @@ packages: '@storybook/router': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -7503,12 +6183,12 @@ packages: resolution: {integrity: sha512-WM4vjgSVi8epvGiYfru7BtC3f0tGwNs7QK3Uc4xQn4t5hHQvISnCqbNrHdDYmNW56Do+bBztE8SwP6NGUvd7ww==} dev: false - /@storybook/blocks@8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6): - resolution: {integrity: sha512-nMlZJjVTyfOJ6xwORptsNuS1AZZlDbJUVXc2R8uukGd5GIXxxCdrPk4NvUsjfQslMT9LhYuFld3z62FATsM2rw==} + /@storybook/blocks@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-8Vsvxqstop3xfbsx3Dn1nEjyxvQUcOYd8vpxyp2YumxYO8FlXIRuYL6HAkYbcX8JexsKvCZYxor52D2vUGIKZg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 peerDependenciesMeta: react: optional: true @@ -7517,24 +6197,24 @@ packages: dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.9(react-dom@18.3.1)(react@18.3.1) - '@types/lodash': 4.14.202 + '@storybook/icons': 1.2.12(react-dom@18.3.1)(react@18.3.1) + '@types/lodash': 4.17.9 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.4.7(react@18.3.1) + markdown-to-jsx: 7.5.0(react@18.3.1) memoizerific: 1.11.3 polished: 4.3.1 react: 18.3.1 react-colorful: 5.6.1(react-dom@18.3.1)(react@18.3.1) react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 telejson: 7.2.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/builder-webpack4@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/builder-webpack4@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7552,7 +6232,7 @@ packages: '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.16 '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/node-logger': 6.5.16 '@storybook/preview-web': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -7561,12 +6241,12 @@ packages: '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.87 - '@types/webpack': 4.41.38 + '@types/node': 16.18.110 + '@types/webpack': 4.41.39 autoprefixer: 9.8.8 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.36.0 + core-js: 3.38.1 css-loader: 3.6.0(webpack@4.47.0) file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 @@ -7602,7 +6282,7 @@ packages: - webpack-command dev: false - /@storybook/builder-webpack5@6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/builder-webpack5@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-Ukj7Wwxz/3mKn5TI5mkm2mIm583LxOz78ZrpcOgI+vpjeRlMFXmGGEb68R47SiCdZoVCfIeCXXXzBd6Q6As6QQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7620,7 +6300,7 @@ packages: '@storybook/client-api': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.14 '@storybook/components': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-common': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.14 '@storybook/node-logger': 6.5.14 '@storybook/preview-web': 6.5.14(react-dom@18.3.1)(react@18.3.1) @@ -7628,14 +6308,14 @@ packages: '@storybook/semver': 7.3.2 '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.87 + '@types/node': 16.18.110 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.36.0 + core-js: 3.38.1 css-loader: 5.2.7(webpack@5.89.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) html-webpack-plugin: 5.6.0(webpack@5.89.0) @@ -7665,44 +6345,44 @@ packages: - webpack-command dev: false - /@storybook/builder-webpack5@8.2.6(storybook@8.2.6)(typescript@5.4.5): - resolution: {integrity: sha512-ba25XOXifbAxUYprw5WWcrYq/2DJODFoOHdv7YZqzjKeDDbg1Us8F+72zlBCdr38wY4V9084Sd8EBVXV5bxzRQ==} + /@storybook/builder-webpack5@8.3.3(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-4zBvHZoKjm+ZgZ6CpGEFlgGMfoSbHiKdwFLG+t/hV6zKDN/tmBC65KCjZ6pq/RUukvDJyfFLOiOZpc8JyTVFZw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.6(storybook@8.2.6) - '@types/node': 18.19.31 + '@storybook/core-webpack': 8.3.3(storybook@8.3.3) + '@types/node': 22.7.1 '@types/semver': 7.5.8 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 - cjs-module-lexer: 1.2.3 + cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 css-loader: 6.11.0(webpack@5.89.0) es-module-lexer: 1.5.4 - express: 4.19.2 + express: 4.21.0 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.89.0) fs-extra: 11.2.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) - magic-string: 0.30.8 + magic-string: 0.30.11 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.6.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + semver: 7.6.3 + storybook: 8.3.3 style-loader: 3.3.4(webpack@5.89.0) terser-webpack-plugin: 5.3.10(webpack@5.89.0) ts-dedent: 2.2.0 typescript: 5.4.5 - url: 0.11.3 + url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 webpack: 5.89.0(webpack-cli@5.1.4) webpack-dev-middleware: 6.1.3(webpack@5.89.0) webpack-hot-middleware: 2.26.1 - webpack-virtual-modules: 0.6.1 + webpack-virtual-modules: 0.6.2 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -7717,9 +6397,9 @@ packages: '@storybook/channels': 6.5.14 '@storybook/client-logger': 6.5.14 '@storybook/core-events': 6.5.14 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 - qs: 6.12.0 + qs: 6.13.0 telejson: 6.0.8 dev: false @@ -7729,9 +6409,9 @@ packages: '@storybook/channels': 6.5.16 '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 - qs: 6.12.0 + qs: 6.13.0 telejson: 6.0.8 dev: false @@ -7740,7 +6420,7 @@ packages: dependencies: '@storybook/channels': 6.5.16 '@storybook/client-logger': 6.5.16 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 telejson: 6.0.8 dev: false @@ -7748,7 +6428,7 @@ packages: /@storybook/channels@6.5.14: resolution: {integrity: sha512-hHpr4Sya6fuEDhy7vnfD2QnL5wy1CaAK9BC0FLupndXnQyKJtygfIaUP4a0B2KntuNPbzPhclb2Hb4yM7CExmQ==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false @@ -7756,21 +6436,11 @@ packages: /@storybook/channels@6.5.16: resolution: {integrity: sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/channels@8.0.8: - resolution: {integrity: sha512-L3EGVkabv3fweXnykD/GlNUDO5HtwlIfSovC7BF4MmP7662j2/eqlZrJxDojGtbv11XHjWp/UJHUIfKpcHXYjQ==} - dependencies: - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/global': 5.0.0 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - dev: false - /@storybook/client-api@6.5.14(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-G5mBQCKn8/VqE9XDCL19ixcvu8YhaQZ0AE+EXGYXUsvPpyQ43oGoGJry5IqOzeRlc7dbglFWpMkB6PeeUD7aCw==} peerDependencies: @@ -7784,14 +6454,14 @@ packages: '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.12 - '@types/webpack-env': 1.18.4 - core-js: 3.36.0 + '@types/qs': 6.9.16 + '@types/webpack-env': 1.18.5 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7814,14 +6484,14 @@ packages: '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/qs': 6.9.12 - '@types/webpack-env': 1.18.4 - core-js: 3.36.0 + '@types/qs': 6.9.16 + '@types/webpack-env': 1.18.5 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7834,45 +6504,17 @@ packages: /@storybook/client-logger@6.5.14: resolution: {integrity: sha512-r1pY69DGKzX9/GngkudthaaPxPlka16zjG7Y58psunwcoUuH3riAP1cjqhXt5+S8FKCNI/MGb82PLlCPX2Liuw==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 dev: false /@storybook/client-logger@6.5.16: resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 dev: false - /@storybook/client-logger@8.0.8: - resolution: {integrity: sha512-a4BKwl9NLFcuRgMyI7S4SsJeLFK0LCQxIy76V6YyrE1DigoXz4nA4eQxdjLf7JVvU0EZFmNSfbVL/bXzzWKNXA==} - dependencies: - '@storybook/global': 5.0.0 - dev: false - - /@storybook/codemod@8.2.6: - resolution: {integrity: sha512-+mFJ6R+JhJLpU7VPDlXU5Yn6nqIBq745GaEosnIiFOdNo3jaxJ58wq/sGhbQvoCHPUxMA+sDQvR7pS62YFoLRQ==} - dependencies: - '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - '@babel/types': 7.24.9 - '@storybook/core': 8.2.6 - '@storybook/csf': 0.1.11 - '@types/cross-spawn': 6.0.6 - cross-spawn: 7.0.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.25.3) - lodash: 4.17.21 - prettier: 3.3.2 - recast: 0.23.6 - tiny-invariant: 1.3.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - /@storybook/components@6.5.14(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-wqB9CF3sjxtgffnDW1G/W5SsKumsFQ0ftn/3PdrsvKULu5LM5bjNEqC2cTCWrk9vQhj+EVQxzdVM/BlPl/lSwg==} peerDependencies: @@ -7882,9 +6524,9 @@ packages: '@storybook/client-logger': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7900,21 +6542,21 @@ packages: '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 util-deprecate: 1.0.2 dev: false - /@storybook/components@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-H8ckH1AnLkHtMtvJ3J8LxnmDtHxkJ7NJacGctHMRrsBIvdKTVwlT4su5nAVVJlan/PrEou+jESfw+OjjBYE5PA==} + /@storybook/components@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-i2JYtesFGkdu+Hwuj+o9fLuO3yo+LPT1/8o5xBVYtEqsgDtEAyuRUWjSz8d8NPtzloGPOv5kvR6MokWDfbeMfw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0): @@ -7940,10 +6582,10 @@ packages: '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 lodash: 4.17.21 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7977,10 +6619,10 @@ packages: '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 lodash: 4.17.21 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -7991,7 +6633,7 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /@storybook/core-common@6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-common@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-MrxhYXYrtN6z/+tydjPkCIwDQm5q8Jx+w4TPdLKBZu7vzfp6T3sT12Ym96j9MJ42CvE4vSDl/Njbw6C0D+yEVw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8003,39 +6645,39 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.25.2) - '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.25.2) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.23.7(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/register': 7.24.6(@babel/core@7.25.2) '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 - '@types/node': 16.18.87 + '@types/node': 16.18.110 '@types/pretty-hrtime': 1.0.3 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.25.2) chalk: 4.1.2 - core-js: 3.36.0 - express: 4.18.3 + core-js: 3.38.1 + express: 4.21.0 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -8062,7 +6704,7 @@ packages: - webpack-command dev: false - /@storybook/core-common@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-common@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8074,39 +6716,39 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) - '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.25.2) - '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.25.2) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.25.2) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.25.2) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.25.2) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.25.2) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.23.7(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@babel/register': 7.24.6(@babel/core@7.25.2) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 - '@types/node': 16.18.87 + '@types/node': 16.18.110 '@types/pretty-hrtime': 1.0.3 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) babel-plugin-macros: 3.1.0 babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.25.2) chalk: 4.1.2 - core-js: 3.36.0 - express: 4.18.3 + core-js: 3.38.1 + express: 4.21.0 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0) fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.8 @@ -8133,69 +6775,35 @@ packages: - webpack-command dev: false - /@storybook/core-common@8.0.8: - resolution: {integrity: sha512-CL15M2oeQW+Rb1l7ciunLDI2Re+ojL2lX1ZFAiDedcOU+JHsdq43zAuXoZVzp8icUi2AUSwEjZIxGCSingj+JQ==} + /@storybook/core-common@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-bwAKMU4rEJq6db4R9TBE23OjOsz8fdTr8hxua61nlpBjQW2JULvYO5Zab74PV61gnRLIu6+RhxcIm953hm6HGw==} + peerDependencies: + storybook: ^8.3.3 dependencies: - '@storybook/core-events': 8.0.8 - '@storybook/csf-tools': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@storybook/types': 8.0.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - cross-spawn: 7.0.3 - esbuild: 0.18.20 - esbuild-register: 3.5.0(esbuild@0.18.20) - execa: 5.1.1 - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.2.0 - glob: 10.3.12 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - semver: 7.6.0 - tempy: 1.0.1 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util: 0.12.5 - transitivePeerDependencies: - - encoding - - supports-color + storybook: 8.3.3 dev: false /@storybook/core-events@6.5.14: resolution: {integrity: sha512-PLu0M8Mqt9ruN5RupgcFKHEybiSm3CdWQyylWO5FRGg+WZV3BCm0aI8ujvO1GAm+YEi57Lull+M9d6NUycTpRg==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 dev: false /@storybook/core-events@6.5.16: resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==} dependencies: - core-js: 3.36.0 - dev: false - - /@storybook/core-events@8.0.8: - resolution: {integrity: sha512-PtuvR7vS4glDEdCfKB4f1k3Vs1C3rTWP2DNbF+IjjPhNLMBznCdzTAPcz+NUIBvpjjGnhKwWikJ0yj931YjSVg==} - dependencies: - ts-dedent: 2.2.0 + core-js: 3.38.1 dev: false - /@storybook/core-events@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-bmtm7sHBExKCSGiCIyhwfHKFIsdrRQqd8ZEb/iNWsR93AxHszcf/adYAVynencdWKipw1haIWBNaiDhnsOBVPA==} + /@storybook/core-events@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-YL+gBuCS81qktzTkvw0MXUJW0bYAXfRzMoiLfDBTrEKZfcJOB4JAlMGmvRRar0+jygK3icD42Rl5BwWoZY6KFQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/core-server@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -8212,33 +6820,33 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack4': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.16 - '@storybook/manager-webpack4': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack4': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/telemetry': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@types/node': 16.18.87 + '@storybook/telemetry': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@types/node': 16.18.110 '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 - '@types/webpack': 4.41.38 + '@types/webpack': 4.41.39 better-opn: 2.1.1 boxen: 5.1.2 chalk: 4.1.2 - cli-table3: 0.6.3 + cli-table3: 0.6.5 commander: 6.2.1 compression: 1.7.4 - core-js: 3.36.0 + core-js: 3.38.1 cpy: 8.1.2 - detect-port: 1.5.1 - express: 4.18.3 + detect-port: 1.6.1 + express: 4.21.0 fs-extra: 9.1.0 global: 4.4.0 globby: 11.1.0 @@ -8257,9 +6865,9 @@ packages: ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - watchpack: 2.4.0 + watchpack: 2.4.2 webpack: 4.47.0 - ws: 8.16.0 + ws: 8.18.0 x-default-browser: 0.4.0 transitivePeerDependencies: - '@storybook/mdx2-csf' @@ -8273,17 +6881,17 @@ packages: - webpack-command dev: false - /@storybook/core-webpack@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-RSqRVNrxrp2pKoQeSmaiHMz7GvAzQ7BV+qPi9gDRDDCuAPrjpY8a17KyqmCJ617asDAb+OEQNBks802xM3pEQw==} + /@storybook/core-webpack@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-GKEpGGe8gzf+2BCZ4PeUb5JBcLPF3TS5fRrm8Zp5+iOc8Y51xfys2ifL3KqqZR0KLig9LcLlKMnFlSXPb4a7Cw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - '@types/node': 18.19.31 - storybook: 8.2.6(@babel/preset-env@7.23.9) + '@types/node': 22.7.1 + storybook: 8.3.3 ts-dedent: 2.2.0 dev: false - /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -8300,10 +6908,10 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) typescript: 5.4.5 @@ -8320,33 +6928,37 @@ packages: - webpack-command dev: false - /@storybook/core@8.2.6: - resolution: {integrity: sha512-XY71g3AcpD6IiER9k9Lt+vlUMYfPIYgWekd7e0Ggzz2gJkPuLunKEdQccLGDSHf5OFAobHhrTJc7ZsvWhmDMag==} + /@storybook/core@8.3.3: + resolution: {integrity: sha512-pmf2bP3fzh45e56gqOuBT8sDX05hGdUKIZ/hcI84d5xmd6MeHiPW8th2v946wCHcxHzxib2/UU9vQUh+mB4VNw==} dependencies: '@storybook/csf': 0.1.11 '@types/express': 4.17.21 - '@types/node': 18.19.31 + better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.18.20 - esbuild-register: 3.5.0(esbuild@0.18.20) - express: 4.19.2 + esbuild: 0.23.1 + esbuild-register: 3.6.0(esbuild@0.23.1) + express: 4.21.0 + jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 - recast: 0.23.6 + recast: 0.23.9 + semver: 7.6.3 util: 0.12.5 - ws: 8.16.0 + ws: 8.18.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: false - /@storybook/csf-plugin@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-USn7E/bMQYVqvFBuW6d9rKoSuCImjk0BAmc/0wIOuMQ/yQNp2Xze0m8eVkNHUIUDokyx0TXDjRjwq10Xxk16ag==} + /@storybook/csf-plugin@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-7AD7ojpXr3THqpTcEI4K7oKUfSwt1hummgL/cASuQvEPOwAZCVZl2gpGtKxcXhtJXTkn3GMCAvlYMoe7O/1YWw==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) - unplugin: 1.10.1 + storybook: 8.3.3 + unplugin: 1.14.1 + transitivePeerDependencies: + - webpack-sources dev: false /@storybook/csf-tools@6.5.16: @@ -8358,15 +6970,15 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/mdx1-csf': 0.0.1(@babel/core@7.25.2) - core-js: 3.36.0 + core-js: 3.38.1 fs-extra: 9.1.0 global: 4.4.0 regenerator-runtime: 0.13.11 @@ -8375,20 +6987,12 @@ packages: - supports-color dev: false - /@storybook/csf-tools@8.0.8: - resolution: {integrity: sha512-Ji5fpoGym/MSyHJ6ALghVUUecwhEbN0On+jOZ2VPkrkATi9UDtryHQPdF60HKR63Iv53xRuWRzudB6zm43RTzw==} + /@storybook/csf-tools@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-e1Td0aEAaNNlMwvNxGMGDDAyVuv17yRzdQvgot5hL3Vwl2VqXx5FarDzYyH0eez/yX7j3AVUR8SXPXn+L5KcJQ==} + peerDependencies: + storybook: ^8.3.3 dependencies: - '@babel/generator': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/traverse': 7.24.7(supports-color@5.5.0) - '@babel/types': 7.24.7 - '@storybook/csf': 0.1.4 - '@storybook/types': 8.0.8 - fs-extra: 11.2.0 - recast: 0.23.6 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color + storybook: 8.3.3 dev: false /@storybook/csf@0.0.2--canary.4566f4d.1: @@ -8403,25 +7007,13 @@ packages: type-fest: 2.19.0 dev: false - /@storybook/csf@0.1.3: - resolution: {integrity: sha512-IPZvXXo4b3G+gpmgBSBqVM81jbp2ePOKsvhgJdhyZJtkYQCII7rg9KKLQhvBQM5sLaF1eU6r0iuwmyynC9d9SA==} - dependencies: - type-fest: 2.19.0 - dev: false - - /@storybook/csf@0.1.4: - resolution: {integrity: sha512-B9UI/lsQMjF+oEfZCI6YXNoeuBcGZoOP5x8yKbe2tIEmsMjSztFKkpPzi5nLCnBk/MBtl6QJeI3ksJnbsWPkOw==} - dependencies: - type-fest: 2.19.0 - dev: false - /@storybook/docs-tools@6.5.16(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==} dependencies: '@babel/core': 7.25.2 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 doctrine: 3.0.0 lodash: 4.17.21 regenerator-runtime: 0.13.11 @@ -8435,8 +7027,8 @@ packages: resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} dev: false - /@storybook/icons@1.2.9(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-cOmylsz25SYXaJL/gvTk/dl3pyk7yBFRfeXTsHvTA3dfhoU/LWSq0NKL9nM7WBasJyn6XPSGnLS4RtKXLw5EUg==} + /@storybook/icons@1.2.12(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8446,15 +7038,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@storybook/manager-api@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-uv36h/b5RhlajWtEg4cVPBYV8gZs6juux0nIE+6G9i7vt8Ild6gM9tW1KNabgZcaHFiyWJYCNWxJZoKjgUmXDg==} + /@storybook/manager-api@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-Na4U+McOeVUJAR6qzJfQ6y2Qt0kUgEDUriNoAn+curpoKPTmIaZ79RAXBzIqBl31VyQKknKpZbozoRGf861YaQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/manager-webpack4@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/manager-webpack4@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8465,22 +7057,22 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@4.47.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.87 - '@types/webpack': 4.41.38 + '@types/node': 16.18.110 + '@types/webpack': 4.41.39 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@4.47.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.36.0 + core-js: 3.38.1 css-loader: 3.6.0(webpack@4.47.0) - express: 4.18.3 + express: 4.21.0 file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fs-extra: 9.1.0 @@ -8511,7 +7103,7 @@ packages: - webpack-command dev: false - /@storybook/manager-webpack5@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/manager-webpack5@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-OtxXv8JCe0r/0rE5HxaFicsNsXA+fqZxzokxquFFgrYf/1Jg4d7QX6/pG5wINF+5qInJfVkRG6xhPzv1s5bk9Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8522,21 +7114,21 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@types/node': 16.18.87 + '@types/node': 16.18.110 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.36.0 + core-js: 3.38.1 css-loader: 5.2.7(webpack@5.89.0) - express: 4.18.3 + express: 4.21.0 find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) @@ -8572,12 +7164,12 @@ packages: /@storybook/mdx1-csf@0.0.1(@babel/core@7.25.2): resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} dependencies: - '@babel/generator': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 '@mdx-js/mdx': 1.6.22 - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.9 js-string-escape: 1.0.1 loader-utils: 2.0.4 lodash: 4.17.21 @@ -8593,7 +7185,7 @@ packages: dependencies: '@types/npmlog': 4.1.6 chalk: 4.1.2 - core-js: 3.36.0 + core-js: 3.38.1 npmlog: 5.0.1 pretty-hrtime: 1.0.3 dev: false @@ -8603,59 +7195,56 @@ packages: dependencies: '@types/npmlog': 4.1.6 chalk: 4.1.2 - core-js: 3.36.0 + core-js: 3.38.1 npmlog: 5.0.1 pretty-hrtime: 1.0.3 dev: false - /@storybook/node-logger@8.0.8: - resolution: {integrity: sha512-ymps3MMTxtMWq0eDiXk1iO7iv0Eg0PuUvOpPPohEJauGzU9THv81xx01aaHKSprFFJYD2LMQr1aFuUplItO12g==} - dev: false - - /@storybook/node-logger@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-HWMDll5QNXgPdNmgqglCt93N57hQMvZaCjvpGvNv0MJk5TmP1BgjIV+WITmt6JVCaT5LEY6lDZpZdAN2f4w4PA==} + /@storybook/node-logger@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-gk0v63VgyxV6CqVLoSc4TuB8docsNcnSftRoZuxCTPhX++d8gZvpSSgRoCB6p2k9DE9yVE3eQER6uGUgopXhMg==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/postinstall@6.5.16: resolution: {integrity: sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA==} dependencies: - core-js: 3.36.0 + core-js: 3.38.1 dev: false - /@storybook/preset-react-webpack@8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5): - resolution: {integrity: sha512-lQRZTaM2y78UQfUohv0Ubqgaty2uIz5VglLQAD66HwxR7kmDVJd00dvJHglWkMV3XZO3mtdGLRIscD+jtHsRXA==} + /@storybook/preset-react-webpack@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-uvGtGQ2BDzmHCDl0jCvoAzbD7AWPf9nU7zQsgvpCgs7BiHQVXq40ZU+aFhU74K/WLvdArMOoyZPU70dJGzvdKg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.6(storybook@8.2.6) - '@storybook/react': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5) + '@storybook/core-webpack': 8.3.3(storybook@8.3.3) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) - '@types/node': 18.19.31 + '@types/node': 22.7.1 '@types/semver': 7.5.8 find-up: 5.0.0 fs-extra: 11.2.0 - magic-string: 0.30.8 + magic-string: 0.30.11 react: 18.3.1 react-docgen: 7.0.3 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 - semver: 7.6.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + semver: 7.6.3 + storybook: 8.3.3 tsconfig-paths: 4.2.0 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -8663,12 +7252,12 @@ packages: - webpack-cli dev: false - /@storybook/preview-api@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-5vTj2ndX5ng4nDntZYe+r8UwLjCIGFymhq5/r2adAvRKL+Bo4zQDWGO7bhvGJk16do2THb2JvPz49ComW9LLZw==} + /@storybook/preview-api@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-GP2QlaF3BBQGAyo248N7549YkTQjCentsc1hUvqPnFWU4xfjkejbnFk8yLaIw0VbYbL7jfd7npBtjZ+6AnphMQ==} peerDependencies: - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false /@storybook/preview-web@6.5.14(react-dom@18.3.1)(react@18.3.1): @@ -8684,10 +7273,10 @@ packages: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) ansi-to-html: 0.6.15 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 lodash: 4.17.21 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -8710,10 +7299,10 @@ packages: '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) ansi-to-html: 0.6.15 - core-js: 3.36.0 + core-js: 3.38.1 global: 4.4.0 lodash: 4.17.21 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -8729,13 +7318,13 @@ packages: typescript: '>= 3.x' webpack: '>= 4' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 - micromatch: 4.0.5 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.4.5) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: @@ -8748,53 +7337,54 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 - micromatch: 4.0.5 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.4.5) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false - /@storybook/react-dom-shim@8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6): - resolution: {integrity: sha512-B+x8UAEQPDp1yhN3tMh09NvSL38QNfJB7PAyLgKrfE7xIAzvewq+RLW2DfGkoZCy+Zr7QSHm1p7NOgud8+sQCg==} + /@storybook/react-dom-shim@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3): + resolution: {integrity: sha512-0dPC9K7+K5+X/bt3GwYmh+pCpisUyKVjWsI+PkzqGnWqaXFakzFakjswowIAIO1rf7wYZR591x3ehUAyL2bJiQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 dev: false - /@storybook/react-webpack5@8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5): - resolution: {integrity: sha512-70xN2iT2uR5toyRTY+GjcBCtyj4786R4KzaqE2RjQpJccheEY5dMBxtoizfH/jvQiH6xS3ilo+iubDZDS4JEOA==} + /@storybook/react-webpack5@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-ikD48XvgmP/kegnjJ9+RoiKGF9IdVjOc1MFUnnIU1TNLwCsqkwf5jGcOvFTAzK8Phu/ykwUBWT41UqBptkrHEQ==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 8.2.6(storybook@8.2.6)(typescript@5.4.5) - '@storybook/preset-react-webpack': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5) - '@storybook/react': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5) - '@types/node': 18.19.31 + '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) + '@storybook/preset-react-webpack': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@types/node': 22.7.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 typescript: 5.4.5 transitivePeerDependencies: - '@rspack/core' + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -8802,7 +7392,7 @@ packages: - webpack-cli dev: false - /@storybook/react@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5): + /@storybook/react@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5): resolution: {integrity: sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==} engines: {node: '>=10.13.0'} hasBin: true @@ -8831,30 +7421,30 @@ packages: optional: true dependencies: '@babel/core': 7.25.2 - '@babel/preset-flow': 7.24.0(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack@5.89.0) + '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.89.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/estree': 0.0.51 - '@types/node': 16.18.87 - '@types/webpack-env': 1.18.4 + '@types/node': 16.18.110 + '@types/webpack-env': 1.18.5 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 babel-plugin-add-react-displayname: 0.0.5 babel-plugin-react-docgen: 4.2.1 - core-js: 3.36.0 + core-js: 3.38.1 escodegen: 2.1.0 fs-extra: 9.1.0 global: 4.4.0 @@ -8893,39 +7483,41 @@ packages: - webpack-plugin-serve dev: false - /@storybook/react@8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5): - resolution: {integrity: sha512-awJlzfiAMrf8l9AgiLhjXEJ+HvS3VKPxNNQaRwBELGq/vigjJe656tMrhvg4OIlJXtlS+6XPshd2knLwjIWNLw==} + /@storybook/react@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + resolution: {integrity: sha512-fHOW/mNqI+sZWttGOE32Q+rAIbN7/Oib091cmE8usOM0z0vPNpywUBtqC2cCQH39vp19bhTsQaSsTcoBSweAHw==} engines: {node: '>=18.0.0'} peerDependencies: + '@storybook/test': 8.3.3 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.2.6 + storybook: ^8.3.3 typescript: '>= 4.2.x' peerDependenciesMeta: + '@storybook/test': + optional: true typescript: optional: true dependencies: - '@storybook/components': 8.2.6(storybook@8.2.6) + '@storybook/components': 8.3.3(storybook@8.3.3) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.2.6(storybook@8.2.6) - '@storybook/preview-api': 8.2.6(storybook@8.2.6) - '@storybook/react-dom-shim': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6) - '@storybook/theming': 8.2.6(storybook@8.2.6) + '@storybook/manager-api': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/theming': 8.3.3(storybook@8.3.3) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.31 + '@types/node': 22.7.1 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 escodegen: 2.1.0 html-tags: 3.3.1 - lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-element-to-jsx-string: 15.0.0(react-dom@18.3.1)(react@18.3.1) - semver: 7.6.0 - storybook: 8.2.6(@babel/preset-env@7.23.9) + semver: 7.6.3 + storybook: 8.3.3 ts-dedent: 2.2.0 type-fest: 2.19.0 typescript: 5.4.5 @@ -8939,9 +7531,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.14 - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -8954,9 +7546,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 @@ -8967,7 +7559,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - core-js: 3.36.0 + core-js: 3.38.1 find-up: 4.1.0 dev: false @@ -8980,7 +7572,7 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/client-logger': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.36.0 + core-js: 3.38.1 estraverse: 5.3.0 global: 4.4.0 loader-utils: 2.0.4 @@ -9001,7 +7593,7 @@ packages: '@storybook/client-logger': 6.5.14 '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -9026,7 +7618,7 @@ packages: '@storybook/client-logger': 6.5.16 '@storybook/core-events': 6.5.16 '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.36.0 + core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -9041,13 +7633,13 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/telemetry@6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): + /@storybook/telemetry@6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): resolution: {integrity: sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==} dependencies: '@storybook/client-logger': 6.5.16 - '@storybook/core-common': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) chalk: 4.1.2 - core-js: 3.36.0 + core-js: 3.38.1 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 fs-extra: 9.1.0 @@ -9068,22 +7660,22 @@ packages: - webpack-command dev: false - /@storybook/test-runner@0.17.0(@types/node@20.14.12)(storybook@8.2.6)(ts-node@10.9.2): + /@storybook/test-runner@0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2): resolution: {integrity: sha512-4mt822j0VF1H/c0//OWSST9eWV0wboncJUQ+hBm5N4wmyuObvwsiMh4pmgXw8Y82wF7g1RIofjEQqAGLa7NjgQ==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.24.7 - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 '@jest/types': 29.6.3 - '@storybook/core-common': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/csf-tools': 8.0.8 - '@storybook/preview-api': 8.2.6(storybook@8.2.6) - '@swc/core': 1.4.13 - '@swc/jest': 0.2.36(@swc/core@1.4.13) + '@storybook/core-common': 8.3.3(storybook@8.3.3) + '@storybook/csf': 0.1.11 + '@storybook/csf-tools': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@swc/core': 1.7.28 + '@swc/jest': 0.2.36(@swc/core@1.7.28) expect-playwright: 0.8.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-circus: 29.7.0 @@ -9093,13 +7685,12 @@ packages: jest-runner: 29.7.0 jest-serializer-html: 7.1.0 jest-watch-typeahead: 2.2.2(jest@29.7.0) - playwright: 1.39.0 + playwright: 1.47.2 transitivePeerDependencies: - '@swc/helpers' - '@types/node' - babel-plugin-macros - debug - - encoding - node-notifier - storybook - supports-color @@ -9113,7 +7704,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.14 - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -9127,27 +7718,19 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@storybook/client-logger': 6.5.16 - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 dev: false - /@storybook/theming@8.2.6(storybook@8.2.6): - resolution: {integrity: sha512-ICnYuLIVsYifVCMQljdHgrp+5vAquNybHxDGWiPeOxBicotwHF8rLhTckD2CdVQbMp0jk6r6jetvjXbFJ2MbvQ==} + /@storybook/theming@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-gWJKetI6XJQgkrvvry4ez10+jLaGNCQKi5ygRPM9N+qrjA3BB8F2LCuFUTBuisa4l64TILDNjfwP/YTWV5+u5A==} peerDependencies: - storybook: ^8.2.6 - dependencies: - storybook: 8.2.6(@babel/preset-env@7.23.9) - dev: false - - /@storybook/types@8.0.8: - resolution: {integrity: sha512-NGsgCsXnWlaZmHenHDgHGs21zhweZACkqTNsEQ7hvsiF08QeiKAdgJLQg3YeGK73h9mFDRP9djprUtJYab6vnQ==} + storybook: ^8.3.3 dependencies: - '@storybook/channels': 8.0.8 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 + storybook: 8.3.3 dev: false /@storybook/ui@6.5.16(react-dom@18.3.1)(react@18.3.1): @@ -9165,17 +7748,17 @@ packages: '@storybook/router': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/semver': 7.3.2 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - core-js: 3.36.0 + core-js: 3.38.1 memoizerific: 1.11.3 - qs: 6.12.0 + qs: 6.13.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 resolve-from: 5.0.0 dev: false - /@swc/core-darwin-arm64@1.4.13: - resolution: {integrity: sha512-36P72FLpm5iq85IvoEjBvi22DiqkkEIanJ1M0E8bkxcFHUbjBrYfPY9T6cpPyK5oQqkaTBvNAc3j1BlVD6IH6w==} + /@swc/core-darwin-arm64@1.7.28: + resolution: {integrity: sha512-BNkj6enHo2pdzOpCtQGKZbXT2A/qWIr0CVtbTM4WkJ3MCK/glbFsyO6X59p1r8+gfaZG4bWYnTTu+RuUAcsL5g==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -9183,8 +7766,8 @@ packages: dev: false optional: true - /@swc/core-darwin-x64@1.4.13: - resolution: {integrity: sha512-ye7OgKpDdyA8AMIVVdmD1ICDaFXgoEXORnVO8bBHyul0WN71yUBZMX+YxEx2lpWtiftA2vY/1MAuOR80vHkBCw==} + /@swc/core-darwin-x64@1.7.28: + resolution: {integrity: sha512-96zQ+X5Fd6P/RNPkOyikTJgEc2M4TzznfYvjRd2hye5h22jhxCLL/csoauDgN7lYfd7mwsZ/sVXwJTMKl+vZSA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -9192,8 +7775,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm-gnueabihf@1.4.13: - resolution: {integrity: sha512-+x593Jlmu4c3lJtZUKRejWpV2MAij1Js5nmQLLdjo6ChR2D4B2rzj3iMiKn5gITew7fraF9t3fvXALdWh7HmUg==} + /@swc/core-linux-arm-gnueabihf@1.7.28: + resolution: {integrity: sha512-l2100Wx6LdXMOmOW3+KoHhBhyZrGdz8ylkygcVOC0QHp6YIATfuG+rRHksfyEWCSOdL3anM9MJZJX26KT/s+XQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -9201,8 +7784,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-gnu@1.4.13: - resolution: {integrity: sha512-0x8OVw4dfyNerrs/9eZX9wNnmvwbwXSMCi+LbE6Xt1pXOIwvoLtFIXcV3NsrlkFboO3sr5UAQIwDxKqbIZA9pQ==} + /@swc/core-linux-arm64-gnu@1.7.28: + resolution: {integrity: sha512-03m6iQ5Bv9u2VPnNRyaBmE8eHi056eE39L0gXcqGoo46GAGuoqYHt9pDz8wS6EgoN4t85iBMUZrkCNqFKkN6ZQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -9210,8 +7793,8 @@ packages: dev: false optional: true - /@swc/core-linux-arm64-musl@1.4.13: - resolution: {integrity: sha512-Z9c4JiequtZvngPcxbCuAOkmWBxi2vInZbjjhD5I+Q9oiJdXUz1t2USGwsGPS41Xvk1BOA3ecK2Sn1ilY3titg==} + /@swc/core-linux-arm64-musl@1.7.28: + resolution: {integrity: sha512-vqVOpG/jc8mvTKQjaPBLhr7tnWyzuztOHsPnJqMWmg7zGcMeQC/2c5pU4uzRAfXMTp25iId6s4Y4wWfPS1EeDw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -9219,8 +7802,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-gnu@1.4.13: - resolution: {integrity: sha512-ChatHtk+vX0Ke5QG+jO+rIapw/KwZsi9MedCBHFXHH6iWF4z8d51cJeN68ykcn+vAXzjNeFNdlNy5Vbkd1zAqg==} + /@swc/core-linux-x64-gnu@1.7.28: + resolution: {integrity: sha512-HGwpWuB83Kr+V0E+zT5UwIIY9OxiS8aLd0UVMRVWuO8SrQyKm9HKJ46+zoAb8tfJrpZftfxvbn2ayZWR7gqosA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -9228,8 +7811,8 @@ packages: dev: false optional: true - /@swc/core-linux-x64-musl@1.4.13: - resolution: {integrity: sha512-0Pz39YR530mXpsztwQkmEKdkkZy4fY4Smdh4pkm6Ly8Nndyo0te/l4bcAGqN24Jp7aVwF/QSy14SAtw4HRjU9g==} + /@swc/core-linux-x64-musl@1.7.28: + resolution: {integrity: sha512-q2Y2T8y8EgFtIiRyInnAXNe94aaHX74F0ha1Bl9VdRxE0u1/So+3VLbPvtp4V3Z6pj5pOePfCQJKifnllgAQ9A==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -9237,8 +7820,8 @@ packages: dev: false optional: true - /@swc/core-win32-arm64-msvc@1.4.13: - resolution: {integrity: sha512-LVZfhlD+jHcAbz5NN+gAJ1BEasB0WpcvUzcsJt0nQSRsojgzPzFjJ+fzEBnvT7SMtqKkrnVJ0OmDYeh88bDRpw==} + /@swc/core-win32-arm64-msvc@1.7.28: + resolution: {integrity: sha512-bCqh4uBT/59h3dWK1v91In6qzz8rKoWoFRxCtNQLIK4jP55K0U231ZK9oN7neZD6bzcOUeFvOGgcyMAgDfFWfA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -9246,8 +7829,8 @@ packages: dev: false optional: true - /@swc/core-win32-ia32-msvc@1.4.13: - resolution: {integrity: sha512-78hxHWUvUZtWsnhcf8DKwhBcNFJw+j4y4fN2B9ioXmBWX2tIyw+BqUHOrismOtjPihaZmwe/Ok2e4qmkawE2fw==} + /@swc/core-win32-ia32-msvc@1.7.28: + resolution: {integrity: sha512-XTHbHrksnrqK3JSJ2sbuMWvdJ6/G0roRpgyVTmNDfhTYPOwcVaL/mSrPGLwbksYUbq7ckwoKzrobhdxvQzPsDA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -9255,8 +7838,8 @@ packages: dev: false optional: true - /@swc/core-win32-x64-msvc@1.4.13: - resolution: {integrity: sha512-WSfy1u2Xde6jU7UpHIInCUMW98Zw9iZglddKUAvmr1obkZji5U6EX0Oca3asEJdZPFb+2lMLjt0Mh5a1YisROg==} + /@swc/core-win32-x64-msvc@1.7.28: + resolution: {integrity: sha512-jyXeoq6nX8abiCy2EpporsC5ywNENs4ocYuvxo1LSxDktWN1E2MTXq3cdJcEWB2Vydxq0rDcsGyzkRPMzFhkZw==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -9264,55 +7847,55 @@ packages: dev: false optional: true - /@swc/core@1.4.13: - resolution: {integrity: sha512-rOtusBE+2gaeRkAJn5E4zp5yzZekZOypzSOz5ZG6P1hFbd+Cc26fWEdK6sUSnrkkvTd0Oj33KXLB/4UkbK/UHA==} + /@swc/core@1.7.28: + resolution: {integrity: sha512-XapcMgsOS0cKh01AFEj+qXOk6KM4NZhp7a5vPicdhkRR8RzvjrCa7DTtijMxfotU8bqaEHguxmiIag2HUlT8QQ==} engines: {node: '>=10'} requiresBuild: true peerDependencies: - '@swc/helpers': ^0.5.0 + '@swc/helpers': '*' peerDependenciesMeta: '@swc/helpers': optional: true dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.6 + '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.4.13 - '@swc/core-darwin-x64': 1.4.13 - '@swc/core-linux-arm-gnueabihf': 1.4.13 - '@swc/core-linux-arm64-gnu': 1.4.13 - '@swc/core-linux-arm64-musl': 1.4.13 - '@swc/core-linux-x64-gnu': 1.4.13 - '@swc/core-linux-x64-musl': 1.4.13 - '@swc/core-win32-arm64-msvc': 1.4.13 - '@swc/core-win32-ia32-msvc': 1.4.13 - '@swc/core-win32-x64-msvc': 1.4.13 + '@swc/core-darwin-arm64': 1.7.28 + '@swc/core-darwin-x64': 1.7.28 + '@swc/core-linux-arm-gnueabihf': 1.7.28 + '@swc/core-linux-arm64-gnu': 1.7.28 + '@swc/core-linux-arm64-musl': 1.7.28 + '@swc/core-linux-x64-gnu': 1.7.28 + '@swc/core-linux-x64-musl': 1.7.28 + '@swc/core-win32-arm64-msvc': 1.7.28 + '@swc/core-win32-ia32-msvc': 1.7.28 + '@swc/core-win32-x64-msvc': 1.7.28 dev: false /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} dev: false - /@swc/helpers@0.5.6: - resolution: {integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==} + /@swc/helpers@0.5.13: + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false - /@swc/jest@0.2.36(@swc/core@1.4.13): + /@swc/jest@0.2.36(@swc/core@1.7.28): resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.4.13 + '@swc/core': 1.7.28 '@swc/counter': 0.1.3 - jsonc-parser: 3.2.1 + jsonc-parser: 3.3.1 dev: false - /@swc/types@0.1.6: - resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} + /@swc/types@0.1.12: + resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} dependencies: '@swc/counter': 0.1.3 dev: false @@ -9322,7 +7905,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -9331,13 +7914,12 @@ packages: pretty-format: 27.5.1 dev: false - /@testing-library/jest-dom@6.4.8: - resolution: {integrity: sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==} + /@testing-library/jest-dom@6.5.0: + resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.24.0 - aria-query: 5.3.0 + aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 @@ -9345,8 +7927,8 @@ packages: redent: 3.0.0 dev: false - /@testing-library/react@16.0.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==} + /@testing-library/react@16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==} engines: {node: '>=18'} peerDependencies: '@testing-library/dom': ^10.0.0 @@ -9360,7 +7942,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 '@testing-library/dom': 9.3.4 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -9382,8 +7964,8 @@ packages: engines: {node: '>= 10'} dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -9409,30 +7991,30 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 dev: false /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.25.6 dev: false /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: false - /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.25.6 dev: false /@types/body-parser@1.19.5: @@ -9451,7 +8033,7 @@ packages: /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.17.43 + '@types/express-serve-static-core': 5.0.0 '@types/node': 20.14.12 dev: false @@ -9474,7 +8056,7 @@ packages: /@types/copy-webpack-plugin@6.4.3: resolution: {integrity: sha512-yk7QO2/WrtkDLcsqQXfjU3EIYzggNHVl5y6gnxfMtCPB+bxVUIUzwb1BNxlk+78wENoh9ZgkVSNqn80T9rqO8w==} dependencies: - '@types/webpack': 4.41.38 + '@types/webpack': 4.41.39 dev: false /@types/cors@2.8.17: @@ -9483,12 +8065,6 @@ packages: '@types/node': 20.14.12 dev: false - /@types/cross-spawn@6.0.6: - resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - dependencies: - '@types/node': 20.14.12 - dev: false - /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: @@ -9505,10 +8081,6 @@ packages: '@types/trusted-types': 2.0.7 dev: false - /@types/emscripten@1.39.10: - resolution: {integrity: sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==} - dev: false - /@types/escodegen@0.0.6: resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} dev: false @@ -9516,14 +8088,14 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.5 - '@types/estree': 1.0.5 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 dev: false - /@types/eslint@8.56.5: - resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} + /@types/eslint@9.6.1: + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 dev: false @@ -9539,15 +8111,28 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: false + /@types/events@3.0.3: resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} dev: false - /@types/express-serve-static-core@4.17.43: - resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + /@types/express-serve-static-core@4.19.6: + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + dependencies: + '@types/node': 20.14.12 + '@types/qs': 6.9.16 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: false + + /@types/express-serve-static-core@5.0.0: + resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} dependencies: '@types/node': 20.14.12 - '@types/qs': 6.9.12 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 dev: false @@ -9556,9 +8141,9 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.43 - '@types/qs': 6.9.12 - '@types/serve-static': 1.15.5 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.16 + '@types/serve-static': 1.15.7 dev: false /@types/glob@7.2.0: @@ -9578,19 +8163,19 @@ packages: /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.14.8 + '@types/node': 22.7.1 dev: false /@types/hast@2.3.10: resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 dev: false /@types/hast@3.0.4: resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /@types/html-minifier-terser@5.1.2: @@ -9609,8 +8194,8 @@ packages: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: false - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + /@types/http-proxy@1.17.15: + resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: '@types/node': 20.14.12 dev: false @@ -9638,7 +8223,7 @@ packages: /@types/jest-specific-snapshot@0.5.9: resolution: {integrity: sha512-NPcItjVhJq3x6MWR6QNi92n5orOkcTvuQ0E8nqK2WZN18a7O93D2dcNL0x+eSNxmNSIbgfgCJ5eUScjACPCWsg==} dependencies: - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 dev: false /@types/jest@26.0.24: @@ -9648,8 +8233,8 @@ packages: pretty-format: 26.6.2 dev: false - /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + /@types/jest@29.5.13: + resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -9675,20 +8260,20 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + /@types/lodash@4.17.9: + resolution: {integrity: sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==} dev: false /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 dev: false /@types/mdast@4.0.4: resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /@types/mdx@2.0.13: @@ -9703,10 +8288,6 @@ packages: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} dev: false - /@types/mime@3.0.4: - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - dev: false - /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: false @@ -9721,8 +8302,8 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: false - /@types/multer@1.4.11: - resolution: {integrity: sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==} + /@types/multer@1.4.12: + resolution: {integrity: sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg==} dependencies: '@types/express': 4.17.21 dev: false @@ -9730,7 +8311,7 @@ packages: /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.14.3 + '@types/node': 20.14.12 form-data: 4.0.0 dev: false @@ -9740,27 +8321,8 @@ packages: '@types/node': 20.14.12 dev: false - /@types/node-static@0.7.11: - resolution: {integrity: sha512-1LrpKh6oftSpO2T7gUtUjT/flRdJt9Dp7IZVuNiTOXtgYVQgb/UJBLMNRUQb/Z+WCRP5OotmrUT3S3PfQn0igQ==} - dependencies: - '@types/mime': 1.3.5 - '@types/node': 20.14.12 - dev: false - - /@types/node@16.18.87: - resolution: {integrity: sha512-+IzfhNirR/MDbXz6Om5eHV54D9mQlEMGag6AgEzlju0xH3M8baCXYwqQ6RKgGMpn9wSTx6Ltya/0y4Z8eSfdLw==} - dev: false - - /@types/node@18.19.31: - resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} - dependencies: - undici-types: 5.26.5 - dev: false - - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} - dependencies: - undici-types: 5.26.5 + /@types/node@16.18.110: + resolution: {integrity: sha512-hFlWPrNn1S7/Dxd2xZE0knhRZSe9SbtGJPVezusCtlFO8FN53xxw52A1ex+evLh31ltkXCc71NE5dx4Z3W7uow==} dev: false /@types/node@20.14.12: @@ -9769,16 +8331,10 @@ packages: undici-types: 5.26.5 dev: false - /@types/node@20.14.3: - resolution: {integrity: sha512-Nuzqa6WAxeGnve6SXqiPAM9rA++VQs+iLZ1DDd56y0gdvygSZlQvZuvdFPR3yLqkVxPu4WrO02iDEyH1g+wazw==} - dependencies: - undici-types: 5.26.5 - dev: false - - /@types/node@20.14.8: - resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} + /@types/node@22.7.1: + resolution: {integrity: sha512-adOMRLVmleuWs/5V/w5/l7o0chDK/az+5ncCsIapTKogsu/3MVWvSgP58qVTXi5IwpfGt8pMobNq9rOWtJyu5Q==} dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 dev: false /@types/normalize-package-data@2.4.4: @@ -9807,24 +8363,18 @@ packages: resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} dev: false - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} dev: false - /@types/qs@6.9.12: - resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==} + /@types/qs@6.9.16: + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} dev: false /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} dev: false - /@types/react-dom@18.2.23: - resolution: {integrity: sha512-ZQ71wgGOTmDYpnav2knkjr3qXdAFu0vsk8Ci5w3pGAIdj7/kKAyn+VsQDhXsmzzzepAiI9leWMmubXz690AI/A==} - dependencies: - '@types/react': 18.2.74 - dev: false - /@types/react-dom@18.3.0: resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} dependencies: @@ -9837,17 +8387,10 @@ packages: '@types/react': 18.3.3 dev: false - /@types/react@18.2.74: - resolution: {integrity: sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw==} - dependencies: - '@types/prop-types': 15.7.11 - csstype: 3.1.3 - dev: false - /@types/react@18.3.3: resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} dependencies: - '@types/prop-types': 15.7.11 + '@types/prop-types': 15.7.13 csstype: 3.1.3 dev: false @@ -9876,12 +8419,12 @@ packages: '@types/express': 4.17.21 dev: false - /@types/serve-static@1.15.5: - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + /@types/serve-static@1.15.7: + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/mime': 3.0.4 '@types/node': 20.14.12 + '@types/send': 0.17.4 dev: false /@types/sockjs@0.3.36: @@ -9906,18 +8449,19 @@ packages: resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} dev: false - /@types/superagent@8.1.4: - resolution: {integrity: sha512-uzSBYwrpal8y2X2Pul5ZSWpzRiDha2FLcquaN95qUPnOjYgm/zQ5LIdqeJpQJTRWNTN+Rhm0aC8H06Ds2rqCYw==} + /@types/superagent@8.1.9: + resolution: {integrity: sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==} dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 '@types/node': 20.14.12 + form-data: 4.0.0 dev: false /@types/supertest@2.0.16: resolution: {integrity: sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==} dependencies: - '@types/superagent': 8.1.4 + '@types/superagent': 8.1.9 dev: false /@types/tapable@1.0.12: @@ -9932,24 +8476,18 @@ packages: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: false - /@types/tunnel@0.0.3: - resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} - dependencies: - '@types/node': 20.14.3 - dev: false - /@types/uglify-js@3.17.5: resolution: {integrity: sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==} dependencies: source-map: 0.6.1 dev: false - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + /@types/unist@2.0.11: + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} dev: false - /@types/unist@3.0.2: - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + /@types/unist@3.0.3: + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} dev: false /@types/uuid@9.0.8: @@ -9962,8 +8500,8 @@ packages: '@types/node': 20.14.12 dev: false - /@types/webpack-env@1.18.4: - resolution: {integrity: sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==} + /@types/webpack-env@1.18.5: + resolution: {integrity: sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==} dev: false /@types/webpack-node-externals@3.0.4(webpack-cli@5.1.4): @@ -9986,8 +8524,8 @@ packages: source-map: 0.7.4 dev: false - /@types/webpack@4.41.38: - resolution: {integrity: sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==} + /@types/webpack@4.41.39: + resolution: {integrity: sha512-otxUJvoi6FbBq/64gGH34eblpKLgdi+gf08GaAh8Bx6So0ZZic028Ev/SUxD22gbthMKCkeeiXEat1kHLDJfYg==} dependencies: '@types/node': 20.14.12 '@types/tapable': 1.0.12 @@ -9997,8 +8535,8 @@ packages: source-map: 0.6.1 dev: false - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + /@types/ws@8.5.12: + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: '@types/node': 20.14.12 dev: false @@ -10013,14 +8551,14 @@ packages: '@types/yargs-parser': 21.0.3 dev: false - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} dependencies: '@types/yargs-parser': 21.0.3 dev: false - /@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} + /@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -10030,15 +8568,15 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.14.1 - eslint: 8.57.0 + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 @@ -10046,8 +8584,8 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==} + /@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -10056,27 +8594,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.14.1 - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.57.0 + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/scope-manager@7.14.1: - resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} + /@typescript-eslint/scope-manager@7.18.0: + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 dev: false - /@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} + /@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -10085,23 +8623,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.4.5) - '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.57.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/types@7.14.1: - resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} + /@typescript-eslint/types@7.18.0: + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} dev: false - /@typescript-eslint/typescript-estree@7.14.1(typescript@5.4.5): - resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} + /@typescript-eslint/typescript-estree@7.18.0(typescript@5.4.5): + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -10109,40 +8647,40 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/visitor-keys': 7.14.1 - debug: 4.3.4(supports-color@5.5.0) + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.7(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.6.0 + semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} + /@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.14.1 - '@typescript-eslint/types': 7.14.1 - '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.4.5) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.4.5) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/visitor-keys@7.14.1: - resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} + /@typescript-eslint/visitor-keys@7.18.0: + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 dev: false @@ -10157,16 +8695,16 @@ packages: vite: ^4.2.0 || ^5.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 - react-refresh: 0.14.0 + react-refresh: 0.14.2 transitivePeerDependencies: - supports-color dev: false - /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -10196,8 +8734,8 @@ packages: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} dev: false - /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: false /@webassemblyjs/helper-buffer@1.9.0: @@ -10236,13 +8774,13 @@ packages: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} dev: false - /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 dev: false /@webassemblyjs/helper-wasm-section@1.9.0: @@ -10286,17 +8824,17 @@ packages: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} dev: false - /@webassemblyjs/wasm-edit@1.11.6: - resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-opt': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 - '@webassemblyjs/wast-printer': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 dev: false /@webassemblyjs/wasm-edit@1.9.0: @@ -10312,10 +8850,10 @@ packages: '@webassemblyjs/wast-printer': 1.9.0 dev: false - /@webassemblyjs/wasm-gen@1.11.6: - resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 @@ -10332,13 +8870,13 @@ packages: '@webassemblyjs/utf8': 1.9.0 dev: false - /@webassemblyjs/wasm-opt@1.11.6: - resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 dev: false /@webassemblyjs/wasm-opt@1.9.0: @@ -10350,10 +8888,10 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 dev: false - /@webassemblyjs/wasm-parser@1.11.6: - resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 @@ -10383,10 +8921,10 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/wast-printer@1.11.6: - resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 dev: false @@ -10406,7 +8944,7 @@ packages: webpack-cli: 5.x.x dependencies: webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) dev: false /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): @@ -10417,7 +8955,7 @@ packages: webpack-cli: 5.x.x dependencies: webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) dev: false /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.89.0): @@ -10432,7 +8970,7 @@ packages: optional: true dependencies: webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) dev: false @@ -10448,7 +8986,7 @@ packages: optional: true dependencies: webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) dev: false /@xtuc/ieee754@1.2.0: @@ -10459,22 +8997,6 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: false - /@yarnpkg/fslib@2.10.3: - resolution: {integrity: sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==} - engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} - dependencies: - '@yarnpkg/libzip': 2.3.0 - tslib: 1.14.1 - dev: false - - /@yarnpkg/libzip@2.3.0: - resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==} - engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} - dependencies: - '@types/emscripten': 1.39.10 - tslib: 1.14.1 - dev: false - /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: false @@ -10495,16 +9017,16 @@ packages: /acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.1 + acorn-walk: 8.3.4 dev: false - /acorn-import-assertions@1.9.0(acorn@8.11.3): + /acorn-import-assertions@1.9.0(acorn@8.12.1): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.11.3 + acorn: 8.12.1 dev: false /acorn-jsx@5.3.2(acorn@7.4.1): @@ -10515,12 +9037,12 @@ packages: acorn: 7.4.1 dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.12.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.3 + acorn: 8.12.1 dev: false /acorn-walk@7.2.0: @@ -10528,9 +9050,11 @@ packages: engines: {node: '>=0.4.0'} dev: false - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false /acorn@6.4.2: @@ -10545,8 +9069,8 @@ packages: hasBin: true dev: false - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -10560,7 +9084,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -10569,7 +9093,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -10591,16 +9115,16 @@ packages: es5-shim: 4.6.7 es6-shim: 0.35.8 function.prototype.name: 1.1.6 - globalthis: 1.0.3 + globalthis: 1.0.4 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.getownpropertydescriptors: 2.1.7 + object.getownpropertydescriptors: 2.1.8 object.values: 1.2.0 promise.allsettled: 1.0.7 promise.prototype.finally: 3.1.8 string.prototype.matchall: 4.0.11 - string.prototype.padend: 3.1.5 - string.prototype.padstart: 3.1.5 + string.prototype.padend: 3.1.6 + string.prototype.padstart: 3.1.6 symbol.prototype.description: 1.0.6 dev: false @@ -10623,8 +9147,10 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1: + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -10746,8 +9272,8 @@ packages: engines: {node: '>=8'} dev: false - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + /ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} dev: false @@ -10770,11 +9296,6 @@ packages: engines: {node: '>=10'} dev: false - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: false - /ansi-to-html@0.6.15: resolution: {integrity: sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==} engines: {node: '>=8.0.0'} @@ -10835,6 +9356,7 @@ packages: /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: delegates: 1.0.0 readable-stream: 3.6.2 @@ -10860,10 +9382,9 @@ packages: deep-equal: 2.2.3 dev: false - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 + /aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} dev: false /arr-diff@2.0.0: @@ -10922,17 +9443,6 @@ packages: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.5 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - dev: false - /array-includes@3.1.8: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} @@ -10972,17 +9482,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - dev: false - /array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -10995,14 +9494,15 @@ packages: es-shim-unscopables: 1.0.2 dev: false - /array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + /array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.3 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 dev: false @@ -11012,7 +9512,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: false @@ -11026,37 +9526,31 @@ packages: es-shim-unscopables: 1.0.2 dev: false - /array.prototype.map@1.0.6: - resolution: {integrity: sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==} + /array.prototype.map@1.0.7: + resolution: {integrity: sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-array-method-boxes-properly: 1.0.0 + es-object-atoms: 1.0.0 is-string: 1.0.7 dev: false - /array.prototype.reduce@1.0.6: - resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} + /array.prototype.reduce@1.0.7: + resolution: {integrity: sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-array-method-boxes-properly: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 is-string: 1.0.7 dev: false - /array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - dev: false - /array.prototype.tosorted@1.1.4: resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} engines: {node: '>= 0.4'} @@ -11119,14 +9613,14 @@ packages: resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} engines: {node: '>=4'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false /ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false /async-each@1.0.6: @@ -11139,14 +9633,8 @@ packages: lodash: 4.17.21 dev: false - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - dev: false - - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - dependencies: - has-symbols: 1.0.3 + /async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} dev: false /asynckit@0.4.0: @@ -11168,8 +9656,8 @@ packages: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.23.2 - caniuse-lite: 1.0.30001596 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001663 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -11184,43 +9672,24 @@ packages: possible-typed-array-names: 1.0.0 dev: false - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + /axe-core@4.10.0: + resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} engines: {node: '>=4'} dev: false - /axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - dev: false - - /babel-core@7.0.0-bridge.0(@babel/core@7.25.2): - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.2 + /axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} dev: false /babel-jest@29.7.0(@babel/core@7.25.2): @@ -11273,8 +9742,8 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /babel-loader@9.1.3(@babel/core@7.25.2)(webpack@5.89.0): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.89.0): + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -11310,7 +9779,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -11323,17 +9792,17 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.5 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 dev: false /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false @@ -11347,7 +9816,7 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) semver: 6.3.1 @@ -11355,19 +9824,6 @@ packages: - supports-color dev: false - /babel-plugin-polyfill-corejs2@0.4.9(@babel/core@7.25.2): - resolution: {integrity: sha512-BXIWIaO3MewbXWdJdIGDWZurv5OGJlFNo7oy20DpB3kWDVJLcY2NRypRsRUbRe5KMqSNLuOGnWTFQQtY5MAsRw==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.0(@babel/core@7.25.2) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - /babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.25.2): resolution: {integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==} peerDependencies: @@ -11375,19 +9831,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.25.2) - core-js-compat: 3.36.0 - transitivePeerDependencies: - - supports-color - dev: false - - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.25.2): - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - core-js-compat: 3.37.1 + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color dev: false @@ -11399,7 +9843,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.25.2) - core-js-compat: 3.36.0 + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color dev: false @@ -11415,17 +9859,6 @@ packages: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): - resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color - dev: false - /babel-plugin-react-docgen@4.2.1: resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==} dependencies: @@ -11436,19 +9869,20 @@ packages: - supports-color dev: false - /babel-plugin-styled-components@2.1.4(@babel/core@7.25.2)(styled-components@5.3.11): + /babel-plugin-styled-components@2.1.4(@babel/core@7.25.2)(styled-components@5.3.11)(supports-color@5.5.0): resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} peerDependencies: styled-components: '>= 2' dependencies: - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) lodash: 4.17.21 picomatch: 2.3.1 styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) transitivePeerDependencies: - '@babel/core' + - supports-color dev: false /babel-polyfill@6.26.0: @@ -11459,8 +9893,8 @@ packages: regenerator-runtime: 0.10.5 dev: false - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.25.2): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + /babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2): + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -11468,6 +9902,8 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) @@ -11476,6 +9912,7 @@ packages: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) dev: false @@ -11487,7 +9924,7 @@ packages: dependencies: '@babel/core': 7.25.2 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) dev: false /babel-runtime@6.26.0: @@ -11537,8 +9974,8 @@ packages: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} dev: false - /beachball@2.44.0(typescript@5.4.5): - resolution: {integrity: sha512-gpODT4gD4fttLlkfm6VpHjMwlVMvN40ML1SujW6sAf6DgL6XN2TEyFSxOCkdnQxUAuGNe3I0p2BmKuwaYAuBGA==} + /beachball@2.47.1(typescript@5.4.5): + resolution: {integrity: sha512-OAbbAK0Vx16Uzukrvfki9WO1S5AtKFEZEUENIOdePJtfAunECjD1Gmz8kKJeRy6g5S0JVaC875DaAPWtujQY9A==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -11549,7 +9986,7 @@ packages: minimatch: 3.1.2 p-limit: 3.1.0 prompts: 2.4.2 - semver: 7.6.0 + semver: 7.6.3 toposort: 2.0.2 uuid: 9.0.1 workspace-tools: 0.36.4 @@ -11569,6 +10006,13 @@ packages: open: 7.4.2 dev: false + /better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + dependencies: + open: 8.4.2 + dev: false + /big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} @@ -11585,8 +10029,8 @@ packages: engines: {node: '>=0.10.0'} dev: false - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} requiresBuild: true dev: false @@ -11599,14 +10043,6 @@ packages: dev: false optional: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: false @@ -11619,8 +10055,8 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: false - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + /body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -11631,7 +10067,7 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -11708,11 +10144,11 @@ packages: to-regex: 3.0.2 dev: false - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 dev: false /brorand@1.1.0: @@ -11766,7 +10202,7 @@ packages: browserify-rsa: 4.1.0 create-hash: 1.2.0 create-hmac: 1.1.7 - elliptic: 6.5.5 + elliptic: 6.5.7 hash-base: 3.0.4 inherits: 2.0.4 parse-asn1: 5.1.7 @@ -11780,26 +10216,15 @@ packages: pako: 1.0.11 dev: false - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001596 - electron-to-chromium: 1.4.699 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} + /browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001643 - electron-to-chromium: 1.5.0 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.2) + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.28 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.24.0) dev: false /bs-logger@0.2.6: @@ -11837,13 +10262,6 @@ packages: isarray: 1.0.0 dev: false - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} dev: false @@ -11879,7 +10297,7 @@ packages: istanbul-reports: 3.1.7 rimraf: 3.0.2 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.3.0 yargs: 16.2.0 yargs-parser: 20.2.9 dev: false @@ -11924,7 +10342,7 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 8.0.1 - tar: 6.2.0 + tar: 6.2.1 unique-filename: 1.1.1 dev: false @@ -11961,7 +10379,7 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 dev: false /call-me-maybe@1.0.2: @@ -11977,7 +10395,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /camelcase-css@2.0.1: @@ -12016,12 +10434,8 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001596: - resolution: {integrity: sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==} - dev: false - - /caniuse-lite@1.0.30001643: - resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} + /caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} dev: false /capture-exit@2.0.0: @@ -12104,14 +10518,8 @@ packages: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: false - /charset@1.0.1: - resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} - engines: {node: '>=4.0.0'} - dev: false - /chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} - deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. dependencies: anymatch: 1.3.2 async-each: 1.0.6 @@ -12127,7 +10535,6 @@ packages: /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies requiresBuild: true dependencies: anymatch: 2.0.0 @@ -12151,7 +10558,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -12170,8 +10577,8 @@ packages: engines: {node: '>=10'} dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} dev: false @@ -12191,14 +10598,8 @@ packages: safe-buffer: 5.2.1 dev: false - /citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - dependencies: - consola: 3.2.3 - dev: false - - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + /cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} dev: false /class-utils@0.3.6: @@ -12235,20 +10636,8 @@ packages: engines: {node: '>=6'} dev: false - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: false - - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: false - - /cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + /cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} dependencies: string-width: 4.2.3 @@ -12298,11 +10687,6 @@ packages: shallow-clone: 3.0.1 dev: false - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false - /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -12345,25 +10729,11 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: false - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false - /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: false - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - dev: false - /colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: false @@ -12372,11 +10742,6 @@ packages: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: false - /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: false - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -12446,13 +10811,6 @@ packages: engines: {node: '>= 12'} dev: false - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: false - optional: true - /comment-parser@1.2.4: resolution: {integrity: sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==} engines: {node: '>= 12.0.0'} @@ -12474,7 +10832,7 @@ packages: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: - mime-db: 1.52.0 + mime-db: 1.53.0 dev: false /compression@1.7.4: @@ -12514,7 +10872,7 @@ packages: lodash: 4.17.21 read-pkg: 4.0.1 rxjs: 6.6.7 - spawn-command: 0.0.2-1 + spawn-command: 0.0.2 supports-color: 6.1.0 tree-kill: 1.2.2 yargs: 13.3.2 @@ -12529,11 +10887,6 @@ packages: engines: {node: '>=0.8'} dev: false - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: false - /console-browserify@1.2.0: resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} dev: false @@ -12583,11 +10936,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: false - /cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -12599,6 +10947,7 @@ packages: /copy-concurrently@1.0.5: resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} + deprecated: This package is no longer supported. dependencies: aproba: 1.2.0 fs-write-stream-atomic: 1.0.10 @@ -12647,20 +10996,14 @@ packages: yargs: 16.2.0 dev: false - /core-js-compat@3.36.0: - resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==} - dependencies: - browserslist: 4.23.0 - dev: false - - /core-js-compat@3.37.1: - resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + /core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} dependencies: - browserslist: 4.23.2 + browserslist: 4.24.0 dev: false - /core-js-pure@3.36.0: - resolution: {integrity: sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==} + /core-js-pure@3.38.1: + resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==} requiresBuild: true dev: false @@ -12670,8 +11013,8 @@ packages: requiresBuild: true dev: false - /core-js@3.36.0: - resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} + /core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} requiresBuild: true dev: false @@ -12776,7 +11119,7 @@ packages: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: bn.js: 4.12.0 - elliptic: 6.5.5 + elliptic: 6.5.7 dev: false /create-hash@1.2.0: @@ -12875,18 +11218,6 @@ packages: randomfill: 1.0.4 dev: false - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: false - - /crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - dependencies: - type-fest: 1.4.0 - dev: false - /css-color-keywords@1.0.0: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} engines: {node: '>=4'} @@ -12931,7 +11262,7 @@ packages: postcss-modules-values: 3.0.0 postcss-value-parser: 4.2.0 schema-utils: 2.7.1 - semver: 7.6.0 + semver: 7.6.3 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -12941,16 +11272,16 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.47) loader-utils: 2.0.4 - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) - postcss-modules-scope: 3.1.1(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.3 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -12966,14 +11297,14 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.35) - postcss-modules-scope: 3.2.0(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - semver: 7.6.0 + semver: 7.6.3 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -13029,8 +11360,8 @@ packages: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: false - /current-module-paths@1.1.1: - resolution: {integrity: sha512-8Ga5T8oMXBaSsHq9Gj+bddX7kHSaJKsl2vaAd3ep51eQLkr4W18eFEmEZM5bLo1zrz8tt3jE1U8QK9QGhaLR4g==} + /current-module-paths@1.1.2: + resolution: {integrity: sha512-H4s4arcLx/ugbu1XkkgSvcUZax0L6tXUqnppGniQb8l5VjUKGHoayXE5RiriiPhYDd+kjZnaok1Uig13PKtKYQ==} engines: {node: '>=12.17'} dev: false @@ -13099,7 +11430,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 dev: false /debounce@1.2.1: @@ -13118,8 +11449,8 @@ packages: ms: 2.1.3 dev: false - /debug@4.3.4(supports-color@5.5.0): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.3.7(supports-color@5.5.0): + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -13127,7 +11458,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 supports-color: 5.5.0 dev: false @@ -13155,8 +11486,8 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: false - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -13184,7 +11515,7 @@ packages: regexp.prototype.flags: 1.5.2 side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 + which-collection: 1.0.2 which-typed-array: 1.1.15 dev: false @@ -13228,12 +11559,6 @@ packages: strip-bom: 4.0.0 dev: false - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: false - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -13279,24 +11604,6 @@ packages: isobject: 3.0.1 dev: false - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: false - - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: false - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -13343,11 +11650,6 @@ packages: repeat-string: 1.6.1 dev: false - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: false - /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -13364,12 +11666,13 @@ packages: execa: 5.1.1 dev: false - /detect-port@1.5.1: - resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} + /detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} hasBin: true dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -13434,7 +11737,7 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} dependencies: - '@leichtgewicht/ip-codec': 2.0.4 + '@leichtgewicht/ip-codec': 2.0.5 dev: false /doctrine@2.1.0: @@ -13468,7 +11771,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 csstype: 3.1.3 dev: false @@ -13571,12 +11874,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.2 - dev: false - - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} + tslib: 2.7.0 dev: false /dotenv-expand@5.1.0: @@ -13588,11 +11886,6 @@ packages: engines: {node: '>=10'} dev: false - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: false - /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} @@ -13617,45 +11910,24 @@ packages: xtend: 4.0.2 dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: false - - /ecstatic@4.1.4: - resolution: {integrity: sha512-8E4ZLK4uRuB9pwywGpy/B9vcz4gCp6IY7u4cMbeCINr/fjb1v+0wf0Ae2XlfSnG8xZYnE4uaJBjFkYI0bqcIdw==} - deprecated: This package is unmaintained and deprecated. See the GH Issue 259. - hasBin: true - dependencies: - charset: 1.0.1 - he: 1.2.0 - mime: 2.6.0 - minimist: 1.2.8 - on-finished: 2.4.1 - url-join: 4.0.1 - dev: false - /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + /ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} hasBin: true dependencies: - jake: 10.8.7 - dev: false - - /electron-to-chromium@1.4.699: - resolution: {integrity: sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==} + jake: 10.9.2 dev: false - /electron-to-chromium@1.5.0: - resolution: {integrity: sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==} + /electron-to-chromium@1.5.28: + resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} dev: false - /elliptic@6.5.5: - resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + /elliptic@6.5.7: + resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -13693,6 +11965,11 @@ packages: engines: {node: '>= 0.8'} dev: false + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -13716,8 +11993,8 @@ packages: tapable: 1.1.3 dev: false - /enhanced-resolve@5.15.1: - resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==} + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -13746,8 +12023,8 @@ packages: cross-spawn: 7.0.3 dev: false - /envinfo@7.11.1: - resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==} + /envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} engines: {node: '>=4'} hasBin: true dev: false @@ -13771,53 +12048,6 @@ packages: stackframe: 1.3.4 dev: false - /es-abstract@1.22.5: - resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - dev: false - /es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -13837,7 +12067,7 @@ packages: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -13853,7 +12083,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -13900,27 +12130,6 @@ packages: stop-iteration-iterator: 1.0.0 dev: false - /es-iterator-helpers@1.0.17: - resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} - engines: {node: '>= 0.4'} - dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.3 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 - dev: false - /es-iterator-helpers@1.0.19: resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} @@ -13932,7 +12141,7 @@ packages: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -13941,10 +12150,6 @@ packages: safe-array-concat: 1.1.2 dev: false - /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} - dev: false - /es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} dev: false @@ -13993,13 +12198,13 @@ packages: resolution: {integrity: sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==} dev: false - /esbuild-register@3.5.0(esbuild@0.18.20): - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + /esbuild-register@3.6.0(esbuild@0.23.1): + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@5.5.0) - esbuild: 0.18.20 + debug: 4.3.7(supports-color@5.5.0) + esbuild: 0.23.1 transitivePeerDependencies: - supports-color dev: false @@ -14034,8 +12239,40 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: false - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + /esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + dev: false + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} dev: false @@ -14075,16 +12312,16 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@8.57.1): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0): + /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1): resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -14105,44 +12342,44 @@ packages: eslint-plugin-testing-library: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) confusing-browser-globals: 1.0.11 - eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) dev: false /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.13.1 + is-core-module: 2.15.1 resolve: 1.22.8 dev: false - /eslint-mdx@1.17.1(eslint@8.57.0): + /eslint-mdx@1.17.1(eslint@8.57.1): resolution: {integrity: sha512-ihkTZCYipPUpzZgTeTwRajj3ZFYQAMWUm/ajscLWjXPVA2+ZQoLRreVNETRZ1znCnE3OAGbwmA1vd0uxtSk2wg==} engines: {node: '>=10.0.0'} peerDependencies: eslint: '>=5.0.0' dependencies: cosmiconfig: 7.1.0 - eslint: 8.57.0 + eslint: 8.57.1 remark-mdx: 1.6.22 remark-parse: 8.0.3 remark-stringify: 8.1.1 - tslib: 2.6.2 + tslib: 2.7.0 unified: 9.2.2 transitivePeerDependencies: - supports-color dev: false - /eslint-module-utils@2.8.1(eslint@8.57.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + /eslint-module-utils@2.11.1(eslint@8.57.1): + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: eslint: '*' @@ -14151,10 +12388,10 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-flowtype@8.0.3(eslint@8.57.0): + /eslint-plugin-flowtype@8.0.3(eslint@8.57.1): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -14162,46 +12399,47 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-header@3.1.1(eslint@8.57.0): + /eslint-plugin-header@3.1.1(eslint@8.57.1): resolution: {integrity: sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==} peerDependencies: eslint: '>=7.7.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-import@2.29.1(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + /eslint-plugin-import@2.30.0(eslint@8.57.1): + resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} engines: {node: '>=4'} peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(eslint@8.57.0) - hasown: 2.0.1 - is-core-module: 2.13.1 + eslint-module-utils: 2.11.1(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.2 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 dev: false - /eslint-plugin-jsdoc@36.1.1(eslint@8.57.0): + /eslint-plugin-jsdoc@36.1.1(eslint@8.57.1): resolution: {integrity: sha512-nuLDvH1EJaKx0PCa9oeQIxH6pACIhZd1gkalTUxZbaxxwokjs7TplqY0Q8Ew3CoZaf5aowm0g/Z3JGHCatt+gQ==} engines: {node: ^12 || ^14 || ^16} peerDependencies: @@ -14209,73 +12447,73 @@ packages: dependencies: '@es-joy/jsdoccomment': 0.10.8 comment-parser: 1.2.4 - debug: 4.3.4(supports-color@5.5.0) - eslint: 8.57.0 - esquery: 1.5.0 + debug: 4.3.7(supports-color@5.5.0) + eslint: 8.57.1 + esquery: 1.6.0 jsdoc-type-pratt-parser: 1.2.0 lodash: 4.17.21 regextras: 0.8.0 - semver: 7.6.0 + semver: 7.6.3 spdx-expression-parse: 3.0.1 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + /eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): + resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 dependencies: - '@babel/runtime': 7.24.0 - aria-query: 5.3.0 - array-includes: 3.1.7 + aria-query: 5.1.3 + array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 + axe-core: 4.10.0 + axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.17 - eslint: 8.57.0 - hasown: 2.0.1 + es-iterator-helpers: 1.0.19 + eslint: 8.57.1 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 dev: false - /eslint-plugin-markdown@2.2.1(eslint@8.57.0): + /eslint-plugin-markdown@2.2.1(eslint@8.57.1): resolution: {integrity: sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA==} engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-mdx@1.16.0(eslint@8.57.0): + /eslint-plugin-mdx@1.16.0(eslint@8.57.1): resolution: {integrity: sha512-p5S6+UZMt+9Xa4fJNaBcldO3gHkDwoPMFM6417PfggPlbai8mWbrSEehZU6o3vZ2Lg/WQfVXYic35VYycYqJDA==} engines: {node: '>=10.0.0'} peerDependencies: eslint: '>=5.0.0' dependencies: - eslint: 8.57.0 - eslint-mdx: 1.17.1(eslint@8.57.0) - eslint-plugin-markdown: 2.2.1(eslint@8.57.0) + eslint: 8.57.1 + eslint-mdx: 1.17.1(eslint@8.57.1) + eslint-plugin-markdown: 2.2.1(eslint@8.57.1) synckit: 0.4.1 - tslib: 2.6.2 + tslib: 2.7.0 vfile: 4.2.1 transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2): + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -14288,47 +12526,47 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) prettier: 3.3.2 prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 + synckit: 0.9.1 dev: false - /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 dev: false - /eslint-plugin-react@7.34.3(eslint@8.57.0): - resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==} + /eslint-plugin-react@7.36.1(eslint@8.57.1): + resolution: {integrity: sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 dev: false /eslint-scope@4.0.3: @@ -14365,29 +12603,29 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + /eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -14395,7 +12633,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -14405,7 +12643,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -14416,8 +12654,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 dev: false @@ -14427,8 +12665,8 @@ packages: hasBin: true dev: false - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + /esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -14455,8 +12693,8 @@ packages: resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==} engines: {node: '>=8.3.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 c8: 7.14.0 transitivePeerDependencies: - supports-color @@ -14544,21 +12782,6 @@ packages: strip-final-newline: 2.0.0 dev: false - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: false - /exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -14625,73 +12848,36 @@ packages: jest-util: 29.7.0 dev: false - /express@4.18.3: - resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - dev: false - - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + /express@4.21.0: + resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -14767,7 +12953,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-parse@1.0.3: @@ -14790,6 +12976,13 @@ packages: resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} dev: false + /fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -14814,12 +13007,6 @@ packages: bser: 2.1.1 dev: false - /fd-package-json@1.2.0: - resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} - dependencies: - walk-up-path: 3.0.1 - dev: false - /fetch-retry@5.0.6: resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} dev: false @@ -14847,12 +13034,17 @@ packages: webpack: 4.47.0 dev: false - /file-set@5.1.3: - resolution: {integrity: sha512-mQ6dqz+z59on3B50IGF3ujNGbZmY1TAeLHpNfhLEeNM6Lky31w3RUlbCyqZWQs0DuZJQU4R2qDuVd9ojyzadcg==} + /file-set@5.2.2: + resolution: {integrity: sha512-/KgJI1V/QaDK4enOk/E2xMFk1cTWJghEr7UmWiRZfZ6upt6gQCfMn4jJ7aOm64OKurj4TaVnSSgSDqv5ZKYA3A==} engines: {node: '>=12.17'} + peerDependencies: + '@75lb/nature': latest + peerDependenciesMeta: + '@75lb/nature': + optional: true dependencies: array-back: 6.2.2 - glob: 7.2.3 + fast-glob: 3.3.2 dev: false /file-system-cache@1.1.0: @@ -14862,13 +13054,6 @@ packages: ramda: 0.28.0 dev: false - /file-system-cache@2.3.0: - resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - dependencies: - fs-extra: 11.1.1 - ramda: 0.29.0 - dev: false - /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} requiresBuild: true @@ -14907,20 +13092,20 @@ packages: to-regex-range: 2.1.1 dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} requiresBuild: true dependencies: to-regex-range: 5.0.1 dev: false - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + /finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -14979,7 +13164,7 @@ packages: dependencies: chalk: 4.1.2 commander: 5.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -15050,11 +13235,6 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: false - /flow-parser@0.234.0: - resolution: {integrity: sha512-J1Wn32xDF1l8FqwshoQnTwC9K3aJ83MFuXUx9AcBQr8ttbI/rkjEgAqnjxaIJuZ6RGMfccN5ZxDJSOMM64qy9Q==} - engines: {node: '>=0.4.0'} - dev: false - /flush-write-stream@1.1.1: resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} dependencies: @@ -15072,6 +13252,16 @@ packages: optional: true dev: false + /follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -15098,14 +13288,6 @@ packages: signal-exit: 3.0.7 dev: false - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: false - /fork-ts-checker-webpack-plugin@4.1.6: resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} engines: {node: '>=6.11.5', yarn: '>=1.0.0'} @@ -15119,7 +13301,7 @@ packages: worker-rpc: 0.1.1 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@4.47.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@4.47.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -15139,19 +13321,19 @@ packages: chokidar: 3.6.0 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.57.0 + eslint: 8.57.1 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.6.0 + semver: 7.6.3 tapable: 1.1.3 typescript: 5.4.5 webpack: 4.47.0 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -15171,13 +13353,13 @@ packages: chokidar: 3.6.0 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.57.0 + eslint: 8.57.1 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.6.0 + semver: 7.6.3 tapable: 1.1.3 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) @@ -15200,7 +13382,7 @@ packages: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) @@ -15221,7 +13403,7 @@ packages: dezalgo: 1.0.4 hexoid: 1.0.0 once: 1.4.0 - qs: 6.12.0 + qs: 6.13.0 dev: false /forwarded@0.2.0: @@ -15270,15 +13452,6 @@ packages: universalify: 2.0.1 dev: false - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: false - /fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -15314,8 +13487,8 @@ packages: minipass: 3.3.6 dev: false - /fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + /fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} dev: false /fs-readdir-recursive@1.1.0: @@ -15324,6 +13497,7 @@ packages: /fs-write-stream-atomic@1.0.10: resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} + deprecated: This package is no longer supported. dependencies: graceful-fs: 4.2.11 iferr: 0.1.5 @@ -15339,11 +13513,11 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + deprecated: Upgrade to fsevents v2 to mitigate potential security issues requiresBuild: true dependencies: bindings: 1.5.0 - nan: 2.19.0 + nan: 2.20.0 dev: false optional: true @@ -15384,6 +13558,7 @@ packages: /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. dependencies: aproba: 2.0.0 color-support: 1.1.3 @@ -15433,7 +13608,7 @@ packages: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} dependencies: - pump: 3.0.0 + pump: 3.0.2 dev: false /get-stream@6.0.1: @@ -15441,11 +13616,6 @@ packages: engines: {node: '>=10'} dev: false - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: false - /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -15460,20 +13630,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /giget@1.2.3: - resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} - hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - defu: 6.1.4 - node-fetch-native: 1.6.4 - nypm: 0.3.8 - ohash: 1.1.3 - pathe: 1.1.2 - tar: 6.2.0 - dev: false - /git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} dependencies: @@ -15555,18 +13711,6 @@ packages: find-index: 0.1.1 dev: false - /glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.5 - minipass: 7.0.4 - path-scurry: 1.10.2 - dev: false - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -15582,6 +13726,7 @@ packages: /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -15643,11 +13788,12 @@ packages: type-fest: 0.20.2 dev: false - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 + gopd: 1.0.1 dev: false /globby@11.1.0: @@ -15657,7 +13803,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 dev: false @@ -15668,23 +13814,11 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 dev: false - /globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.1 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: false - /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -15734,7 +13868,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.17.4 + uglify-js: 3.19.3 dev: false /has-bigints@1.0.2: @@ -15848,13 +13982,6 @@ packages: type-fest: 0.8.1 dev: false - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: false - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -15865,7 +13992,7 @@ packages: /hast-to-hyperscript@9.0.1: resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 comma-separated-tokens: 1.0.8 property-information: 5.6.0 space-separated-tokens: 1.1.5 @@ -15955,7 +14082,7 @@ packages: /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.3 @@ -15997,8 +14124,8 @@ packages: wbuf: 1.7.3 dev: false - /html-dom-parser@5.0.9: - resolution: {integrity: sha512-QGeoFYwgQ582EDvrBx0+ejIz76/LuQcwwkmSR4ueKncjl2yWbciA45Kfz/LrHvWR3CgtKnxKFkr4Mpq2Sh1QNg==} + /html-dom-parser@5.0.10: + resolution: {integrity: sha512-GwArYL3V3V8yU/mLKoFF7HlLBv80BZ2Ey1BzfVNRpAci0cEKhFHI/Qh8o8oyt3qlAMLlK250wsxLdYX4viedvg==} dependencies: domhandler: 5.0.3 htmlparser2: 9.1.0 @@ -16044,11 +14171,11 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.29.1 + terser: 5.33.0 dev: false - /html-react-parser@5.1.12(@types/react@18.3.3)(react@18.3.1): - resolution: {integrity: sha512-OPv8fsIvxxv/+pLj9mYvyNu8PE5dPMowTRdd5VHpcoZpXlstp8eYCxQ5rzqAE5Tb75rhdiWUXnPltfb62zCVjg==} + /html-react-parser@5.1.16(@types/react@18.3.3)(react@18.3.1): + resolution: {integrity: sha512-OtVPEQRwa4eelyMbHmUfMSw5VwJsVGSVsfa8I+M8xuV87n91cF3PHpvT/z0Frf1uG34atqh3dxgjaGIsmqVsRA==} peerDependencies: '@types/react': 0.14 || 15 || 16 || 17 || 18 react: 0.14 || 15 || 16 || 17 || 18 @@ -16058,10 +14185,10 @@ packages: dependencies: '@types/react': 18.3.3 domhandler: 5.0.3 - html-dom-parser: 5.0.9 + html-dom-parser: 5.0.10 react: 18.3.1 react-property: 2.0.2 - style-to-js: 1.1.12 + style-to-js: 1.1.14 dev: false /html-tags@3.3.1: @@ -16081,7 +14208,7 @@ packages: dependencies: '@types/html-minifier-terser': 5.1.2 '@types/tapable': 1.0.12 - '@types/webpack': 4.41.38 + '@types/webpack': 4.41.39 html-minifier-terser: 5.1.1 loader-utils: 1.4.2 lodash: 4.17.21 @@ -16186,7 +14313,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -16196,7 +14323,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -16211,11 +14338,11 @@ packages: optional: true dependencies: '@types/express': 4.17.21 - '@types/http-proxy': 1.17.14 + '@types/http-proxy': 1.17.15 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.5 + micromatch: 4.0.8 transitivePeerDependencies: - debug dev: false @@ -16225,7 +14352,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -16266,7 +14393,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -16276,7 +14403,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false @@ -16286,11 +14413,6 @@ packages: engines: {node: '>=10.17.0'} dev: false - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: false - /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} @@ -16318,13 +14440,13 @@ packages: postcss: 7.0.39 dev: false - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.47): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.47 dev: false /ieee754@1.2.1: @@ -16347,8 +14469,8 @@ packages: engines: {node: '>= 4'} dev: false - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + /ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} dev: false @@ -16369,8 +14491,8 @@ packages: engines: {node: '>=8'} dev: false - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + /import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} hasBin: true dependencies: @@ -16462,8 +14584,8 @@ packages: engines: {node: '>= 0.10'} dev: false - /ipaddr.js@2.1.0: - resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + /ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} dev: false @@ -16520,10 +14642,6 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} @@ -16549,7 +14667,7 @@ packages: engines: {node: '>=8'} requiresBuild: true dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 dev: false /is-boolean-object@1.1.2: @@ -16581,10 +14699,11 @@ packages: ci-info: 2.0.0 dev: false - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 dev: false /is-data-descriptor@1.0.1: @@ -16739,11 +14858,6 @@ packages: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: false - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: false - /is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -16790,11 +14904,6 @@ packages: resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} dev: false - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: false - /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -16844,7 +14953,7 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 dev: false /is-regex@1.1.4: @@ -16883,11 +14992,6 @@ packages: engines: {node: '>=8'} dev: false - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -16913,11 +15017,6 @@ packages: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: false - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: false - /is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} requiresBuild: true @@ -17048,7 +15147,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.24.7 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -17056,15 +15155,15 @@ packages: - supports-color dev: false - /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + /istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color dev: false @@ -17094,7 +15193,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -17126,25 +15225,16 @@ packages: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.5 + reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 dev: false - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: false - - /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + /jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} hasBin: true dependencies: - async: 3.2.5 + async: 3.2.6 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -17167,10 +15257,10 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 20.14.12 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.1 + dedent: 1.5.3 is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -17180,7 +15270,7 @@ packages: jest-util: 29.7.0 p-limit: 3.1.0 pretty-format: 29.7.0 - pure-rand: 6.0.4 + pure-rand: 6.1.0 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: @@ -17204,7 +15294,7 @@ packages: chalk: 4.1.2 create-jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) exit: 0.1.2 - import-local: 3.1.0 + import-local: 3.2.0 jest-config: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 @@ -17246,7 +15336,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -17257,7 +15347,7 @@ packages: - supports-color dev: false - /jest-config@29.7.0(@types/node@20.14.3)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@22.7.1)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -17272,7 +15362,7 @@ packages: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.3 + '@types/node': 22.7.1 babel-jest: 29.7.0(@babel/core@7.25.2) chalk: 4.1.2 ci-info: 3.9.0 @@ -17287,7 +15377,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -17366,7 +15456,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 20.14.12 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -17404,7 +15494,7 @@ packages: jest-serializer: 26.6.2 jest-util: 26.6.2 jest-worker: 26.6.2 - micromatch: 4.0.5 + micromatch: 4.0.8 sane: 4.1.0 walker: 1.0.8 optionalDependencies: @@ -17417,14 +15507,14 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.14.8 + '@types/node': 22.7.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -17477,7 +15567,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 26.6.2 slash: 3.0.0 stack-utils: 2.0.6 @@ -17487,12 +15577,12 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -17503,7 +15593,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 20.14.12 jest-util: 29.7.0 dev: false @@ -17522,7 +15612,7 @@ packages: jest-process-manager: 0.4.0 jest-runner: 29.7.0 nyc: 15.1.0 - playwright-core: 1.39.0 + playwright-core: 1.47.2 rimraf: 3.0.2 uuid: 8.3.2 transitivePeerDependencies: @@ -17630,7 +15720,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 20.14.12 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -17661,9 +15751,9 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 22.7.1 chalk: 4.1.2 - cjs-module-lexer: 1.2.3 + cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -17698,9 +15788,9 @@ packages: resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} engines: {node: '>= 10.14.2'} dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.25.6 '@jest/types': 26.6.2 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 '@types/prettier': 2.7.3 chalk: 4.1.2 expect: 26.6.2 @@ -17713,7 +15803,7 @@ packages: jest-resolve: 26.6.2 natural-compare: 1.4.0 pretty-format: 26.6.2 - semver: 7.6.0 + semver: 7.6.3 dev: false /jest-snapshot@29.7.0: @@ -17721,14 +15811,14 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.24.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/types': 7.24.5 + '@babel/generator': 7.25.6 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.25.2) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -17739,7 +15829,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color dev: false @@ -17762,7 +15852,7 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /jest-util@29.7.0: @@ -17770,7 +15860,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.3 + '@types/node': 22.7.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -17811,7 +15901,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.8 + '@types/node': 22.7.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -17841,7 +15931,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -17859,7 +15949,7 @@ packages: dependencies: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 - import-local: 3.1.0 + import-local: 3.2.0 jest-cli: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' @@ -17872,8 +15962,8 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: false - /joi@17.12.3: - resolution: {integrity: sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==} + /joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -17914,74 +16004,6 @@ packages: argparse: 2.0.1 dev: false - /jscodeshift@0.15.2(@babel/preset-env@7.23.9): - resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - peerDependenciesMeta: - '@babel/preset-env': - optional: true - dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.24.8 - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.25.2) - '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.0(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.23.7(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) - chalk: 4.1.2 - flow-parser: 0.234.0 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.23.6 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: false - - /jscodeshift@0.15.2(@babel/preset-env@7.25.3): - resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - peerDependenciesMeta: - '@babel/preset-env': - optional: true - dependencies: - '@babel/core': 7.25.2 - '@babel/parser': 7.24.8 - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.25.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.25.2) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.25.2) - '@babel/preset-env': 7.25.3(@babel/core@7.25.2) - '@babel/preset-flow': 7.24.0(@babel/core@7.25.2) - '@babel/preset-typescript': 7.23.3(@babel/core@7.25.2) - '@babel/register': 7.23.7(@babel/core@7.25.2) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.2) - chalk: 4.1.2 - flow-parser: 0.234.0 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.23.6 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: false - /jsdoc-type-pratt-parser@1.1.1: resolution: {integrity: sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==} engines: {node: '>=12.0.0'} @@ -17992,6 +16014,11 @@ packages: engines: {node: '>=12.0.0'} dev: false + /jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + dev: false + /jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -18002,7 +16029,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.11.3 + acorn: 8.12.1 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -18015,17 +16042,17 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 + nwsapi: 2.2.12 parse5: 7.1.2 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.3 + tough-cookie: 4.1.4 w3c-xmlserializer: 4.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.16.0 + ws: 8.18.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -18085,8 +16112,8 @@ packages: hasBin: true dev: false - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + /jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} dev: false /jsonfile@4.0.0: @@ -18166,21 +16193,21 @@ packages: engines: {node: '>= 8'} dev: false - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + /language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} dev: false /language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} dependencies: - language-subtag-registry: 0.3.22 + language-subtag-registry: 0.3.23 dev: false - /launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + /launch-editor@2.9.1: + resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==} dependencies: - picocolors: 1.0.0 + picocolors: 1.1.0 shell-quote: 1.8.1 dev: false @@ -18188,22 +16215,13 @@ packages: resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==} engines: {node: '>=6.0.0', npm: '>=6.0.0', yarn: '>=1.0.0'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 app-root-dir: 1.0.2 - core-js: 3.36.0 + core-js: 3.38.1 dotenv: 8.6.0 dotenv-expand: 5.1.0 dev: false - /lazy-universal-dotenv@4.0.0: - resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} - engines: {node: '>=14.0.0'} - dependencies: - app-root-dir: 1.0.2 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - dev: false - /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -18316,14 +16334,6 @@ packages: resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} dev: false - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: false - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false @@ -18340,14 +16350,6 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: false - /longest-streak@2.0.4: resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: false @@ -18376,12 +16378,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.2 - dev: false - - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + tslib: 2.7.0 dev: false /lru-cache@5.1.1: @@ -18402,11 +16399,10 @@ packages: hasBin: true dev: false - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + /magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false /make-dir@2.1.0: @@ -18428,7 +16424,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.3 dev: false /make-error@1.3.6: @@ -18489,8 +16485,8 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false - /markdown-to-jsx@7.4.7(react@18.3.1): - resolution: {integrity: sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==} + /markdown-to-jsx@7.5.0(react@18.3.1): + resolution: {integrity: sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -18553,7 +16549,7 @@ packages: resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} dependencies: '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 @@ -18568,8 +16564,8 @@ packages: - supports-color dev: false - /mdast-util-gfm-autolink-literal@2.0.0: - resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + /mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} dependencies: '@types/mdast': 4.0.4 ccount: 2.0.1 @@ -18627,7 +16623,7 @@ packages: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} dependencies: mdast-util-from-markdown: 2.0.1 - mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 @@ -18648,7 +16644,7 @@ packages: resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 mdast-util-definitions: 4.0.0 mdurl: 1.0.1 unist-builder: 2.0.3 @@ -18661,7 +16657,7 @@ packages: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} dependencies: '@types/mdast': 4.0.4 - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 @@ -18705,7 +16701,7 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.5 + fs-monkey: 1.0.6 dev: false /memoize-one@5.2.1: @@ -18751,8 +16747,8 @@ packages: dev: false optional: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} dev: false /merge-stream@2.0.0: @@ -19003,7 +16999,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -19013,7 +17009,7 @@ packages: resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -19071,11 +17067,11 @@ packages: to-regex: 3.0.2 dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 dev: false @@ -19092,6 +17088,11 @@ packages: engines: {node: '>= 0.6'} dev: false + /mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} + engines: {node: '>= 0.6'} + dev: false + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} @@ -19121,11 +17122,6 @@ packages: engines: {node: '>=8'} dev: false - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false - /min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} dependencies: @@ -19171,10 +17167,6 @@ packages: brace-expansion: 2.0.1 dev: false - /minimist@0.0.10: - resolution: {integrity: sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==} - dev: false - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false @@ -19212,11 +17204,6 @@ packages: engines: {node: '>=8'} dev: false - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false - /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -19235,7 +17222,7 @@ packages: flush-write-stream: 1.1.1 from2: 2.3.0 parallel-transform: 1.2.0 - pump: 3.0.0 + pump: 3.0.2 pumpify: 1.5.1 stream-each: 1.2.3 through2: 2.0.5 @@ -19279,6 +17266,7 @@ packages: /move-concurrently@1.0.1: resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} + deprecated: This package is no longer supported. dependencies: aproba: 1.2.0 copy-concurrently: 1.0.5 @@ -19306,10 +17294,6 @@ packages: resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: false - /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false @@ -19335,8 +17319,8 @@ packages: thunky: 1.1.0 dev: false - /nan@2.19.0: - resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + /nan@2.20.0: + resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} dev: false /nanoid@3.3.6: @@ -19393,7 +17377,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /node-abort-controller@3.1.1: @@ -19407,10 +17391,6 @@ packages: minimatch: 3.1.2 dev: false - /node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - dev: false - /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -19467,7 +17447,7 @@ packages: string_decoder: 1.3.0 timers-browserify: 2.0.12 tty-browserify: 0.0.0 - url: 0.11.3 + url: 0.11.4 util: 0.11.1 vm-browserify: 1.1.2 dev: false @@ -19479,18 +17459,8 @@ packages: process-on-spawn: 1.0.0 dev: false - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: false - - /node-static@0.7.11: - resolution: {integrity: sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==} - engines: {node: '>= 0.4.1'} - hasBin: true - dependencies: - colors: 1.4.0 - mime: 1.6.0 - optimist: 0.6.1 + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} dev: false /noms@0.0.0: @@ -19551,15 +17521,9 @@ packages: path-key: 3.1.1 dev: false - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: false - /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. dependencies: are-we-there-yet: 2.0.0 console-control-strings: 1.1.0 @@ -19577,8 +17541,8 @@ packages: resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} dev: false - /nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + /nwsapi@2.2.12: + resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==} dev: false /nyc@15.1.0: @@ -19617,18 +17581,6 @@ packages: - supports-color dev: false - /nypm@0.3.8: - resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} - engines: {node: ^14.16.0 || >=16.10.0} - hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - execa: 8.0.1 - pathe: 1.1.2 - ufo: 1.5.3 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -19643,8 +17595,9 @@ packages: kind-of: 3.2.2 dev: false - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} dev: false /object-is@1.1.6: @@ -19677,15 +17630,6 @@ packages: object-keys: 1.1.1 dev: false - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - dev: false - /object.entries@1.1.8: resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} @@ -19695,15 +17639,6 @@ packages: es-object-atoms: 1.0.0 dev: false - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.5 - dev: false - /object.fromentries@2.0.8: resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} @@ -19714,34 +17649,26 @@ packages: es-object-atoms: 1.0.0 dev: false - /object.getownpropertydescriptors@2.1.7: - resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} + /object.getownpropertydescriptors@2.1.8: + resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==} engines: {node: '>= 0.8'} dependencies: - array.prototype.reduce: 1.0.6 + array.prototype.reduce: 1.0.7 call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + gopd: 1.0.1 safe-array-concat: 1.1.2 dev: false - /object.groupby@1.0.2: - resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} - dependencies: - array.prototype.filter: 1.0.3 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.5 - es-errors: 1.3.0 - dev: false - - /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + /object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} engines: {node: '>= 0.4'} dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - es-object-atoms: 1.0.0 dev: false /object.omit@2.0.1: @@ -19759,15 +17686,6 @@ packages: isobject: 3.0.1 dev: false - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.5 - dev: false - /object.values@1.2.0: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} @@ -19785,10 +17703,6 @@ packages: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} dev: false - /ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - dev: false - /on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -19821,13 +17735,6 @@ packages: mimic-fn: 2.1.0 dev: false - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: false - /open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -19850,38 +17757,16 @@ packages: hasBin: true dev: false - /optimist@0.6.1: - resolution: {integrity: sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==} - dependencies: - minimist: 0.0.10 - wordwrap: 0.0.3 - dev: false - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: false - - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 + word-wrap: 1.2.5 dev: false /os-browserify@0.3.0: @@ -19891,7 +17776,6 @@ packages: /os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} - requiresBuild: true dev: false /p-all@2.1.0: @@ -19943,7 +17827,7 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 dev: false /p-locate@3.0.0: @@ -20039,7 +17923,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /parent-module@1.0.1: @@ -20145,7 +18029,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /pascalcase@0.1.1: @@ -20205,29 +18089,16 @@ packages: engines: {node: '>=8'} dev: false - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false - /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false - /path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: false - - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} dev: false - /path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + /path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} dependencies: isarray: 0.0.1 dev: false @@ -20255,13 +18126,11 @@ packages: engines: {node: '>=8'} dev: false - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: false - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + /path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + dependencies: + process: 0.11.10 + util: 0.10.4 dev: false /pause-stream@0.0.11: @@ -20285,12 +18154,8 @@ packages: resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: false - - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} dev: false /picomatch@2.3.1: @@ -20375,6 +18240,12 @@ packages: hasBin: true dev: false + /playwright-core@1.47.2: + resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} + engines: {node: '>=18'} + hasBin: true + dev: false + /playwright@1.39.0: resolution: {integrity: sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==} engines: {node: '>=16'} @@ -20385,6 +18256,16 @@ packages: fsevents: 2.3.2 dev: false + /playwright@1.47.2: + resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==} + engines: {node: '>=18'} + hasBin: true + dependencies: + playwright-core: 1.47.2 + optionalDependencies: + fsevents: 2.3.2 + dev: false + /pnp-webpack-plugin@1.6.4(typescript@5.4.5): resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} engines: {node: '>=6'} @@ -20398,7 +18279,7 @@ packages: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 dev: false /portfinder@1.0.32: @@ -20438,7 +18319,7 @@ packages: loader-utils: 2.0.4 postcss: 7.0.39 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.3 webpack: 4.47.0 dev: false @@ -20449,22 +18330,13 @@ packages: postcss: 7.0.39 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): - resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.4.35 - dev: false - - /postcss-modules-extract-imports@3.1.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.47): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.47 dev: false /postcss-modules-local-by-default@3.0.3: @@ -20473,31 +18345,19 @@ packages: dependencies: icss-utils: 4.1.1 postcss: 7.0.39 - postcss-selector-parser: 6.0.15 - postcss-value-parser: 4.2.0 - dev: false - - /postcss-modules-local-by-default@4.0.4(postcss@8.4.35): - resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-local-by-default@4.0.5(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.47): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 dev: false @@ -20506,27 +18366,17 @@ packages: engines: {node: '>= 6'} dependencies: postcss: 7.0.39 - postcss-selector-parser: 6.0.15 - dev: false - - /postcss-modules-scope@3.1.1(postcss@8.4.35): - resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.1.2 dev: false - /postcss-modules-scope@3.2.0(postcss@8.4.35): + /postcss-modules-scope@3.2.0(postcss@8.4.47): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 dev: false /postcss-modules-values@3.0.0: @@ -20536,18 +18386,18 @@ packages: postcss: 7.0.39 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.47): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 dev: false - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + /postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -20566,26 +18416,26 @@ packages: source-map: 0.6.1 dev: false - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false - /preact-render-to-string@5.2.6(preact@10.19.6): + /preact-render-to-string@5.2.6(preact@10.24.1): resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.19.6 + preact: 10.24.1 pretty-format: 3.8.0 dev: false - /preact@10.19.6: - resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} + /preact@10.24.1: + resolution: {integrity: sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==} dev: false /prelude-ls@1.2.1: @@ -20656,7 +18506,7 @@ packages: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: false /pretty-format@3.8.0: @@ -20677,12 +18527,12 @@ packages: dependencies: execa: 5.1.1 find-up: 5.0.0 - ignore: 5.3.1 + ignore: 5.3.2 mri: 1.2.0 - picocolors: 1.0.0 + picocolors: 1.1.0 picomatch: 3.0.1 prettier: 3.3.2 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /printj@1.3.1: @@ -20719,7 +18569,7 @@ packages: resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.6 + array.prototype.map: 1.0.7 call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 @@ -20810,8 +18660,8 @@ packages: once: 1.4.0 dev: false - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 @@ -20834,19 +18684,12 @@ packages: engines: {node: '>=6'} dev: false - /pure-rand@6.0.4: - resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} - dev: false - - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.6 + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} dev: false - /qs@6.12.0: - resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} + /qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 @@ -20869,10 +18712,6 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: false - /ramda@0.29.0: - resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} - dev: false - /randomatic@3.1.1: resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} engines: {node: '>= 0.10.0'} @@ -20956,8 +18795,8 @@ packages: hasBin: true dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.24.7 - '@babel/runtime': 7.24.0 + '@babel/generator': 7.25.6 + '@babel/runtime': 7.25.6 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -20974,10 +18813,10 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@babel/core': 7.25.2 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@babel/types': 7.25.6 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 '@types/resolve': 1.20.6 doctrine: 3.0.0 @@ -20987,16 +18826,6 @@ packages: - supports-color dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - dev: false - /react-dom@18.3.1(react@18.3.1): resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: @@ -21038,7 +18867,7 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 is-dom: 1.1.0 prop-types: 15.8.1 react: 18.3.1 @@ -21056,10 +18885,6 @@ packages: resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} dev: false - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: false - /react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: false @@ -21068,7 +18893,7 @@ packages: resolution: {integrity: sha512-7gcIUvJkAXXttt1fmBK9cwn+1jTa4hbKLGCZ9J1U6EOkyb2/+LKL1Z28d9rtDLMnpvImlNlLPdTPooorl5cpmg==} dependencies: linkify-it: 2.2.0 - tlds: 1.251.0 + tlds: 1.254.0 dev: false /react-property@2.0.2: @@ -21090,11 +18915,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} - engines: {node: '>=0.10.0'} - dev: false - /react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} @@ -21105,7 +18925,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -21120,11 +18940,11 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 - path-to-regexp: 1.8.0 + path-to-regexp: 1.9.0 prop-types: 15.8.1 react: 18.3.1 react-is: 16.13.1 @@ -21160,7 +18980,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -21177,13 +18997,6 @@ packages: react: 18.3.1 dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - dev: false - /react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -21287,15 +19100,15 @@ packages: picomatch: 2.3.1 dev: false - /recast@0.23.6: - resolution: {integrity: sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==} + /recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} dependencies: ast-types: 0.16.1 esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /rechoir@0.8.0: @@ -21328,8 +19141,8 @@ packages: engines: {node: '>=6'} dev: false - /reflect.getprototypeof@1.0.5: - resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -21337,12 +19150,12 @@ packages: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 dev: false - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + /regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -21371,7 +19184,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 dev: false /regex-cache@0.4.4: @@ -21405,10 +19218,10 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 + regenerate-unicode-properties: 10.2.0 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 + unicode-match-property-value-ecmascript: 2.2.0 dev: false /regextras@0.8.0: @@ -21584,14 +19397,16 @@ packages: chalk: 4.1.2 command-line-args: 5.2.1 command-line-usage: 6.1.3 - current-module-paths: 1.1.1 + current-module-paths: 1.1.2 fast-diff: 1.3.0 - file-set: 5.1.3 + file-set: 5.2.2 global-dirs: 3.0.1 load-module: 4.2.1 printj: 1.3.1 stream-read-all: 3.0.1 - typical: 7.1.1 + typical: 7.2.0 + transitivePeerDependencies: + - '@75lb/nature' dev: false /renderkid@2.0.7: @@ -21698,18 +19513,11 @@ packages: engines: {node: '>=10'} dev: false - /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - dev: false - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -21718,19 +19526,11 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - /ret@0.1.15: resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} engines: {node: '>=0.12'} @@ -21756,6 +19556,7 @@ packages: /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -21776,7 +19577,7 @@ packages: inherits: 2.0.4 dev: false - /rollup-plugin-sourcemaps@0.6.3(@types/node@20.14.12)(rollup@4.21.2): + /rollup-plugin-sourcemaps@0.6.3(@types/node@20.14.12)(rollup@4.22.4): resolution: {integrity: sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==} engines: {node: '>=10.0.0'} peerDependencies: @@ -21786,9 +19587,9 @@ packages: '@types/node': optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@4.21.2) + '@rollup/pluginutils': 3.1.0(rollup@4.22.4) '@types/node': 20.14.12 - rollup: 4.21.2 + rollup: 4.22.4 source-map-resolve: 0.6.0 dev: false @@ -21805,143 +19606,75 @@ packages: minimatch: 3.1.2 dev: false - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + /rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: false - /rollup@4.21.2: - resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + /rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.2 - '@rollup/rollup-android-arm64': 4.21.2 - '@rollup/rollup-darwin-arm64': 4.21.2 - '@rollup/rollup-darwin-x64': 4.21.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 - '@rollup/rollup-linux-arm-musleabihf': 4.21.2 - '@rollup/rollup-linux-arm64-gnu': 4.21.2 - '@rollup/rollup-linux-arm64-musl': 4.21.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 - '@rollup/rollup-linux-riscv64-gnu': 4.21.2 - '@rollup/rollup-linux-s390x-gnu': 4.21.2 - '@rollup/rollup-linux-x64-gnu': 4.21.2 - '@rollup/rollup-linux-x64-musl': 4.21.2 - '@rollup/rollup-win32-arm64-msvc': 4.21.2 - '@rollup/rollup-win32-ia32-msvc': 4.21.2 - '@rollup/rollup-win32-x64-msvc': 4.21.2 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 dev: false - /roosterjs-color-utils@1.1.0: - resolution: {integrity: sha512-AdfGX/LSM+wiX6FovBjJLSHDqurIzXfEPCx95aIpEQ/VAvyOAHG9bja4K9aeNX/RpreuQ3kcSaJS0QzxQeFcCw==} - dependencies: - color: 3.2.1 - dev: false - - /roosterjs-content-model-api@9.9.1: - resolution: {integrity: sha512-ZXiMKhPoCodn6dKXN5F0HbH5d9PKNhQgRKIs6kv9uQ3O0yCLwVCSmuP1mQ6CNXpz0wlm9wNjFuoeOyzIRlGoYQ==} - dependencies: - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 - tslib: 2.6.2 - dev: false - - /roosterjs-content-model-core@9.9.1: - resolution: {integrity: sha512-LiuW3zUq/na/NzPJhlxtRrogeIuKiiGGlO5kDT9yq0Ycpk+TsuFDz+v2K94IRNUjWfp/A5i5kOtVoA+wGfE5iw==} - dependencies: - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 - tslib: 2.6.2 - dev: false - - /roosterjs-content-model-dom@9.9.1: - resolution: {integrity: sha512-gZILjB2rQgkAK8h4JXhgvSam/wDqOKZam9OiCP6/4IzOl5210ZNeAHySxmgorE6jtzZKtAldM7cTvE5ybL/uqg==} - dependencies: - roosterjs-content-model-types: 9.9.1 - tslib: 2.6.2 - dev: false - - /roosterjs-content-model-plugins@9.9.1: - resolution: {integrity: sha512-1GpmLQCcMxp3kCq+DMTMkUrWhZwJCjSqlTQbdeIUrcV7w4nv4Wvb3cpMqKyPvfL82LZhkXBIh8TbJO1mtUU6zA==} - dependencies: - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.1 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-types: 9.9.1 - tslib: 2.6.2 - dev: false - - /roosterjs-content-model-types@9.9.1: - resolution: {integrity: sha512-egTgVXhrahRPQa2yG5yq5zYpKO2PhzDG1XUzy4UbZ1Z+OELDqI8kHPTE//vhnSDwVtqulw0VwhcKLhQlrvSBaw==} - dev: false - - /roosterjs-editor-api@8.62.0: - resolution: {integrity: sha512-q/uzfPkXQzaGOzSTjDqI/nwEfl59WBfyvyW9tF2dgmqjq+ZH9BAwkRbCb8Qgtz3wkRLuUUzzHIKzIhTvxvcFWQ==} - dependencies: - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-types: 8.62.0 - tslib: 2.6.2 - dev: false - - /roosterjs-editor-core@8.62.0: - resolution: {integrity: sha512-M6zWXu4MDmZVtlz6BEHCyebNvITbEECg5z4pWIC7ln3vegMgbUjxA3IagYsYeU012TXOq7bYPi21TrTeuKmXSg==} + /roosterjs-content-model-api@9.10.0: + resolution: {integrity: sha512-AUul5ZBGxnFeR60ArXCyBI/IPAqEeZb/Jpp3MNy0PHYi9OeXrXmmWFsH2JH8ht+8IveBuM+xzktuBbLXRqi79g==} dependencies: - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-types: 8.62.0 - tslib: 2.6.2 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 + tslib: 2.7.0 dev: false - /roosterjs-editor-dom@8.62.0: - resolution: {integrity: sha512-EBbUyEi2e6YxQE+YXAMaEb1QtKFmYBEeDUh0xIZ2BEVhCRDQZOCDSqHFA35VBBPNuejpqWBxQc8b4gI1wFy2Fw==} + /roosterjs-content-model-core@9.10.0: + resolution: {integrity: sha512-7U8vbuW1nitnxNkn2GchrVmjbxu+TwMvIkvhkO1TIRWOQ6eczkdvH0a5XPscPrmaaNvhMsVzhEuZw+1jmhijbQ==} dependencies: - roosterjs-editor-types: 8.62.0 - tslib: 2.6.2 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 + tslib: 2.7.0 dev: false - /roosterjs-editor-plugins@8.62.0: - resolution: {integrity: sha512-+yNMu+mrRyiTEBrJ2PzqOqzRoU31MgxeZClGFQSzoBN2+ZjCm3fZ9XWeIkIT5jg8cpFQ7m0krlQGBU16VuPo9Q==} + /roosterjs-content-model-dom@9.10.0: + resolution: {integrity: sha512-2dk/ZvEsR96OVOcKDVyGbx8+t5ZyYjXbpgjNc2h9c+rhk61XWWDJ23u2vKRUMtI6Qv6CwpeBrdjzJSIa3Moi9g==} dependencies: - roosterjs-editor-api: 8.62.0 - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-types: 8.62.0 - tslib: 2.6.2 + roosterjs-content-model-types: 9.10.0 + tslib: 2.7.0 dev: false - /roosterjs-editor-types-compatible@8.62.0: - resolution: {integrity: sha512-uGtlXmAO/IdbLCYZJppKCmHDx71FXhiDr87Xd6V2wtlG8QK+Onb+v57zQF5BLizOztJKPA0LZhXIBZaPG+T1nA==} + /roosterjs-content-model-plugins@9.10.1: + resolution: {integrity: sha512-W8LVi80qgjqOe+0C0Svyd1yMzKoThYClznuBjZeehDpyS+/A2MwTIwiAV9FyRZ93lb8Qx0Qid1QCfXJQpbznIQ==} dependencies: - roosterjs-editor-types: 8.62.0 - dev: false - - /roosterjs-editor-types@8.62.0: - resolution: {integrity: sha512-4OTSYKCdCqQPjOgWhVcjMX32T22B1bgyKeQmcq16F+ATBtleKRN4+2b9e2WsPN39L6t2PK+BFvITdoqKKAHVkQ==} + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-types: 9.10.0 + tslib: 2.7.0 dev: false - /roosterjs-react@8.56.0(@fluentui/react@8.117.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-qWVytKnkPTMdvBHOlF5uDKYcCONfxdjLsaV5LlTz8gICLaSgvVSP2QLz8qa19L3We3MQi+2CiFZ9d2odZrAkgw==} - peerDependencies: - '@fluentui/react': '>=8.0.0' - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - '@fluentui/react': 8.117.2(@types/react-dom@18.2.23)(@types/react@18.2.74)(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - roosterjs-color-utils: 1.1.0 - roosterjs-editor-api: 8.62.0 - roosterjs-editor-core: 8.62.0 - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-plugins: 8.62.0 - roosterjs-editor-types: 8.62.0 - roosterjs-editor-types-compatible: 8.62.0 - tslib: 2.6.2 + /roosterjs-content-model-types@9.10.0: + resolution: {integrity: sha512-SsRgMUEWW9F8btNbQt6ZvR2ukBVVi9ZfQ49fhIK8xgUHkZSdB/NSmVuQOjkrV8VyYvHLAwEMVXeMYbGmVVpnHQ==} dev: false /rsvp@4.8.5: @@ -21952,7 +19685,7 @@ packages: /rtl-css-js@1.16.1: resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.25.6 dev: false /run-parallel@1.2.0: @@ -21977,7 +19710,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 dev: false /safe-array-concat@1.1.2: @@ -22038,10 +19771,6 @@ packages: walker: 1.0.8 dev: false - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - dev: false - /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -22056,12 +19785,6 @@ packages: object-assign: 4.1.1 dev: false - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - dependencies: - loose-envify: 1.4.0 - dev: false - /scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: @@ -22110,7 +19833,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -22148,16 +19871,14 @@ packages: lru-cache: 6.0.0 dev: false - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 dev: false - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 @@ -22217,22 +19938,22 @@ packages: parseurl: 1.3.3 dev: false - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + /serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.0 dev: false /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 @@ -22333,29 +20054,18 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 dev: false /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: false - - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - dependencies: - is-arrayish: 0.3.2 - dev: false - /sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 dev: false @@ -22434,7 +20144,7 @@ packages: btoa: 1.2.1 chalk: 4.1.2 convert-source-map: 1.9.0 - ejs: 3.1.9 + ejs: 3.1.10 escape-html: 1.0.3 glob: 7.2.3 gzip-size: 6.0.0 @@ -22445,8 +20155,8 @@ packages: yargs: 16.2.0 dev: false - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -22511,8 +20221,8 @@ packages: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false - /spawn-command@0.0.2-1: - resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} + /spawn-command@0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} dev: false /spawn-wrap@2.0.0: @@ -22542,7 +20252,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.20 dev: false /spdx-exceptions@2.5.0: @@ -22553,17 +20263,17 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.20 dev: false - /spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + /spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} dev: false /spdy-transport@3.0.0: resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -22577,7 +20287,7 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -22673,47 +20383,19 @@ packages: react-dom: ^16.8.0 || ^17 || ^18 styled-components: ^5.2.0 dependencies: - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) - tocbot: 4.25.0 + tocbot: 4.29.0 dev: false - /storybook@8.2.6(@babel/preset-env@7.23.9): - resolution: {integrity: sha512-8j30wDxQmkcqI0fWcSYFsUCjErsY1yTWbTW+yjbwM8DyW18Cud6CwbFRCxjFsH+2M0CjP6Pqs/m1PGI0vcQscQ==} + /storybook@8.3.3: + resolution: {integrity: sha512-FG2KAVQN54T9R6voudiEftehtkXtLO+YVGP2gBPfacEdDQjY++ld7kTbHzpTT/bpCDx7Yq3dqOegLm9arVJfYw==} hasBin: true dependencies: - '@babel/core': 7.25.2 - '@babel/types': 7.24.9 - '@storybook/codemod': 8.2.6 - '@storybook/core': 8.2.6 - '@types/semver': 7.5.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - commander: 6.2.1 - cross-spawn: 7.0.3 - detect-indent: 6.1.0 - envinfo: 7.11.1 - execa: 5.1.1 - fd-package-json: 1.2.0 - find-up: 5.0.0 - fs-extra: 11.2.0 - giget: 1.2.3 - globby: 14.0.2 - jscodeshift: 0.15.2(@babel/preset-env@7.23.9) - leven: 3.1.0 - ora: 5.4.1 - prettier: 3.3.2 - prompts: 2.4.2 - semver: 7.6.0 - strip-json-comments: 3.1.1 - tempy: 3.1.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 + '@storybook/core': 8.3.3 transitivePeerDependencies: - - '@babel/preset-env' - bufferutil - supports-color - utf-8-validate @@ -22806,13 +20488,11 @@ packages: strip-ansi: 6.0.1 dev: false - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + /string.prototype.includes@2.0.0: + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + define-properties: 1.2.1 + es-abstract: 1.23.3 dev: false /string.prototype.matchall@4.0.11: @@ -22833,22 +20513,31 @@ packages: side-channel: 1.0.6 dev: false - /string.prototype.padend@3.1.5: - resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} + /string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: false - /string.prototype.padstart@3.1.5: - resolution: {integrity: sha512-R57IsE3JIfModQWrVXYZ8ZHWMBNDpIoniDwhYCR1nx+iHwDkjjk26a8xM9BYgf7SAXJO7sdNPng5J+0ccr5LFQ==} + /string.prototype.padstart@3.1.6: + resolution: {integrity: sha512-1y15lz7otgfRTAVK5qbp3eHIga+w8j7+jIH+7HpUrOfnLVl6n0hbspi4EXf4tR+PNOpBjPstltemkx0SvViOCg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: false + + /string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 dev: false /string.prototype.trim@1.2.9: @@ -22927,7 +20616,7 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 dev: false /strip-bom@2.0.0: @@ -22959,11 +20648,6 @@ packages: engines: {node: '>=6'} dev: false - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false - /strip-indent@1.0.1: resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==} engines: {node: '>=0.10.0'} @@ -22998,6 +20682,10 @@ packages: engines: {node: '>=8'} dev: false + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + /style-loader@1.3.0(webpack@4.47.0): resolution: {integrity: sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==} engines: {node: '>= 8.9.0'} @@ -23029,10 +20717,10 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: false - /style-to-js@1.1.12: - resolution: {integrity: sha512-tv+/FkgNYHI2fvCoBMsqPHh5xovwiw+C3X0Gfnss/Syau0Nr3IqGOJ9XiOYXoPnToHVbllKFf5qCNFJGwFg5mg==} + /style-to-js@1.1.14: + resolution: {integrity: sha512-+FGNddHGLPY4NOPneEEdFj8dIy+oV4mHGrPZpB38P+YXrCAG9mp70dbcsAWnM8BFZULkJRvMqD0CXRjZLOYJFA==} dependencies: - style-to-object: 1.0.6 + style-to-object: 1.0.7 dev: false /style-to-object@0.3.0: @@ -23041,8 +20729,8 @@ packages: inline-style-parser: 0.1.1 dev: false - /style-to-object@1.0.6: - resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + /style-to-object@1.0.7: + resolution: {integrity: sha512-uSjr59G5u6fbxUfKbb8GcqMGT3Xs9v5IbPkjb0S16GyOeBLAzSRK0CixBv5YrYvzO6TDLzIS6QCn78tkqWngPw==} dependencies: inline-style-parser: 0.2.3 dev: false @@ -23055,12 +20743,12 @@ packages: react-dom: '>= 16.8.0' react-is: '>= 16.8.0' dependencies: - '@babel/helper-module-imports': 7.24.3 - '@babel/traverse': 7.24.7(supports-color@5.5.0) - '@emotion/is-prop-valid': 1.2.2 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) + '@babel/traverse': 7.25.6(supports-color@5.5.0) + '@emotion/is-prop-valid': 1.3.1 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.25.2)(styled-components@5.3.11) + babel-plugin-styled-components: 2.1.4(@babel/core@7.25.2)(styled-components@5.3.11)(supports-color@5.5.0) css-to-react-native: 3.2.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 @@ -23072,8 +20760,8 @@ packages: - '@babel/core' dev: false - /stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + /stylis@4.3.4: + resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} dev: false /subarg@1.0.0: @@ -23085,17 +20773,18 @@ packages: /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 2.1.2 methods: 1.1.2 mime: 2.6.0 - qs: 6.12.0 - semver: 7.6.0 + qs: 6.13.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color dev: false @@ -23155,7 +20844,7 @@ packages: es-errors: 1.3.0 get-symbol-description: 1.0.2 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.7 + object.getownpropertydescriptors: 2.1.8 dev: false /synchronous-promise@2.0.17: @@ -23166,16 +20855,16 @@ packages: resolution: {integrity: sha512-ngUh0+s+DOqEc0sGnrLaeNjbXp0CWHjSGFBqPlQmQ+oN/OfoDoYDBXPh+b4qs1M5QTk5nuQ3AmVz9+2xiY/ldw==} engines: {node: '>=12'} dependencies: - tslib: 2.6.2 + tslib: 2.7.0 uuid: 8.3.2 dev: false - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + /synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /table-layout@1.0.2: @@ -23188,11 +20877,11 @@ packages: wordwrapjs: 4.0.1 dev: false - /tabster@8.0.1: - resolution: {integrity: sha512-Df8La4+IkdbHjupybEDv4rCPSOwx8L3Xh7UVbl0tzyrkiVTKvZg3IRID6KHd/tXbyerO4cXwhY9aOQ+mbEP04w==} + /tabster@8.1.0: + resolution: {integrity: sha512-F01QF7FwToWzuh4nhHWnrR4ga5TQlC5aKLyAFD1ChPaXcdmm+4jKZe2fnsZ1CjouEOCodcY8TLHDOHyY7GZelQ==} dependencies: keyborg: 2.6.0 - tslib: 2.6.2 + tslib: 2.7.0 dev: false /tapable@1.1.3: @@ -23205,8 +20894,8 @@ packages: engines: {node: '>=6'} dev: false - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 @@ -23236,23 +20925,6 @@ packages: memoizerific: 1.11.3 dev: false - /temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: false - - /temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - dev: false - - /temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - dependencies: - rimraf: 2.6.3 - dev: false - /temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} engines: {node: '>=6.0.0'} @@ -23261,29 +20933,8 @@ packages: rimraf: 2.6.3 dev: false - /tempy@1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} - dependencies: - del: 6.1.1 - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - dev: false - - /tempy@3.1.0: - resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} - engines: {node: '>=14.16'} - dependencies: - is-stream: 3.0.0 - temp-dir: 3.0.0 - type-fest: 2.19.0 - unique-string: 3.0.0 - dev: false - - /terser-webpack-plugin@1.4.5(webpack@4.47.0): - resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} + /terser-webpack-plugin@1.4.6(webpack@4.47.0): + resolution: {integrity: sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==} engines: {node: '>= 6.9.0'} peerDependencies: webpack: ^4.0.0 @@ -23313,7 +20964,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - terser: 5.29.1 + terser: 5.33.0 webpack: 4.47.0 webpack-sources: 1.4.3 dev: false @@ -23338,7 +20989,7 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.29.1 + terser: 5.33.0 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -23352,13 +21003,13 @@ packages: source-map-support: 0.5.21 dev: false - /terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + /terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.11.3 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 dev: false @@ -23410,8 +21061,8 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false - /tlds@1.251.0: - resolution: {integrity: sha512-yztVk5O1LGKCjPd+7soBQyiKvSBXI5qugc/X0C7pLa0rV5ufBS6xcyX0pdf4NznO8xcZ5fqX248q+jTHd4AQJA==} + /tlds@1.254.0: + resolution: {integrity: sha512-YY4ei7K7gPGifqNSrfMaPdqTqiHcwYKUJ7zhLqQOK2ildlGgti5TSwJiXXN1YqG17I2GYZh5cZqv2r5fwBUM+w==} hasBin: true dev: false @@ -23461,8 +21112,8 @@ packages: safe-regex: 1.1.0 dev: false - /tocbot@4.25.0: - resolution: {integrity: sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==} + /tocbot@4.29.0: + resolution: {integrity: sha512-E+8+lceJpWHJYKq+qFHbi+gmFdXZeOAliHFdgiIAUo68cr8ClReXAx7h9e3TcDM0kw9PSnBn3GAZEpRmRLZ93g==} dev: false /toggle-selection@1.0.6: @@ -23483,8 +21134,8 @@ packages: engines: {node: '>=6'} dev: false - /tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + /tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} dependencies: psl: 1.9.0 @@ -23547,8 +21198,8 @@ packages: engines: {node: '>=6.10'} dev: false - /ts-jest@29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + /ts-jest@29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -23574,19 +21225,20 @@ packages: '@babel/core': 7.25.2 babel-jest: 29.7.0(@babel/core@7.25.2) bs-logger: 0.2.6 + ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.0 + semver: 7.6.3 typescript: 5.4.5 yargs-parser: 21.1.1 dev: false - /ts-jest@29.1.5(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + /ts-jest@29.2.5(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -23610,13 +21262,14 @@ packages: optional: true dependencies: bs-logger: 0.2.6 + ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.0 + semver: 7.6.3 typescript: 5.4.5 yargs-parser: 21.1.1 dev: false @@ -23631,8 +21284,8 @@ packages: chalk: 4.1.2 enhanced-resolve: 4.5.0 loader-utils: 2.0.4 - micromatch: 4.0.5 - semver: 7.6.0 + micromatch: 4.0.8 + semver: 7.6.3 typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) dev: false @@ -23680,13 +21333,13 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.14.12 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -23696,15 +21349,15 @@ packages: yn: 3.1.1 dev: false - /ts-patch@3.1.2: - resolution: {integrity: sha512-n58F5AqjUMdp9RAKq+E1YBkmONltPVbt1nN+wrmZXoYZek6QcvaTuqvKMhYhr5BxtC53kD/exxIPA1cP1RQxsA==} + /ts-patch@3.2.1: + resolution: {integrity: sha512-hlR43v+GUIUy8/ZGFP1DquEqPh7PFKQdDMTAmYt671kCCA6AkDQMoeFaFmZ7ObPLYOmpMgyKUqL1C+coFMf30w==} hasBin: true dependencies: chalk: 4.1.2 global-prefix: 3.0.0 minimist: 1.2.8 resolve: 1.22.8 - semver: 7.6.0 + semver: 7.6.3 strip-ansi: 6.0.1 dev: false @@ -23725,7 +21378,7 @@ packages: engines: {node: '>=10.13.0'} dependencies: chalk: 4.1.2 - enhanced-resolve: 5.15.1 + enhanced-resolve: 5.17.1 tsconfig-paths: 4.2.0 dev: false @@ -23760,8 +21413,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false /tty-browserify@0.0.0: @@ -23785,11 +21438,6 @@ packages: engines: {node: '>=4'} dev: false - /type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: false - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -23810,18 +21458,13 @@ packages: engines: {node: '>=8'} dev: false - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: false - /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} dev: false - /type-fest@4.14.0: - resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==} + /type-fest@4.26.1: + resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=16'} dev: false @@ -23887,12 +21530,12 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typescript-transform-paths@3.4.7(typescript@5.4.5): - resolution: {integrity: sha512-1Us1kdkdfKd2unbkBAOV2HHRmbRBYpSuk9nJ7cLD2hP4QmfToiM/VpxNlhJc1eezVwVqSKSBjNSzZsK/fWR/9A==} + /typescript-transform-paths@3.5.1(typescript@5.4.5): + resolution: {integrity: sha512-nq+exuF+38rAby9zrP+S6t0HWuwv69jeFu0I5UwjdoCIDPmnKIAr6a7JfYkbft7h5OzYKEDRhT/jLvvtTvWF4Q==} peerDependencies: typescript: '>=3.6.5' dependencies: - minimatch: 3.1.2 + minimatch: 9.0.5 typescript: 5.4.5 dev: false @@ -23902,12 +21545,6 @@ packages: hasBin: true dev: false - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: false - /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -23930,8 +21567,8 @@ packages: engines: {node: '>=8'} dev: false - /typical@7.1.1: - resolution: {integrity: sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==} + /typical@7.2.0: + resolution: {integrity: sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==} engines: {node: '>=12.17'} dev: false @@ -23939,12 +21576,8 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: false - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - dev: false - - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + /uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -23964,8 +21597,12 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: false - /undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + /undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + dev: false + + /undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.1 @@ -23982,8 +21619,8 @@ packages: xtend: 4.0.2 dev: false - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + /unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} dev: false @@ -23991,12 +21628,12 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-canonical-property-names-ecmascript: 2.0.1 unicode-property-aliases-ecmascript: 2.1.0 dev: false - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + /unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} engines: {node: '>=4'} dev: false @@ -24005,21 +21642,16 @@ packages: engines: {node: '>=4'} dev: false - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: false - /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 bail: 2.0.2 devlop: 1.1.0 extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.2 + vfile: 6.0.3 dev: false /unified@9.2.0: @@ -24058,7 +21690,7 @@ packages: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} dependencies: - qs: 6.12.0 + qs: 6.13.0 dev: false /unique-filename@1.1.1: @@ -24073,20 +21705,6 @@ packages: imurmurhash: 0.1.4 dev: false - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 - dev: false - - /unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - dependencies: - crypto-random-string: 4.0.0 - dev: false - /unist-builder@2.0.3: resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} dev: false @@ -24102,7 +21720,7 @@ packages: /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /unist-util-position@3.1.0: @@ -24124,33 +21742,33 @@ packages: /unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 dev: false /unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 dev: false /unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-is: 4.1.0 dev: false /unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 dev: false /unist-util-visit@2.0.3: resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 dev: false @@ -24158,7 +21776,7 @@ packages: /unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 dev: false @@ -24187,14 +21805,17 @@ packages: engines: {node: '>= 0.8'} dev: false - /unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + /unplugin@1.14.1: + resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} + peerDependencies: + webpack-sources: ^3 + peerDependenciesMeta: + webpack-sources: + optional: true dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 + acorn: 8.12.1 + webpack-virtual-modules: 0.6.2 dev: false /unset-value@1.0.0: @@ -24226,26 +21847,15 @@ packages: dev: false optional: true - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - dev: false - - /update-browserslist-db@1.1.0(browserslist@4.23.2): + /update-browserslist-db@1.1.0(browserslist@4.24.0): resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.24.0 + escalade: 3.2.0 + picocolors: 1.1.0 dev: false /uri-js@4.4.1: @@ -24303,18 +21913,19 @@ packages: requires-port: 1.0.0 dev: false - /url@0.11.3: - resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + /url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} dependencies: punycode: 1.4.1 - qs: 6.12.0 + qs: 6.13.0 dev: false - /use-debounce@10.0.2(react@18.3.1): - resolution: {integrity: sha512-MwBiJK2dk+2qhMDVDCPRPeLuIekKfH2t1UYMnrW9pwcJJGFDbTLliSMBz2UKGmE1PJs8l3XoMqbIU1MemMAJ8g==} + /use-debounce@10.0.3(react@18.3.1): + resolution: {integrity: sha512-DxQSI9ZKso689WM1mjgGU3ozcxU1TJElBJ3X6S4SMzMNcm2lVH0AHmyXB+K7ewjz2BSUKJTDqTcwtSMRfB89dg==} engines: {node: '>= 16.0.0'} peerDependencies: - react: '>=16.8.0' + react: '*' dependencies: react: 18.3.1 dev: false @@ -24354,7 +21965,7 @@ packages: resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} dependencies: define-properties: 1.2.1 - object.getownpropertydescriptors: 2.1.7 + object.getownpropertydescriptors: 2.1.8 dev: false /util@0.10.4: @@ -24413,8 +22024,8 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -24429,11 +22040,6 @@ packages: spdx-expression-parse: 3.0.1 dev: false - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: false - /value-equal@1.0.1: resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} dev: false @@ -24450,36 +22056,35 @@ packages: /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-stringify-position: 2.0.3 dev: false /vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 dev: false /vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 dev: false - /vfile@6.0.2: - resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} + /vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} dependencies: - '@types/unist': 3.0.2 - unist-util-stringify-position: 4.0.0 + '@types/unist': 3.0.3 vfile-message: 4.0.2 dev: false - /vite@4.5.2(@types/node@20.14.12): - resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + /vite@4.5.5(@types/node@20.14.12): + resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -24508,8 +22113,8 @@ packages: dependencies: '@types/node': 20.14.12 esbuild: 0.18.20 - postcss: 8.4.35 - rollup: 3.29.4 + postcss: 8.4.47 + rollup: 3.29.5 optionalDependencies: fsevents: 2.3.3 dev: false @@ -24530,8 +22135,8 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 1.6.8 - joi: 17.12.3 + axios: 1.7.7 + joi: 17.13.3 lodash: 4.17.21 minimist: 1.2.8 rxjs: 7.8.1 @@ -24546,15 +22151,11 @@ packages: dependencies: chalk: 2.4.2 commander: 3.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: false - /walk-up-path@3.0.1: - resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - dev: false - /walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -24579,8 +22180,8 @@ packages: watchpack-chokidar2: 2.0.1 dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -24593,12 +22194,6 @@ packages: minimalistic-assert: 1.0.1 dev: false - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: false - /web-namespaces@1.1.4: resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} dev: false @@ -24612,30 +22207,29 @@ packages: engines: {node: '>=12'} dev: false - /webpack-bundle-analyzer@4.10.1: - resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} + /webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} hasBin: true dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.1 + acorn-walk: 8.3.4 commander: 7.2.0 debounce: 1.2.1 escape-string-regexp: 4.0.0 gzip-size: 6.0.0 html-escaper: 2.0.2 - is-plain-object: 5.0.0 opener: 1.5.2 - picocolors: 1.0.0 + picocolors: 1.1.0 sirv: 2.0.4 - ws: 7.5.9 + ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -24659,18 +22253,18 @@ packages: colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 - envinfo: 7.11.1 + envinfo: 7.14.0 fastest-levenshtein: 1.0.16 - import-local: 3.1.0 + import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 + webpack-bundle-analyzer: 4.10.2 webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) webpack-merge: 5.10.0 dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -24694,13 +22288,13 @@ packages: colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 - envinfo: 7.11.1 + envinfo: 7.14.0 fastest-levenshtein: 1.0.16 - import-local: 3.1.0 + import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 + webpack-bundle-analyzer: 4.10.2 webpack-merge: 5.10.0 dev: false @@ -24781,9 +22375,9 @@ packages: '@types/connect-history-api-fallback': 1.5.4 '@types/express': 4.17.21 '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.5 + '@types/serve-static': 1.15.7 '@types/sockjs': 0.3.36 - '@types/ws': 8.5.10 + '@types/ws': 8.5.12 ansi-html-community: 0.0.8 bonjour-service: 1.2.1 chokidar: 3.6.0 @@ -24791,12 +22385,12 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.3 + express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.5.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21) - ipaddr.js: 2.1.0 - launch-editor: 2.6.1 + ipaddr.js: 2.2.0 + launch-editor: 2.9.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -24806,9 +22400,9 @@ packages: sockjs: 0.3.24 spdy: 4.0.2 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-middleware: 5.3.4(webpack@5.89.0) - ws: 8.16.0 + ws: 8.18.0 transitivePeerDependencies: - bufferutil - debug @@ -24877,8 +22471,8 @@ packages: resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} dev: false - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + /webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} dev: false /webpack@4.47.0: @@ -24901,7 +22495,7 @@ packages: acorn: 6.4.2 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - chrome-trace-event: 1.0.3 + chrome-trace-event: 1.0.4 enhanced-resolve: 4.5.0 eslint-scope: 4.0.3 json-parse-better-errors: 1.0.2 @@ -24914,7 +22508,7 @@ packages: node-libs-browser: 2.2.1 schema-utils: 1.0.0 tapable: 1.1.3 - terser-webpack-plugin: 1.4.5(webpack@4.47.0) + terser-webpack-plugin: 1.4.6(webpack@4.47.0) watchpack: 1.7.5 webpack-sources: 1.4.3 dev: false @@ -24930,16 +22524,16 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/wasm-edit': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.1 - es-module-lexer: 1.4.1 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.1 + acorn-import-assertions: 1.9.0(acorn@8.12.1) + browserslist: 4.24.0 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -24951,8 +22545,8 @@ packages: schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.10(webpack@5.89.0) - watchpack: 2.4.0 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + watchpack: 2.4.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -25011,8 +22605,8 @@ packages: is-symbol: 1.0.4 dev: false - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + /which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 @@ -25025,12 +22619,13 @@ packages: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 + which-collection: 1.0.2 which-typed-array: 1.1.15 dev: false - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: is-map: 2.0.3 is-set: 2.0.3 @@ -25085,9 +22680,9 @@ packages: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} dev: false - /wordwrap@0.0.3: - resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} - engines: {node: '>=0.4.0'} + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} dev: false /wordwrap@1.0.0: @@ -25123,7 +22718,7 @@ packages: globby: 11.1.0 jju: 1.4.0 js-yaml: 4.1.0 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /wrap-ansi@5.1.0: @@ -25153,27 +22748,10 @@ packages: strip-ansi: 6.0.1 dev: false - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: false - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false - /write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - dependencies: - graceful-fs: 4.2.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: false - /write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} dependencies: @@ -25191,8 +22769,8 @@ packages: signal-exit: 3.0.7 dev: false - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -25204,8 +22782,8 @@ packages: optional: true dev: false - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + /ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -25229,23 +22807,10 @@ packages: engines: {node: '>=12'} dev: false - /xml2js@0.5.0: - resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} - engines: {node: '>=4.0.0'} - dependencies: - sax: 1.3.0 - xmlbuilder: 11.0.1 - dev: false - /xml@1.0.1: resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} dev: false - /xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - dev: false - /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: false @@ -25339,7 +22904,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -25352,7 +22917,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -25370,23 +22935,11 @@ packages: engines: {node: '>=10'} dev: false - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + /yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} dev: false - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: false - /zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} dev: false @@ -25396,37 +22949,35 @@ packages: dev: false file:projects/acs-ui-common.tgz: - resolution: {integrity: sha512-LBMt5Ddqv7LPA4Z75lQ2ayQESN/bGnZqKPMEzUSq8M4PQ9bPi4j4wTtpgdyqdK81GYDlPMG/91nUB8ZX29Gqjg==, tarball: file:projects/acs-ui-common.tgz} + resolution: {integrity: sha512-+j53f4pQARMblkGIOqzOS1hAhqHYuiHQJrGwwtivuBSKrboNP2b0veDx+I9ePfzTrnOOXhK1L+hQ3BD97/IbuA==, tarball: file:projects/acs-ui-common.tgz} name: '@rush-temp/acs-ui-common' version: 0.0.0 dependencies: '@azure/communication-common': 2.3.1 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 react: 18.3.1 rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' @@ -25442,38 +22993,38 @@ packages: dev: false file:projects/acs-ui-javascript-loaders.tgz: - resolution: {integrity: sha512-E0JkfmshqabLJoCT+0/Vfo9hUmGwdRVkT20DpOOG+4NS6wGISgv60MbJqMJfylheTqRn0a/GBu9s1F9ePeKjbg==, tarball: file:projects/acs-ui-javascript-loaders.tgz} + resolution: {integrity: sha512-pWTuuUa9soKSTVE+e9wtoUatgVO0Qhx7L1Bv8/xXryaQ+SQO4SSQmuIAOzBxcC+6aLCzO/ArZ/PV+N5IKk/vhQ==, tarball: file:projects/acs-ui-javascript-loaders.tgz} name: '@rush-temp/acs-ui-javascript-loaders' version: 0.0.0 dependencies: '@azure/communication-common': 2.3.1 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@types/jest': 29.5.13 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' @@ -25489,31 +23040,29 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-i65FHN18eDnIhmb4d05AgoEugSyTfhkrQf7yv+OL7PTYUg3RkDl9nAVdii+NTxqk8Ra3iWw0I0KmX9zX2u1W5g==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-U7frD7yCWkKdAMJCmYYQlwOz38hiNqNWA0ScWgKv0uj8Ul57+U4PbrrK2GNFY8DNCx+lQ3aHvKpjMbpRrFhWjw==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-common': 2.3.1 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) memoize-one: 5.2.1 @@ -25521,8 +23070,8 @@ packages: react: 18.3.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' @@ -25538,41 +23087,39 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-ZlJ5ISEWE5PncZ6lFd3SYBAXlhEcPvFc9iHfVBlLeKlgSBrVGmigHTYMbuD8rwCQjAESNTZnE99YCHh4qAQncw==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-wugXNq3CG9liAdByIUNCOzdHb5Bymx/Q+od/ZiMJwM8+MaljMoDqxTnp4yC25GP1/6e00qxn5LmHKe3htlgTJw==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/core-auth': 1.8.0 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' @@ -25588,30 +23135,30 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-wUzrPqWTqO5hNalEfOymLQRPe169C1J7dSLpmUtPmQae8AYMnbh2tCyPq5UAYbGJHTAEA8P+ohM7A9DYT8X6gQ==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-VuZYMfjuwdovXmre2dcGyOTsFfAe/lZMMgqpUbeA6/xyJ1OVHXFwOItHbVAKT81o8MDgv+Xok40SwXlD5eTsIg==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 '@azure/communication-calling': 1.28.4 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.23.10(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@types/jest': 29.5.12 + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -25620,16 +23167,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -25655,8 +23202,8 @@ packages: url-loader: 4.1.1(webpack@5.89.0) uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-bundle-analyzer: 4.10.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -25682,30 +23229,30 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-OmHDPMKIyY9791Glsu46sUvxLHr86vFNDfSfL/hsTl4gxo93Gb5XY/PurFUGCMAwtQPtfnIb3VGz8I8yBbex3Q==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-FhAEFSl5wQpSH/aOkIX1Ss+cgpR483jZ1d3BlDiHPGcKkBXu1mlRX4/9P7+vUahUSHz/sm9SJClvW8BbEMqxEQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 '@azure/communication-calling': 1.28.4 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.23.10(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@types/jest': 29.5.12 + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -25714,16 +23261,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -25749,8 +23296,8 @@ packages: url-loader: 4.1.1(webpack@5.89.0) uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-bundle-analyzer: 4.10.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -25776,7 +23323,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-SwbgGVfUbsIpLiJ/id/CvSgs9rNoyjla3FXkr/mVDiFv4cAMLTtz5FhupNqRWN79TGgcCXfy3Rpda/t4258kdw==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-ARVGFVmpWuBCKwdgbfXDClWIj1Dbai6CezBsKk4+x3EAXkLwSg7uiVvj/BvLVuuBHeI0cEB7Hk0hhC14HHGWLw==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -25784,23 +23331,23 @@ packages: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.23.10(@babel/core@7.25.2)(eslint@8.57.0) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@babel/preset-react': 7.23.3(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@babel/preset-react': 7.24.7(@babel/core@7.25.2) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -25810,16 +23357,16 @@ packages: cross-env: 7.0.3 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 if-env: 1.0.4 @@ -25842,8 +23389,8 @@ packages: url-loader: 4.1.1(webpack@5.89.0) uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-bundle-analyzer: 4.10.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -25868,29 +23415,27 @@ packages: dev: false file:projects/chat-component-bindings.tgz: - resolution: {integrity: sha512-aiQRAP9YLHjtu+If9oNwpXNwRTaYkZBN/dZSNCDbSIGudxRYVFfZdAbIgXJLemUSFCjPkKKKgWU7mvwLgIDHGQ==, tarball: file:projects/chat-component-bindings.tgz} + resolution: {integrity: sha512-zLh8siLw3MEqy1fG70DY6opQx0Vg44n8P7oMNstRKCgAUmoitbG8eR56wkzY+QW5JFRaaROLFe3lyj87/tRsDA==, tarball: file:projects/chat-component-bindings.tgz} name: '@rush-temp/chat-component-bindings' version: 0.0.0 dependencies: '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/core-paging': 1.5.0 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/core-paging': 1.6.2 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) memoize-one: 5.2.1 @@ -25898,7 +23443,7 @@ packages: react: 18.3.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 typescript: 5.4.5 transitivePeerDependencies: - '@types/eslint' @@ -25910,34 +23455,33 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-CG8lKCXj6VrCuV1jLp5Rbt2Lgi9MS9fDiNYcFQev/cm+q67H7pjqOjx2cnX3p98cvKC+yFOVwWu09il/sxP6sw==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-q67ZNRJrOpMM5MsQQvuo9SVjTPuNfX8ttIKLCPUG21A8LJ227NzZH0mC2JU7LVlayk+TRS3EQXL2UVB/gtVJ2w==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 '@azure/communication-signaling': 1.0.0-beta.28 - '@azure/core-paging': 1.5.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/core-paging': 1.6.2 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 + '@types/node': 20.14.12 '@types/react': 18.3.3 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 @@ -25945,14 +23489,13 @@ packages: nanoid: 3.3.6 prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@jest/transform' - '@jest/types' - '@types/eslint' - - '@types/node' - babel-jest - babel-plugin-macros - esbuild @@ -25962,28 +23505,28 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-k8WeW1AoJjRTgpNsmTpfpF3QMUkc4qxEwHxgeEWFyhOa6YuL64bG0EpjJc/sbxtsId7pMe+Cw/opdQ/7bTVr1g==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-PTwgOIsKm+pxowxvEmJtqGibQPwhSl2MGQhE8nnIyb0M/DzFtcr/oOR84JzcBVLHbIkCHsw9DOZ/1U6aVKUnPw==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.23.10(@babel/core@7.25.2)(eslint@8.57.0) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@types/jest': 29.5.12 + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) axios: 1.7.7 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) concurrently: 5.3.0 @@ -25991,16 +23534,16 @@ packages: cpx: 1.5.0 css-loader: 4.3.0(webpack@5.89.0) env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) form-data: 4.0.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -26023,8 +23566,8 @@ packages: typescript: 5.4.5 url-loader: 4.1.1(webpack@5.89.0) webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-bundle-analyzer: 4.10.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -26051,22 +23594,22 @@ packages: dev: false file:projects/check-treeshaking.tgz: - resolution: {integrity: sha512-oniP8zsX1Kpj3gduWaFrQIade0f07gujfNxZDSfd8ZQZoAQG0o1fRMhOZzh0YMHpltcjQz561ZmgYhpI12yh9Q==, tarball: file:projects/check-treeshaking.tgz} + resolution: {integrity: sha512-CufJZqS9KCqCPSm025txt+KU8AIjFyyhmNhFew/1ZdxQFEJutewvfUUhMtvkIXIw9/+74F57b1EuJDCfixKBDw==, tarball: file:projects/check-treeshaking.tgz} name: '@rush-temp/check-treeshaking' version: 0.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) transitivePeerDependencies: - '@swc/core' - '@types/eslint' @@ -26079,15 +23622,15 @@ packages: dev: false file:projects/check-typescript-regression.tgz: - resolution: {integrity: sha512-d+Pgb55oIwWEUnt1k7/yBbmqD3iQ5nzz2X9uCvR7S6sIbvf0OdnZGHbJ0vuTUDLf7+Vj6NSdeK7o0R5XNDa7HA==, tarball: file:projects/check-typescript-regression.tgz} + resolution: {integrity: sha512-gFrv+9aZGNk1iUcE9CQdBppDotxpvifgmdBOLTq1LSimgqv95P+0vQZ9YVfHKjmeCfhTHT0/Yb9ikyKs9w2qMw==, tarball: file:projects/check-typescript-regression.tgz} name: '@rush-temp/check-typescript-regression' version: 0.0.0 dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 typescript: 4.6.3 @@ -26097,45 +23640,43 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-VLdUuk673s+De2uTUN7bbf35mdQDKVgq4QgV8B8ZhAgp7XkllhGecsaEWFGLbWV+IFVpVr4sl5yX4EwiaCGs1Q==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-uadnqhx7kJYCGV2kH7oc089fgV9HkBWthaUadmxx+hboWpALH67TFWHGxXw5vVcEoS+BVY0eRrJmZiS6eDOMzA==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/core-auth': 1.7.2 - '@azure/core-client': 1.8.0 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/core-auth': 1.8.0 + '@azure/core-paging': 1.6.2 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.7)(@fluentui/react-icons@2.0.252)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-window-provider': 2.2.27(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@microsoft/api-documenter': 7.25.9(@types/node@20.14.12) - '@microsoft/api-extractor': 7.47.4(@types/node@20.14.12) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) - '@testing-library/jest-dom': 6.4.8 - '@testing-library/react': 16.0.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@microsoft/api-documenter': 7.25.14(@types/node@20.14.12) + '@microsoft/api-extractor': 7.47.9(@types/node@20.14.12) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) + '@testing-library/jest-dom': 6.5.0 + '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/dompurify': 3.0.5 '@types/events': 3.0.3 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 @@ -26143,16 +23684,16 @@ packages: cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) events: 3.3.0 - html-react-parser: 5.1.12(@types/react@18.3.3)(react@18.3.1) + html-react-parser: 5.1.16(@types/react@18.3.3)(react@18.3.1) if-env: 1.0.4 immer: 10.1.1 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -26171,31 +23712,25 @@ packages: renamer: 4.0.0 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.1 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-plugins: 9.9.1 - roosterjs-content-model-types: 9.9.1 - roosterjs-editor-api: 8.62.0 - roosterjs-editor-core: 8.62.0 - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-plugins: 8.62.0 - roosterjs-editor-types: 8.62.0 - roosterjs-editor-types-compatible: 8.62.0 - roosterjs-react: 8.56.0(@fluentui/react@8.117.2)(react-dom@18.2.0)(react@18.2.0) - scheduler: 0.23.0 + rollup: 4.22.4 + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-plugins: 9.10.1 + roosterjs-content-model-types: 9.10.0 + scheduler: 0.23.2 source-map-explorer: 2.5.3 textarea-caret-ts: 4.1.1 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - ts-patch: 3.1.2 - type-fest: 4.14.0 + ts-patch: 3.2.1 + type-fest: 4.26.1 typescript: 5.4.5 - typescript-transform-paths: 3.4.7(typescript@5.4.5) - use-debounce: 10.0.2(react@18.3.1) + typescript-transform-paths: 3.5.1(typescript@5.4.5) + use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 transitivePeerDependencies: + - '@75lb/nature' - '@jest/transform' - '@jest/types' - '@swc/core' @@ -26210,37 +23745,37 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-/YVB7F17Q9wbclaQFAA5uMJ/uWUShVrOuSD/mCPUEhPSOYNpsTXAmSm4IcdejMCVDJk1qFlFSTsqkpcUMXvuNg==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-jUf7zw9bAjglFzMS5Z2LI1hkIE4xh4gc9GuAWLIbMWY6N+IUEaR2svlZ9jrf3UAakPfF6ww7iAAigVXgLuk3tQ==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 + '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.23.10(@babel/core@7.25.2)(eslint@8.57.0) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) concurrently: 5.3.0 css-loader: 4.3.0(webpack@5.89.0) dotenv: 10.0.0 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.14.1)(@typescript-eslint/parser@7.14.1)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.34.3)(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-flowtype@8.0.3)(eslint-plugin-import@2.30.0)(eslint-plugin-jsx-a11y@6.10.0)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.36.1)(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 if-env: 1.0.4 @@ -26254,7 +23789,7 @@ packages: typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -26276,19 +23811,19 @@ packages: dev: false file:projects/config.tgz: - resolution: {integrity: sha512-DZRPyoZXKdFPiI92b08Lxi0PtgYkdwgdpPUNES9r+qwHObDfQxCCHt2TmfCFul3wD4pkQChOh+yPqBzI469Naw==, tarball: file:projects/config.tgz} + resolution: {integrity: sha512-v9GdcII3BLxEYVAwnnCU5vxtn6tGzs7BdtZ+2BPjV0QUmSPE+x5fIIXWpPl+0+k09EeSoqCefngkWboKz3chgw==, tarball: file:projects/config.tgz} name: '@rush-temp/config' version: 0.0.0 dependencies: '@actions/core': 1.10.1 '@octokit/rest': 19.0.13 '@playwright/test': 1.39.0 - '@rollup/plugin-commonjs': 25.0.7(rollup@4.21.2) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.22.4) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) '@types/node': 20.14.12 - beachball: 2.44.0(typescript@5.4.5) - rollup: 4.21.2 - rollup-plugin-sourcemaps: 0.6.3(@types/node@20.14.12)(rollup@4.21.2) + beachball: 2.47.1(typescript@5.4.5) + rollup: 4.22.4 + rollup-plugin-sourcemaps: 0.6.3(@types/node@20.14.12)(rollup@4.22.4) rollup-plugin-svg: 2.0.0 ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) typescript: 5.4.5 @@ -26299,35 +23834,34 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-uaaRbJrzPmJ9k7L2IwVIoNp1gUR7pYyeMJYUlNfLilM2UvbF1HucenJ+a2BfQ+l1WzruiGGLfYsxBWPSj93l4g==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-LbVteqhoFR1NOEpDbMawqbHX7c90/f/0y7NVHkdeN1XJGm6vYMXOwzCojpxVrndFzI+rJiwq+zMJ635GI3rFFQ==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 '@azure/communication-signaling': 1.0.0-beta.28 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.14.0 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) '@types/events': 3.0.3 - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@types/jest': 29.5.13 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) events: 3.3.0 if-env: 1.0.4 immer: 10.1.1 @@ -26335,8 +23869,8 @@ packages: nanoid: 3.3.6 prettier: 3.3.2 rimraf: 2.7.1 - rollup: 4.21.2 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + rollup: 4.22.4 + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: @@ -26355,39 +23889,37 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-0SLB0opF01RcPvh+Y9xi8PGEIgPe/HCh5QXpM77WfySYvcy0bYTq8iyO5m/J6aG1kkBd8eOYr3YNHQQYxJeEcQ==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-YxcWRr1EhcgcCuNzOi+dlfmfn6jbSHH+nNdoGWU6apXimohdgnHUL1RHEzFjmXvJP/QN1L8VWtfoJ8IQejc3Zg==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.7)(@fluentui/react-icons@2.0.252)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui-contrib/react-chat': 0.1.10(@fluentui/react-components@9.54.16)(@fluentui/react-icons@2.0.258)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@fluentui/react-window-provider': 2.2.27(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@fluentui/react-window-provider': 2.2.28(@types/react@18.3.3)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) '@playwright/experimental-ct-react': 1.39.0(@types/node@20.14.12) - '@rollup/plugin-json': 6.1.0(rollup@4.21.2) + '@rollup/plugin-json': 6.1.0(rollup@4.22.4) '@testing-library/dom': 9.3.4 - '@testing-library/jest-dom': 6.4.8 - '@testing-library/react': 16.0.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@testing-library/jest-dom': 6.5.0 + '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) '@types/dompurify': 3.0.5 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) '@vitejs/plugin-react': 4.2.1 ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) @@ -26395,21 +23927,21 @@ packages: concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) - html-react-parser: 5.1.12(@types/react@18.3.3)(react@18.3.1) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + html-react-parser: 5.1.16(@types/react@18.3.3)(react@18.3.1) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -26417,7 +23949,7 @@ packages: jest-fetch-mock: 3.0.3 jest-junit: 16.0.0 json-stringify-safe: 5.0.1 - nan: 2.19.0 + nan: 2.20.0 node-forge: 1.3.1 playwright-core: 1.39.0 prettier: 3.3.2 @@ -26429,27 +23961,20 @@ packages: react-use-draggable-scroll: 0.4.7(react@18.3.1) regenerator-runtime: 0.14.1 rimraf: 2.7.1 - rollup: 4.21.2 - roosterjs-content-model-api: 9.9.1 - roosterjs-content-model-core: 9.9.1 - roosterjs-content-model-dom: 9.9.1 - roosterjs-content-model-plugins: 9.9.1 - roosterjs-content-model-types: 9.9.1 - roosterjs-editor-api: 8.62.0 - roosterjs-editor-core: 8.62.0 - roosterjs-editor-dom: 8.62.0 - roosterjs-editor-plugins: 8.62.0 - roosterjs-editor-types: 8.62.0 - roosterjs-editor-types-compatible: 8.62.0 - roosterjs-react: 8.56.0(@fluentui/react@8.117.2)(react-dom@18.2.0)(react@18.2.0) - scheduler: 0.23.0 + rollup: 4.22.4 + roosterjs-content-model-api: 9.10.0 + roosterjs-content-model-core: 9.10.0 + roosterjs-content-model-dom: 9.10.0 + roosterjs-content-model-plugins: 9.10.1 + roosterjs-content-model-types: 9.10.0 + scheduler: 0.23.2 source-map-explorer: 2.5.3 textarea-caret-ts: 4.1.1 - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - type-fest: 4.14.0 + type-fest: 4.26.1 typescript: 5.4.5 - use-debounce: 10.0.2(react@18.3.1) + use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) transitivePeerDependencies: @@ -26478,44 +24003,43 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-fH6kDX73oH6+P1M2rpqLVUv9MvBjWIEH3OmCt5A6qd0qPvrC1jlgd60mbb99hD3ZKyHgvfnBCGYjxld6ZM56LA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-u9gZGaxbEH0a05e4ZH3hu5rh/TjFvCj3nNJ0nWGybVgnyMHd7c7RpAY9gavY8TAs53NQ1k5AksaCg7uEe4YP/A==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 - '@azure/communication-calling-effects': 1.1.1-beta.1 + '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/communication-signaling': 1.0.0-beta.26 - '@azure/core-paging': 1.5.0 - '@azure/core-rest-pipeline': 1.14.0 - '@azure/logger': 1.0.4 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/logger': 1.1.4 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) - '@microsoft/api-documenter': 7.25.9(@types/node@20.14.12) - '@microsoft/api-extractor': 7.47.4(@types/node@20.14.12) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) + '@microsoft/api-documenter': 7.25.14(@types/node@20.14.12) + '@microsoft/api-extractor': 7.47.9(@types/node@20.14.12) '@playwright/test': 1.39.0 - '@testing-library/jest-dom': 6.4.8 - '@testing-library/react': 16.0.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@testing-library/jest-dom': 6.5.0 + '@testing-library/react': 16.0.1(@testing-library/dom@9.3.4)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@types/copy-webpack-plugin': 6.4.3 '@types/events': 3.0.3 '@types/express': 4.17.21 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@types/yargs': 17.0.32 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@types/yargs': 17.0.33 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -26523,23 +24047,23 @@ packages: copy-to-clipboard: 3.3.3 copy-webpack-plugin: 11.0.0(webpack@5.89.0) copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 css-loader: 4.3.0(webpack@5.89.0) dotenv: 10.0.0 env-cmd: 10.1.0 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsdoc: 36.1.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsdoc: 36.1.1(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) events: 3.3.0 - express: 4.18.3 + express: 4.21.0 fs-extra: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) husky: 8.0.3 @@ -26550,7 +24074,7 @@ packages: jest-junit: 16.0.0 json-stringify-safe: 5.0.1 memoize-one: 5.2.1 - nan: 2.19.0 + nan: 2.20.0 nanoid: 3.3.6 node-forge: 1.3.1 prettier: 3.3.2 @@ -26562,18 +24086,18 @@ packages: regenerator-runtime: 0.14.1 reselect: 4.1.8 rimraf: 2.7.1 - rollup: 4.21.2 + rollup: 4.22.4 shell-quote: 1.8.1 source-map-explorer: 2.5.3 style-loader: 2.0.0(webpack@5.89.0) - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - type-fest: 4.14.0 + type-fest: 4.26.1 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) yargs: 17.7.2 transitivePeerDependencies: @@ -26598,22 +24122,22 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-0qUkMhAywxbG4wqt4ellaN70LIPoHsHGQ31MhnOYf/dVwrMjb5Uql4rwahclvvLnK48JBwzoZ3oyGSJvJGBhtA==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-UwwRUovCy6Di+TS4d3c4az3n33lHyqTsMM5GlUEckYGlmhgyxvrzkWe255dRiGEMwxFw4bX8LdkNFvDIe6iy9A==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 + '@azure/communication-identity': 1.3.1 '@playwright/test': 1.39.0 '@types/node': 20.14.12 - '@types/node-static': 0.7.11 cross-env: 7.0.3 dotenv: 10.0.0 env-cmd: 10.1.0 + express: 4.21.0 if-env: 1.0.4 - node-static: 0.7.11 + path: 0.12.7 rimraf: 2.7.1 typescript: 5.4.5 uuid: 9.0.1 @@ -26622,21 +24146,20 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-dZ9R0gPlz1fTeKnZMFO6m/AKDZVqidUSt5ToMQo0SYAAeBC7RU4rFRKLJKNDqiZl583r3vqLqOXiN/8dlozQ7Q==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-uxxBQOHZvCDLuvKnRSLqdynwLbk98wIF2gF+WsYVRSZVznk7qnfOrwf9gfwUaxbiKXoUKwC3p9eldMod73yiMg==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@babel/cli': 7.24.8(@babel/core@7.25.2) + '@azure/communication-identity': 1.3.1 + '@babel/cli': 7.25.6(@babel/core@7.25.2) '@babel/core': 7.25.2 - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@playwright/test': 1.39.0 '@types/copy-webpack-plugin': 6.4.3 '@types/node': 20.14.12 - '@types/node-static': 0.7.11 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) @@ -26644,21 +24167,19 @@ packages: copy-webpack-plugin: 11.0.0(webpack@5.89.0) cpx: 1.5.0 dotenv: 10.0.0 - ecstatic: 4.1.4 env-cmd: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.89.0) http: 0.0.1-security http-server: 14.1.1 if-env: 1.0.4 - node-static: 0.7.11 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.89.0) + webpack-bundle-analyzer: 4.10.2 + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -26673,50 +24194,50 @@ packages: dev: false file:projects/scripts.tgz: - resolution: {integrity: sha512-bDw92ULh79UtEB3X5e+FZGr0fNIUev0GGLu7uBEQIVgJjigYJGIp6bz01+cVUcNqkP6zKjqrafhWXBkB43ckYw==, tarball: file:projects/scripts.tgz} + resolution: {integrity: sha512-etEablx5ljVhADQIRE5hIW0rcgMt2K8eQ1iTjXlDmK7izoFSCbcR8pBD5KRmNGqg47isbtKuNdcjEps6HJrRHg==, tarball: file:projects/scripts.tgz} name: '@rush-temp/scripts' version: 0.0.0 dependencies: - '@types/yargs': 17.0.32 + '@types/yargs': 17.0.33 yargs: 17.7.2 dev: false file:projects/server.tgz: - resolution: {integrity: sha512-hHAs/Ibwo52QNEQWvgBZELfUf+2Dh6JPWYZMqXkwq3IDol7Ee/YskcV1dUqlcKJPF50pP3GFHmvE0uujP52RXw==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-eOgjeQ14riiK7n/sHznue9oK8tck8epqU3d3db1O/KvVyC+0gEslPyHy2RhKhCNm8GMXAm4wHVYUj70VZscIdg==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 - '@azure/communication-rooms': 1.1.0-beta.1 - '@azure/storage-blob': 12.17.0 + '@azure/communication-identity': 1.3.1 + '@azure/communication-rooms': 1.1.0 + '@azure/storage-blob': 12.25.0 '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.89.0) '@types/cookie-parser': 1.4.7 '@types/copy-webpack-plugin': 6.4.3 '@types/cors': 2.8.17 '@types/express': 4.17.21 '@types/http-errors': 1.8.2 - '@types/jest': 29.5.12 + '@types/jest': 29.5.13 '@types/morgan': 1.9.9 - '@types/multer': 1.4.11 + '@types/multer': 1.4.12 '@types/node': 20.14.12 '@types/supertest': 2.0.16 '@types/webpack-node-externals': 3.0.4(webpack-cli@5.1.4) - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.89.0) cors: 2.8.5 cpx: 1.5.0 debug: 2.6.9 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-flowtype: 8.0.3(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - express: 4.18.3 + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + express: 4.21.0 http-errors: 1.8.1 husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -26730,13 +24251,13 @@ packages: react-refresh-typescript: 2.0.9(react-refresh@0.14.2)(typescript@5.4.5) rimraf: 2.7.1 supertest: 6.3.4 - ts-jest: 29.1.5(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(jest@29.7.0)(typescript@5.4.5) ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) ts-node-dev: 2.0.0(@types/node@20.14.12)(typescript@5.4.5) typescript: 5.4.5 webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) webpack-node-externals: 3.0.0 transitivePeerDependencies: - '@babel/core' @@ -26765,80 +24286,78 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-UDM/RPLcTMvLpxItwlrtyjqcdfwQgURDSb/kWDBIOKJh9A9lUBP4bm07CI3iXC/HLlZYOmMTEGPMluJOHuCJPQ==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-CT8Uep4x5ae2JPtVdQ0iiXRFzR3Shxv8b5Y+QnM61NrxkT8f16d3hrGdqdXXAfd2thpQtdSEU6VFpmgHGEOUBw==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 + '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/theme-samples': 8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@mdx-js/react': 1.6.22(react@18.3.1) - '@microsoft/api-documenter': 7.23.37(@types/node@20.11.25) - '@microsoft/api-extractor': 7.42.3(@types/node@20.11.25) - '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.6.2) - '@microsoft/applicationinsights-web': 2.8.17(tslib@2.6.2) + '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.7.0) + '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-controls': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addon-links': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.0)(jest@29.7.0)(preact@10.19.6)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/builder-webpack5': 6.5.14(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/components': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/core-events': 6.5.16 - '@storybook/manager-webpack5': 6.5.16(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) + '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 - '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.0)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) + '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@testing-library/jest-dom': 6.4.8 - '@types/jest': 29.5.12 + '@testing-library/jest-dom': 6.5.0 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - browserslist: 4.23.0 + browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cross-env: 7.0.3 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-mdx: 1.16.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-mdx: 1.16.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-fetch-mock: 3.0.3 jest-junit: 16.0.0 json-stringify-safe: 5.0.1 mobile-detect: 1.4.5 - nan: 2.19.0 + nan: 2.20.0 node-forge: 1.3.1 - preact: 10.19.6 + preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) raw-loader: 4.0.2(webpack@5.89.0) @@ -26848,14 +24367,14 @@ packages: regenerator-runtime: 0.14.1 require-from-string: 2.0.2 resize-observer-polyfill: 1.5.1 - scheduler: 0.23.0 + scheduler: 0.23.2 shell-quote: 1.8.1 source-map-explorer: 2.5.3 storybook-docs-toc: 1.7.0(@storybook/addon-docs@6.5.16)(react-dom@18.3.1)(react@18.3.1)(styled-components@5.3.11) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -26908,78 +24427,78 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-1SwAqueU32sP4amcgQvKQ9IwtFY3DyGIpnRBn9rIeXqGp0k/AFXlWkCqvyj9Fq+6wYWkfTh1aw1ROGeuCP1qEw==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-gFc5ZeqzE0HubFFeuwKI7zwWTBleAcqxvfI6Rr510Hx8bVZ/6UAygCWP1tKXyNcvBJNad/NNMZ/hoA/WJxuV7g==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: '@azure/communication-calling': 1.28.4 '@azure/communication-chat': 1.5.2 '@azure/communication-common': 2.3.1 - '@azure/communication-identity': 1.3.0 + '@azure/communication-identity': 1.3.1 '@babel/core': 7.25.2 '@babel/preset-env': 7.23.9(@babel/core@7.25.2) - '@fluentui/react': 8.120.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) - '@fluentui/react-components': 9.54.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.0) + '@fluentui/react': 8.120.9(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) + '@fluentui/react-components': 9.54.16(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(scheduler@0.23.2) '@fluentui/react-file-type-icons': 8.11.18(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-hooks': 8.8.10(@types/react@18.3.3)(react@18.3.1) - '@fluentui/react-icons': 2.0.252(react@18.3.1) + '@fluentui/react-hooks': 8.8.12(@types/react@18.3.3)(react@18.3.1) + '@fluentui/react-icons': 2.0.258(react@18.3.1) '@fluentui/theme-samples': 8.7.123(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1) '@griffel/react': 1.5.25(react@18.3.1) '@mdx-js/react': 1.6.22(react@18.3.1) - '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.6.2) - '@microsoft/applicationinsights-web': 2.8.17(tslib@2.6.2) - '@storybook/addon-actions': 8.2.6(storybook@8.2.6) - '@storybook/addon-controls': 8.2.6(storybook@8.2.6) - '@storybook/addon-docs': 8.2.6(storybook@8.2.6) - '@storybook/addon-essentials': 8.2.6(storybook@8.2.6) - '@storybook/addon-links': 8.2.6(react@18.3.1)(storybook@8.2.6) + '@microsoft/applicationinsights-react-js': 3.4.3(react@18.3.1)(tslib@2.7.0) + '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) + '@storybook/addon-actions': 8.3.3(storybook@8.3.3) + '@storybook/addon-controls': 8.3.3(storybook@8.3.3) + '@storybook/addon-docs': 8.3.3(storybook@8.3.3) + '@storybook/addon-essentials': 8.3.3(storybook@8.3.3) + '@storybook/addon-links': 8.3.3(react@18.3.1)(storybook@8.3.3) '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.89.0) - '@storybook/builder-webpack5': 8.2.6(storybook@8.2.6)(typescript@5.4.5) - '@storybook/components': 8.2.6(storybook@8.2.6) - '@storybook/core-events': 8.2.6(storybook@8.2.6) - '@storybook/manager-api': 8.2.6(storybook@8.2.6) - '@storybook/node-logger': 8.2.6(storybook@8.2.6) - '@storybook/preview-api': 8.2.6(storybook@8.2.6) - '@storybook/react': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5) - '@storybook/react-webpack5': 8.2.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.6)(typescript@5.4.5) - '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.2.6)(ts-node@10.9.2) - '@storybook/theming': 8.2.6(storybook@8.2.6) - '@testing-library/jest-dom': 6.4.8 - '@types/jest': 29.5.12 + '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) + '@storybook/components': 8.3.3(storybook@8.3.3) + '@storybook/core-events': 8.3.3(storybook@8.3.3) + '@storybook/manager-api': 8.3.3(storybook@8.3.3) + '@storybook/node-logger': 8.3.3(storybook@8.3.3) + '@storybook/preview-api': 8.3.3(storybook@8.3.3) + '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react-webpack5': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2) + '@storybook/theming': 8.3.3(storybook@8.3.3) + '@testing-library/jest-dom': 6.5.0 + '@types/jest': 29.5.13 '@types/json-stringify-safe': 5.0.3 '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@types/react-linkify': 1.0.4 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) - browserslist: 4.23.0 + browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - core-js: 3.36.0 + core-js: 3.38.1 cross-env: 7.0.3 - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-header: 3.1.1(eslint@8.57.0) - eslint-plugin-import: 2.29.1(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-mdx: 1.16.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.2) - eslint-plugin-react: 7.34.3(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-header: 3.1.1(eslint@8.57.1) + eslint-plugin-import: 2.30.0(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-mdx: 1.16.0(eslint@8.57.1) + eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) + eslint-plugin-react: 7.36.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) husky: 8.0.3 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) jest-fetch-mock: 3.0.3 jest-junit: 16.0.0 json-stringify-safe: 5.0.1 - nan: 2.19.0 + nan: 2.20.0 node-forge: 1.3.1 - preact: 10.19.6 + preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) raw-loader: 4.0.2(webpack@5.89.0) @@ -26990,16 +24509,16 @@ packages: remark-gfm: 4.0.0 require-from-string: 2.0.2 resize-observer-polyfill: 1.5.1 - scheduler: 0.23.0 + scheduler: 0.23.2 shell-quote: 1.8.1 source-map-explorer: 2.5.3 - storybook: 8.2.6(@babel/preset-env@7.23.9) + storybook: 8.3.3 styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) - ts-jest: 29.1.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) tsconfig-paths-webpack-plugin: 4.1.0 - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 webpack: 5.89.0(webpack-cli@5.1.4) @@ -27007,6 +24526,7 @@ packages: - '@jest/transform' - '@jest/types' - '@rspack/core' + - '@storybook/test' - '@swc/core' - '@swc/helpers' - '@swc/wasm' @@ -27022,4 +24542,5 @@ packages: - uglify-js - utf-8-validate - webpack-cli + - webpack-sources dev: false diff --git a/packages/chat-stateful-client/package.json b/packages/chat-stateful-client/package.json index 8d7909718bc..45166ff32b7 100644 --- a/packages/chat-stateful-client/package.json +++ b/packages/chat-stateful-client/package.json @@ -49,6 +49,7 @@ "@types/react": "18.3.3", "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", + "@types/node": "^20.14.12", "copyfiles": "^2.4.1", "cpx": "^1.5.0", "cross-env": "^7.0.3", diff --git a/samples/StaticHtmlComposites/package.json b/samples/StaticHtmlComposites/package.json index b82cd2d29e9..7e9ca9f554d 100644 --- a/samples/StaticHtmlComposites/package.json +++ b/samples/StaticHtmlComposites/package.json @@ -38,7 +38,6 @@ "@playwright/test": "~1.39.0", "@types/copy-webpack-plugin": "^6.4.0", "@types/node": "^20.14.12", - "@types/node-static": "^0.7.7", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", "babel-loader": "8.1.0", @@ -50,7 +49,6 @@ "http": "^0.0.1-security", "http-server": "14.1.1", "if-env": "^1.0.4", - "node-static": "^0.7.11", "rimraf": "^2.6.2", "typescript": "5.4.5", "webpack": "5.89.0", diff --git a/samples/tests/globalSetup.ts b/samples/tests/globalSetup.ts index 370457e17ca..22331e18d73 100644 --- a/samples/tests/globalSetup.ts +++ b/samples/tests/globalSetup.ts @@ -1,17 +1,14 @@ import * as http from 'http'; -import { Server } from 'node-static'; +import express from 'express'; import * as path from 'path'; import dotenv from 'dotenv'; dotenv.config({ path: path.join(__dirname, '..', '.env') }); async function globalSetup() { - var file = new Server(path.resolve(process.cwd(), process.env.SERVE_PATH)); - const server = http - .createServer(function (req, res) { - file.serve(req, res); - }) - .listen(8080); + const fileServer = express(); + fileServer.use(express.static(path.resolve(process.cwd(), process.env.SERVE_PATH))); + const server = http.createServer(fileServer).listen(8080); // Expose port to the tests. process.env.SERVER_PORT = String(server.address().toString()); diff --git a/samples/tests/package.json b/samples/tests/package.json index 8446d418279..f9d3ef9d01f 100644 --- a/samples/tests/package.json +++ b/samples/tests/package.json @@ -31,12 +31,12 @@ "@azure/communication-identity": "^1.3.0", "@playwright/test": "~1.39.0", "@types/node": "^20.14.12", - "@types/node-static": "^0.7.7", "dotenv": "^10.0.0", "env-cmd": "^10.1.0", "if-env": "^1.0.4", - "node-static": "^0.7.11", + "express": "^4.18.2", "rimraf": "^2.6.2", - "typescript": "5.4.5" + "typescript": "5.4.5", + "path": "0.12.7" } } \ No newline at end of file From 3c34a8f754427053ea55815c431e9681a5a3de30 Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Wed, 25 Sep 2024 13:44:15 -0700 Subject: [PATCH 30/58] Fix for the changelog job to compare changelog files between base and main branches correctly (#5203) --- .github/workflows/ci.yml | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6508575a164..fa261bee5e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: - release/** # Presubmit CI on PRs to all branches. pull_request: + types: [labeled, unlabeled, opened, synchronize, reopened] # Allows you to run this workflow manually from the Actions tab. workflow_dispatch: @@ -67,7 +68,10 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE so job can access it - uses: actions/checkout@v4 with: - fetch-depth: 2 # this job requires depth of 2 for access to diff the SHA for change file check + # This job requires to fetch the entire history to access to diff the SHA for change file check. + # Otherwise, it can lead to issues when trying to compare branches, as the fetched commits may not + # include the common ancestor between the branches. + fetch-depth: 0 # Ensure node version is great enough - name: Use Node.js uses: actions/setup-node@v4 @@ -86,10 +90,8 @@ jobs: if: ${{ always() && steps.install-dependencies.outcome == 'failure' }} run: echo "Failed to install dependencies, please make sure you run `rush update:all-flavors` if dependencies were updated." && exit 1 - name: Check the necessary change file has been submitted - if: ${{ github.event_name == 'pull_request' && !contains( github.event.pull_request.labels.*.name, 'do not need changelog')}} - run: | - git fetch origin main:main --depth=2 - node common/scripts/changelog/check.mjs ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} + if: ${{ github.event_name == 'pull_request' && !contains( github.event.pull_request.labels.*.name, 'does not need changelog')}} + run: node common/scripts/changelog/check.mjs ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} # Perform lint check - name: Run linter @@ -144,8 +146,6 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE so job can access it - uses: actions/checkout@v4 - with: - fetch-depth: 1 # Ensure node version is great enough - name: Use Node.js uses: actions/setup-node@v4 @@ -239,8 +239,6 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE so job can access it - uses: actions/checkout@v4 - with: - fetch-depth: 1 # Ensure node version is great enough - name: Use Node.js uses: actions/setup-node@v4 @@ -293,8 +291,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -362,8 +358,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -431,8 +425,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -499,8 +491,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -555,8 +545,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -586,8 +574,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -619,8 +605,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -653,8 +637,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -687,8 +669,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -723,8 +703,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: @@ -775,8 +753,6 @@ jobs: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 1 - name: Use Node.js uses: actions/setup-node@v4 with: From 2931ebd7c07eeac0a8fe9e319e4f2a66446b9d7a Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:43:05 -0700 Subject: [PATCH 31/58] [Inbound Calling] Migrate to SB 8 (#5209) * Add Concepts page * Component docs * Update packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx Co-authored-by: edwardlee-msft Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> * Update packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx Co-authored-by: edwardlee-msft Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> * Update packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/index.stories.tsx Co-authored-by: edwardlee-msft Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> * Update packages/storybook8/stories/controlsUtils.ts Co-authored-by: edwardlee-msft Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> * fix canvas * fix sb build issue --------- Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Co-authored-by: edwardlee-msft --- common/config/rush/pnpm-lock.yaml | 203 +++++++++++++++-- .../rush/variants/stable/pnpm-lock.yaml | 209 +++++++++++++++--- packages/storybook8/package.json | 1 + .../IncomingCallNotification/Docs.mdx | 28 +++ .../IncomingCallNotification.story.tsx | 27 +++ .../index.stories.tsx | 45 ++++ .../IncomingCallNotification.snippet.tsx | 22 ++ ...ncomingCallNotificationStyling.snippet.tsx | 56 +++++ .../IncomingCallStack/Docs.mdx | 17 ++ .../IncomingCallStack.story.tsx | 26 +++ .../IncomingCallStack/index.stories.tsx | 54 +++++ .../snippets/IncomingCallStack.snippet.tsx | 37 ++++ .../stories/Concepts/InboundCalling/Docs.mdx | 38 ++++ .../IncomingCallStackPropsExample.snippet.tsx | 21 ++ packages/storybook8/stories/controlsUtils.ts | 28 +++ 15 files changed, 764 insertions(+), 48 deletions(-) create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/IncomingCallNotification.story.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/index.stories.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotification.snippet.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotificationStyling.snippet.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/IncomingCallStack.story.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/index.stories.tsx create mode 100644 packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/snippets/IncomingCallStack.snippet.tsx create mode 100644 packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx create mode 100644 packages/storybook8/stories/Concepts/InboundCalling/snippets/IncomingCallStackPropsExample.snippet.tsx diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 516741e6e64..b9eb1053bac 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -7081,6 +7081,17 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /@storybook/instrumenter@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-ZiODB9EwCQkl4PBxGJjBHXRTLxcNs68ZZvR+xeMr0eMFzzlJG+trXoX5kK95oA4BFhGN+3uM0Zl3MoRjBtJTNA==} + peerDependencies: + storybook: ^8.3.3 + dependencies: + '@storybook/global': 5.0.0 + '@vitest/utils': 2.1.1 + storybook: 8.3.3 + util: 0.12.5 + dev: false + /@storybook/manager-api@8.3.3(storybook@8.3.3): resolution: {integrity: sha512-Na4U+McOeVUJAR6qzJfQ6y2Qt0kUgEDUriNoAn+curpoKPTmIaZ79RAXBzIqBl31VyQKknKpZbozoRGf861YaQ==} peerDependencies: @@ -7257,7 +7268,7 @@ packages: core-js: 3.38.1 dev: false - /@storybook/preset-react-webpack@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/preset-react-webpack@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-uvGtGQ2BDzmHCDl0jCvoAzbD7AWPf9nU7zQsgvpCgs7BiHQVXq40ZU+aFhU74K/WLvdArMOoyZPU70dJGzvdKg==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7270,7 +7281,7 @@ packages: optional: true dependencies: '@storybook/core-webpack': 8.3.3(storybook@8.3.3) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) '@types/node': 22.7.1 '@types/semver': 7.5.8 @@ -7405,7 +7416,7 @@ packages: storybook: 8.3.3 dev: false - /@storybook/react-webpack5@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/react-webpack5@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-ikD48XvgmP/kegnjJ9+RoiKGF9IdVjOc1MFUnnIU1TNLwCsqkwf5jGcOvFTAzK8Phu/ykwUBWT41UqBptkrHEQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7418,8 +7429,8 @@ packages: optional: true dependencies: '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) - '@storybook/preset-react-webpack': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/preset-react-webpack': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@types/node': 22.7.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7526,7 +7537,7 @@ packages: - webpack-plugin-serve dev: false - /@storybook/react@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/react@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-fHOW/mNqI+sZWttGOE32Q+rAIbN7/Oib091cmE8usOM0z0vPNpywUBtqC2cCQH39vp19bhTsQaSsTcoBSweAHw==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7546,6 +7557,7 @@ packages: '@storybook/manager-api': 8.3.3(storybook@8.3.3) '@storybook/preview-api': 8.3.3(storybook@8.3.3) '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/test': 8.3.3(storybook@8.3.3) '@storybook/theming': 8.3.3(storybook@8.3.3) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 @@ -7740,6 +7752,23 @@ packages: - ts-node dev: false + /@storybook/test@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-uZ8nMIovfI2ry989K2+cYAeEVD/3dpjj2+Rbmy7DiZWWVhFALfmqaTRkzZfShLmlH0TFv+rfcBPihGccBtw0FQ==} + peerDependencies: + storybook: ^8.3.3 + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.3.3(storybook@8.3.3) + '@testing-library/dom': 10.4.0 + '@testing-library/jest-dom': 6.5.0 + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) + '@vitest/expect': 2.0.5 + '@vitest/spy': 2.0.5 + storybook: 8.3.3 + util: 0.12.5 + dev: false + /@storybook/theming@6.5.14(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-3ff6RLZGaIil/AFJ0/BRlE2hhdPrC5v6wGbRfroZVmGldRCxio/7+KAA3LH6cuHnjK5MeBcCBaHuxzXqGmbEFw==} peerDependencies: @@ -7943,6 +7972,20 @@ packages: '@swc/counter': 0.1.3 dev: false + /@testing-library/dom@10.4.0: + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: false + /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -7993,6 +8036,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0): + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@testing-library/dom': 10.4.0 + dev: false + /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} @@ -8752,6 +8804,50 @@ packages: - supports-color dev: false + /@vitest/expect@2.0.5: + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 + dev: false + + /@vitest/pretty-format@2.0.5: + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + dependencies: + tinyrainbow: 1.2.0 + dev: false + + /@vitest/pretty-format@2.1.1: + resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} + dependencies: + tinyrainbow: 1.2.0 + dev: false + + /@vitest/spy@2.0.5: + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + dependencies: + tinyspy: 3.0.2 + dev: false + + /@vitest/utils@2.0.5: + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + dev: false + + /@vitest/utils@2.1.1: + resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} + dependencies: + '@vitest/pretty-format': 2.1.1 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + dev: false + /@webassemblyjs/ast@1.12.1: resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: @@ -9431,6 +9527,12 @@ packages: deep-equal: 2.2.3 dev: false + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + /aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} @@ -9649,6 +9751,11 @@ packages: util: 0.10.4 dev: false + /assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + dev: false + /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} @@ -10507,6 +10614,17 @@ packages: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false + /chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 + dev: false + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -10567,6 +10685,11 @@ packages: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: false + /check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + dev: false + /chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} dependencies: @@ -11544,6 +11667,11 @@ packages: optional: true dev: false + /deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + dev: false + /deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -12761,6 +12889,12 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.6 + dev: false + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -13630,6 +13764,10 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: false + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: false + /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -16424,6 +16562,12 @@ packages: dev: false optional: true + /loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + dependencies: + get-func-name: 2.0.2 + dev: false + /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: @@ -18182,6 +18326,11 @@ packages: util: 0.10.4 dev: false + /pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + dev: false + /pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: @@ -21114,6 +21263,16 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false + /tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + dev: false + + /tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + dev: false + /tlds@1.254.0: resolution: {integrity: sha512-YY4ei7K7gPGifqNSrfMaPdqTqiHcwYKUJ7zhLqQOK2ildlGgti5TSwJiXXN1YqG17I2GYZh5cZqv2r5fwBUM+w==} hasBin: true @@ -23201,7 +23360,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-VuZYMfjuwdovXmre2dcGyOTsFfAe/lZMMgqpUbeA6/xyJ1OVHXFwOItHbVAKT81o8MDgv+Xok40SwXlD5eTsIg==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-4sw2BTx1bM8cgvv/sXg8UgAghPXn9R44pQuxv3OWh+1nI2a1iT8PImgzcSh2cLNlAvTuA59ZWGrK8MQ03Jut8Q==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23295,7 +23454,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-FhAEFSl5wQpSH/aOkIX1Ss+cgpR483jZ1d3BlDiHPGcKkBXu1mlRX4/9P7+vUahUSHz/sm9SJClvW8BbEMqxEQ==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-ResRFMEF8IjXn2nac+lZ/c5cmBJ5nRGzBO0C8SvUVPuctQ4JFOTkyJQsZp8x3tk5vNMU9XsYhTCCCQ+0Ki1+bg==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23389,7 +23548,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-ARVGFVmpWuBCKwdgbfXDClWIj1Dbai6CezBsKk4+x3EAXkLwSg7uiVvj/BvLVuuBHeI0cEB7Hk0hhC14HHGWLw==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-Ono6VledUKmh8KCRqFz9Yi/1Bt+9isnSfvN7eDYtkT9+x9+cX5Qk4HO1Af1X0xBWPugrDeDEqlqTfGjADJP6TQ==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23523,7 +23682,7 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-q67ZNRJrOpMM5MsQQvuo9SVjTPuNfX8ttIKLCPUG21A8LJ227NzZH0mC2JU7LVlayk+TRS3EQXL2UVB/gtVJ2w==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-5v38UEJnMLYqVF0eSRViK9WaoKen1XwQd5XYI6uoPCr1C/VvK32isrNqofG6+G5A6nPh2oyy/8SF7KOVa2lpIw==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: @@ -23709,7 +23868,7 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-uadnqhx7kJYCGV2kH7oc089fgV9HkBWthaUadmxx+hboWpALH67TFWHGxXw5vVcEoS+BVY0eRrJmZiS6eDOMzA==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-ccetroalYQyg1VfC99v6Ec4tJpHkdtIlvWHRhIzaqimoqjEOimagwxZEOxSzG7ID6MRqDchxiFvXRGikZGONOQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: @@ -23882,7 +24041,7 @@ packages: dev: false file:projects/config.tgz: - resolution: {integrity: sha512-v9GdcII3BLxEYVAwnnCU5vxtn6tGzs7BdtZ+2BPjV0QUmSPE+x5fIIXWpPl+0+k09EeSoqCefngkWboKz3chgw==, tarball: file:projects/config.tgz} + resolution: {integrity: sha512-xdEkh9H5mycFczOOmzU2Y+EADwSAA1UHjsxXEaEZjdQV7tborbQ3WIeYoOvlscUoqHelRd8qNVPAw3cJ/CPrvA==, tarball: file:projects/config.tgz} name: '@rush-temp/config' version: 0.0.0 dependencies: @@ -23961,7 +24120,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-YxcWRr1EhcgcCuNzOi+dlfmfn6jbSHH+nNdoGWU6apXimohdgnHUL1RHEzFjmXvJP/QN1L8VWtfoJ8IQejc3Zg==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-jKtXNHFS2LcBFYuuud0kSCbjESvbJRFsM7lNSKtifdsk1oaghEKyDyFc1hjl2MPUe2ME9Zpcsih9Rt8WUcJcjg==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24075,7 +24234,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-u9gZGaxbEH0a05e4ZH3hu5rh/TjFvCj3nNJ0nWGybVgnyMHd7c7RpAY9gavY8TAs53NQ1k5AksaCg7uEe4YP/A==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-wN4szO6GjqFMdwCMZuypd0yqAdps3JhUCL5JtRv81Ew85/mHZ/vfKBCyBvoh1W31b9noBmfvFuo1bPMTGTe4yA==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24194,7 +24353,7 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-UwwRUovCy6Di+TS4d3c4az3n33lHyqTsMM5GlUEckYGlmhgyxvrzkWe255dRiGEMwxFw4bX8LdkNFvDIe6iy9A==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-RWMgkZCfwGQIYYXzYae8XN2bHANtrqlkQUrjsJf4AyLlziRy0PV9KH3iRJcZGlndIPj+ZPSpwk0yCxjnuwtCZg==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: @@ -24219,7 +24378,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-uxxBQOHZvCDLuvKnRSLqdynwLbk98wIF2gF+WsYVRSZVznk7qnfOrwf9gfwUaxbiKXoUKwC3p9eldMod73yiMg==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-eaWS+znddP8JnaIkqGlS3KGHIOSKzV6okXaZRgN1QNyr9D6UaG8KLXdmYVAaNlj9FDbRynNQejFsefbbv78KWQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24277,7 +24436,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-eOgjeQ14riiK7n/sHznue9oK8tck8epqU3d3db1O/KvVyC+0gEslPyHy2RhKhCNm8GMXAm4wHVYUj70VZscIdg==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-v2xlkTIWmP6f3zBdpps48CDCA88b8Ss8DBI/Lwy0+tZB+v3aPlmy2u9/7211I4OtwwxDBBbu74wwQrvgoUKenQ==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24360,7 +24519,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-CT8Uep4x5ae2JPtVdQ0iiXRFzR3Shxv8b5Y+QnM61NrxkT8f16d3hrGdqdXXAfd2thpQtdSEU6VFpmgHGEOUBw==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-GKcCWIvWAIkx/fmgTOiVjsEr0yzPQhvXrRhIEuFZgaXXwsdrgZ9K7/sifJR1mF5VqamXjzKAmTwAqVWr1etf7w==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -24501,7 +24660,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-gFc5ZeqzE0HubFFeuwKI7zwWTBleAcqxvfI6Rr510Hx8bVZ/6UAygCWP1tKXyNcvBJNad/NNMZ/hoA/WJxuV7g==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-V/p+XtSSzUiYezZ7koKHOCxw43TsztPnISWcsh3YurSV3BU6H12NcpcL88i/3PCJAQbgv6XSF5B0AiPyTlFmug==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: @@ -24533,8 +24692,9 @@ packages: '@storybook/manager-api': 8.3.3(storybook@8.3.3) '@storybook/node-logger': 8.3.3(storybook@8.3.3) '@storybook/preview-api': 8.3.3(storybook@8.3.3) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react-webpack5': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react-webpack5': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/test': 8.3.3(storybook@8.3.3) '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2) '@storybook/theming': 8.3.3(storybook@8.3.3) '@testing-library/jest-dom': 6.5.0 @@ -24600,7 +24760,6 @@ packages: - '@jest/transform' - '@jest/types' - '@rspack/core' - - '@storybook/test' - '@swc/core' - '@swc/helpers' - '@swc/wasm' diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index 742494219af..cbb9ac24cd3 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -7038,6 +7038,17 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /@storybook/instrumenter@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-ZiODB9EwCQkl4PBxGJjBHXRTLxcNs68ZZvR+xeMr0eMFzzlJG+trXoX5kK95oA4BFhGN+3uM0Zl3MoRjBtJTNA==} + peerDependencies: + storybook: ^8.3.3 + dependencies: + '@storybook/global': 5.0.0 + '@vitest/utils': 2.1.1 + storybook: 8.3.3 + util: 0.12.5 + dev: false + /@storybook/manager-api@8.3.3(storybook@8.3.3): resolution: {integrity: sha512-Na4U+McOeVUJAR6qzJfQ6y2Qt0kUgEDUriNoAn+curpoKPTmIaZ79RAXBzIqBl31VyQKknKpZbozoRGf861YaQ==} peerDependencies: @@ -7214,7 +7225,7 @@ packages: core-js: 3.38.1 dev: false - /@storybook/preset-react-webpack@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/preset-react-webpack@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-uvGtGQ2BDzmHCDl0jCvoAzbD7AWPf9nU7zQsgvpCgs7BiHQVXq40ZU+aFhU74K/WLvdArMOoyZPU70dJGzvdKg==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7227,7 +7238,7 @@ packages: optional: true dependencies: '@storybook/core-webpack': 8.3.3(storybook@8.3.3) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) '@types/node': 22.7.1 '@types/semver': 7.5.8 @@ -7362,7 +7373,7 @@ packages: storybook: 8.3.3 dev: false - /@storybook/react-webpack5@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/react-webpack5@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-ikD48XvgmP/kegnjJ9+RoiKGF9IdVjOc1MFUnnIU1TNLwCsqkwf5jGcOvFTAzK8Phu/ykwUBWT41UqBptkrHEQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7375,8 +7386,8 @@ packages: optional: true dependencies: '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) - '@storybook/preset-react-webpack': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/preset-react-webpack': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) '@types/node': 22.7.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7483,7 +7494,7 @@ packages: - webpack-plugin-serve dev: false - /@storybook/react@8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): + /@storybook/react@8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5): resolution: {integrity: sha512-fHOW/mNqI+sZWttGOE32Q+rAIbN7/Oib091cmE8usOM0z0vPNpywUBtqC2cCQH39vp19bhTsQaSsTcoBSweAHw==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7503,6 +7514,7 @@ packages: '@storybook/manager-api': 8.3.3(storybook@8.3.3) '@storybook/preview-api': 8.3.3(storybook@8.3.3) '@storybook/react-dom-shim': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3) + '@storybook/test': 8.3.3(storybook@8.3.3) '@storybook/theming': 8.3.3(storybook@8.3.3) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 @@ -7697,6 +7709,23 @@ packages: - ts-node dev: false + /@storybook/test@8.3.3(storybook@8.3.3): + resolution: {integrity: sha512-uZ8nMIovfI2ry989K2+cYAeEVD/3dpjj2+Rbmy7DiZWWVhFALfmqaTRkzZfShLmlH0TFv+rfcBPihGccBtw0FQ==} + peerDependencies: + storybook: ^8.3.3 + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.3.3(storybook@8.3.3) + '@testing-library/dom': 10.4.0 + '@testing-library/jest-dom': 6.5.0 + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) + '@vitest/expect': 2.0.5 + '@vitest/spy': 2.0.5 + storybook: 8.3.3 + util: 0.12.5 + dev: false + /@storybook/theming@6.5.14(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-3ff6RLZGaIil/AFJ0/BRlE2hhdPrC5v6wGbRfroZVmGldRCxio/7+KAA3LH6cuHnjK5MeBcCBaHuxzXqGmbEFw==} peerDependencies: @@ -7900,6 +7929,20 @@ packages: '@swc/counter': 0.1.3 dev: false + /@testing-library/dom@10.4.0: + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: false + /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -7950,6 +7993,15 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false + /@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0): + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@testing-library/dom': 10.4.0 + dev: false + /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} @@ -8703,6 +8755,50 @@ packages: - supports-color dev: false + /@vitest/expect@2.0.5: + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 + dev: false + + /@vitest/pretty-format@2.0.5: + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + dependencies: + tinyrainbow: 1.2.0 + dev: false + + /@vitest/pretty-format@2.1.1: + resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} + dependencies: + tinyrainbow: 1.2.0 + dev: false + + /@vitest/spy@2.0.5: + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + dependencies: + tinyspy: 3.0.2 + dev: false + + /@vitest/utils@2.0.5: + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + dev: false + + /@vitest/utils@2.1.1: + resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} + dependencies: + '@vitest/pretty-format': 2.1.1 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + dev: false + /@webassemblyjs/ast@1.12.1: resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: @@ -9147,10 +9243,8 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1(ajv@8.17.1): + /ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9382,6 +9476,12 @@ packages: deep-equal: 2.2.3 dev: false + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + /aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} @@ -9600,6 +9700,11 @@ packages: util: 0.10.4 dev: false + /assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + dev: false + /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} @@ -10458,6 +10563,17 @@ packages: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false + /chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 + dev: false + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -10518,6 +10634,11 @@ packages: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} dev: false + /check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + dev: false + /chokidar@1.7.0: resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} dependencies: @@ -11495,6 +11616,11 @@ packages: optional: true dev: false + /deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + dev: false + /deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -12712,6 +12838,12 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: false + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.6 + dev: false + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -13581,6 +13713,10 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: false + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: false + /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -16375,6 +16511,12 @@ packages: dev: false optional: true + /loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + dependencies: + get-func-name: 2.0.2 + dev: false + /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: @@ -18133,6 +18275,11 @@ packages: util: 0.10.4 dev: false + /pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + dev: false + /pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: @@ -19833,7 +19980,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -21061,6 +21208,16 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false + /tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + dev: false + + /tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + dev: false + /tlds@1.254.0: resolution: {integrity: sha512-YY4ei7K7gPGifqNSrfMaPdqTqiHcwYKUJ7zhLqQOK2ildlGgti5TSwJiXXN1YqG17I2GYZh5cZqv2r5fwBUM+w==} hasBin: true @@ -23135,7 +23292,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-VuZYMfjuwdovXmre2dcGyOTsFfAe/lZMMgqpUbeA6/xyJ1OVHXFwOItHbVAKT81o8MDgv+Xok40SwXlD5eTsIg==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-4sw2BTx1bM8cgvv/sXg8UgAghPXn9R44pQuxv3OWh+1nI2a1iT8PImgzcSh2cLNlAvTuA59ZWGrK8MQ03Jut8Q==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23229,7 +23386,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-FhAEFSl5wQpSH/aOkIX1Ss+cgpR483jZ1d3BlDiHPGcKkBXu1mlRX4/9P7+vUahUSHz/sm9SJClvW8BbEMqxEQ==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-ResRFMEF8IjXn2nac+lZ/c5cmBJ5nRGzBO0C8SvUVPuctQ4JFOTkyJQsZp8x3tk5vNMU9XsYhTCCCQ+0Ki1+bg==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23323,7 +23480,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-ARVGFVmpWuBCKwdgbfXDClWIj1Dbai6CezBsKk4+x3EAXkLwSg7uiVvj/BvLVuuBHeI0cEB7Hk0hhC14HHGWLw==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-Ono6VledUKmh8KCRqFz9Yi/1Bt+9isnSfvN7eDYtkT9+x9+cX5Qk4HO1Af1X0xBWPugrDeDEqlqTfGjADJP6TQ==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23455,7 +23612,7 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-q67ZNRJrOpMM5MsQQvuo9SVjTPuNfX8ttIKLCPUG21A8LJ227NzZH0mC2JU7LVlayk+TRS3EQXL2UVB/gtVJ2w==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-5v38UEJnMLYqVF0eSRViK9WaoKen1XwQd5XYI6uoPCr1C/VvK32isrNqofG6+G5A6nPh2oyy/8SF7KOVa2lpIw==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: @@ -23640,7 +23797,7 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-uadnqhx7kJYCGV2kH7oc089fgV9HkBWthaUadmxx+hboWpALH67TFWHGxXw5vVcEoS+BVY0eRrJmZiS6eDOMzA==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-ccetroalYQyg1VfC99v6Ec4tJpHkdtIlvWHRhIzaqimoqjEOimagwxZEOxSzG7ID6MRqDchxiFvXRGikZGONOQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: @@ -23811,7 +23968,7 @@ packages: dev: false file:projects/config.tgz: - resolution: {integrity: sha512-v9GdcII3BLxEYVAwnnCU5vxtn6tGzs7BdtZ+2BPjV0QUmSPE+x5fIIXWpPl+0+k09EeSoqCefngkWboKz3chgw==, tarball: file:projects/config.tgz} + resolution: {integrity: sha512-xdEkh9H5mycFczOOmzU2Y+EADwSAA1UHjsxXEaEZjdQV7tborbQ3WIeYoOvlscUoqHelRd8qNVPAw3cJ/CPrvA==, tarball: file:projects/config.tgz} name: '@rush-temp/config' version: 0.0.0 dependencies: @@ -23889,7 +24046,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-YxcWRr1EhcgcCuNzOi+dlfmfn6jbSHH+nNdoGWU6apXimohdgnHUL1RHEzFjmXvJP/QN1L8VWtfoJ8IQejc3Zg==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-jKtXNHFS2LcBFYuuud0kSCbjESvbJRFsM7lNSKtifdsk1oaghEKyDyFc1hjl2MPUe2ME9Zpcsih9Rt8WUcJcjg==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24003,7 +24160,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-u9gZGaxbEH0a05e4ZH3hu5rh/TjFvCj3nNJ0nWGybVgnyMHd7c7RpAY9gavY8TAs53NQ1k5AksaCg7uEe4YP/A==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-wN4szO6GjqFMdwCMZuypd0yqAdps3JhUCL5JtRv81Ew85/mHZ/vfKBCyBvoh1W31b9noBmfvFuo1bPMTGTe4yA==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24122,7 +24279,7 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-UwwRUovCy6Di+TS4d3c4az3n33lHyqTsMM5GlUEckYGlmhgyxvrzkWe255dRiGEMwxFw4bX8LdkNFvDIe6iy9A==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-RWMgkZCfwGQIYYXzYae8XN2bHANtrqlkQUrjsJf4AyLlziRy0PV9KH3iRJcZGlndIPj+ZPSpwk0yCxjnuwtCZg==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: @@ -24146,7 +24303,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-uxxBQOHZvCDLuvKnRSLqdynwLbk98wIF2gF+WsYVRSZVznk7qnfOrwf9gfwUaxbiKXoUKwC3p9eldMod73yiMg==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-eaWS+znddP8JnaIkqGlS3KGHIOSKzV6okXaZRgN1QNyr9D6UaG8KLXdmYVAaNlj9FDbRynNQejFsefbbv78KWQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24203,7 +24360,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-eOgjeQ14riiK7n/sHznue9oK8tck8epqU3d3db1O/KvVyC+0gEslPyHy2RhKhCNm8GMXAm4wHVYUj70VZscIdg==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-v2xlkTIWmP6f3zBdpps48CDCA88b8Ss8DBI/Lwy0+tZB+v3aPlmy2u9/7211I4OtwwxDBBbu74wwQrvgoUKenQ==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24286,7 +24443,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-CT8Uep4x5ae2JPtVdQ0iiXRFzR3Shxv8b5Y+QnM61NrxkT8f16d3hrGdqdXXAfd2thpQtdSEU6VFpmgHGEOUBw==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-GKcCWIvWAIkx/fmgTOiVjsEr0yzPQhvXrRhIEuFZgaXXwsdrgZ9K7/sifJR1mF5VqamXjzKAmTwAqVWr1etf7w==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -24427,7 +24584,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-gFc5ZeqzE0HubFFeuwKI7zwWTBleAcqxvfI6Rr510Hx8bVZ/6UAygCWP1tKXyNcvBJNad/NNMZ/hoA/WJxuV7g==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-V/p+XtSSzUiYezZ7koKHOCxw43TsztPnISWcsh3YurSV3BU6H12NcpcL88i/3PCJAQbgv6XSF5B0AiPyTlFmug==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: @@ -24459,8 +24616,9 @@ packages: '@storybook/manager-api': 8.3.3(storybook@8.3.3) '@storybook/node-logger': 8.3.3(storybook@8.3.3) '@storybook/preview-api': 8.3.3(storybook@8.3.3) - '@storybook/react': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react-webpack5': 8.3.3(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/react-webpack5': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) + '@storybook/test': 8.3.3(storybook@8.3.3) '@storybook/test-runner': 0.17.0(@types/node@20.14.12)(storybook@8.3.3)(ts-node@10.9.2) '@storybook/theming': 8.3.3(storybook@8.3.3) '@testing-library/jest-dom': 6.5.0 @@ -24526,7 +24684,6 @@ packages: - '@jest/transform' - '@jest/types' - '@rspack/core' - - '@storybook/test' - '@swc/core' - '@swc/helpers' - '@swc/wasm' diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 2118c71846d..59702fca90c 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -64,6 +64,7 @@ "@storybook/node-logger": "^8.2.6", "@storybook/preview-api": "^8.2.6", "@storybook/react": "^8.2.6", + "@storybook/test": "^8.2.6", "@storybook/react-webpack5": "^8.2.6", "@storybook/test-runner": "^0.17.0", "@storybook/theming": "^8.2.6", diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx new file mode 100644 index 00000000000..f308174389b --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx @@ -0,0 +1,28 @@ +import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; +import { + IncomingCallNotificationExampleDocsOnly, + IncomingCallNotificationStylingExampleDocsOnly +} from './index.stories'; +import * as IncomingCallNotificationStories from './index.stories'; +import IncomingCallNotificationText from '!!raw-loader!./snippets/IncomingCallNotification.snippet'; +import IncomingCallNotificationStylingText from '!!raw-loader!./snippets/IncomingCallNotificationStyling.snippet'; +import { IncomingCallNotification } from '@azure/communication-react'; + + + +# IncomingCallNotification + +This component is a representation of an incoming call. It will show the name of the caller and allow you to +accept the call with either audio or video or reject the call. This component is used by the `IncomingCallStack` +for each of the calls held in its state. + + +## Styling Depending on your use of `IncomingCallNotification` and the `IncomingCallStack` you might want to customize +Match your notification's appearance to your needs. Both components includes API's to adjust the CSS on many different +elements of the notification. Below is an example of how you can customize `IncomingCallNotification`. + + + +## Props + + diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/IncomingCallNotification.story.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/IncomingCallNotification.story.tsx new file mode 100644 index 00000000000..04395c531a6 --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/IncomingCallNotification.story.tsx @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { IncomingCallNotification as IncomingCallNotificationComponent } from '@azure/communication-react'; +import React from 'react'; + +const IncomingCallNotificationStory = (args: { callerName: string; showAcceptWithVideo: boolean }): JSX.Element => { + return ( + + ); +}; + +export const IncomingCallNotification = IncomingCallNotificationStory.bind({}); diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/index.stories.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/index.stories.tsx new file mode 100644 index 00000000000..e876bb2282e --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/index.stories.tsx @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { IncomingCallNotification as IncomingCallNotificationComponent } from '@azure/communication-react'; +import { Meta } from '@storybook/react'; + +import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; +import { IncomingCallNotificationExample } from './snippets/IncomingCallNotification.snippet'; +import { IncomingCallNotificationStylingExample } from './snippets/IncomingCallNotificationStyling.snippet'; + +export { IncomingCallNotification } from './IncomingCallNotification.story'; +export const IncomingCallNotificationExampleDocsOnly = { + render: IncomingCallNotificationExample +}; +export const IncomingCallNotificationStylingExampleDocsOnly = { + render: IncomingCallNotificationStylingExample +}; + +const meta: Meta = { + title: 'Components/IncomingCallNotification/ Incoming Call Notification', + component: IncomingCallNotificationComponent, + argTypes: { + callerName: controlsToAdd.callerName, + acceptOptions: hiddenControl, + onAcceptWithAudio: hiddenControl, + onAcceptWithVideo: hiddenControl, + onReject: hiddenControl, + showAcceptWithVideo: hiddenControl, + alertText: hiddenControl, + avatarImage: hiddenControl, + personaSize: hiddenControl, + styles: hiddenControl, + strings: hiddenControl, + onDismiss: hiddenControl, + onRenderAvatar: hiddenControl + }, + args: { + callerName: 'John Wick', + acceptOptions: { + showAcceptWithVideo: true + } + } +}; + +export default meta; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotification.snippet.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotification.snippet.tsx new file mode 100644 index 00000000000..3deb1976765 --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotification.snippet.tsx @@ -0,0 +1,22 @@ +import { IncomingCallNotification } from '@azure/communication-react'; +import React from 'react'; + +export const IncomingCallNotificationExample: () => JSX.Element = () => { + return ( + + ); +}; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotificationStyling.snippet.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotificationStyling.snippet.tsx new file mode 100644 index 00000000000..5ce94ca8117 --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/snippets/IncomingCallNotificationStyling.snippet.tsx @@ -0,0 +1,56 @@ +import { IncomingCallNotification, useTheme } from '@azure/communication-react'; +import React from 'react'; + +export const IncomingCallNotificationStylingExample: () => JSX.Element = () => { + const theme = useTheme(); + return ( + + ); +}; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx new file mode 100644 index 00000000000..6252a5f5385 --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx @@ -0,0 +1,17 @@ +import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; +import { IncomingCallStackExampleDocsOnly } from './index.stories'; +import * as IncomingCallStackComponent from './index.stories'; +import { IncomingCallStack } from '@azure/communication-react'; + +import IncomingCallStackExampleText from '!!raw-loader!./snippets/IncomingCallStack.snippet'; + + + +# IncomingCallStack + +This component is a manager for your different incoming calls. It will render the different calls using the +`IncomingCallNotification` component. Using the `usePropsFor` hook it will be able to get these calls from the +`Statefulcallclient` and render them in the UI. This component will allow you to manage multiple incoming calls. + + + diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/IncomingCallStack.story.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/IncomingCallStack.story.tsx new file mode 100644 index 00000000000..5c70ae7b71c --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/IncomingCallStack.story.tsx @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { IncomingCallStack as IncomingCallStackComponent } from '@azure/communication-react'; +import React from 'react'; + +const IncomingCallStackStory = (args): JSX.Element => { + const numberOfCalls = args.maxIncomingCallsToShow; + const incomingCalls = args.incomingCalls.slice(0, numberOfCalls); + const onAcceptCall = (incomingCallId: string, useVideo?: boolean): void => { + alert('Accepted, useVideo: ' + useVideo + ', incomingCallId: ' + incomingCallId); + }; + const onRejectCall = (incomingCallId: string): void => { + alert('Rejected, incomingCallId: ' + incomingCallId); + }; + return ( + + ); +}; + +export const IncomingCallStack = IncomingCallStackStory.bind({}); diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/index.stories.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/index.stories.tsx new file mode 100644 index 00000000000..8de799f53ee --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/index.stories.tsx @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { IncomingCallStack as IncomingCallStackComponent } from '@azure/communication-react'; +import { Meta } from '@storybook/react'; +import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; + +import { IncomingCallStackExample } from './snippets/IncomingCallStack.snippet'; +export const IncomingCallStackExampleDocsOnly = { + render: IncomingCallStackExample +}; + +export { IncomingCallStack } from './IncomingCallStack.story'; + +const meta: Meta = { + title: 'Components/IncomingCallNotification/IncomingCallStack', + component: IncomingCallStackComponent, + argTypes: { + maxIncomingCallsToShow: controlsToAdd.maxIncomingCallsToShow, + incomingCalls: controlsToAdd.incomingCalls, + onAcceptCall: hiddenControl, + onRejectCall: hiddenControl, + activeIncomingCalls: hiddenControl, + removedIncomingCalls: hiddenControl, + styles: hiddenControl, + strings: hiddenControl, + tabIndex: hiddenControl + }, + args: { + maxIncomingCallsToShow: 3, + incomingCalls: [ + { + callerInfo: { + displayName: 'John Wick' + }, + id: '1' + }, + { + callerInfo: { + displayName: 'Dog' + }, + id: '2' + }, + { + callerInfo: { + displayName: 'Dog2' + }, + id: '3' + } + ] + } +}; + +export default meta; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/snippets/IncomingCallStack.snippet.tsx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/snippets/IncomingCallStack.snippet.tsx new file mode 100644 index 00000000000..f7d0f9bcc2c --- /dev/null +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/snippets/IncomingCallStack.snippet.tsx @@ -0,0 +1,37 @@ +import { IncomingCallStackCall, IncomingCallStack } from '@azure/communication-react'; +import React from 'react'; + +const mockActiveIncomingCalls: IncomingCallStackCall[] = [ + { + callerInfo: { + displayName: 'John Wick' + }, + id: '1', + videoAvailable: false + }, + { + callerInfo: { + displayName: 'Dog' + }, + id: '2', + videoAvailable: true + } +]; +const mockRemovedIncomingCalls: IncomingCallStackCall[] = []; + +export const IncomingCallStackExample: () => JSX.Element = () => { + return ( + { + if (useVideo) { + alert('call accepted with video id: ' + incomingCallId); + } else { + alert('call accepted id: ' + incomingCallId); + } + }} + onRejectCall={(incomingCallId: string) => alert('call rejected id: ' + incomingCallId)} + /> + ); +}; diff --git a/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx b/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx new file mode 100644 index 00000000000..aafdd396d9b --- /dev/null +++ b/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx @@ -0,0 +1,38 @@ +import { Meta, Source } from '@storybook/react'; + + + +import InboundCallingSource from '!!raw-loader!./snippets/IncomingCallStackPropsExample.snippet.tsx'; + +# Inbound Calling + +Azure Communication Services UI Library is adding support for Inbound Calling. With this new feature, users will +be able to see and monitor new incoming calls when signed in to Azure Communication Services or as a Teams User. +Users will be able to accept with audio, accept with video, and reject incoming calls. + +Enabling this feature will allow them to see multiple incoming calls allowing the user to service multiple people +at once. In any scenario, when your users are logged in, you are able to connect with your customers in a more direct way. + +## Incorporating Inbound Calling into your Experience + +Currently the UI library exports a series of components like the [Video +Gallery](./?path=/docs/ui-components-videogallery--video-gallery) or +[CallControls](./?path=/docs/ui-components-controlbar--control-bar) that allow you to build a Video calling +experience that you can join through our [stateful client](./?path=/docs/quickstarts-statefulcallclient--page). +With the introduction of these components, we are also allowing you to attach to your experience a way to have +the calls come to you through these new react components. We are adding this capability with the new +[IncomingCallStack](./?path=/docs/ui-components-internal-inboundcalling-incomingcallstack--incoming-call-stack) and +[IncomingCallNotification](./?path=/docs/ui-components-internal-inboundcalling-incomingcallnotification--incoming-call-notification) Component. +These new components will allow you to accept the call, accept with video, or reject the call. Accepting will bring you straight into the call. + +The following code is a snippet of how you can incorporate the Inbound Calling feature into your experience: + + + +**Note:** this code should be wrapped in our different stateful client providers to fetch state. See how to use our [`usePropsFor` react hook](./?path=/docs/statefulclient-reacthooks-usepropsfor--page). + +## FAQ + +- I am having trouble with the Inbound Calling feature, what should I do? + - Please reach out to the ACS UI Library team for support. We are here to help you with any issues you may have. You can do this + by creating a new issue in the [GitHub repository](https://github.com/Azure/communication-ui-library/issues) diff --git a/packages/storybook8/stories/Concepts/InboundCalling/snippets/IncomingCallStackPropsExample.snippet.tsx b/packages/storybook8/stories/Concepts/InboundCalling/snippets/IncomingCallStackPropsExample.snippet.tsx new file mode 100644 index 00000000000..3f86d1afcae --- /dev/null +++ b/packages/storybook8/stories/Concepts/InboundCalling/snippets/IncomingCallStackPropsExample.snippet.tsx @@ -0,0 +1,21 @@ +import { IncomingCallStack, usePropsFor } from '@azure/communication-react'; +import { Stack } from '@fluentui/react'; +import React from 'react'; + +/** + * Your main call screen page. + */ +export const CallScreen = (): JSX.Element => { + /** + * The usage of `usePropsFor` is to get the props for the `IncomingCallStack` component. + * + */ + const incomingCallStackProps = usePropsFor(IncomingCallStack); + return ( + + + + + + ); +}; diff --git a/packages/storybook8/stories/controlsUtils.ts b/packages/storybook8/stories/controlsUtils.ts index d487363ce77..44c7302d116 100644 --- a/packages/storybook8/stories/controlsUtils.ts +++ b/packages/storybook8/stories/controlsUtils.ts @@ -91,6 +91,27 @@ export const defaultTypingUsers = [ } ]; +const defaultIncomingCallNotifications = [ + { + callerInfo: { + displayName: 'John Wick' + }, + id: '1' + }, + { + callerInfo: { + displayName: 'Dog' + }, + id: '2' + }, + { + callerInfo: { + displayName: 'Dog2' + }, + id: '3' + } +]; + const errorOptions: ErrorType[] = [ 'unableToReachChatService', 'accessDenied', @@ -520,6 +541,13 @@ export const controlsToAdd = { }, isNotificationAutoDismiss: { control: 'boolean', defaultValue: false, name: 'Is auto dismiss on' }, showNotificationStacked: { control: 'boolean', defaultValue: false, name: 'Show notification stacked effect' }, + incomingCalls: { control: 'object', defaultValue: defaultIncomingCallNotifications, name: 'Incoming Calls' }, + maxIncomingCallsToShow: { + control: 'select', + options: [1, 2, 3], + defaultValue: '2', + name: 'Number of incoming calls' + }, activeNotifications: { control: 'check', options: notificationOptions, From 1d181c99fd80f3df5ee4dad9b56961fb241ac6ad Mon Sep 17 00:00:00 2001 From: John <109105353+jpeng-ms@users.noreply.github.com> Date: Fri, 27 Sep 2024 09:03:17 -0700 Subject: [PATCH 32/58] Updated Rush to Latest Version (#5218) --- rush.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush.json b/rush.json index 387d66474fa..0428fea6025 100644 --- a/rush.json +++ b/rush.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush.schema.json", - "rushVersion": "5.135.0-pr4927.1", + "rushVersion": "5.136.0", "pnpmVersion": "8.11.0", "nodeSupportedVersionRange": ">=16.19.0 <21.0.0", "ensureConsistentVersions": true, From 49c3e83d0806f976ce995aa7256d0ce3113b60d8 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 27 Sep 2024 09:32:27 -0700 Subject: [PATCH 33/58] TDBuild latest localization (#5217) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../src/composites/localization/locales/de-DE/strings.json | 2 +- .../src/composites/localization/locales/it-IT/strings.json | 2 +- .../src/composites/localization/locales/nl-NL/strings.json | 2 +- .../src/composites/localization/locales/sv-SE/strings.json | 2 +- .../src/composites/localization/locales/tr-TR/strings.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-composites/src/composites/localization/locales/de-DE/strings.json b/packages/react-composites/src/composites/localization/locales/de-DE/strings.json index 70c4a7de414..504daac445b 100644 --- a/packages/react-composites/src/composites/localization/locales/de-DE/strings.json +++ b/packages/react-composites/src/composites/localization/locales/de-DE/strings.json @@ -406,6 +406,6 @@ "openDtmfDialpadLabel": "Wähltastatur anzeigen", "dtmfDialpadPlaceholderText": "Nummer eingeben", "breakoutRoomChatPaneTitle": "Chat im Gruppenraum", - "chatContentSpinnerLabel": "Loading..." + "chatContentSpinnerLabel": "Wird geladen..." } } \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/it-IT/strings.json b/packages/react-composites/src/composites/localization/locales/it-IT/strings.json index 1b441b3721f..427c198cb25 100644 --- a/packages/react-composites/src/composites/localization/locales/it-IT/strings.json +++ b/packages/react-composites/src/composites/localization/locales/it-IT/strings.json @@ -406,6 +406,6 @@ "openDtmfDialpadLabel": "Mostra tastiera", "dtmfDialpadPlaceholderText": "Immetti il numero", "breakoutRoomChatPaneTitle": "Chat della stanza di lavoro", - "chatContentSpinnerLabel": "Loading..." + "chatContentSpinnerLabel": "Caricamento in corso..." } } \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json b/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json index 7271d1e9a35..53afb489c42 100644 --- a/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json +++ b/packages/react-composites/src/composites/localization/locales/nl-NL/strings.json @@ -406,6 +406,6 @@ "openDtmfDialpadLabel": "Toetsenblok weergeven", "dtmfDialpadPlaceholderText": "Nummer invoeren", "breakoutRoomChatPaneTitle": "Aparte vergaderruimte chat", - "chatContentSpinnerLabel": "Loading..." + "chatContentSpinnerLabel": "Laden..." } } \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json b/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json index 3068c911ad7..ed5a43b1e03 100644 --- a/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json +++ b/packages/react-composites/src/composites/localization/locales/sv-SE/strings.json @@ -406,6 +406,6 @@ "openDtmfDialpadLabel": "Visa knappsats", "dtmfDialpadPlaceholderText": "Ange nummer", "breakoutRoomChatPaneTitle": "Grupprumschatt", - "chatContentSpinnerLabel": "Loading..." + "chatContentSpinnerLabel": "Läser in ..." } } \ No newline at end of file diff --git a/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json b/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json index e4cdd2c2c5b..360a823265a 100644 --- a/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json +++ b/packages/react-composites/src/composites/localization/locales/tr-TR/strings.json @@ -406,6 +406,6 @@ "openDtmfDialpadLabel": "Tuş takımını göster", "dtmfDialpadPlaceholderText": "Numara girin", "breakoutRoomChatPaneTitle": "Tartışma Odası Sohbeti", - "chatContentSpinnerLabel": "Loading..." + "chatContentSpinnerLabel": "Yükleniyor..." } } \ No newline at end of file From 17b3d4ce691009c9183f166a3a7e78e2b9c2b938 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:42:02 -0700 Subject: [PATCH 34/58] beta js-loaders (#5221) --- common/config/babel/features.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/config/babel/features.js b/common/config/babel/features.js index 47a4f29946a..87beae5e69d 100644 --- a/common/config/babel/features.js +++ b/common/config/babel/features.js @@ -19,8 +19,6 @@ module.exports = { "hide-attendee-name", // Demo feature. Used in live-documentation of conditional compilation. Do not use in production code. "in-progress-beta-feature-demo", - // feature for adding JS helpers to the UI library API - "composite-js-helpers", // Feature for remote UFD "remote-ufd", // Feature for showing dtmp dialer by default @@ -80,7 +78,9 @@ module.exports = { // feature for tracking the callParticipantsLocator "call-participants-locator", // feature for breakout rooms - "breakout-rooms" + "breakout-rooms", + // feature for adding JS helpers to the UI library API + "composite-js-helpers" ], stable: [ // Demo feature. Used in live-documentation of conditional compilation. From 0b39ac6b5a49d6680f4e44f1eb96e894958ed032 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 27 Sep 2024 11:37:13 -0700 Subject: [PATCH 35/58] fix beta-release build (#5224) --- packages/communication-react/tsconfig.preprocess.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/communication-react/tsconfig.preprocess.json b/packages/communication-react/tsconfig.preprocess.json index 563f810a1a3..99343e09106 100644 --- a/packages/communication-react/tsconfig.preprocess.json +++ b/packages/communication-react/tsconfig.preprocess.json @@ -10,7 +10,7 @@ "@internal/calling-stateful-client": ["calling-stateful-client/src"], "@internal/chat-stateful-client": ["chat-stateful-client/src"], "@internal/react-components": ["react-components/src"], - "@internal/react-composites": ["react-composites/src"] + "@internal/react-composites": ["react-composites/src/index-public"] }, "plugins": [ { "transform": "typescript-transform-paths" }, From 8931b7897c9c261f9c1f391f9b518174046eccf8 Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Fri, 27 Sep 2024 13:38:39 -0700 Subject: [PATCH 36/58] [Chat] White spaces handling update for text messages in message components (#5225) --- ...ation-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json | 9 +++++++++ ...ation-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json | 9 +++++++++ .../src/components/ChatMessage/ChatMessageContent.tsx | 5 ++++- .../src/components/styles/MessageThread.styles.ts | 5 +++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 change-beta/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json create mode 100644 change/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json diff --git a/change-beta/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json b/change-beta/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json new file mode 100644 index 00000000000..1f698ea9039 --- /dev/null +++ b/change-beta/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "Chat", + "comment": "White spaces handling update for text messages in message components", + "packageName": "@azure/communication-react", + "email": "98852890+vhuseinova-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json b/change/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json new file mode 100644 index 00000000000..1f698ea9039 --- /dev/null +++ b/change/@azure-communication-react-4a7eb3ab-7f30-4012-9a9a-d8813f2deaf0.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "Chat", + "comment": "White spaces handling update for text messages in message components", + "packageName": "@azure/communication-react", + "email": "98852890+vhuseinova-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/src/components/ChatMessage/ChatMessageContent.tsx b/packages/react-components/src/components/ChatMessage/ChatMessageContent.tsx index 6c6b0c20b7d..8f95bf5a86d 100644 --- a/packages/react-components/src/components/ChatMessage/ChatMessageContent.tsx +++ b/packages/react-components/src/components/ChatMessage/ChatMessageContent.tsx @@ -25,6 +25,7 @@ import { _AttachmentDownloadCardsStrings } from '../Attachment/AttachmentDownloa import { AttachmentMetadata } from '@internal/acs-ui-common'; /* @conditional-compile-remove(data-loss-prevention) */ import { dataLossIconStyle } from '../styles/MessageThread.styles'; +import { messageTextContentStyles } from '../styles/MessageThread.styles'; type ChatMessageContentProps = { message: ChatMessage; @@ -45,6 +46,7 @@ type MessageContentWithLiveAriaProps = { liveMessage: string; ariaLabel?: string; content: JSX.Element; + className?: string; }; /** @@ -91,7 +93,7 @@ export const ChatMessageContent = (props: ChatMessageContentProps): JSX.Element const MessageContentWithLiveAria = (props: MessageContentWithLiveAriaProps): JSX.Element => { return ( -
+
{props.content}
@@ -115,6 +117,7 @@ const MessageContentAsText = (props: ChatMessageContentProps): JSX.Element => { message={props.message} liveMessage={generateLiveMessage(props)} ariaLabel={messageContentAriaText(props)} + className={messageTextContentStyles} content={ { diff --git a/packages/react-components/src/components/styles/MessageThread.styles.ts b/packages/react-components/src/components/styles/MessageThread.styles.ts index e41b31fcf5e..dd5e1f5456b 100644 --- a/packages/react-components/src/components/styles/MessageThread.styles.ts +++ b/packages/react-components/src/components/styles/MessageThread.styles.ts @@ -494,3 +494,8 @@ export const dataLossIconStyle = mergeStyles({ width: '1.25rem', height: '1.25rem' }); + +/** @private */ +export const messageTextContentStyles = mergeStyles({ + whiteSpace: 'pre-wrap' +}); From 395e3e5d2caa04be66840849a936f13de732ee53 Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Fri, 27 Sep 2024 14:25:15 -0700 Subject: [PATCH 37/58] Ensure storybook 8 builds with default build commands and do not generate s6 PR links (#5220) * Default to storybook 8 building and do not generate s6 PR links * Update deployment target * revert lint change as there are so many lint fixes need to be seperate pr --- .github/workflows/ci.yml | 25 ++-------- .github/workflows/deploy-storybook.yml | 4 +- .github/workflows/publish-chromatic.yml | 63 +------------------------ packages/storybook8/package.json | 9 ++-- 4 files changed, 9 insertions(+), 92 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa261bee5e0..c2793bfc758 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,24 +20,6 @@ concurrency: permissions: read-all jobs: - files_changed: - name: Determine Changes - runs-on: ubuntu-latest - timeout-minutes: 3 - # Map a step output to a job output - outputs: - storybook8_changes: ${{ steps.changes.outputs.storybook8 }} - steps: - # Checks-out your repository under $GITHUB_WORKSPACE so job can access it - - uses: actions/checkout@v4 - - uses: dorny/paths-filter@v3 - id: changes - with: - # token: ${{ secrets.GITHUB_TOKEN }} - filters: | - storybook8: - - 'packages/storybook8/**' - # get matrix for ci-jobs get_matrix: name: Load CI Matrix Details @@ -566,8 +548,7 @@ jobs: working-directory: packages/storybook build_storybook8: - needs: [get_matrix, files_changed] - if: needs.files_changed.outputs.storybook8_changes == 'true' + needs: get_matrix name: Build Storybook v8 (${{ matrix.flavor }}) strategy: matrix: ${{ fromJSON(needs.get_matrix.outputs.matrix) }} @@ -590,11 +571,11 @@ jobs: run: rush install --max-install-attempts 3 - name: Build if: ${{ matrix.flavor == 'beta' || matrix.flavor == 'beta-release' }} - run: rushx build-s8 + run: rushx build working-directory: packages/storybook8 - name: Tests if: ${{ matrix.flavor == 'beta' || matrix.flavor == 'beta-release' }} - run: rushx test-s8 + run: rushx test working-directory: packages/storybook8 build_calling_sample: diff --git a/.github/workflows/deploy-storybook.yml b/.github/workflows/deploy-storybook.yml index 7be9a0de66b..1ae2aad5464 100644 --- a/.github/workflows/deploy-storybook.yml +++ b/.github/workflows/deploy-storybook.yml @@ -48,14 +48,14 @@ jobs: # storybook requires the env vars to be in a .env file for access in the manager.ts run: | echo TELEMETRY_INSTRUMENTATION_KEY=${{ secrets.TELEMETRY_INSTRUMENTATION_KEY }} > .env - working-directory: ./packages/storybook + working-directory: ./packages/storybook8 env: GH_TOKEN: ${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} - name: Upload Storybook GH Pages Artifact uses: actions/upload-pages-artifact@v3 with: - path: ./packages/storybook/storybook-static + path: ./packages/storybook8/storybook-static - name: Deploy to GitHub Pages uses: actions/deploy-pages@v4 diff --git a/.github/workflows/publish-chromatic.yml b/.github/workflows/publish-chromatic.yml index 2810f737613..558be3f6cf7 100644 --- a/.github/workflows/publish-chromatic.yml +++ b/.github/workflows/publish-chromatic.yml @@ -3,7 +3,6 @@ name: 'Publish Chromatic' on: pull_request: paths: - - packages/storybook/** - packages/storybook8/** - packages/react-components/** - packages/react-composites/** @@ -19,66 +18,6 @@ concurrency: jobs: chromatic_deployment: - name: Publish Chromatic Storybook 6 - runs-on: ubuntu-latest - permissions: - packages: write - pull-requests: write - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Use Node.js 20.x - uses: actions/setup-node@v4 - with: - node-version: 20.x - - - name: Restore node_modules from cache - uses: actions/cache@v4 - with: - path: common/temp/pnpm-store - key: ${{ runner.os }}-${{ hashFiles('common/config/rush/pnpm-lock.yaml') }} - - - name: Install Rush - run: npm install -g @microsoft/rush@$(jq -r '.rushVersion' "rush.json") - - - name: Install Dependencies - run: rush install --max-install-attempts 3 - - - name: Publish Chromatic - id: publish_chromatic - uses: chromaui/action@v1 - with: - workingDir: ./packages/storybook - buildScriptName: build:dev - token: ${{ secrets.GITHUB_TOKEN }} - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} - allowConsoleErrors: true - - - name: Format storybook URL - id: storybook_url - # Get the url from chromatic job then remove the iframe.html at the end of the url (this looks like a bug) - run: | - storybookurl=${{ steps.publish_chromatic.outputs.storybookUrl }} - echo "Storybook URL before: $storybookurl" - newurl=${storybookurl/%iframe.html} - echo "Storybook URL after: $newurl" - echo "url=$newurl" >> $GITHUB_OUTPUT - - - name: Add Storybook URL as Issue Comment - if: github.event_name == 'pull_request' - uses: actions/github-script@v3 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - github.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: 'Storybook 6 URL ${{ steps.storybook_url.outputs.url }}' - }) - chromatic_deployment8: name: Publish Chromatic Storybook 8 runs-on: ubuntu-latest permissions: @@ -111,7 +50,7 @@ jobs: uses: chromaui/action@v1 with: workingDir: ./packages/storybook8 - buildScriptName: build:dev-s8 + buildScriptName: build:dev token: ${{ secrets.GITHUB_TOKEN }} projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} allowConsoleErrors: true diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 59702fca90c..90a0eeaccd2 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -3,15 +3,12 @@ "version": "1.20.0-beta.0", "description": "Azure Communication Services UI Library Storybook", "scripts": { - "build": "echo Storybook 8 build via 'build-s8' target", - "build:dev": "echo Storybook 8 build via 'build:dev-s8' target", - "build-s8": "cross-env NODE_ENV=production node ./scripts/build.mjs", - "build:dev-s8": "cross-env NODE_ENV=development node ./scripts/build.mjs", + "build": "cross-env NODE_ENV=production node ./scripts/build.mjs", + "build:dev": "cross-env NODE_ENV=development node ./scripts/build.mjs", "clean": "", "start": "cross-env NODE_ENV=development node ./scripts/start.mjs", "storybook": "storybook", - "test": "echo Storybook 8 test via 'test-s8' target", - "test-s8": "node ./scripts/test.mjs", + "test": "node ./scripts/test.mjs", "test:ci-coverage": "echo skip", "test:coverage": "rushx test --coverage --coverageReporters=lcov", "test:snippets": "tsc --p tsconfig.snippets.json", From da3b8071212920b73af748c9df5cc2cd53ec458b Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 27 Sep 2024 15:40:06 -0700 Subject: [PATCH 38/58] Change files (#5226) --- ...ation-react-2c0921c2-fcd8-49c7-86f3-88339f1caa54.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 change-beta/@azure-communication-react-2c0921c2-fcd8-49c7-86f3-88339f1caa54.json diff --git a/change-beta/@azure-communication-react-2c0921c2-fcd8-49c7-86f3-88339f1caa54.json b/change-beta/@azure-communication-react-2c0921c2-fcd8-49c7-86f3-88339f1caa54.json new file mode 100644 index 00000000000..6dbace686be --- /dev/null +++ b/change-beta/@azure-communication-react-2c0921c2-fcd8-49c7-86f3-88339f1caa54.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "JavaScript Loaders", + "comment": "Azure Communication services is excited to introduce a new way to consume our Composite experiences. If you are wanting to use the Azure Communication Services UI library Composites and don't develop in react, we are introducing a series of loader functions to allow you to use the Composites in your application. These functions load a react node and attach it to your application allowing you to use the Composites as if you were building in react.", + "packageName": "@azure/communication-react", + "email": "dmceachern@microsoft.com", + "dependentChangeType": "patch" +} From ac5bbd7f860d265895fc51bb6f3268d9dce3d95f Mon Sep 17 00:00:00 2001 From: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> Date: Tue, 1 Oct 2024 12:48:29 -0700 Subject: [PATCH 39/58] Changelog script fix (#5227) --- common/scripts/changelog/check.mjs | 19 +++++++++++++------ common/scripts/changelog/utils.mjs | 10 +++++----- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/common/scripts/changelog/check.mjs b/common/scripts/changelog/check.mjs index 50cb4ab5ae8..2656f111f9f 100644 --- a/common/scripts/changelog/check.mjs +++ b/common/scripts/changelog/check.mjs @@ -16,15 +16,22 @@ import { CHANGE_DIR_BETA, CHANGE_DIR_STABLE } from "./constants.mjs"; async function main() { const [base, head] = parseArgs(process.argv); - const gitLogStdoutStableChangeFiles = await exec_output(`git log --name-status ${base}..${head} -- ${CHANGE_DIR_STABLE}`); - const gitLogStdoutBetaChangeFiles = await exec_output(`git log --name-status ${base}..${head} -- ${CHANGE_DIR_BETA}`); - const newStableChangeFiles = parseNewChangeFiles(gitLogStdoutStableChangeFiles); - const newBetaChangeFiles = parseNewChangeFiles(gitLogStdoutBetaChangeFiles); - const newChangeFilesCount = (newStableChangeFiles?.length ?? 0) + (newBetaChangeFiles?.length ?? 0); + // Check if the changelog files are present. + // For this, check for new files (`git diff --diff-filter=A`) in the changelog directory(`-- ${CHANGE_DIR}` + // or`-- ${CHANGE_DIR_BETA}`) and return only the file names and statuses(`--name-status`). + // See https://git-scm.com/docs/git-diff for more info. + const changedStableFiles = await exec_output(`git diff --diff-filter=A --name-status ${base}..${head} -- ${CHANGE_DIR_STABLE}`); + const changedBetaFiles = await exec_output(`git diff --diff-filter=A --name-status ${base}..${head} -- ${CHANGE_DIR_BETA}`); + // Process the output to get the list of files + const stableFiles = parseNewChangeFiles(changedStableFiles); + const betaFiles = parseNewChangeFiles(changedBetaFiles); + const finalChangeFiles = [...stableFiles, ...betaFiles]; + + const newChangeFilesCount = finalChangeFiles.length; if (newChangeFilesCount === 0) { - console.error('No changefile detected! Please run `rush changelog` to document your change. Or if your changes do not affect the published packages in any way, please add `do not need changelog` label to the PR.'); + console.error('No changefile detected! Please run `rush changelog` to document your change. Or if your changes do not affect the published packages in any way, please add `does not need changelog` label to the PR.'); process.exit(1); } console.log(`Found ${newChangeFilesCount} changefiles. All is good!`) diff --git a/common/scripts/changelog/utils.mjs b/common/scripts/changelog/utils.mjs index d7729a036c2..c5120c0039b 100644 --- a/common/scripts/changelog/utils.mjs +++ b/common/scripts/changelog/utils.mjs @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -const NEW_CHANGE_FILE_REGEXP = /\s*change\/(.*\.json)\s*/; - export function parseNewChangeFiles(stdout) { + // Split the output into lines const lines = stdout.split('\n'); - const matches = lines.map(line => line.match(NEW_CHANGE_FILE_REGEXP)).filter(match => !!match); - // Extract the first capture group. - return matches.map(match => match[1]); + // Filter out the empty lines (`lines` list might have empty lines as part of the output) + const matches = lines.filter(line => line && line.toString().trim().length > 0); + // Parse the change file name from the output (remove the status and return only file information) + return matches.map(line => line.split('\t')[1]); } \ No newline at end of file From bb39ff50b7ea4fb0e714d234236eec8aac5bff57 Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:31:07 -0700 Subject: [PATCH 40/58] Fix s8 lint errors and enable s8 linting (#5223) --- packages/react-composites/src/index.ts | 2 + .../storybook8/.storybook/preview-head.html | 33 +++++++- packages/storybook8/package.json | 3 +- .../ControlBar/Buttons/Camera/Docs.mdx | 3 +- .../ControlBar/Buttons/Default/Docs.mdx | 2 +- .../ControlBar/Buttons/Devices/Docs.mdx | 2 +- .../ControlBar/Buttons/End Call/Docs.mdx | 2 +- .../ControlBar/Buttons/Microphones/Docs.mdx | 2 +- .../ControlBar/Buttons/Participants/Docs.mdx | 2 +- .../ControlBar/Buttons/Raise Hand/Docs.mdx | 2 +- .../ControlBar/Buttons/Screen Share/Docs.mdx | 2 +- .../Components/ControlBar/ControlBar/Docs.mdx | 2 +- .../Components/Dialpad/index.stories.tsx | 4 +- .../stories/Components/ErrorBar/Docs.mdx | 4 +- .../stories/Components/Grid Layout/Docs.mdx | 2 +- .../stories/Components/ImageOverlay/Docs.mdx | 4 +- .../IncomingCallNotification/Docs.mdx | 2 +- .../IncomingCallStack/Docs.mdx | 2 +- .../MessageStatusIndicator/Docs.mdx | 2 +- .../stories/Components/MessageThread/Docs.mdx | 5 +- .../stories/Components/Notification/Doc.mdx | 2 +- .../Components/NotificationStack/Doc.mdx | 2 +- .../Components/Participantitem/Docs.mdx | 4 +- .../SendBox/RichTextSendBox/Docs.mdx | 7 +- .../RichTextSendBox/RichTextSendBox.story.tsx | 8 +- .../Components/SendBox/SendBox/Docs.mdx | 7 +- .../Components/SitePermissions/Docs.mdx | 4 +- .../Components/TypingIndicator/Docs.mdx | 6 +- .../Components/UnsupportedBrowser/Docs.mdx | 4 +- .../stories/Components/VideoGallery/Docs.mdx | 19 +---- .../Components/VideoGallery/index.stories.tsx | 26 +++--- .../stories/Components/VideoTile/Docs.mdx | 4 +- .../CallComposite/BasicExample.stories.tsx | 2 +- .../stories/Composites/CallComposite/Docs.mdx | 7 +- .../CallComposite/index.stories.tsx | 2 +- .../BasicExample.stories.tsx | 7 +- .../Composites/CallWithChatComposite/Docs.mdx | 3 +- .../stories/Composites/ChatComposite/Docs.mdx | 6 +- .../stories/Concepts/ClosedCaptions/Doc.mdx | 4 +- .../stories/Concepts/Icons/Docs.mdx | 2 +- .../stories/Concepts/Styling/Docs.mdx | 2 +- .../Concepts/Survey/utils/SurveyExample.tsx | 12 ++- .../TeamsInterop/ComplianceBanner/Docs.mdx | 2 +- .../ComplianceBanner/index.stories.tsx | 2 + .../TeamsInterop/JoinMeetingWithLink/Docs.mdx | 2 +- .../JoinMeetingWithLink.story.tsx | 8 +- .../JoinMeetingWithLink/index.stories.tsx | 4 +- .../JoinMeetingWithMeetingId/Docs.mdx | 18 ++-- .../JoinMeetingWithMeetingId.story.tsx | 6 +- .../index.stories.tsx | 4 +- .../TeamsInterop/Lobby/Lobby.story.tsx | 4 +- .../TeamsInterop/Lobby/index.stories.tsx | 4 +- .../Lobby/snippets/Lobby.snippet.tsx | 2 +- .../Concepts/TeamsInterop/utils/Utils.tsx | 2 +- .../stories/Concepts/Theming/Docs.mdx | 2 +- .../CustomButtonInjection.story.tsx | 2 + .../Examples/CustomButtonInjection/Docs.mdx | 6 +- .../CustomButtonInjection/index.stories.tsx | 2 +- ...ontrolBarCustomButtonInjection.snippet.tsx | 2 +- .../OverflowCustomButtonInjection.snippet.tsx | 2 +- .../Examples/DeviceSettings/index.stories.tsx | 2 + .../IncomingCallModal/Docs.mdx | 2 +- .../IncomingCallModal.story.tsx | 2 +- .../IncomingCallModal/index.stories.tsx | 2 + .../exampleIncomingCallModal.snippet.tsx | 15 +++- .../IncomingCallToast/Docs.mdx | 2 +- .../IncomingCallToast/index.stories.tsx | 2 + .../exampleIncomingCallToast.snippet.tsx | 3 +- .../Examples/LocalPreview/index.stories.tsx | 2 + .../stories/Examples/Themes/index.stories.tsx | 2 + packages/storybook8/stories/Feedback.mdx | 13 --- .../BrowserPermissionDenied/Docs.mdx | 83 +++++++++---------- .../DevicePermissionDropdown.story.tsx | 8 +- .../DevicePermissionDropdown/Docs.mdx | 2 +- .../TroubleshootingGuideErrorBar/Docs.mdx | 2 +- .../TroubleshootingGuideErrorBar.story.tsx | 2 +- .../index.stories.tsx | 2 +- .../stories/INTERNAL/CaptionsBanner/Docs.mdx | 2 +- .../INTERNAL/CaptionsSettingsModal/Docs.mdx | 2 +- .../INTERNAL/Drawer/DrawerMenu/Docs.mdx | 2 +- .../Drawer/DrawerMenu/index.stories.tsx | 2 +- .../INTERNAL/Drawer/DrawerSurface/Docs.mdx | 2 +- .../Drawer/DrawerSurface/index.stories.tsx | 4 +- .../IncomingCallNotification/Docs.mdx | 39 ++++----- .../index.stories.tsx | 2 +- .../PictureInPictureInPicture/Docs.mdx | 2 +- .../index.stories.tsx | 4 +- .../SurveyComponents/StarSurvey/Docs.mdx | 3 +- .../StarSurvey/StarSurvey.story.tsx | 7 -- .../StarSurvey/index.stories.tsx | 4 +- .../snippets/StarSurvey.snippet.tsx | 2 +- .../SurveyComponents/TagsSurvey/Docs.mdx | 3 +- .../TagsSurvey/TagsSurvey.story.tsx | 4 - .../TagsSurvey/index.stories.tsx | 4 +- .../snippets/TagsSurvey.snippet.tsx | 2 +- packages/storybook8/stories/Overview.mdx | 8 +- .../stories/StatefulClient/Overview.mdx | 2 +- 97 files changed, 284 insertions(+), 258 deletions(-) diff --git a/packages/react-composites/src/index.ts b/packages/react-composites/src/index.ts index 81c0dea0d24..a4149d5d953 100644 --- a/packages/react-composites/src/index.ts +++ b/packages/react-composites/src/index.ts @@ -5,6 +5,8 @@ export * from './index-public'; // The following types are used by other @internal packages, but are not exported by @azure/communication-react. +/* @conditional-compile-remove(rich-text-editor-image-upload) */ +export { _DEFAULT_INLINE_IMAGE_FILE_NAME } from './composites/common/constants'; export { _useCompositeLocale } from './composites/localization'; export { _createAzureCommunicationCallWithChatAdapterFromAdapters } from './composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter'; export type { _ChatThreadRestError, _FakeChatAdapters, _FakeChatAdapterArgs, _MockAttachmentUpload } from './mocks'; diff --git a/packages/storybook8/.storybook/preview-head.html b/packages/storybook8/.storybook/preview-head.html index 7f481dff968..c4f6e57e2db 100644 --- a/packages/storybook8/.storybook/preview-head.html +++ b/packages/storybook8/.storybook/preview-head.html @@ -23,7 +23,7 @@ color: #000000; font-size: 2.5rem; font-weight: 700; - margin: 4rem 0rem 2rem !important; + margin: 4rem 0rem 2rem !important; letter-spacing: -0.03em; } @@ -116,4 +116,35 @@ figure { margin: 0rem; } + + #overview-page h1 { + font-family: Segoe UI, sans-serif; + color: #0078D4; + font-weight: 600; + font-size: 2rem; + margin: 0rem; + line-height: 2.5rem; + } + + #overview-page h2 { + font-family: Segoe UI, sans-serif; + color: rgba(0, 0, 0, 0.5); + font-weight: 500; + font-size: 1.125rem; + margin: 0rem 0rem 0.25rem 0rem; + line-height: 1.5rem; + border: none; + } + + #feedback-page span { + font-family: Segoe UI, sans-serif; + color: white; + font-weight: 600; + font-size: 0.875rem; + margin: 0px 4px; + } + + #feedback-page a { + height: 32px; + } \ No newline at end of file diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 90a0eeaccd2..7af454b4508 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -15,8 +15,7 @@ "snapshot:update": "rushx test --update-snapshot", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", - "lint": "echo Storybook 8 lint via 'lint-s8' target", - "lint-s8": "node ./scripts/lint.mjs", + "lint": "node ./scripts/lint.mjs", "lint:fix": "rushx lint --fix --", "lint:quiet": "rushx lint -- --quiet" }, diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Camera/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Camera/Docs.mdx index 59e603f5198..e1d881c1122 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Camera/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Camera/Docs.mdx @@ -1,5 +1,6 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { CameraButton } from '@azure/communication-react'; +import { Meta } from '@storybook/addon-docs'; +import { Canvas, ArgTypes } from '@storybook/blocks'; import * as CameraStories from './index.stories'; import CustomButtonExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import DefaultButtonExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Default/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Default/Docs.mdx index b6f9d8b45ea..7e97c87eed3 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Default/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Default/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { ControlBarButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ControlBarButtonStories from './index.stories'; import CustomControlBarButtonExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import ControlBarButtonExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Devices/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Devices/Docs.mdx index d5fe3cf683a..c179d2b5516 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Devices/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Devices/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { DevicesButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as DevicesButtonStories from './index.stories'; import DevicesButtonCustomExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import DevicesButtonDefaultExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/End Call/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/End Call/Docs.mdx index cb30fa54a14..eac482cbc79 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/End Call/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/End Call/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { EndCallButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as EndCallStories from './index.stories'; import EndCallButtonCustomExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import EndCallButtonDefaultExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Microphones/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Microphones/Docs.mdx index ab24a78ac24..5b92844ba93 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Microphones/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Microphones/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { MicrophoneButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as MicrophoneStories from './index.stories'; import CustomMicrophoneButtonExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import MicrophoneButtonExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Participants/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Participants/Docs.mdx index dcf5a406550..ef6d7006f38 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Participants/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Participants/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { ParticipantsButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ParticipantsStories from './index.stories'; import ParticipantsButtonDefaultExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; import ParticipantsButtonWithCallLinkExampleText from '!!raw-loader!./snippets/WithCallLink.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Raise Hand/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Raise Hand/Docs.mdx index 69d96c056ff..0b1cd8d04d3 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Raise Hand/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Raise Hand/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { RaiseHandButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as RaiseHandStories from './index.stories'; import CustomButtonExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import DefaultButtonExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/Buttons/Screen Share/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/Buttons/Screen Share/Docs.mdx index 4bc550fd65d..afc48ed44bd 100644 --- a/packages/storybook8/stories/Components/ControlBar/Buttons/Screen Share/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/Buttons/Screen Share/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { ScreenShareButton } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ScreenShareStories from './index.stories'; import CustomButtonExampleText from '!!raw-loader!./snippets/Custom.snippet.tsx'; import DefaultButtonExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/ControlBar/ControlBar/Docs.mdx b/packages/storybook8/stories/Components/ControlBar/ControlBar/Docs.mdx index 01df6c0f99b..05c32fd2cf1 100644 --- a/packages/storybook8/stories/Components/ControlBar/ControlBar/Docs.mdx +++ b/packages/storybook8/stories/Components/ControlBar/ControlBar/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { ControlBar } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ControlBarStories from './index.stories'; import AllButtonsControlBarExampleText from '!!raw-loader!./snippets/AllButtonsControlBar.snippet.tsx'; import ControlBarLayoutExampleText from '!!raw-loader!./snippets/ControlBarLayout.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/Dialpad/index.stories.tsx b/packages/storybook8/stories/Components/Dialpad/index.stories.tsx index c69e73fd8cb..bac0b4dd916 100644 --- a/packages/storybook8/stories/Components/Dialpad/index.stories.tsx +++ b/packages/storybook8/stories/Components/Dialpad/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import { Dialpad as DialpadComponent } from '@azure/communication-react'; import { Meta } from '@storybook/react'; import { hiddenControl } from '../../controlsUtils'; -import { Dialpad as DialpadComponent } from '@azure/communication-react'; import { CustomDialpadExample } from './snippets/CustomDialpad.snippet'; import { DialpadExample } from './snippets/Dialpad.snippet'; import { DialerExample } from './snippets/DialpadDialer.snippet'; diff --git a/packages/storybook8/stories/Components/ErrorBar/Docs.mdx b/packages/storybook8/stories/Components/ErrorBar/Docs.mdx index 8c7847dc4e1..a6111b19117 100644 --- a/packages/storybook8/stories/Components/ErrorBar/Docs.mdx +++ b/packages/storybook8/stories/Components/ErrorBar/Docs.mdx @@ -1,6 +1,6 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; -import * as ErrorBarStories from './index.stories'; import { ErrorBar } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; +import * as ErrorBarStories from './index.stories'; import ExampleErrorBar from '!!raw-loader!./snippets/ExampleErrorBar.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/Grid Layout/Docs.mdx b/packages/storybook8/stories/Components/Grid Layout/Docs.mdx index f406f72e435..35e1e31042b 100644 --- a/packages/storybook8/stories/Components/Grid Layout/Docs.mdx +++ b/packages/storybook8/stories/Components/Grid Layout/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { GridLayout } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as GridLayoutStories from './index.stories'; import GridLayoutExampleText from '!!raw-loader!./snippets/GridLayout.snippet'; diff --git a/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx b/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx index 15c97b83c03..3b5025b57b0 100644 --- a/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx +++ b/packages/storybook8/stories/Components/ImageOverlay/Docs.mdx @@ -1,8 +1,8 @@ -import { Canvas, Markdown, Meta, ArgTypes } from '@storybook/blocks'; +import { ImageOverlay } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ImageOverlayStories from './index.stories'; import ImageOverlayStoriesExampleText from '!!raw-loader!./snippets/ImageOverlay.snippet.tsx'; -import { ImageOverlay } from '@internal/react-components'; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx index f308174389b..6f9fcbdb199 100644 --- a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx @@ -1,3 +1,4 @@ +import { IncomingCallNotification } from '@azure/communication-react'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import { IncomingCallNotificationExampleDocsOnly, @@ -6,7 +7,6 @@ import { import * as IncomingCallNotificationStories from './index.stories'; import IncomingCallNotificationText from '!!raw-loader!./snippets/IncomingCallNotification.snippet'; import IncomingCallNotificationStylingText from '!!raw-loader!./snippets/IncomingCallNotificationStyling.snippet'; -import { IncomingCallNotification } from '@azure/communication-react'; diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx index 6252a5f5385..1a4597cf3db 100644 --- a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallStack/Docs.mdx @@ -1,7 +1,7 @@ +import { IncomingCallStack } from '@azure/communication-react'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import { IncomingCallStackExampleDocsOnly } from './index.stories'; import * as IncomingCallStackComponent from './index.stories'; -import { IncomingCallStack } from '@azure/communication-react'; import IncomingCallStackExampleText from '!!raw-loader!./snippets/IncomingCallStack.snippet'; diff --git a/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx b/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx index 1b6a214628a..9e6fd793cb4 100644 --- a/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx +++ b/packages/storybook8/stories/Components/MessageStatusIndicator/Docs.mdx @@ -1,6 +1,6 @@ +import { MessageStatusIndicator } from '@azure/communication-react'; import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as MessageStatusIndicatorStories from './index.stories'; -import { MessageStatusIndicator } from '@azure/communication-react'; import MessageStatusIndicatorStoriesExampleText from '!!raw-loader!./snippets/MessageStatusIndicator.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/MessageThread/Docs.mdx b/packages/storybook8/stories/Components/MessageThread/Docs.mdx index 0f6cbd21413..08c8f37ac9a 100644 --- a/packages/storybook8/stories/Components/MessageThread/Docs.mdx +++ b/packages/storybook8/stories/Components/MessageThread/Docs.mdx @@ -1,7 +1,6 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; -import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; +import { Canvas, Meta, ArgTypes, Source } from '@storybook/blocks'; import { DetailedBetaBanner } from '../../BetaBanners/DetailedBetaBanner'; -import { MessageThread } from '@azure/communication-react'; +import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; import * as MessageThreadStories from './index.stories'; import MessageThreadWithBlockedMessagesExampleText from '!!raw-loader!./snippets/BlockedMessages.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/Notification/Doc.mdx b/packages/storybook8/stories/Components/Notification/Doc.mdx index 1e7d1cab820..d1d500a9e96 100644 --- a/packages/storybook8/stories/Components/Notification/Doc.mdx +++ b/packages/storybook8/stories/Components/Notification/Doc.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { Notification } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as NotificationStories from './index.stories'; import NotificationExampleText from '!!raw-loader!./snippets/Notification.snippet'; diff --git a/packages/storybook8/stories/Components/NotificationStack/Doc.mdx b/packages/storybook8/stories/Components/NotificationStack/Doc.mdx index 19fcba699d5..00726448ba5 100644 --- a/packages/storybook8/stories/Components/NotificationStack/Doc.mdx +++ b/packages/storybook8/stories/Components/NotificationStack/Doc.mdx @@ -1,5 +1,5 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { NotificationStack } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as NotificationStackStories from './index.stories'; import NotificationStackExampleText from '!!raw-loader!./snippets/NotificationStack.snippet'; diff --git a/packages/storybook8/stories/Components/Participantitem/Docs.mdx b/packages/storybook8/stories/Components/Participantitem/Docs.mdx index 40abe58dbd2..f06ece4a068 100644 --- a/packages/storybook8/stories/Components/Participantitem/Docs.mdx +++ b/packages/storybook8/stories/Components/Participantitem/Docs.mdx @@ -1,9 +1,9 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { ParticipantItem } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as ParticipantItemStories from './index.stories'; -import ParticipantItemExampleText from '!!raw-loader!./snippets/ParticipantItem.snippet.tsx'; import CustomAvatarExampleText from '!!raw-loader!./snippets/CustomAvatar.snippet.tsx'; import CustomIconExampleText from '!!raw-loader!./snippets/CustomIcon.snippet.tsx'; +import ParticipantItemExampleText from '!!raw-loader!./snippets/ParticipantItem.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx index 304bf0bacef..635143d62af 100644 --- a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx +++ b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/Docs.mdx @@ -1,16 +1,15 @@ +import { RichTextSendBox } from '@azure/communication-react'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; -import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; import { DetailedBetaBanner } from '../../../BetaBanners/DetailedBetaBanner'; -import { RichTextSendBox } from '@azure/communication-react'; +import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; +import * as RichTextSendBoxStories from './index.stories'; import RichTextSendBoxExampleText from '!!raw-loader!./snippets/RichTextSendBox.snippet.tsx'; import RichTextSendBoxAttachmentUploadsExampleText from '!!raw-loader!./snippets/RichTextSendBoxAttachmentUploads.snippet.tsx'; import RichTextSendBoxOnPasteCallbackExampleText from '!!raw-loader!./snippets/RichTextSendBoxOnPasteCallback.snippet.tsx'; import RichTextSendBoxWithInlineImagesExampleText from '!!raw-loader!./snippets/RichTextSendBoxWithInlineImages.snippet.tsx'; import RichTextSendBoxWithSystemMessageExampleText from '!!raw-loader!./snippets/RichTextSendBoxWithSystemMessage.snippet.tsx'; -import * as RichTextSendBoxStories from './index.stories'; - diff --git a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/RichTextSendBox.story.tsx b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/RichTextSendBox.story.tsx index 03f4cc5ea81..c206c4b4412 100644 --- a/packages/storybook8/stories/Components/SendBox/RichTextSendBox/RichTextSendBox.story.tsx +++ b/packages/storybook8/stories/Components/SendBox/RichTextSendBox/RichTextSendBox.story.tsx @@ -2,11 +2,11 @@ // Licensed under the MIT License. import { AttachmentMetadataInProgress, RichTextSendBox as RichTextSendBoxComponent } from '@azure/communication-react'; +// eslint-disable-next-line no-restricted-imports +import { _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY } from '@internal/acs-ui-common'; +// eslint-disable-next-line no-restricted-imports +import { _DEFAULT_INLINE_IMAGE_FILE_NAME } from '@internal/react-composites'; import React, { useState } from 'react'; -import { - _DEFAULT_INLINE_IMAGE_FILE_NAME, - _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY -} from '../../../../../react-composites/src/composites/common/constants'; const RichTextSendBoxStory = (args: { disabled: boolean | undefined; diff --git a/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx b/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx index 36590df4555..de11cd404bd 100644 --- a/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx +++ b/packages/storybook8/stories/Components/SendBox/SendBox/Docs.mdx @@ -1,8 +1,9 @@ import { SendBox } from '@azure/communication-react'; -import { Title, Description, Props, Heading, Source, Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; -import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; +import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import { DetailedBetaBanner } from '../../../BetaBanners/DetailedBetaBanner'; +import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; +import * as SendBoxStories from './index.stories'; import AttachmentUploadsExampleText from '!!raw-loader!./snippets/AttachmentUploads.snippet.tsx'; import CustomIconExampleText from '!!raw-loader!./snippets/CustomIcon.snippet.tsx'; import CustomStylingExampleText from '!!raw-loader!./snippets/CustomStyling.snippet.tsx'; @@ -10,8 +11,6 @@ import MentionsExampleText from '!!raw-loader!./snippets/Mentions.snippet.tsx'; import SendBoxExampleText from '!!raw-loader!./snippets/SendBox.snippet.tsx'; import SendBoxWithSystemMessageExampleText from '!!raw-loader!./snippets/SendBoxWithSystemMessage.snippet.tsx'; -import * as SendBoxStories from './index.stories'; - # SendBox diff --git a/packages/storybook8/stories/Components/SitePermissions/Docs.mdx b/packages/storybook8/stories/Components/SitePermissions/Docs.mdx index 0189b0e8120..518d8cf9062 100644 --- a/packages/storybook8/stories/Components/SitePermissions/Docs.mdx +++ b/packages/storybook8/stories/Components/SitePermissions/Docs.mdx @@ -1,7 +1,7 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { CameraSitePermissions } from '@azure/communication-react'; -import * as SitePermissionsStories from './index.stories'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; +import * as SitePermissionsStories from './index.stories'; import SitePermissionsCheckModalExample from '!!raw-loader!./snippets/SitePermissionsCheckModal.snippet.tsx'; import SitePermissionsDeniedModalExample from '!!raw-loader!./snippets/SitePermissionsDeniedModal.snippet.tsx'; import SitePermissionsExample from '!!raw-loader!./snippets/SitePermissionsExample.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx b/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx index 345f05fbec9..ffc12127c2b 100644 --- a/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx +++ b/packages/storybook8/stories/Components/TypingIndicator/Docs.mdx @@ -1,9 +1,9 @@ -import { Canvas, Meta, Source, ArgTypes } from '@storybook/blocks'; import { TypingIndicator } from '@azure/communication-react'; -import TypingIndicatorExampleText from '!!raw-loader!./snippets/TypingIndicator.snippet.tsx'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; +import * as TypingIndicatorStories from './index.stories'; import CustomizeStyleExampleText from '!!raw-loader!./snippets/CustomizeStyle.snippet.tsx'; import CustomizeUserRenderingExampleText from '!!raw-loader!./snippets/CustomizeUserRendering.snippet.tsx'; -import * as TypingIndicatorStories from './index.stories'; +import TypingIndicatorExampleText from '!!raw-loader!./snippets/TypingIndicator.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/UnsupportedBrowser/Docs.mdx b/packages/storybook8/stories/Components/UnsupportedBrowser/Docs.mdx index 08c502278a6..ac922e79238 100644 --- a/packages/storybook8/stories/Components/UnsupportedBrowser/Docs.mdx +++ b/packages/storybook8/stories/Components/UnsupportedBrowser/Docs.mdx @@ -1,7 +1,7 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { UnsupportedBrowser as UnsupportedBrowserComponent } from '@azure/communication-react'; -import * as UnsupportedBrowserStories from './index.stories'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; +import * as UnsupportedBrowserStories from './index.stories'; import UnsupportedBrowserExamples from '!!raw-loader!./snippets/UnsupportedBrowserExamples.snippet.tsx'; import UnsupportedEnvironmentModals from '!!raw-loader!./snippets/UnsupportedEnvironmentModal.snippet.tsx'; diff --git a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx index 342b946be85..99287f17453 100644 --- a/packages/storybook8/stories/Components/VideoGallery/Docs.mdx +++ b/packages/storybook8/stories/Components/VideoGallery/Docs.mdx @@ -1,22 +1,9 @@ -import { Image, Stack, Text } from '@fluentui/react'; -import { Canvas, Description, Meta, ArgTypes } from '@storybook/blocks'; -import { VideoGallery } from '@azure/communication-react'; +import { Link, Image, Stack, Text } from '@fluentui/react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import { yellowBannerPalette } from '../../BetaBanners/BannerPalettes'; import { StorybookBanner } from '../../BetaBanners/StorybookBanner'; import * as VideoGalleryStories from './index.stories'; -import { CustomAvatarVideoGalleryExample } from './snippets/CustomAvatar.snippet'; -import { CustomStyleVideoGalleryExample } from './snippets/CustomStyle.snippet'; -import { DefaultVideoGalleryExample } from './snippets/Default.snippet'; -import { FloatingLocalVideoExample } from './snippets/FloatingLocalVideo.snippet'; -import { FocusedContentExample } from './snippets/FocusedContent.snippet'; -import { MobileWrapper } from './snippets/MobileWrapper'; - -import { PinnedParticipantsMobileExample } from './snippets/PinnedParticipantsMobile.snippet'; -import { SpeakerLayoutExample } from './snippets/SpeakerLayout.snippet'; -import { WithHorizontalGalleryExample } from './snippets/WithHorizontalGallery.snippet'; -import { WithVerticalGalleryExample } from './snippets/WithVerticalGallery.snippet'; - import CustomAvatarVideoGalleryExampleText from '!!raw-loader!./snippets/CustomAvatar.snippet.tsx'; import CustomStyleVideoGalleryExampleText from '!!raw-loader!./snippets/CustomStyle.snippet.tsx'; import DefaultVideoGalleryExampleText from '!!raw-loader!./snippets/Default.snippet.tsx'; @@ -187,7 +174,7 @@ Currently, the VideoGallery component supports two primary features to enhance c - Screen Sharing: Share your local screen with participants in real-time or view remote screen shares. For more details, see the sections below. - PowerPoint Live: Exclusively view remote PowerPoint presentations. -
Learn more about PowerPoint Live. + Learn more about PowerPoint Live. ### From a presenter point of view diff --git a/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx b/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx index 5c180bb0468..7c5c10e55dc 100644 --- a/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx +++ b/packages/storybook8/stories/Components/VideoGallery/index.stories.tsx @@ -1,25 +1,25 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { Meta } from '@storybook/react'; import { VideoGallery } from '@azure/communication-react'; -import { FocusedContentExample } from './snippets/FocusedContent.snippet'; -import { SpeakerLayoutExample } from './snippets/SpeakerLayout.snippet'; -import { WithHorizontalGalleryExample } from './snippets/WithHorizontalGallery.snippet'; -import { WithVerticalGalleryExample } from './snippets/WithVerticalGallery.snippet'; -import { FloatingLocalVideoExample } from './snippets/FloatingLocalVideo.snippet'; -import { DefaultVideoGalleryExample } from './snippets/Default.snippet'; -import { ScreenSharingFromPresenterExample } from './snippets/ScreenSharingFromPresenter.snippet'; -import { ScreenSharingFromViewerExample } from './snippets/ScreenSharingFromViewer.snippet'; +import { Meta } from '@storybook/react'; +import React from 'react'; import { CustomAvatarVideoGalleryExample } from './snippets/CustomAvatar.snippet'; import { CustomStyleVideoGalleryExample } from './snippets/CustomStyle.snippet'; +import { DefaultVideoGalleryExample } from './snippets/Default.snippet'; +import { FloatingLocalVideoExample } from './snippets/FloatingLocalVideo.snippet'; +import { FocusedContentExample } from './snippets/FocusedContent.snippet'; import { LocalCameraSwitcherExample } from './snippets/LocalCameraSwitcher.snippet'; -import { PinnedParticipantsDisabledExample } from './snippets/PinnedParticipantsDisabled.snippet'; -import { PinnedParticipantsMobileExample } from './snippets/PinnedParticipantsMobile.snippet'; -import { MobileWrapper } from './snippets/MobileWrapper'; -import React from 'react'; import { ManagedPinnedParticipantsExample } from './snippets/ManagedPinnedParticipants.snippet'; +import { MobileWrapper } from './snippets/MobileWrapper'; import { OVC3x3VideoGalleryExample } from './snippets/OVC3x3.snippet'; +import { PinnedParticipantsDisabledExample } from './snippets/PinnedParticipantsDisabled.snippet'; +import { PinnedParticipantsMobileExample } from './snippets/PinnedParticipantsMobile.snippet'; +import { ScreenSharingFromPresenterExample } from './snippets/ScreenSharingFromPresenter.snippet'; +import { ScreenSharingFromViewerExample } from './snippets/ScreenSharingFromViewer.snippet'; +import { SpeakerLayoutExample } from './snippets/SpeakerLayout.snippet'; +import { WithHorizontalGalleryExample } from './snippets/WithHorizontalGallery.snippet'; +import { WithVerticalGalleryExample } from './snippets/WithVerticalGallery.snippet'; export const DefaultVideoGalleryExampleDocsOnly = { render: DefaultVideoGalleryExample diff --git a/packages/storybook8/stories/Components/VideoTile/Docs.mdx b/packages/storybook8/stories/Components/VideoTile/Docs.mdx index 45b313cfba4..79b08c0b0b6 100644 --- a/packages/storybook8/stories/Components/VideoTile/Docs.mdx +++ b/packages/storybook8/stories/Components/VideoTile/Docs.mdx @@ -1,10 +1,10 @@ -import { Canvas, Description, Meta, Source, ArgTypes } from '@storybook/blocks'; import { VideoTile } from '@azure/communication-react'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as VideoTileStories from './index.stories'; +import VideoTileStylineExampleText from '!!raw-loader!./snippets/StylingVideoTile.snippet'; import VideoTileExampleText from '!!raw-loader!./snippets/VideoTile.snippet'; import VideoTileMenuItemsExampleText from '!!raw-loader!./snippets/VideoTileMenuItems.snippet'; import VideoTilePlaceholderText from '!!raw-loader!./snippets/VideoTilePlaceholder.snippet'; -import VideoTileStylineExampleText from '!!raw-loader!./snippets/StylingVideoTile.snippet'; diff --git a/packages/storybook8/stories/Composites/CallComposite/BasicExample.stories.tsx b/packages/storybook8/stories/Composites/CallComposite/BasicExample.stories.tsx index 8d03056e73e..5a4dd8bb73e 100644 --- a/packages/storybook8/stories/Composites/CallComposite/BasicExample.stories.tsx +++ b/packages/storybook8/stories/Composites/CallComposite/BasicExample.stories.tsx @@ -6,7 +6,7 @@ import { Meta } from '@storybook/react'; import React, { useMemo } from 'react'; import { v1 as createGUID } from 'uuid'; import { compositeExperienceContainerStyle } from '../../constants'; -import { ArgsFrom, controlsToAdd, defaultCallCompositeHiddenControls, hiddenControl } from '../../controlsUtils'; +import { ArgsFrom, controlsToAdd, defaultCallCompositeHiddenControls } from '../../controlsUtils'; import { compositeLocale } from '../../localizationUtils'; import { ContosoCallContainer } from './snippets/Container.snippet'; import { ConfigHintBanner } from './snippets/Utils'; diff --git a/packages/storybook8/stories/Composites/CallComposite/Docs.mdx b/packages/storybook8/stories/Composites/CallComposite/Docs.mdx index 125cd7ec3be..d639e99fb83 100644 --- a/packages/storybook8/stories/Composites/CallComposite/Docs.mdx +++ b/packages/storybook8/stories/Composites/CallComposite/Docs.mdx @@ -1,11 +1,10 @@ -import { Canvas, Meta, Source, ArgTypes } from '@storybook/blocks'; -import { CallComposite } from '@azure/communication-react'; import { MessageBar, Stack, Text } from '@fluentui/react'; +import { Meta, Source, ArgTypes } from '@storybook/blocks'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; -import containerText from '!!raw-loader!./snippets/Container.snippet.tsx'; -import customDataModelExampleContainerText from '!!raw-loader!./snippets/CustomDataModelExampleContainer.snippet.tsx'; import { overviewPageImagesStackStyle } from '../../constants'; import * as CallCompositeStories from './index.stories'; +import containerText from '!!raw-loader!./snippets/Container.snippet.tsx'; +import customDataModelExampleContainerText from '!!raw-loader!./snippets/CustomDataModelExampleContainer.snippet.tsx'; diff --git a/packages/storybook8/stories/Composites/CallComposite/index.stories.tsx b/packages/storybook8/stories/Composites/CallComposite/index.stories.tsx index e184cdbca7c..79f03e97342 100644 --- a/packages/storybook8/stories/Composites/CallComposite/index.stories.tsx +++ b/packages/storybook8/stories/Composites/CallComposite/index.stories.tsx @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { Meta } from '@storybook/react'; import { CallComposite } from '@azure/communication-react'; +import { Meta } from '@storybook/react'; import { BasicExample } from './BasicExample.stories'; export const BasicExampleDocsOnly = (): JSX.Element => { diff --git a/packages/storybook8/stories/Composites/CallWithChatComposite/BasicExample.stories.tsx b/packages/storybook8/stories/Composites/CallWithChatComposite/BasicExample.stories.tsx index 1385c308db6..4f6bd098c33 100644 --- a/packages/storybook8/stories/Composites/CallWithChatComposite/BasicExample.stories.tsx +++ b/packages/storybook8/stories/Composites/CallWithChatComposite/BasicExample.stories.tsx @@ -6,12 +6,7 @@ import { Stack } from '@fluentui/react'; import { Meta } from '@storybook/react'; import React, { useState, useEffect } from 'react'; import { compositeExperienceContainerStyle } from '../../constants'; -import { - ArgsFrom, - controlsToAdd, - defaultCallWithChatCompositeHiddenControls, - hiddenControl -} from '../../controlsUtils'; +import { ArgsFrom, controlsToAdd, defaultCallWithChatCompositeHiddenControls } from '../../controlsUtils'; import { CallWithChatExampleProps } from './snippets/CallWithChat.snippet'; import { CallWithChatExperienceWithErrorChecks } from './snippets/CallWithChatWithErrorChecks.snippet'; import { createCallWithChat } from './snippets/Server.snippet'; diff --git a/packages/storybook8/stories/Composites/CallWithChatComposite/Docs.mdx b/packages/storybook8/stories/Composites/CallWithChatComposite/Docs.mdx index cdc3e6bdb42..60b98b02335 100644 --- a/packages/storybook8/stories/Composites/CallWithChatComposite/Docs.mdx +++ b/packages/storybook8/stories/Composites/CallWithChatComposite/Docs.mdx @@ -1,10 +1,9 @@ import { Image, Stack, MessageBar } from '@fluentui/react'; import { Meta, Source } from '@storybook/addon-docs'; -import { useEffect, useRef } from 'react'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; +import { overviewPageImagesStackStyle } from '../../constants'; import containerText from '!!raw-loader!./snippets/CallWithChat.snippet.tsx'; import serverText from '!!raw-loader!./snippets/Server.snippet.tsx'; -import { overviewPageImagesStackStyle } from '../../constants'; diff --git a/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx b/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx index 1d027eb6cbb..2ea06ebba52 100644 --- a/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx +++ b/packages/storybook8/stories/Composites/ChatComposite/Docs.mdx @@ -1,11 +1,9 @@ -import { Canvas, Meta, Source, ArgTypes } from '@storybook/blocks'; -import { ChatComposite } from '@azure/communication-react'; import { Stack } from '@fluentui/react'; +import { Meta, Source, ArgTypes } from '@storybook/blocks'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; +import { overviewPageImagesStackStyle } from '../../constants'; import * as ChatCompositStory from './index.stories'; -import { JoinExistingChatThread } from './JoinExistingChatThread.stories'; -import { overviewPageImagesStackStyle } from '../../constants'; import containerText from '!!raw-loader!./snippets/Container.snippet.tsx'; import customDataModelExampleContainerText from '!!raw-loader!./snippets/CustomDataModelExampleContainer.snippet.tsx'; import customDateTimeFormatExampleText from '!!raw-loader!./snippets/CustomDateTimeFormat.snippet.tsx'; diff --git a/packages/storybook8/stories/Concepts/ClosedCaptions/Doc.mdx b/packages/storybook8/stories/Concepts/ClosedCaptions/Doc.mdx index d8e043d010f..eff9d8534b9 100644 --- a/packages/storybook8/stories/Concepts/ClosedCaptions/Doc.mdx +++ b/packages/storybook8/stories/Concepts/ClosedCaptions/Doc.mdx @@ -1,8 +1,8 @@ +import { Stack, PrimaryButton } from '@fluentui/react'; import { Meta, Source } from '@storybook/addon-docs'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; -import { exampleDisableCaptions } from './snippets/ClosedCaptions.snippet.tsx'; -import { Image, Stack, PrimaryButton } from '@fluentui/react'; import { overviewPageImagesStackStyle } from '../../constants'; +import { exampleDisableCaptions } from './snippets/ClosedCaptions.snippet.tsx'; diff --git a/packages/storybook8/stories/Concepts/Icons/Docs.mdx b/packages/storybook8/stories/Concepts/Icons/Docs.mdx index f6b3f5c1149..f186a564b73 100644 --- a/packages/storybook8/stories/Concepts/Icons/Docs.mdx +++ b/packages/storybook8/stories/Concepts/Icons/Docs.mdx @@ -1,5 +1,5 @@ import { DEFAULT_COMPONENT_ICONS, DEFAULT_COMPOSITE_ICONS } from '@azure/communication-react'; -import { Meta, Canvas, Source } from '@storybook/addon-docs'; +import { Meta, Source } from '@storybook/addon-docs'; import { IconGridWithSearch } from './IconGrid'; diff --git a/packages/storybook8/stories/Concepts/Styling/Docs.mdx b/packages/storybook8/stories/Concepts/Styling/Docs.mdx index 00f1cc1b254..1de9cd18cef 100644 --- a/packages/storybook8/stories/Concepts/Styling/Docs.mdx +++ b/packages/storybook8/stories/Concepts/Styling/Docs.mdx @@ -1,4 +1,4 @@ -import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'; +import { Meta, Source } from '@storybook/addon-docs'; import { ControlBarExample } from './ControlBar.story'; import { VideoTileExample } from './VideoTile.story'; diff --git a/packages/storybook8/stories/Concepts/Survey/utils/SurveyExample.tsx b/packages/storybook8/stories/Concepts/Survey/utils/SurveyExample.tsx index 1b733f46bc4..bf03be22359 100644 --- a/packages/storybook8/stories/Concepts/Survey/utils/SurveyExample.tsx +++ b/packages/storybook8/stories/Concepts/Survey/utils/SurveyExample.tsx @@ -3,8 +3,16 @@ import { CallSurvey } from '@azure/communication-calling'; import { CallSurveyImprovementSuggestions, DEFAULT_COMPONENT_ICONS } from '@azure/communication-react'; -import { Text, PrimaryButton, Stack, Theme, mergeStyles, useTheme } from '@fluentui/react'; -import { initializeIcons, registerIcons } from '@fluentui/react'; +import { + Text, + PrimaryButton, + Stack, + Theme, + mergeStyles, + useTheme, + initializeIcons, + registerIcons +} from '@fluentui/react'; import React, { useState } from 'react'; import { SurveyContent } from '../../../../../react-composites/src/composites/common/SurveyContent'; diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/Docs.mdx b/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/Docs.mdx index 9bcb79cea4f..89f1df5a34d 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/Docs.mdx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/Docs.mdx @@ -1,7 +1,7 @@ import { Meta, Source } from '@storybook/addon-docs'; -import ComplianceBannerText from '!!raw-loader!./snippets/ComplianceBanner.snippet.tsx'; import CallComponentText from '!!raw-loader!./snippets/CallComponent.snippet.tsx'; +import ComplianceBannerText from '!!raw-loader!./snippets/ComplianceBanner.snippet.tsx'; diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/index.stories.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/index.stories.tsx index 377be831a29..e5e45b05cab 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/index.stories.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/ComplianceBanner/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; import { ComplianceBanner as ComplianceBannerComponent } from './ComplianceBanner.story'; diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/Docs.mdx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/Docs.mdx index e02072fb453..7fdd3017a3b 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/Docs.mdx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/Docs.mdx @@ -1,5 +1,5 @@ -import { Meta, Source } from '@storybook/addon-docs'; import { Stack } from '@fluentui/react'; +import { Meta, Source } from '@storybook/addon-docs'; diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/JoinMeetingWithLink.story.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/JoinMeetingWithLink.story.tsx index 76436ac3dee..24d178e146b 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/JoinMeetingWithLink.story.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/JoinMeetingWithLink.story.tsx @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, useEffect } from 'react'; import { Stack } from '@fluentui/react'; +import React, { useState, useEffect } from 'react'; +import { compositeExperienceContainerStyle } from '../../constants'; +import { ArgsFrom, controlsToAdd } from '../utils/controlsUtils'; +import { ConfigJoinMeetingHintBanner } from '../utils/Utils'; import { CallWithChatExampleProps } from './snippets/CallWithChat.snippet'; import { CallWithChatExperienceWithErrorChecks } from './snippets/CallWithChatWithErrorChecks.snippet'; -import { ConfigJoinMeetingHintBanner } from '../utils/Utils'; -import { compositeExperienceContainerStyle } from '../../constants'; -import { ArgsFrom, controlsToAdd, defaultCallWithChatCompositeHiddenControls } from '../utils/controlsUtils'; export const storyControls = { userId: controlsToAdd.userId, diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/index.stories.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/index.stories.tsx index 5ce6e5ceed8..0df61f27731 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/index.stories.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithLink/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; -import { JoinMeetingWithLink as JoinMeetingWithLinkComponent, storyControls } from './JoinMeetingWithLink.story'; import { defaultCallWithChatCompositeHiddenControls } from '../utils/controlsUtils'; +import { JoinMeetingWithLink as JoinMeetingWithLinkComponent, storyControls } from './JoinMeetingWithLink.story'; export const JoinMeetingWithLink = { render: JoinMeetingWithLinkComponent diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/Docs.mdx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/Docs.mdx index 89f5a162dfa..14a04f7d075 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/Docs.mdx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/Docs.mdx @@ -1,5 +1,5 @@ -import { Meta, Source } from '@storybook/addon-docs'; import { Stack } from '@fluentui/react'; +import { Meta, Source } from '@storybook/addon-docs'; @@ -13,13 +13,15 @@ useful if you want to explore the composite with multiple users. There are two w - Outlook. Open the meeting you want to join. At the bottom of the meeting invitation under Or join by enteringa meeting ID, you'll find the ID and passcode. - Teams.Open the meeting you want to join. Click on the three dots at the top right of the meeting window and select meeting info. - - Get Teams MeetingId and passcode from Teams - + + + Get Teams MeetingId and passcode from Teams + ## Use Graph API to get or create meeting diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/JoinMeetingWithMeetingId.story.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/JoinMeetingWithMeetingId.story.tsx index 4416a641506..8882b1d0742 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/JoinMeetingWithMeetingId.story.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/JoinMeetingWithMeetingId.story.tsx @@ -4,11 +4,11 @@ import { Stack } from '@fluentui/react'; import React, { useState, useEffect } from 'react'; -import { CallWithChatExampleProps } from './snippets/CallWithChat.snippet'; -import { CallWithChatExperienceWithErrorChecks } from './snippets/CallWithChatWithErrorChecks.snippet'; -import { ConfigJoinMeetingHintBanner } from '../utils/Utils'; import { compositeExperienceContainerStyle } from '../../constants'; import { controlsToAdd, ArgsFrom } from '../utils/controlsUtils'; +import { ConfigJoinMeetingHintBanner } from '../utils/Utils'; +import { CallWithChatExampleProps } from './snippets/CallWithChat.snippet'; +import { CallWithChatExperienceWithErrorChecks } from './snippets/CallWithChatWithErrorChecks.snippet'; export const storyControls = { userId: controlsToAdd.userId, diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/index.stories.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/index.stories.tsx index b64b3f69464..a48436536d5 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/index.stories.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/JoinMeetingWithMeetingId/index.stories.tsx @@ -1,9 +1,11 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; +import { defaultCallWithChatCompositeHiddenControls } from '../utils/controlsUtils'; import { JoinMeetingWithMeetingId as JoinMeetingWithMeetingIdComponent, storyControls } from './JoinMeetingWithMeetingId.story'; -import { defaultCallWithChatCompositeHiddenControls } from '../utils/controlsUtils'; export const JoinMeetingWithMeetingId = { render: JoinMeetingWithMeetingIdComponent diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/Lobby.story.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/Lobby.story.tsx index 02e700642eb..89586edbdca 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/Lobby.story.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/Lobby.story.tsx @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { Stack } from '@fluentui/react'; import React from 'react'; -import { Lobby as LobbyComponent, LobbyProps } from './snippets/Lobby.snippet'; import { compositeExperienceContainerStyle } from '../../constants'; -import { Stack } from '@fluentui/react'; +import { Lobby as LobbyComponent, LobbyProps } from './snippets/Lobby.snippet'; const LobbyStory: (args: LobbyProps) => JSX.Element = (args) => { return ( diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/index.stories.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/index.stories.tsx index 5e8a9edf31c..f361dfd9bae 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/index.stories.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; -import { Lobby as LobbyComponent } from './Lobby.story'; import { controlsToAdd } from '../utils/controlsUtils'; +import { Lobby as LobbyComponent } from './Lobby.story'; export const Lobby = { render: LobbyComponent diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/snippets/Lobby.snippet.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/snippets/Lobby.snippet.tsx index b7ae669164b..3529541e947 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/snippets/Lobby.snippet.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/Lobby/snippets/Lobby.snippet.tsx @@ -9,11 +9,11 @@ import { useTheme, DEFAULT_COMPONENT_ICONS } from '@azure/communication-react'; +import { initializeIcons, registerIcons } from '@fluentui/react'; import React from 'react'; // Don't import this. It's just a helper for the story. import { useVideoStreams } from '../../../../utils'; -import { initializeIcons, registerIcons } from '@fluentui/react'; export interface LobbyProps { isVideoReady: boolean; diff --git a/packages/storybook8/stories/Concepts/TeamsInterop/utils/Utils.tsx b/packages/storybook8/stories/Concepts/TeamsInterop/utils/Utils.tsx index ac16f43412a..66242941e44 100644 --- a/packages/storybook8/stories/Concepts/TeamsInterop/utils/Utils.tsx +++ b/packages/storybook8/stories/Concepts/TeamsInterop/utils/Utils.tsx @@ -2,8 +2,8 @@ // Licensed under the MIT License. import React from 'react'; -import { CompositeConnectionParamsErrMessage } from './CompositeStringUtils'; import { MICROSOFT_AZURE_ACCESS_TOKEN_QUICKSTART } from '../../constants'; +import { CompositeConnectionParamsErrMessage } from './CompositeStringUtils'; export const ConfigHintBanner = (): JSX.Element => { const emptyConfigTips = ( diff --git a/packages/storybook8/stories/Concepts/Theming/Docs.mdx b/packages/storybook8/stories/Concepts/Theming/Docs.mdx index a207adb0ff1..0048b08cc54 100644 --- a/packages/storybook8/stories/Concepts/Theming/Docs.mdx +++ b/packages/storybook8/stories/Concepts/Theming/Docs.mdx @@ -1,4 +1,4 @@ -import { Meta, Controls, Primary, Source, Canvas } from '@storybook/addon-docs'; +import { Meta, Source, Canvas } from '@storybook/addon-docs'; import * as ThemingStories from './index.stories'; import DarkControlBarText from '!!raw-loader!./snippets/DarkControlBar.snippet.tsx'; diff --git a/packages/storybook8/stories/Examples/CustomButtonInjection/CustomButtonInjection.story.tsx b/packages/storybook8/stories/Examples/CustomButtonInjection/CustomButtonInjection.story.tsx index 7cdf79cf038..6621ba6481b 100644 --- a/packages/storybook8/stories/Examples/CustomButtonInjection/CustomButtonInjection.story.tsx +++ b/packages/storybook8/stories/Examples/CustomButtonInjection/CustomButtonInjection.story.tsx @@ -1,6 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { CallComposite, CustomCallControlButtonCallback } from '@azure/communication-react'; + +// eslint-disable-next-line no-restricted-imports import { _MockCallAdapter } from '@internal/react-composites'; import React from 'react'; diff --git a/packages/storybook8/stories/Examples/CustomButtonInjection/Docs.mdx b/packages/storybook8/stories/Examples/CustomButtonInjection/Docs.mdx index 7c11977d09e..aea340a0b3e 100644 --- a/packages/storybook8/stories/Examples/CustomButtonInjection/Docs.mdx +++ b/packages/storybook8/stories/Examples/CustomButtonInjection/Docs.mdx @@ -1,8 +1,8 @@ +import { initializeIcons } from '@fluentui/react'; import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; -import { CustomButtonInjection as CustomButtonInjectionComponent } from './snippets/CustomButtonInjectionTypes'; -import * as CustomButtonInjectionStories from './index.stories'; import { addCSS } from '../../utils'; -import { initializeIcons } from '@fluentui/react'; +import * as CustomButtonInjectionStories from './index.stories'; +import { CustomButtonInjection as CustomButtonInjectionComponent } from './snippets/CustomButtonInjectionTypes'; import CustomButtonWithAsyncStateExampleText from '!!raw-loader!./snippets/CustomButtonWithAsyncStateText.snippet.tsx'; import CustomButtonWithStateExampleText from '!!raw-loader!./snippets/CustomButtonWithStateText.snippet.tsx'; diff --git a/packages/storybook8/stories/Examples/CustomButtonInjection/index.stories.tsx b/packages/storybook8/stories/Examples/CustomButtonInjection/index.stories.tsx index c4be8909f4a..8e006b08105 100644 --- a/packages/storybook8/stories/Examples/CustomButtonInjection/index.stories.tsx +++ b/packages/storybook8/stories/Examples/CustomButtonInjection/index.stories.tsx @@ -3,7 +3,6 @@ import { Meta } from '@storybook/react'; import { controlsToAdd, hiddenControl } from '../../controlsUtils'; -import { CustomButtonInjection as CustomButtonInjectionComponent } from './snippets/CustomButtonInjectionTypes'; import { CustomButtonWithAsyncStateExample, CustomButtonWithStateExample, @@ -13,6 +12,7 @@ import { PrimaryCustomButtonInjectionExample, SecondaryCustomButtonInjectionExample } from './snippets/CustomButtonImages'; +import { CustomButtonInjection as CustomButtonInjectionComponent } from './snippets/CustomButtonInjectionTypes'; export { CustomButtonInjection } from './CustomButtonInjection.story'; diff --git a/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/LegacyControlBarCustomButtonInjection.snippet.tsx b/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/LegacyControlBarCustomButtonInjection.snippet.tsx index a9ac06332a4..2e828058e5b 100644 --- a/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/LegacyControlBarCustomButtonInjection.snippet.tsx +++ b/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/LegacyControlBarCustomButtonInjection.snippet.tsx @@ -2,8 +2,8 @@ import { CallComposite, CustomCallControlButtonCallback } from '@azure/communica // eslint-disable-next-line no-restricted-imports import { _MockCallAdapter } from '@internal/react-composites'; import React from 'react'; -import { compositeCanvasContainerStyles } from './CustomButtonInjectionTypes'; import { addCSS } from '../../../utils'; +import { compositeCanvasContainerStyles } from './CustomButtonInjectionTypes'; //boiler plate for testing const maxCustomButtonsForInjection: CustomCallControlButtonCallback[] = [ diff --git a/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/OverflowCustomButtonInjection.snippet.tsx b/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/OverflowCustomButtonInjection.snippet.tsx index 8091ead215f..5895bfe8580 100644 --- a/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/OverflowCustomButtonInjection.snippet.tsx +++ b/packages/storybook8/stories/Examples/CustomButtonInjection/snippets/OverflowCustomButtonInjection.snippet.tsx @@ -2,8 +2,8 @@ import { CallComposite, CustomCallControlButtonCallback } from '@azure/communica // eslint-disable-next-line no-restricted-imports import { _MockCallAdapter } from '@internal/react-composites'; import React from 'react'; -import { compositeCanvasContainerStyles } from './CustomButtonInjectionTypes'; import { addCSS } from '../../../utils'; +import { compositeCanvasContainerStyles } from './CustomButtonInjectionTypes'; const generatePlaceHolderButton = (name: string): CustomCallControlButtonCallback => { return () => ({ diff --git a/packages/storybook8/stories/Examples/DeviceSettings/index.stories.tsx b/packages/storybook8/stories/Examples/DeviceSettings/index.stories.tsx index 2eea14e8157..dffa5bb69e2 100644 --- a/packages/storybook8/stories/Examples/DeviceSettings/index.stories.tsx +++ b/packages/storybook8/stories/Examples/DeviceSettings/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; import { DeviceSettings as DeviceSettingsStory } from './DeviceSettingsDropDown.story'; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/Docs.mdx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/Docs.mdx index 2bacba30841..365071c6fbc 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/Docs.mdx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/Docs.mdx @@ -1,4 +1,4 @@ -import { Canvas, Meta, Source } from '@storybook/blocks'; +import { Meta, Source } from '@storybook/blocks'; import * as IncomingCallModalStories from './index.stories'; import exampleIncomingCallModalText from '!!raw-loader!./snippets/exampleIncomingCallModal.snippet.tsx'; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/IncomingCallModal.story.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/IncomingCallModal.story.tsx index 4566a196025..0d79c9a93bd 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/IncomingCallModal.story.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/IncomingCallModal.story.tsx @@ -2,8 +2,8 @@ // Licensed under the MIT License. import React, { useState } from 'react'; -import { IncomingCallModal as IncomingCallModalComponent } from './snippets/exampleIncomingCallModal.snippet'; import { useVideoStreams } from '../../../utils'; +import { IncomingCallModal as IncomingCallModalComponent } from './snippets/exampleIncomingCallModal.snippet'; const IncomingCallModalStory = (args): JSX.Element => { const videoStreamElements = useVideoStreams(args.localVideoStreamEnabled ? 1 : 0); diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx index 3d74c5b53b1..d42ec91c7e6 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react/*'; import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; import { IncomingCallModal as IncomingCallModalStory } from './IncomingCallModal.story'; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/snippets/exampleIncomingCallModal.snippet.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/snippets/exampleIncomingCallModal.snippet.tsx index efc356c11d0..4e373e64875 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/snippets/exampleIncomingCallModal.snippet.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallModal/snippets/exampleIncomingCallModal.snippet.tsx @@ -1,9 +1,18 @@ import { StreamMedia, VideoTile } from '@azure/communication-react'; -import { DefaultButton, Persona, PersonaSize, Stack, Dialog, DialogType, DialogFooter } from '@fluentui/react'; +import { + DefaultButton, + Persona, + PersonaSize, + Stack, + Dialog, + DialogType, + DialogFooter, + DefaultPalette, + mergeStyles +} from '@fluentui/react'; +import { useBoolean } from '@fluentui/react-hooks'; import { VideoOff20Regular, Video20Regular } from '@fluentui/react-icons'; -import { DefaultPalette, mergeStyles } from '@fluentui/react'; import React from 'react'; -import { useBoolean } from '@fluentui/react-hooks'; const palette = DefaultPalette; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/Docs.mdx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/Docs.mdx index ded5474d18c..445702e911e 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/Docs.mdx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/Docs.mdx @@ -1,4 +1,4 @@ -import { Canvas, Meta, Source } from '@storybook/blocks'; +import { Meta, Source } from '@storybook/blocks'; import * as IncomingCallToastStories from './index.stories'; import exampleIncomingCallToastText from '!!raw-loader!./snippets/exampleIncomingCallToast.snippet.tsx'; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/index.stories.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/index.stories.tsx index 1918e87736a..8717c0489c2 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/index.stories.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; import { IncomingCallToast as IncomingCallToastStory } from './IncomingCallToast.story'; diff --git a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/snippets/exampleIncomingCallToast.snippet.tsx b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/snippets/exampleIncomingCallToast.snippet.tsx index 3dcd8830801..27c89ad6b2e 100644 --- a/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/snippets/exampleIncomingCallToast.snippet.tsx +++ b/packages/storybook8/stories/Examples/IncomingCallAlerts/IncomingCallToast/snippets/exampleIncomingCallToast.snippet.tsx @@ -1,6 +1,5 @@ -import { IconButton, Persona, PersonaSize, Stack } from '@fluentui/react'; +import { IconButton, Persona, PersonaSize, Stack, DefaultPalette, mergeStyles } from '@fluentui/react'; import { CallEnd20Filled, Call20Filled } from '@fluentui/react-icons'; -import { DefaultPalette, mergeStyles } from '@fluentui/react'; import React from 'react'; const palette = DefaultPalette; diff --git a/packages/storybook8/stories/Examples/LocalPreview/index.stories.tsx b/packages/storybook8/stories/Examples/LocalPreview/index.stories.tsx index 21dee9d5d5b..30284ed4bcc 100644 --- a/packages/storybook8/stories/Examples/LocalPreview/index.stories.tsx +++ b/packages/storybook8/stories/Examples/LocalPreview/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react/*'; import { controlsToAdd } from '../../controlsUtils'; import { LocalPreview as LocalPreviewExample } from './LocalPreview.story'; diff --git a/packages/storybook8/stories/Examples/Themes/index.stories.tsx b/packages/storybook8/stories/Examples/Themes/index.stories.tsx index 5e2c20b6991..f736c77e233 100644 --- a/packages/storybook8/stories/Examples/Themes/index.stories.tsx +++ b/packages/storybook8/stories/Examples/Themes/index.stories.tsx @@ -1,3 +1,5 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { Meta } from '@storybook/react'; import { TeamsTheme as TeamsThemeExample } from './TeamsTheme.story'; diff --git a/packages/storybook8/stories/Feedback.mdx b/packages/storybook8/stories/Feedback.mdx index c6b9a3b6843..a0933cb103d 100644 --- a/packages/storybook8/stories/Feedback.mdx +++ b/packages/storybook8/stories/Feedback.mdx @@ -1,22 +1,9 @@ import { DefaultButton } from '@fluentui/react'; import { Meta } from '@storybook/addon-docs'; -import { addCSS } from './utils';
- # Feedback diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/BrowserPermissionDenied/Docs.mdx b/packages/storybook8/stories/INTERNAL/CallReadiness/BrowserPermissionDenied/Docs.mdx index fba41a84927..f0eddeb9930 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/BrowserPermissionDenied/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/BrowserPermissionDenied/Docs.mdx @@ -1,69 +1,66 @@ -import { Meta, Canvas, ArgTypes } from '@storybook/addon-docs'; -import { Stack } from '@fluentui/react'; -import * as BrowserPermissionDeniedStories from './index.stories'; -import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; -import BrowserPemissionDeniedModalText from '!!raw-loader!./snippets/BrowserPermissionDeniedModal.snippet'; -import BrowserPemissionDeniedDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedDrawer.snippet'; -import BrowserPemissionDeniedIOSDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedIOSDrawer.snippet'; -import BrowserPemissionDeniedAndroidDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedAndroidDrawer.snippet'; import { BrowserPermissionDenied as BrowserPermissionDeniedComponent, BrowserPermissionDeniedIOS as BrowserPermissionDeniedIOSComponent } from '@internal/react-components'; -import { BrowserPermissionDeniedIOSDrawer } from './snippets/BrowserPermissionDeniedIOSDrawer.snippet'; +import { Meta, Canvas, ArgTypes } from '@storybook/addon-docs'; +import { SingleLineBetaBanner } from '../../../BetaBanners/SingleLineBetaBanner'; +import * as BrowserPermissionDeniedStories from './index.stories'; +import BrowserPemissionDeniedAndroidDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedAndroidDrawer.snippet'; +import BrowserPemissionDeniedDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedDrawer.snippet'; +import BrowserPemissionDeniedIOSDrawerText from '!!raw-loader!./snippets/BrowserPermissionDeniedIOSDrawer.snippet'; +import BrowserPemissionDeniedModalText from '!!raw-loader!./snippets/BrowserPermissionDeniedModal.snippet'; - # Site Permissions - - - Component to display information to the end user when their browser is denied permission to access the camera - and microphone. + - ## Using in a modal +Component to display information to the end user when their browser is denied permission to access the camera +and microphone. - You are able to hide the BrowserPermissionDenied component in a Modal to show the help tile over your - applications user interface. +## Using in a modal - - +You are able to hide the BrowserPermissionDenied component in a Modal to show the help tile over your +applications user interface. - ## Using on mobile + - We provide a range of views for mobile and their different mobile operating systems. +## Using on mobile - The first mobile example is very similar to the modal view and is scaled down to fit within a mobile screen. +We provide a range of views for mobile and their different mobile operating systems. - +The first mobile example is very similar to the modal view and is scaled down to fit within a mobile screen. - + - ### IOS Specific View + - The second example is specific to iOS and provides options to add steps and an image for better troubleshooting. +### IOS Specific View - +The second example is specific to iOS and provides options to add steps and an image for better troubleshooting. - + - ### Android Specific View + - The last example is a generic view and can be used for operating systems that can have variety of UI differences - like Android devices. +### Android Specific View - - +The last example is a generic view and can be used for operating systems that can have variety of UI differences +like Android devices. - + - + diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/DevicePermissionDropdown.story.tsx b/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/DevicePermissionDropdown.story.tsx index d8a9683369d..48fe510423d 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/DevicePermissionDropdown.story.tsx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/DevicePermissionDropdown.story.tsx @@ -2,9 +2,13 @@ // Licensed under the MIT License. import { Icon, IDropdownStyles, mergeStyles } from '@fluentui/react'; -import { useTheme, _DevicePermissionDropdown } from '@internal/react-components'; +import { + useTheme, + _DevicePermissionDropdown, + _DevicePermissionDropdownProps, + _DevicePermissionDropdownStrings +} from '@internal/react-components'; import React from 'react'; -import { _DevicePermissionDropdownProps, _DevicePermissionDropdownStrings } from '@internal/react-components'; const DevicePermissionDropdownStory = (): JSX.Element => { const theme = useTheme(); diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/Docs.mdx b/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/Docs.mdx index 41a6a9154e3..4156395ace3 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/DevicePermissionDropdown/Docs.mdx @@ -1,7 +1,7 @@ +import { _DevicePermissionDropdown } from '@internal/react-components'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import * as DeviceDropdownStories from './index.stories'; import DevicePermissionDropdownStoryText from '!!raw-loader!./DevicePermissionDropdown.story'; -import { _DevicePermissionDropdown } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/Docs.mdx b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/Docs.mdx index e300eb5f8ff..69885edea1e 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/Docs.mdx @@ -1,7 +1,7 @@ +import { _TroubleshootingGuideErrorBar } from '@internal/react-components'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import * as TroubleshootingGuideErrorBarStories from './index.stories'; import TroubleshootingGuideErrorBarText from '!!raw-loader!./TroubleshootingGuideErrorBar.story'; -import { _TroubleshootingGuideErrorBar } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/TroubleshootingGuideErrorBar.story.tsx b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/TroubleshootingGuideErrorBar.story.tsx index bdff226a4d9..ebd4b06b6b8 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/TroubleshootingGuideErrorBar.story.tsx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/TroubleshootingGuideErrorBar.story.tsx @@ -2,13 +2,13 @@ // Licensed under the MIT License. import { mergeStyles } from '@fluentui/react'; -import React from 'react'; import { _TroubleshootingGuideErrorBarProps, _TroubleshootingGuideErrorBarStrings, _TroubleshootingGuideErrorBar, useTheme } from '@internal/react-components'; +import React from 'react'; const TroubleshootingGuideErrorBarStory = (args): JSX.Element => { const theme = useTheme(); diff --git a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/index.stories.tsx b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/index.stories.tsx index 8fc9f262111..2a739cf25d3 100644 --- a/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/CallReadiness/TroubleshootingGuideErrorBar/index.stories.tsx @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import { _TroubleshootingGuideErrorBar } from '@internal/react-components'; import { Meta } from '@storybook/react'; import { controlsToAdd, hiddenControl } from '../../../controlsUtils'; import { TroubleshootingGuideErrorBar } from './TroubleshootingGuideErrorBar.story'; export { TroubleshootingGuideErrorBar } from './TroubleshootingGuideErrorBar.story'; -import { _TroubleshootingGuideErrorBar } from '@internal/react-components'; export const TroubleshootingGuideErrorBarExampleDocsOnly = { render: TroubleshootingGuideErrorBar }; diff --git a/packages/storybook8/stories/INTERNAL/CaptionsBanner/Docs.mdx b/packages/storybook8/stories/INTERNAL/CaptionsBanner/Docs.mdx index 44947a20953..f18fc22349c 100644 --- a/packages/storybook8/stories/INTERNAL/CaptionsBanner/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/CaptionsBanner/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import { _CaptionsBanner } from '@internal/react-components'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as CaptionsBannerStories from './index.stories'; import CaptionsBannerExampleText from '!!raw-loader!./snippets/CaptionsBanner.snippet.tsx'; diff --git a/packages/storybook8/stories/INTERNAL/CaptionsSettingsModal/Docs.mdx b/packages/storybook8/stories/INTERNAL/CaptionsSettingsModal/Docs.mdx index 179f036b57d..41352069757 100644 --- a/packages/storybook8/stories/INTERNAL/CaptionsSettingsModal/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/CaptionsSettingsModal/Docs.mdx @@ -1,5 +1,5 @@ -import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import { _CaptionsSettingsModal } from '@internal/react-components'; +import { Canvas, Meta, ArgTypes } from '@storybook/blocks'; import * as CaptionsSettingsModalStories from './index.stories'; import CaptionsSettingsModalExampleText from '!!raw-loader!./snippets/CaptionsSettingsModal.snippet.tsx'; diff --git a/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/Docs.mdx b/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/Docs.mdx index cdea800f4f8..355f4e9d996 100644 --- a/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/Docs.mdx @@ -1,7 +1,7 @@ +import { _DrawerMenu } from '@internal/react-components'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import * as DrawerMenuStories from './index.stories'; import DrawerMenuText from '!!raw-loader!./DrawerMenu.story'; -import { _DrawerMenu } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/index.stories.tsx b/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/index.stories.tsx index 1999cc52729..e55e3db29c4 100644 --- a/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/Drawer/DrawerMenu/index.stories.tsx @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { Meta } from '@storybook/react'; import { _DrawerMenu as DrawerMenuComponent } from '@internal/react-components'; +import { Meta } from '@storybook/react'; import { hiddenControl } from '../../../controlsUtils'; import { DrawerMenu } from './DrawerMenu.story'; export { DrawerMenu } from './DrawerMenu.story'; diff --git a/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/Docs.mdx b/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/Docs.mdx index 7adfbcf2efd..5ae45f07cef 100644 --- a/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/Docs.mdx @@ -1,7 +1,7 @@ +import { _DrawerSurface } from '@internal/react-components'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import * as DrawerSurfaceStories from './index.stories'; import DrawerMenuText from '!!raw-loader!./DrawerSurface.story'; -import { _DrawerSurface } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/index.stories.tsx b/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/index.stories.tsx index c3d687f5815..17345f8fc6f 100644 --- a/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/Drawer/DrawerSurface/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import { _DrawerSurface as DrawerSurfaceComponent } from '@internal/react-components'; import { Meta } from '@storybook/react/*'; import { hiddenControl } from '../../../controlsUtils'; -import { _DrawerSurface as DrawerSurfaceComponent } from '@internal/react-components'; import { DrawerSurface } from './DrawerSurface.story'; export { DrawerSurface } from './DrawerSurface.story'; diff --git a/packages/storybook8/stories/INTERNAL/IncomingCallNotification/Docs.mdx b/packages/storybook8/stories/INTERNAL/IncomingCallNotification/Docs.mdx index 7584a6aac72..714e3b2e6bf 100644 --- a/packages/storybook8/stories/INTERNAL/IncomingCallNotification/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/IncomingCallNotification/Docs.mdx @@ -1,9 +1,7 @@ +import { IncomingCallNotification as IncomingCallNotificationComponent } from '@azure/communication-react'; import { Canvas, ArgTypes, Meta } from '@storybook/addon-docs'; -import * as IncomingCallNotificationStories from './index.stories'; import { SingleLineBetaBanner } from '../../BetaBanners/SingleLineBetaBanner'; -import { IncomingCallNotification as IncomingCallNotificationComponent } from '@azure/communication-react'; -import { IncomingCallNotificationExample } from './snippets/IncomingCallNotification.snippet'; -import { IncomingCallNotificationStylingExample } from './snippets/IncomingCallNotificationStyling.snippet'; +import * as IncomingCallNotificationStories from './index.stories'; import IncomingCallNotificationText from '!!raw-loader!./snippets/IncomingCallNotification.snippet'; import IncomingCallNotificationStylingText from '!!raw-loader!./snippets/IncomingCallNotificationStyling.snippet'; @@ -11,24 +9,27 @@ import IncomingCallNotificationStylingText from '!!raw-loader!./snippets/Incomin # Incoming Call Notification Component - + + +The incoming Call notification component is used to provide information to your users when they are recieving a +call. This UI component is to be used to represent a single incoming call. - The incoming Call notification component is used to provide information to your users when they are recieving a - call. This UI component is to be used to represent a single incoming call. + - +## Styling - ## Styling +Depending on your use of incoming call notification you might want to customize it to your needs. The component +includes API's to adjust the CSS on many different elements of the component. Below is an example of how you can +customize incoming call notification. - Depending on your use of incoming call notification you might want to customize it to your needs. The component - includes API's to adjust the CSS on many different elements of the component. Below is an example of how you can - customize incoming call notification. + - +## Props - ## Props - + diff --git a/packages/storybook8/stories/INTERNAL/IncomingCallNotification/index.stories.tsx b/packages/storybook8/stories/INTERNAL/IncomingCallNotification/index.stories.tsx index 9c540800b6e..07353a298a4 100644 --- a/packages/storybook8/stories/INTERNAL/IncomingCallNotification/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/IncomingCallNotification/index.stories.tsx @@ -2,9 +2,9 @@ // Licensed under the MIT License. import { IncomingCallNotification } from '@internal/react-components'; +import { Meta } from '@storybook/react'; import { IncomingCallNotificationExample } from './snippets/IncomingCallNotification.snippet'; import { IncomingCallNotificationStylingExample } from './snippets/IncomingCallNotificationStyling.snippet'; -import { Meta } from '@storybook/react'; export { IncomingCallNotificationExample } from './snippets/IncomingCallNotification.snippet'; diff --git a/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/Docs.mdx b/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/Docs.mdx index 066a828cce4..e2c4101cd5c 100644 --- a/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/Docs.mdx @@ -1,7 +1,7 @@ +import { _PictureInPictureInPicture } from '@internal/react-components'; import { Canvas, Meta, ArgTypes } from '@storybook/addon-docs'; import * as PictureInPictureInPictureStories from './index.stories'; import PictureInPictureInPictureText from '!!raw-loader!./PictureInPictureInPicture.story'; -import { _PictureInPictureInPicture } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/index.stories.tsx b/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/index.stories.tsx index af0e664a739..ec9de64f7e1 100644 --- a/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/PictureInPictureInPicture/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import { _PictureInPictureInPicture as PictureInPictureInPictureComponent } from '@internal/react-components'; import { Meta } from '@storybook/react'; import { hiddenControl, orientationArg } from '../../controlsUtils'; -import { _PictureInPictureInPicture as PictureInPictureInPictureComponent } from '@internal/react-components'; import { PictureInPictureInPicture } from './PictureInPictureInPicture.story'; export { PictureInPictureInPicture } from './PictureInPictureInPicture.story'; diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/Docs.mdx b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/Docs.mdx index 132e90f15b1..3395ee34c41 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/Docs.mdx @@ -1,8 +1,7 @@ +import { _StarSurvey as StarSurveyComponent } from '@internal/react-components'; import { Meta, Canvas, ArgTypes } from '@storybook/addon-docs'; import * as StarSurveyStories from './index.stories'; -import { StarSurveyExample } from './snippets/StarSurvey.snippet'; import ExampleSurveyText from '!!raw-loader!./snippets/StarSurvey.snippet.tsx'; -import { _StarSurvey as StarSurveyComponent } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/StarSurvey.story.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/StarSurvey.story.tsx index c6cc42ee85b..6104f98d70c 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/StarSurvey.story.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/StarSurvey.story.tsx @@ -3,14 +3,7 @@ import { mergeStyles } from '@fluentui/react'; import { _StarSurvey as StarSurveyComponent, useTheme } from '@internal/react-components'; -import { Canvas, Description, Heading, Props, Title } from '@storybook/addon-docs'; -import { Meta } from '@storybook/react/types-6-0'; import React from 'react'; -import { COMPONENT_FOLDER_PREFIX } from '../../../constants'; -import { hiddenControl } from '../../../controlsUtils'; -import { StarSurveyExample } from './snippets/StarSurvey.snippet'; - -const ExampleSurveyText = require('!!raw-loader!./snippets/StarSurvey.snippet.tsx').default; const StarSurveyStory = (args: any): JSX.Element => { const theme = useTheme(); diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/index.stories.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/index.stories.tsx index f606c7e56f8..7e3798320cc 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import { _StarSurvey as StarSurveyComponent } from '@internal/react-components'; import { Meta } from '@storybook/react'; import { hiddenControl } from '../../../controlsUtils'; -import { _StarSurvey as StarSurveyComponent } from '@internal/react-components'; import { StarSurveyExample } from './snippets/StarSurvey.snippet'; export { StarSurvey } from './StarSurvey.story'; diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/snippets/StarSurvey.snippet.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/snippets/StarSurvey.snippet.tsx index 67dd995af09..71e082bf610 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/snippets/StarSurvey.snippet.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/StarSurvey/snippets/StarSurvey.snippet.tsx @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { _StarSurvey as StarSurvey } from '@internal/react-components'; import { FluentThemeProvider } from '@azure/communication-react'; +import { _StarSurvey as StarSurvey } from '@internal/react-components'; import React from 'react'; export const StarSurveyExample: () => JSX.Element = () => { diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/Docs.mdx b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/Docs.mdx index 59e4713f1e8..5761308bb92 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/Docs.mdx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/Docs.mdx @@ -1,8 +1,7 @@ +import { _TagsSurvey as TagsSurveyComponent } from '@internal/react-components'; import { Meta, Canvas, ArgTypes } from '@storybook/addon-docs'; import * as TagsSurveyStories from './index.stories'; -import { TagsSurveyExample } from './snippets/TagsSurvey.snippet'; import ExampleSurveyText from '!!raw-loader!./snippets/TagsSurvey.snippet.tsx'; -import { _TagsSurvey as TagsSurveyComponent } from '@internal/react-components'; diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/TagsSurvey.story.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/TagsSurvey.story.tsx index ad23b3b63dc..e07ed3203e0 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/TagsSurvey.story.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/TagsSurvey.story.tsx @@ -10,11 +10,7 @@ import { _SurveyTag, _VideoIssue } from '@internal/react-components'; -import { Canvas, Description, Heading, Props, Title } from '@storybook/addon-docs'; import React from 'react'; -import { TagsSurveyExample } from './snippets/TagsSurvey.snippet'; - -const ExampleSurveyText = require('!!raw-loader!./snippets/TagsSurvey.snippet.tsx').default; const TagsSurveyStory = (): JSX.Element => { const strings = { diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/index.stories.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/index.stories.tsx index ef94d1ba3b3..826c2ab3313 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/index.stories.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/index.stories.tsx @@ -1,6 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. import { _TagsSurvey as TagsSurveyComponent } from '@internal/react-components'; -import { hiddenControl } from '../../../controlsUtils'; import { Meta } from '@storybook/react'; +import { hiddenControl } from '../../../controlsUtils'; import { TagsSurveyExample } from './snippets/TagsSurvey.snippet'; export { TagsSurvey } from './TagsSurvey.story'; diff --git a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/snippets/TagsSurvey.snippet.tsx b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/snippets/TagsSurvey.snippet.tsx index 7872522ad0f..516a93b6d7a 100644 --- a/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/snippets/TagsSurvey.snippet.tsx +++ b/packages/storybook8/stories/INTERNAL/SurveyComponents/TagsSurvey/snippets/TagsSurvey.snippet.tsx @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. +import { FluentThemeProvider } from '@azure/communication-react'; import { _TagsSurvey as TagsSurvey, _AudioIssue, @@ -10,7 +11,6 @@ import { _VideoIssue } from '@internal/react-components'; import React from 'react'; -import { FluentThemeProvider } from '@azure/communication-react'; export const TagsSurveyExample: () => JSX.Element = () => { const strings = { diff --git a/packages/storybook8/stories/Overview.mdx b/packages/storybook8/stories/Overview.mdx index 3151726e0a4..5595479e5a7 100644 --- a/packages/storybook8/stories/Overview.mdx +++ b/packages/storybook8/stories/Overview.mdx @@ -1,21 +1,15 @@ import { Image, Stack, Text } from '@fluentui/react'; -import { Markdown, Meta } from '@storybook/addon-docs'; +import { Meta } from '@storybook/addon-docs'; import { overviewPageImagesStackStyle, overviewPageUIArtifactTextStyle, overviewPageUIArtifactImageStyle, overviewPageUIArtifactsStackStyle } from './constants'; -import { addCSS } from './utils';
- diff --git a/packages/storybook8/stories/StatefulClient/Overview.mdx b/packages/storybook8/stories/StatefulClient/Overview.mdx index 9ede1b99db3..fc1fcef0e99 100644 --- a/packages/storybook8/stories/StatefulClient/Overview.mdx +++ b/packages/storybook8/stories/StatefulClient/Overview.mdx @@ -1,4 +1,4 @@ -import { Meta, Markdown } from '@storybook/addon-docs'; +import { Meta } from '@storybook/addon-docs'; From 3175367fe3592693b2a76a6c456040219e0a2d86 Mon Sep 17 00:00:00 2001 From: Chukwuebuka Nwankwo Date: Thu, 3 Oct 2024 14:26:51 -0500 Subject: [PATCH 41/58] Together mode client state and subscriber implementation (#5152) * Together mode client state and subscriber implementation --------- Co-authored-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> --- ...-367d1747-182e-425c-a897-cbcdfbc06ecd.json | 9 ++++ ...-43b808a4-0c26-4119-a26b-7d31efbb2b93.json | 9 ++++ ...-839f12bb-f1d6-43dc-9ba8-41fc6b17baaf.json | 9 ++++ ...-a9fb84d9-5a0a-43a1-b407-decf5c80312c.json | 9 ++++ ...-c5b508a6-370f-414d-9663-905d1ef3f69b.json | 9 ++++ ...-ebad70bc-6036-4b67-b5f9-438a20702e0e.json | 9 ++++ .../src/CallClientState.ts | 48 ++++++++++++++++++ .../src/CallContext.ts | 27 ++++++++++ .../src/CallSubscriber.ts | 12 +++++ .../calling-stateful-client/src/Converter.ts | 2 + .../src/StatefulCallClient.ts | 7 ++- .../src/StreamUtils.test.ts | 2 + .../src/StreamUtils.ts | 12 ++++- .../src/TogetherModeSubscriber.ts | 50 +++++++++++++++++++ .../src/index-public.ts | 5 ++ .../review/beta/communication-react.api.md | 21 +++++++- .../CallComposite/MockCallAdapter.ts | 5 ++ .../adapter/TestUtils.ts | 2 + .../tests/browser/call/hermetic/fixture.ts | 4 ++ 19 files changed, 247 insertions(+), 4 deletions(-) create mode 100644 change-beta/@azure-communication-react-367d1747-182e-425c-a897-cbcdfbc06ecd.json create mode 100644 change-beta/@azure-communication-react-43b808a4-0c26-4119-a26b-7d31efbb2b93.json create mode 100644 change-beta/@azure-communication-react-839f12bb-f1d6-43dc-9ba8-41fc6b17baaf.json create mode 100644 change-beta/@azure-communication-react-a9fb84d9-5a0a-43a1-b407-decf5c80312c.json create mode 100644 change-beta/@azure-communication-react-c5b508a6-370f-414d-9663-905d1ef3f69b.json create mode 100644 change-beta/@azure-communication-react-ebad70bc-6036-4b67-b5f9-438a20702e0e.json create mode 100644 packages/calling-stateful-client/src/TogetherModeSubscriber.ts diff --git a/change-beta/@azure-communication-react-367d1747-182e-425c-a897-cbcdfbc06ecd.json b/change-beta/@azure-communication-react-367d1747-182e-425c-a897-cbcdfbc06ecd.json new file mode 100644 index 00000000000..be271661572 --- /dev/null +++ b/change-beta/@azure-communication-react-367d1747-182e-425c-a897-cbcdfbc06ecd.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "Together Mode", + "comment": "Together mode client state and subscriber implementation", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change-beta/@azure-communication-react-43b808a4-0c26-4119-a26b-7d31efbb2b93.json b/change-beta/@azure-communication-react-43b808a4-0c26-4119-a26b-7d31efbb2b93.json new file mode 100644 index 00000000000..be271661572 --- /dev/null +++ b/change-beta/@azure-communication-react-43b808a4-0c26-4119-a26b-7d31efbb2b93.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "Together Mode", + "comment": "Together mode client state and subscriber implementation", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change-beta/@azure-communication-react-839f12bb-f1d6-43dc-9ba8-41fc6b17baaf.json b/change-beta/@azure-communication-react-839f12bb-f1d6-43dc-9ba8-41fc6b17baaf.json new file mode 100644 index 00000000000..be271661572 --- /dev/null +++ b/change-beta/@azure-communication-react-839f12bb-f1d6-43dc-9ba8-41fc6b17baaf.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "Together Mode", + "comment": "Together mode client state and subscriber implementation", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change-beta/@azure-communication-react-a9fb84d9-5a0a-43a1-b407-decf5c80312c.json b/change-beta/@azure-communication-react-a9fb84d9-5a0a-43a1-b407-decf5c80312c.json new file mode 100644 index 00000000000..be271661572 --- /dev/null +++ b/change-beta/@azure-communication-react-a9fb84d9-5a0a-43a1-b407-decf5c80312c.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "Together Mode", + "comment": "Together mode client state and subscriber implementation", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change-beta/@azure-communication-react-c5b508a6-370f-414d-9663-905d1ef3f69b.json b/change-beta/@azure-communication-react-c5b508a6-370f-414d-9663-905d1ef3f69b.json new file mode 100644 index 00000000000..8ebd6c6f78d --- /dev/null +++ b/change-beta/@azure-communication-react-c5b508a6-370f-414d-9663-905d1ef3f69b.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "Together Mode", + "comment": "This PR contains implementation of together mode client state changes and the event listener for together mode stream updates", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change-beta/@azure-communication-react-ebad70bc-6036-4b67-b5f9-438a20702e0e.json b/change-beta/@azure-communication-react-ebad70bc-6036-4b67-b5f9-438a20702e0e.json new file mode 100644 index 00000000000..68b87551c8d --- /dev/null +++ b/change-beta/@azure-communication-react-ebad70bc-6036-4b67-b5f9-438a20702e0e.json @@ -0,0 +1,9 @@ +{ + "type": "prerelease", + "area": "feature", + "workstream": "TogetherMode", + "comment": "Together mode client state and subscriber implementation", + "packageName": "@azure/communication-react", + "email": "nwankwojustin93@gmail.com", + "dependentChangeType": "patch" +} diff --git a/packages/calling-stateful-client/src/CallClientState.ts b/packages/calling-stateful-client/src/CallClientState.ts index 75d81489c1b..9fba7e91dc5 100644 --- a/packages/calling-stateful-client/src/CallClientState.ts +++ b/packages/calling-stateful-client/src/CallClientState.ts @@ -274,6 +274,49 @@ export interface RaiseHandCallFeatureState { localParticipantRaisedHand?: RaisedHandState; } +/* @conditional-compile-remove(together-mode) */ +/** + * State only version of {@link @azure/communication-calling#TogetherModeCallFeature}. {@link StatefulCallClient} will + * automatically listen for raised hands on the call and update the state exposed by {@link StatefulCallClient} accordingly. + * @alpha + */ +export interface TogetherModeCallFeatureState { + /** + * Proxy of {@link @azure/communication-calling#TogetherModeCallFeature.togetherModeStream}. + */ + stream: TogetherModeStreamState[]; +} + +/* @conditional-compile-remove(together-mode) */ +/** + * State only version of {@link @azure/communication-calling#TogetherModeVideoStream}. + * @alpha + */ +export interface TogetherModeStreamState { + /** + * Proxy of {@link @azure/communication-calling#TogetherModeVideoStream.id}. + */ + id: number; + /** + * Proxy of {@link @azure/communication-calling#TogetherModeVideoStream.mediaStreamType}. + */ + mediaStreamType: MediaStreamType; + /** + * Proxy of {@link @azure/communication-calling#TogetherModeVideoStream.isReceiving}. + * @public + */ + isReceiving: boolean; + /** + * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient} + * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view. + */ + view?: VideoStreamRendererViewState; + /** + * Proxy of {@link @azure/communication-calling#RemoteVideoStream.size}. + */ + streamSize?: { width: number; height: number }; +} + /** * State only version of {@link @azure/communication-calling#PPTLiveCallFeature}. {@link StatefulCallClient} will * automatically listen for pptLive on the call and update the state exposed by {@link StatefulCallClient} accordingly. @@ -579,6 +622,11 @@ export interface CallState { * Proxy of {@link @azure/communication-calling#RaiseHandCallFeature}. */ raiseHand: RaiseHandCallFeatureState; + /* @conditional-compile-remove(together-mode) */ + /** + * Proxy of {@link @azure/communication-calling#TogetherModeCallFeature}. + */ + togetherMode: TogetherModeCallFeatureState; /** * Proxy of {@link @azure/communication-calling#Call.ReactionMessage} with * UI helper props receivedOn which indicates the timestamp when the message was received. diff --git a/packages/calling-stateful-client/src/CallContext.ts b/packages/calling-stateful-client/src/CallContext.ts index b0bdd7e3b23..fd01055115e 100644 --- a/packages/calling-stateful-client/src/CallContext.ts +++ b/packages/calling-stateful-client/src/CallContext.ts @@ -23,6 +23,8 @@ import { TeamsCaptionsInfo } from '@azure/communication-calling'; import { CaptionsKind, CaptionsInfo as AcsCaptionsInfo } from '@azure/communication-calling'; /* @conditional-compile-remove(unsupported-browser) */ import { EnvironmentInfo } from '@azure/communication-calling'; +/* @conditional-compile-remove(together-mode) */ +import { TogetherModeVideoStream } from '@azure/communication-calling'; import { AzureLogger, createClientLogger, getLogLevel } from '@azure/logger'; import { EventEmitter } from 'events'; import { enableMapSet, enablePatches, Patch, produce } from 'immer'; @@ -451,6 +453,31 @@ export class CallContext { }); } + /* @conditional-compile-remove(together-mode) */ + public setTogetherModeVideoStream(callId: string, addedStream: TogetherModeVideoStream[]): void { + this.modifyState((draft: CallClientState) => { + const call = draft.calls[this._callIdHistory.latestCallId(callId)]; + if (call) { + call.togetherMode = { stream: addedStream }; + } + }); + } + + /* @conditional-compile-remove(together-mode) */ + public removeTogetherModeVideoStream(callId: string, removedStream: TogetherModeVideoStream[]): void { + this.modifyState((draft: CallClientState) => { + const call = draft.calls[this._callIdHistory.latestCallId(callId)]; + if (call) { + for (const stream of removedStream) { + if (stream.mediaStreamType in call.togetherMode.stream) { + // Temporary lint fix: Remove the stream from the list + call.togetherMode.stream = []; + } + } + } + }); + } + public setCallRaisedHands(callId: string, raisedHands: RaisedHand[]): void { this.modifyState((draft: CallClientState) => { const call = draft.calls[this._callIdHistory.latestCallId(callId)]; diff --git a/packages/calling-stateful-client/src/CallSubscriber.ts b/packages/calling-stateful-client/src/CallSubscriber.ts index ed4efb5ef42..e67119613ba 100644 --- a/packages/calling-stateful-client/src/CallSubscriber.ts +++ b/packages/calling-stateful-client/src/CallSubscriber.ts @@ -30,6 +30,8 @@ import { SpotlightSubscriber } from './SpotlightSubscriber'; import { LocalRecordingSubscriber } from './LocalRecordingSubscriber'; /* @conditional-compile-remove(breakout-rooms) */ import { BreakoutRoomsSubscriber } from './BreakoutRoomsSubscriber'; +/* @conditional-compile-remove(together-mode) */ +import { TogetherModeSubscriber } from './TogetherModeSubscriber'; /** * Keeps track of the listeners assigned to a particular call because when we get an event from SDK, it doesn't tell us @@ -60,6 +62,8 @@ export class CallSubscriber { private _spotlightSubscriber: SpotlightSubscriber; /* @conditional-compile-remove(breakout-rooms) */ private _breakoutRoomsSubscriber: BreakoutRoomsSubscriber; + /* @conditional-compile-remove(together-mode) */ + private _togetherModeSubscriber: TogetherModeSubscriber; constructor(call: CallCommon, context: CallContext, internalContext: InternalCallContext) { this._call = call; @@ -119,6 +123,12 @@ export class CallSubscriber { this._context, this._call.feature(Features.BreakoutRooms) ); + /* @conditional-compile-remove(together-mode) */ + this._togetherModeSubscriber = new TogetherModeSubscriber( + this._callIdRef, + this._context, + this._call.feature(Features.TogetherMode) + ); this.subscribe(); } @@ -228,6 +238,8 @@ export class CallSubscriber { this._spotlightSubscriber.unsubscribe(); /* @conditional-compile-remove(breakout-rooms) */ this._breakoutRoomsSubscriber.unsubscribe(); + /* @conditional-compile-remove(together-mode) */ + this._togetherModeSubscriber.unsubscribe(); }; // This is a helper function to safely call subscriber functions. This is needed in order to prevent events diff --git a/packages/calling-stateful-client/src/Converter.ts b/packages/calling-stateful-client/src/Converter.ts index e7a496d0087..71b19b2bccb 100644 --- a/packages/calling-stateful-client/src/Converter.ts +++ b/packages/calling-stateful-client/src/Converter.ts @@ -156,6 +156,8 @@ export function convertSdkCallToDeclarativeCall(call: CallCommon): CallState { localRecording: { isLocalRecordingActive: false }, pptLive: { isActive: false }, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, localParticipantReaction: undefined, transcription: { isTranscriptionActive: false }, screenShareRemoteParticipant: undefined, diff --git a/packages/calling-stateful-client/src/StatefulCallClient.ts b/packages/calling-stateful-client/src/StatefulCallClient.ts index f47246fddd0..e371c58167a 100644 --- a/packages/calling-stateful-client/src/StatefulCallClient.ts +++ b/packages/calling-stateful-client/src/StatefulCallClient.ts @@ -6,6 +6,8 @@ import { CallClient, CallClientOptions, CreateViewOptions, DeviceManager } from /* @conditional-compile-remove(unsupported-browser) */ import { Features } from '@azure/communication-calling'; import { CallClientState, LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState'; +/* @conditional-compile-remove(together-mode) */ +import { TogetherModeStreamState } from './CallClientState'; import { CallContext } from './CallContext'; import { callAgentDeclaratify, DeclarativeCallAgent } from './CallAgentDeclarative'; import { InternalCallContext } from './InternalCallContext'; @@ -111,7 +113,10 @@ export interface StatefulCallClient extends CallClient { createView( callId: string | undefined, participantId: CommunicationIdentifier | undefined, - stream: LocalVideoStreamState | RemoteVideoStreamState, + stream: + | LocalVideoStreamState + | RemoteVideoStreamState + | /* @conditional-compile-remove(together-mode) */ TogetherModeStreamState, options?: CreateViewOptions ): Promise; /** diff --git a/packages/calling-stateful-client/src/StreamUtils.test.ts b/packages/calling-stateful-client/src/StreamUtils.test.ts index 8284ffd534d..95662c0418c 100644 --- a/packages/calling-stateful-client/src/StreamUtils.test.ts +++ b/packages/calling-stateful-client/src/StreamUtils.test.ts @@ -89,6 +89,8 @@ function createMockCall(mockCallId: string): CallState { /* @conditional-compile-remove(local-recording-notification) */ localRecording: { isLocalRecordingActive: false }, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, localParticipantReaction: undefined, transcription: { isTranscriptionActive: false }, screenShareRemoteParticipant: undefined, diff --git a/packages/calling-stateful-client/src/StreamUtils.ts b/packages/calling-stateful-client/src/StreamUtils.ts index 708b50480b4..30d8339bc88 100644 --- a/packages/calling-stateful-client/src/StreamUtils.ts +++ b/packages/calling-stateful-client/src/StreamUtils.ts @@ -10,6 +10,8 @@ import { } from '@azure/communication-calling'; import { CommunicationIdentifierKind } from '@azure/communication-common'; import { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState'; +/* @conditional-compile-remove(together-mode) */ +import { TogetherModeStreamState } from './CallClientState'; import { CallContext } from './CallContext'; import { convertSdkLocalStreamToDeclarativeLocalStream, @@ -35,7 +37,10 @@ async function createViewVideo( context: CallContext, internalContext: InternalCallContext, callId: string, - stream?: RemoteVideoStreamState | LocalVideoStreamState, + stream?: + | RemoteVideoStreamState + | LocalVideoStreamState + | /* @conditional-compile-remove(together-mode) */ TogetherModeStreamState, participantId?: CommunicationIdentifierKind | string, options?: CreateViewOptions ): Promise { @@ -488,7 +493,10 @@ export function createView( internalContext: InternalCallContext, callId: string | undefined, participantId: CommunicationIdentifierKind | string | undefined, - stream: LocalVideoStreamState | RemoteVideoStreamState, + stream: + | LocalVideoStreamState + | RemoteVideoStreamState + | /* @conditional-compile-remove(together-mode) */ TogetherModeStreamState, options?: CreateViewOptions ): Promise { const streamType = stream.mediaStreamType; diff --git a/packages/calling-stateful-client/src/TogetherModeSubscriber.ts b/packages/calling-stateful-client/src/TogetherModeSubscriber.ts new file mode 100644 index 00000000000..64f791becc0 --- /dev/null +++ b/packages/calling-stateful-client/src/TogetherModeSubscriber.ts @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +/* @conditional-compile-remove(together-mode) */ +import { TogetherModeCallFeature, TogetherModeVideoStream } from '@azure/communication-calling'; +/* @conditional-compile-remove(together-mode) */ +import { CallContext } from './CallContext'; +/* @conditional-compile-remove(together-mode) */ +import { CallIdRef } from './CallIdRef'; +/** + * @private + */ + +/* @conditional-compile-remove(together-mode) */ +/** + * TogetherModeSubscriber is responsible for subscribing to together mode events and updating the call context accordingly. + */ +export class TogetherModeSubscriber { + private _callIdRef: CallIdRef; + private _context: CallContext; + private _togetherMode: TogetherModeCallFeature; + + constructor(callIdRef: CallIdRef, context: CallContext, togetherMode: TogetherModeCallFeature) { + this._callIdRef = callIdRef; + this._context = context; + this._togetherMode = togetherMode; + + this.subscribe(); + } + + private subscribe = (): void => { + this._togetherMode.on('togetherModeStreamsUpdated', this.onTogetherModeStreamUpdated); + }; + + public unsubscribe = (): void => { + this._togetherMode.off('togetherModeStreamsUpdated', this.onTogetherModeStreamUpdated); + }; + + private onTogetherModeStreamUpdated = (args: { + added: TogetherModeVideoStream[]; + removed: TogetherModeVideoStream[]; + }): void => { + if (args.added) { + this._context.setTogetherModeVideoStream(this._callIdRef.callId, args.added); + } + if (args.removed) { + this._context.removeTogetherModeVideoStream(this._callIdRef.callId, args.removed); + } + }; +} diff --git a/packages/calling-stateful-client/src/index-public.ts b/packages/calling-stateful-client/src/index-public.ts index 2c19a23a35b..1c0f7dacae9 100644 --- a/packages/calling-stateful-client/src/index-public.ts +++ b/packages/calling-stateful-client/src/index-public.ts @@ -31,6 +31,11 @@ export type { TeamsIncomingCallState } from './CallClientState'; export type { RemoteDiagnosticState } from './CallClientState'; export type { CreateViewResult } from './StreamUtils'; export type { RaiseHandCallFeatureState as RaiseHandCallFeature } from './CallClientState'; +/* @conditional-compile-remove(together-mode) */ +export type { TogetherModeCallFeatureState as TogetherModeCallFeature } from './CallClientState'; +/* @conditional-compile-remove(together-mode) */ +export type { TogetherModeStreamState } from './CallClientState'; + export type { RaisedHandState } from './CallClientState'; export type { DeclarativeCallAgent, IncomingCallManagement } from './CallAgentDeclarative'; /* @conditional-compile-remove(teams-identity-support) */ diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 74acb06ba95..8676a2ad86a 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -1159,6 +1159,7 @@ export interface CallState { spotlight?: SpotlightCallFeatureState; startTime: Date; state: CallState_2; + togetherMode: TogetherModeCallFeature; totalParticipantCount?: number; transcription: TranscriptionCallFeature; transfer: TransferFeature; @@ -4634,7 +4635,7 @@ export type StartTeamsCallIdentifier = MicrosoftTeamsUserIdentifier | PhoneNumbe export interface StatefulCallClient extends CallClient { createCallAgent(...args: Parameters): Promise; createTeamsCallAgent(...args: Parameters): Promise; - createView(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState, options?: CreateViewOptions): Promise; + createView(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState | /* @conditional-compile-remove(together-mode) */ TogetherModeStreamState, options?: CreateViewOptions): Promise; disposeView(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): void; getState(): CallClientState; offStateChange(handler: (state: CallClientState) => void): void; @@ -4820,6 +4821,24 @@ export type TeamsOutboundCallAdapterArgs = TeamsCallAdapterArgsCommon & { // @public export const toFlatCommunicationIdentifier: (identifier: CommunicationIdentifier) => string; +// @alpha +export interface TogetherModeCallFeature { + stream: TogetherModeStreamState[]; +} + +// @alpha +export interface TogetherModeStreamState { + id: number; + // @public + isReceiving: boolean; + mediaStreamType: MediaStreamType; + streamSize?: { + width: number; + height: number; + }; + view?: VideoStreamRendererViewState; +} + // @public export type TopicChangedListener = (event: { topic: string; diff --git a/packages/react-composites/src/composites/CallComposite/MockCallAdapter.ts b/packages/react-composites/src/composites/CallComposite/MockCallAdapter.ts index 015b53703fa..8fbfbc2bdd6 100644 --- a/packages/react-composites/src/composites/CallComposite/MockCallAdapter.ts +++ b/packages/react-composites/src/composites/CallComposite/MockCallAdapter.ts @@ -110,6 +110,9 @@ export class _MockCallAdapter implements CallAdapter { createStreamView(): Promise { throw Error('createStreamView not implemented'); } + startTogetherMode(): Promise { + throw Error('startTogetherMode not implemented'); + } disposeStreamView(): Promise { return Promise.resolve(); } @@ -255,6 +258,8 @@ const createDefaultCallAdapterState = (role?: ParticipantRole): CallAdapterState remoteParticipants: {}, remoteParticipantsEnded: {}, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, pptLive: { isActive: false }, localParticipantReaction: undefined, role, diff --git a/packages/react-composites/src/composites/CallWithChatComposite/adapter/TestUtils.ts b/packages/react-composites/src/composites/CallWithChatComposite/adapter/TestUtils.ts index b5d9372ba21..4eef39f30e4 100644 --- a/packages/react-composites/src/composites/CallWithChatComposite/adapter/TestUtils.ts +++ b/packages/react-composites/src/composites/CallWithChatComposite/adapter/TestUtils.ts @@ -243,6 +243,8 @@ function createMockCall(mockCallId: string): CallState { endTime: undefined, dominantSpeakers: undefined, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, pptLive: { isActive: false }, localParticipantReaction: undefined, captionsFeature: { diff --git a/packages/react-composites/tests/browser/call/hermetic/fixture.ts b/packages/react-composites/tests/browser/call/hermetic/fixture.ts index 6be29a06cdf..0ce977c8002 100644 --- a/packages/react-composites/tests/browser/call/hermetic/fixture.ts +++ b/packages/react-composites/tests/browser/call/hermetic/fixture.ts @@ -94,6 +94,8 @@ export function defaultMockCallAdapterState( remoteParticipants, remoteParticipantsEnded: {}, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, pptLive: { isActive: false }, role: role ?? 'Unknown', dominantSpeakers: dominantSpeakers, @@ -537,6 +539,8 @@ const defaultEndedCallState: CallState = { remoteParticipants: {}, remoteParticipantsEnded: {}, raiseHand: { raisedHands: [] }, + /* @conditional-compile-remove(together-mode) */ + togetherMode: { stream: [] }, pptLive: { isActive: false }, captionsFeature: { captions: [], From 106e04dabf26d81f0fe4de0366b197afa6f8a118 Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Thu, 3 Oct 2024 13:47:48 -0700 Subject: [PATCH 42/58] [bugfix] Update notification spacing between title and description (#5238) * Update notification padding * Update notification spacing to match figma * Linter * Update packages/react-composites CallComposite browser test snapshots * Update packages/react-composites CallComposite browser test snapshots * Update packages/react-composites CallComposite browser test snapshots * Update packages/react-composites CallComposite browser test snapshots --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- ...-da34ff2d-0333-491a-91e0-7bc44b7eb627.json | 9 +++++++++ .../src/components/Notification.tsx | 4 +++- ...en-camera-freezes-Desktop-Chrome-linux.png | Bin 29075 -> 29081 bytes ...freezes-Mobile-Android-Landscape-linux.png | Bin 47046 -> 47077 bytes ...-freezes-Mobile-Android-Portrait-linux.png | Bin 72599 -> 72647 bytes ...rk-quality-is-bad-Desktop-Chrome-linux.png | Bin 32842 -> 32861 bytes ...-is-bad-Mobile-Android-Landscape-linux.png | Bin 54344 -> 54781 bytes ...y-is-bad-Mobile-Android-Portrait-linux.png | Bin 84585 -> 84610 bytes ...en-camera-freezes-Desktop-Chrome-linux.png | Bin 29075 -> 29081 bytes ...freezes-Mobile-Android-Landscape-linux.png | Bin 47046 -> 47077 bytes ...-freezes-Mobile-Android-Portrait-linux.png | Bin 72599 -> 72647 bytes ...rk-quality-is-bad-Desktop-Chrome-linux.png | Bin 32842 -> 32861 bytes ...-is-bad-Mobile-Android-Landscape-linux.png | Bin 54344 -> 54781 bytes ...y-is-bad-Mobile-Android-Portrait-linux.png | Bin 84585 -> 84610 bytes 14 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 change/@azure-communication-react-da34ff2d-0333-491a-91e0-7bc44b7eb627.json diff --git a/change/@azure-communication-react-da34ff2d-0333-491a-91e0-7bc44b7eb627.json b/change/@azure-communication-react-da34ff2d-0333-491a-91e0-7bc44b7eb627.json new file mode 100644 index 00000000000..4dcf20cafd2 --- /dev/null +++ b/change/@azure-communication-react-da34ff2d-0333-491a-91e0-7bc44b7eb627.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "Notifications", + "comment": "Increase Notification spacing betwen Title and Description text", + "packageName": "@azure/communication-react", + "email": "edwardlee@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/src/components/Notification.tsx b/packages/react-components/src/components/Notification.tsx index fc5e0810f49..4b85bc0cd33 100644 --- a/packages/react-components/src/components/Notification.tsx +++ b/packages/react-components/src/components/Notification.tsx @@ -126,7 +126,9 @@ export const Notification = (props: NotificationProps): JSX.Element => { onClick={props.onDismiss} /> - {strings?.message} + + {strings?.message} + {strings?.secondaryButtonLabel && ( diff --git a/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/error-bar-when-camera-freezes-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/error-bar-when-camera-freezes-Desktop-Chrome-linux.png index 951e7b9385929cc551a4881fe15899285afe323a..e82a57946df36704dbf2d4cfd6038658b2fff2e2 100644 GIT binary patch literal 29081 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 bjdJUk$6gVbsNopoD&~~qk5xZh{`G$VKn;TJ literal 29075 zcmeFZcT`hb)Gr$JD8~YvV?hN33q|^oDqTfHx^yWaD$<+O&_YlTq9UTS(2G)}MtViJnz1Hzwy5D?)UDvf8B91Fxl?9_F8kz`TPCm-23@$V_mMp ze1{}uH`BciDen^?LLlcLdN;0F1ZONy!Glj) z{%l*LCvQ0DojY+-{K75MipLjTJhtGMC~w-__x{qIiv3DgD@->EkK8Xj{NluclQ(QQ zPV)cu`t?;l;=E`bgL%u(NcQTn&*57A2`;|Qas_pN0RvOJt2Ee*;uz{496F)JhxrpHsX) zmCz|HTVg5dKh;ksO@1c&6^(fpuJN!B{&=~K98@yqjT)LS_QyBwheXf1jvV=QT7}0u z)l;OSkl^)y_N*w=^n#0Wu=@-05wfIs=o}=+ccA-lG_cY%fc z#sL{n_#FbtIh3S9gf~sacjkS6J+M%I45FY~H7@1jBNP(0dr4kiTL#rVw8*|~qv&=c z$iQzBaocrx@;aUFGpfpQ)qj;vM@@O717%J?uFjrgx7CbE#10V?Q7E{-^&v=F1`1V| zVeIl%&=hRD209_Ov{8>`FLTO~$#FV<+;cOWJDCUa`#wm{+8X&dB<*V8c`#@vW04S7 z!GG=t4xjIqfn1!W{sBqjWcSr&%<8_sR5dv{azemRUOoPPuQ~?Z0(seEBnx_hmwnVT z_dT<26clpPs@3HjxT=B-un*Vk>coAK$HE2o{nM>Ct)@=dV>b5vC8v4npL4MX>A#x= z+j4SrD)3}|0|PbpT?2jn!G+%RxCthAI~u$97ODnU@<4bhrE9_(*56a;t}t|0d_ux} zfGWQi3jz@^0o@BxOuMqi!Ppowu}tpIxcttPFNRj}VD0`?1innSng`WAzfJGQ*OAC| z)2fFR)xr&uWxiR%5F@3u&c43Uxz4z=G=^X-$ugaUZZh`3mAh3l_Cp@3S17>`Kp^eq zQ)_Eoot;IM;VdTO#j}^L$*Qpeiu(Hx9=)QlA zmoH!VngYW@Ld4}Hio5)xTXVmBxiL=Ov?Zmbq*%;)&Yn4QM&HB)9R!88n>NVo(#0-a zy!h_3U(-}M*zx3v6T=O06LSQDEN1Bujhy z(!c-y?IbVnXaj3;(bYyOSz@=hudlqexvQHr`~B0CuI}!V%I4Z#K}e+IpBkX;S6-t~ zg_&wBv+zA{J+t;#VnybKeTR=8_1vh0Q>M%G5=6T^<;0bht>2Z`U$2`AY7%yvZf*!g z{I4L<7pqiMPT7-h7=4WYyS#3|na607m z^cXUBNV1{K1~=Pk*9zfI>AEb$!Wl0-#;8bKe93=@n5IH?N;ND{jeA%5HHMc+!@GQ1?RVb>)AF3SMc_*(1#Bno}*CED*gmO?+t%(?xs%kw$8H-% z>>bLC*df}sgw{CsrIf!OxScO7M#?A34;Pwb^Py%ovXP{;Z|@Xc2lC_dN=pr)3U?zh z4DWY)3`WxH*ExE}g>L8e7VI^v)5u}TS)n^_Hf5u>lrRY7l_h)LK2{OnZdvc@W{;7c z+3qG;L=Su=2*;lBf6^8!BwJFmrnv$`k`=icAH4Q%YROwO-yGh>`(VDk=+_)7jNz5M zaN#it|96~c-@*> zFYLorCX<s$a9oq21IOv@=bSbh1Sy>{VkBS)y>L2pE9gpq^M(o~#u@90r4V&0wJL zY2T*u#-*i$u=H-37DIXGp2W@vgLt2od=-CZkIjsREZY39$>B`N(y(oQP?TX@=-o2U zi`e_7%ctgTU*-f0CFa}GzMjg0+--eIbDzOHQH8IR0#880I1q`%(48VN+RqqS;AicoZL$1zXzI_PCdK)27e&VfLmF{NH>e4!qoboJgYIVvBIf?&5|q2a+QG$2NJtEl z>t+f>40uV!CFSL77*5FdJ8i(py5@2VT*rwd`4O?haP?E5X6tB+BoBHuPG>R;$J0FJJ z*3o@fNF&4r5K7H z;N&ExbMZf@8lRh=&;R)GBOeOqge!-F*2nc}l03h*w|f9ry);sVs@<#CDW3n;!8ZX? zaD61e9W7Xod~CcpaLq)0I}vn;WGT>!%+Q}}?TWrX_orzgAN4FeoySB( zM2x&@m653IY{%=yEBs(`DmbodUo2Ywj9G&1b5@lieFA9FQx?0LWcEvaxCBBd(P^tq$$H_{PA_T_PvXrj&n!Js2=_c@r~K&+PW?*IB_o^R7zrg3lCKVT|QQR|ap(h=bv=PK_;qB9i9INie7v}+{wsa1#e zPTV|;xh+If;qI^f^UcU+?beTIp^d4!8Fymk{QBD38{mJND9uCP8=J8YbFa5v*O(<@ zXR7sPd?qaJrT^+Jt-)VLXjx(4V;!OR`o-riQMfB8MZTc#@P7M0=0^f% zgh)(7NweIkGKVsR$J9z);)Me{DI=QIJGmDik;%^i7#sLpZ!gorVqVu!b1E)eV~sY4 z>}=wFH1Kg-E-k4tWn`2--V0CdbvDti^z3{3 zv`e-Fm0$e`Y@&T@7dl(hDC9P-{nWm^cLs?@kCu(RH??-Pvzxbv5Xe&h#=Mf58MGIt`^tez#m<5s)Z-Se=ovczf zZwafr@b2w!OBlSr((3Z%(1(LJdc(J!RL&Y}tbSyKF6KsSkis^Xi(bFJ&0x@HmIiXQ zTe=$`euR*xnyhErW0L@)e(}Q79ao;|jM;kuqMC?al?%2=D}n{R_v43z)TM!{e&aX# z?QbdIRxauuwN6*^O3aG5)e078FfNvMqiwM>#Ig|TaAP39le6>UCr+Vax#}OTr&R;q z3udd^059-uvVpoZi8AD8z!05mwGCbtk7g`l!{_ ztC3HSHZ-^CZMpl;Cs`Bw)F=bbeza=LGq&4>bn{nqZG(b?>q9q}@;9nCLV2d%mjWcq zr^OVU@@*%-i1m`Lo8*%Ver6ScsqC8xY_M;f-Nc_fed1D8XWp}CzZ<1(+>PxPaqHny zUhGrz#=ZW8>crtpTA#AyFXy39r~(aoGYDe$5L-Vu*;5LH)0byNOtw85DRF^Qw%e|2 zDM5VeD>JqV1(|)%O2*7*3x(5f%8V5zu~u?qOcm*X8dMt={JdaClhu~7%ue;=fQZY9PUQR+7%G8(na+`S3gB7gnxN< zn8XTfJq-<+x8$>$i1hd!1fRLN2O$7A7pK7+3-j_i=KYGmOtxG&^I_Z*AZBX|3yZSW zlfvSXk_I6S4KKV$x{m*)@U*#ET_w{v>hHgYcj0_~ATVfmc6Ppa_G~pE3Q#qDJ>z6_ zcJ_5`ZJwqT_BKu)34qI|IrOxbBC5MJ1%Nx%H!!j^^ejyVEkxsxWq?wYMbHe4K{!Q5 zH5_%fEgvMsgL#valfx&*X=r4W^!2{!jT<+j=4+avW7A%IlpX!SnJ{_>@S|2Gmb@`vhqMcpIUx^&mv+=l*s<*1q<5WPWl4~7 zP}39$yUBQRG8#4_OKE6mh@Q%y_EfS?u`jQ*DzhD_XFFqGUtgMpn1aH_Gro43WwyL=alP`9_ujS6`yx=qVZKj6uL3z*-zlk#(-*3#R%T$8zV z5$ZdiL_@Gk>=%eIX&QO*rA=} zw$0e-El!An5St#}Q-u@XvMI>PlObl)^WDirzzqhy>XMoh_TEGbC3nw{I-#JVNtztS zw{ERAXK`QQohJ}H=AQjf-JUaEr&5P}u#AEuGWFj-5Kder@6^(U2Kgu4zC8X-1?pY4 z1rMWn;a5BPIe;es%(D8gvuZ(!!qPB|p*1wH#$u;$y<)bFsKsi~lR*4z@F&0k!Xplf zRNj$NE!u!Tax?|pK$CSpDQIO<9MxSEM4ph8ldEhfar&KCerko|>^ zb5T|T6nX)$_%>6V07TlOjSmtjOvLPpUXqZ|?^kD3d)B7G2u@Yw8^h)%5;Emw0A0@H z1(v>=@}@V(_uZr3$z-)THOE-vTQnS+o z+B4x@?ixx3;XncC>gzIlpol)Eo&{iQw|kAmxpO%aG&Gi(#(h>buU!cFwv%+waroBE24Xod%W``veEs_tCe=y(9h ztImzkhdqInbdXC8@N0ji+F)MT8af4aii(N?Uc%hMA|MHl6;coW&_*wGadz(d@$gcy zz2gkv!xL@D@vsTI8h6Y5!pC^Bm6=)mzWw`8@bLwGY4=|oIBz4h&^m4H;E)A?Qj))E z`s>%P-RTLbskvigOEC1}!z+p5t2uA&YU1na;7K&6R`Iv*-o>Rxa<*#%@0-tZFEn>| z8>4&AmhhmxB;~n$Ay-ybV>uwN_CI>`Xlbe`E|k9FZ$Ve{7?rebxE}?45(vj{Ye=JP z;sxSjn!*~#$qCP{{%&&+d5A@Y*~ugBmVlNBBEu_deej}4B=W$)gYG*oQ(ruP{*54M z?cNzLl13l3i_iPf`qX`{!_>CoepH5Ww4A&=ZC$czxXQ&u&n!H=Syb~O7HBV0yd?+i z6|Nqc2{Xw?Rup%sjkU+}m&iaH7gw6vLz9gnmQBBYtr;Q1Cv&CkY8S^{vfl`gA3k#O z%$Xu_^McS&qYVw}QA9&%tjp*&8`V$2r@w_AnX%T_e{m2NR3wPlxZIm^8H#%;2)$<< z#Rd!TN#CZ?@?HIi2oY#;ozG19u9)FKu`G7D+Rc1KqA|%EJImc4!q|EjcY>c^5@;o_ z#Ik{-J=f2~Fc$bVc9-Q3b8}nS+NOCok%ORc22CWeZk!F>+2#&-i@2hqj`AJ})<_%0 zzgntkUn}yr82PJ66)`ca^&NyNfga#I-jBkNjC>QV?He(?vfp%p{W*1`I`3C>kb_9y zbOpbCKd)WwIqp}sw|7M3?5)9gkr;pxX2Q+AQ3jx!^t+Rh1=EO~#rafucPTJOlf4Ka?d4E=rRIQyFH&fLigOcspTy4PS|9-5sn)dcrwRi3eO^Mq5rXGN?i|M5=M7nxw3(35eD^lqO2Y{fgkx z8ZUfpn;3b%{pap3XRw1u@ajj7nqmcJOM%{og{si!c@)pcsS?a>x}Zk2-&dDL=Z%{9 zy#1Wqm&(2DqsT2SEhh#4%&o3g`1wwBy?yM^ilr^jdpxTakRw zho25C0YZdfE=g+aEM9cSmuFtMaABTIE`zhwuoL5r2n2$*b=;)bywF(JBIx$R4{~yH zbAAmElu!Y84D|GhXz-ga1&Zu^8f+ZfCUdYXrX3+0i4g{}nXQ)RwEaChAZNbRjs~FF z11JnOWmZ7g3?3ysAXtneZ8VCH1D7J-uWn8nEgvZ`N>^|nJ~`rj>e#X3>gwvl-DYNH z>c_WrZr&)?jT=%x+@!UN0!b_obYs8$f%wFX@DHO8L1egk6in`6VMRqtAgRiw8ZO}g z#rym@5tUxj2S(-6rCUc9`stp)jpqPmRc|l~kYxZBf*mfVqfi85^2{G>1q3iWUYT$c ziOiEoz`bgi#z31IDMy4Er7Kx#M{`pZie(#Ja{#w4@WF1kRgouE`~xQ33X8yYa81>< zF9{p-C=vhPPnIQqV0d^9fr^VVchaqW6 zE(oA*&=~aeYQ%0(f29y|j~!Cu6@b#v!rbuyR1PH!1ZKCjw>o^6@85Vr0y&eHQG#In z+(pEMhR2#HR)&Tzf$kg#l+Pk~wk7~SX`7SO(2Y0IG(ep@+S_$S6ZF`snedeIj|lca z^96K%eevp*RZvi^V9FJ}DgHYcG#XuCm{|}l6nZ;5V*NQVYwtZew&wm<7faDmNuS{k z(=_$%%NkqXwX>Yc?CM6Tvd!)4&o67!kmA-{xvZkKSo7DaY8V1??4sSS2AUYIX14JwEl|XUp78!bPoz!~m5O z`ld144shCaz}f+0YncwNn&aY`r8MXc6&Qc}-YsJu5ReEAF`&DwPLQU26?DaH96PmD z?)9Wn>3>E=#wJHf%s~_#92`6$C|C}JCJBIh@`)2roOSU)va5%Y6#QLRUlAVUcP)e*1`I_>uwlD zaC>K`%e@BVojN>~x*y1eL_i?XKZwnwTfZDp-Q%EE`QVlySz64i#*u$pOKuFf9bI%95C@_xl0WWNG2z9|7NVH3X zH6CT>!OoGUY=_8aY9O?4U=qlz09O}HP6~W&YXivED|YG$9q16BKVJ_djh1zi4&~hY z2fCdHNAh;xuXqngENx=*%ke`N;G*uW9uSW2S4{2g^S~@pf-5dnt7$rbOo#xD;f>!( z@T;tf+lfg3{OT-LLRy;qZ1V?zUP-AT!%M@7n_|MQ@bGYd>)B^Di7cLdke4ywjJB_% zjx3Nm#Y9O(VuCmWSxvM^%&DReA8yA3h>Z^MFV5a(-l@FT8p_zfvOtcj6J zO=o<}@6-l72mB!9#_re$riTV=a`>H9VZp|1oR%xljALt&bxot+Ug;VcY_rZmKGw5u zO!^iW31iKMguW|OLjZEwma(x*!4lu-iYdcK26}d24|8`iB5s0arcgKSsKfaNr!vC? zk8AIPT>VA*-oAYcWD}Q6-?r37`t+d}Gc^XB+`=RE2ybuWSZJ%izklKz-}e(@d4LcD zewx%hU;JSbn31$}*|doz55UnI8%uR2CMML4yRNrdGK~v?(*$~hIa*aA5lv5CtSwb@sQrxa0C*RxU4M9 z8j6VRqu|ij$FZ!I z59=~$)6MQ=DJvkq1L`(R9$wi2B6xRyzX_I6t4--;p$jxvZ(XvFEU*BFaNt9b11GB8 z-eGL84nP2%SfAzLQ)W5@Qog;rK6UuW5!wPj+6^AweEs_M6UX=@xI6Wi|646USVhZc zrIAcRf@;uk%WS**1y3?Isyt z`1<=@ke6>+{kdU_cJ#twnkQDWfqp-QoY81pn^ATfDeiZYtQJ4_*Hs?Pjc1RaJQ2~$ z4&QqN)Vg=iI&J}<0^olVkUeVXrie}Jp|wf*74P|l1$X*Nuyl$R%&|QV=TYTMq$#s$ zUDv%j4?fHq!{B4T5M^4rftV>U1Z-#J#ap`3Xe;|OHXZOrw>=mc7iNw8guZ7EsJIiQi6YD z7|u^##Kdg;+(-qnI;(IQU*|IfpFxxq4P{wBy!8x3_2LkJ7t;2r!fyAnEka&S&ebZ1 zkcR8C>Q$3NdqT*u(sog;Tp&E|gzN^jsFIwx>Rod{w!x!}UJg}b188?(sU?VLZV)%R zddtR++@(yngwDp|0ti!%k_t=_Hn$^W_?IgI5Gw}RqV{Xe%{y5VWS}7GgVY+P$Gq@=1_DiRAJS_VO`Nc{ z!ZXZ8Rkm}07Wf!=@~rfoQnmrSc~?GATc$`YX=0h-zf7fwNDF1$b|U`9XxP=Ev_z2&`vOzyFTkwIu5w)#U2cT9SQ-eT}<>Y zyd)`aUgeNgga=^0MW3_@`ps>VA5H2k%%(LLd*es56`Urh>+9=gfP5EXV8|Nd8PBmC zUBPt2Ss@Uk?gDO7{TGNK->QrHmmVFWvpE8v+KQk}OLMU&ovh3sFlyr>siI=@{Q2{x zv5I%hErzn5*^L{2s|Kmt6cvf@&`{Y-#{z`xW9(FEzxk+-vgZJhuF5ke z?L|aIK~~Q;BxGA(Pp{l;lP4W(?djkO-T@%)W&=4e%+p=iROK~pQv zic;fYOC-mc;Tw?($}w%eAb3W z&17NP(uf@p0JCT{nFMM-r4a185kQ!!_I=dvJ>1Ra+#gk9puTE6c;x|GPY4JNYG0X<--VQJP3;?K(;Ej{dU7W;w(wBY0AN+#XR18 zxCEZfM{f$~ykA3kc)bk&rN*lyCFL|@j~WDAv^KuhYs3=wGFdpku#nUvziTz7c|q>_ z`1p9>t7zHdHWMGpjK|k>baXB6tk`+)-Si@C|9#xV!u3u{1cP=eGr&xjJbf13)b^^x z%vj&=#pjC`=4NNjouL2Bz*-mj3Lhm~4q&sBuh7eyMJockJKII?>+9R7RwO3hLzuo< zze5X~G7!5;%14E;ta1-D|2s6sws60m-i}v0H?V|m^Zv!f#lu(++PWEtNpe+kCy(<> z>b-dRve>NcGo2Sy6`h#wSllTJw45~&yiYalLSdC z7?~?`CZOmbck`Y24I;Sm?VC@9L5i2Sp4+OhIM}^0zU~yd7Db?SmEukuJN9;kkcp0w zJ!9c=R{Q$(#Ke?4gdnamIKaDQ#|coag@e)#8%3JTMQtc_;yv1!bwp-(p?9XFeyqH_ zFyrSTVL;T>HU8`pPz|{CGK4@xbVXvQ}RF?l3S)(hwu;I+ zawb|%LckGp^d5DW7)`-ihuWs~saN^b#O}R*{fCo_6Ud%f9eTDjfegf9)-~OmkW0r- zpMGCjT6(w}aE4;8%B6Sb>G{He#6e3?QnIs6AiEzwCFbMfLtFGs3tHZ?#IkC&TXkP1 z>QkaBvpAeUD#6dsPeNg*q-ol*edb;25X{UFcmsB&m4fn9Aes0U!?TBKJc-A~4VoHH z@ty#{v{|^*Su%0lVqNSUNK>RMBPrW0V95N&$XRRapqvcESegpsXc@GsOPAUhg1&z(3>=p! z5dVXimh06jA}Ti6z2+8&_WZ%NpG8wm9^32rS>qHe(>=4Yl9?)$TTTt{YaqC_zk<=Q z(sskF&qqq63qd`>VICgbTNACdo=8{_(*ut*!eJ@_#%SCCT?q2zB^k?}MFD+(muWH3 z(^!}dlmOrn`ug{~HMS!FFWK%93zwi1=6UUIg>FM_u^?E`k0xDVyp*r@Cm4IpF#9!{ zL2m{w2Uos*TdYZwMLV`91QMWdkG^ytS5QY5oZL>Cu)LQAY&nhZS5Z?SxdsQSjg$ib zZUdl-E#8(3$=?(!dM6{KYRIB*;&*mRYUJ#smcGp@oJ`gnXU?OtYr@CP0QwLYQ?_>W zt~UkqK$W!@p>KF=K%2)HWSJ5{RZ(CBmYLPL(G~OJ)o3O>b_8Uer73j8T)>sU(Qy}0 z@qt!(8=4J@8rWzv!Nkxi_{QJs)b+qwEQ=hX9jV`5sPz}|yiw-*%jV{0g}L=y%dS-# z%@RG0*k}htA<=tEy}N%IZ|&w*6uR`h^Y9TK>maM-P&#ooMEe@Zqu+%3<~xM0g#aJZ zJu?F<9Qnrou9DO~nPctJ@^*LSj2J5t5=fq~6w3;ZcR@f2DgZ`{!I$!uOH19G2nO+A z?|&Oxqr3JkE3+XjJLZARqhRJ;ey+o0D@l6VcaT>0o{b z7MO|l?^lCS7y3q(`A12gqJ=C$G!3OK<=4%m6%K_a2he5H`*Xr&A9r+In$id=okkE? z8@crBARhz@-}K?rinVQxiEwwiAR8rLKVkShs7X*tHv(Z;E}cc(0!bCXb;>$A z-XHF^+!5S*{5U)+I?6h=qa1+baT}Y%Tt^bD6%!_t2tiFrZ{D025)uN!xnNSLLHrQW zqAgeZF!!ON+9TnJo>WGGZJl>nZtGKP8-ia$Vpdi`&c}1xmef#HkjR|O5YV})Gcqxc zRZ2}wt+XvW*;b3fy{6iy1MWLc=8lSv#(A)6pu6jAck>PeFu-JVz2ciE`mFC=dj#%d zA73y}a%aaC;h3*x_r}_OT#}MXM58J9X5`xwu=JI+qt7euNCEH1hNnW1k3Wh?VSj=U zsqohEJmjh+k?0nBf88-{b1z1*FMua!ja|Yy`(6^l21FlkPY07NzqV5bM{q9-*tNDt zqrk+tduhLH!wrDbYTmvJ(cyyp@kO6gYZBPlzdQ9?DO|OxG3p2%X-M|LPE1G!VVLc>o9Mi++_Db$Qo$%wVt}moHX0^lj4ex5%5bpokFEGa`1G$y45_ z5qDa+;0w?>X)kLUBq5NSrkhUeqk+7F$J>DdF3$L4PIY)tZ94DQFc;J$(n-aFs^CPQ zvGiVNKt%z`?gTpmM*uXmlbXjlAVyEXy``6bZuF{Xl%hb z208$8B)CNwUAsDtL{T`-g>ry;Cc`ArElHNSU28VD2|gjV1-v=z!*R)Lxy1hJRXP&V zp3v0_>57IVp*SFE2ie;nRo;x4mu*bS-l1*?eO$|F6x&VWXEcLS*EGRj$9J8-x-G_f zyT%J2#SdxD5 zwjx&qMqs}yv3OTtwuWAPq*`NPPHTi$AGjPoR%oP9K1@dq20wXwh6?}ouzxML08~&YY{~E)8d=`V2HdE*@gcNL?6cY>C>rTy*PVK+81k^owciPrt8(OGw?X3PL6uCL0XH537VDit^)BS&?6fXVrLj@3j^t@4S--E zcmHUT7ibK>SA748)XqlQrKsJr)8>1L>V<;45(Xh(WqQx@7M=6C4)(Nt+_(?2L+5}z z6u4rsIQW%n9`H>MV;iWwaZi~kQe>H<;~#zVJ@lF7spf>z>U}uVGJqak1=%^coGAZB zqlpAZvukglg*tYxmM}>DAc?Vl1F?fmUtGZsue{j#=kHe*lB>nqrL;=y$`~GugorWj z6Dbe;Qv$AkFn9p=5@=#4j6V7JwYHA1w`=3n>WGXSC1rR_?V@{*^P=WqI?t$K55G2&&dM_9hv+BY>wpZ z5J{+f(feY<7 z{e7TII!H2a^LYfn&NCCeaj<6o{IB(uDn{#73W$b?sRJyrv z)D~zS==~1%^M?cb4um#Y-bLBFH#$IMQWJep`JNAP{?c3 z2WIc8I`_T6>yBpR4N;ZDgM%{?}PPhotIXk9@K{h*3|-Sa~YQZ2q;+0$C{PECC6V)n*->BN#%$NY@eD^gCZNFE3&a+snY$rL?Xsn_t;`Ri}>Cl`!b zg+M0#Imo12k(3{U)MP;kcu4h%guR@2tJPo*yfN>#ka$RWHeT@@5E?DvplZCW5uzV<(*5%@*S`MwDc)g3Uzr|m@en{svZ!vmf;O$$AnB`Sf z;f)Izv&7p;qB^#aYp*XrP5*f9aN_{+QVU$P#W{tyIjw;R<@wm(9*ZS7tvCEyE z4Qo+FRrU+t;O>4upUe^}*JUYSxw210D8K&5xI`^`GGai@#dD-;n^weQ($T--6;g}D)-)~Twj>+sby{m?jE8!8LT{RQ z^=Nto_I_NM_YXKqy>3VTkn_ICr%PFO=P&TM7)^dvdk5Y@<=pJ{^Z&EjA{jN;`GZk8 zC6S3;XL97UfU&-F&Z{N7aFXua4f+15u6U@+PBm(YDp9 zSEUuEQ75+DZs^rxH@oB#8hAAjVeW9o9OXN-u-vmf+(={vNqJ-{^^A?G9d|}7gj^4F z6t(Ezc^PDGzP?c3*sNNsN%N9YZ3;RqUvt^#Rf)l@A#dq+^{7o|J{q)H3|9a4`@2rA zkU&p_`;v>pr)773t+LCqu~{^Xi%Sq0RBpz0dN`8gixx^?nGguoOwY@RCWR~<9Uks+ zSAz5$XGLI@(xEh8W&MOn3PCp5Ls4~mH?V^^jt6ex@bSC{w`jtgbHHehOq z&*zJznkgfY?`p}Jw1WY+;urYnX9pE^XVhfUrOZ>cRwfI3H=9?s#Z{QhL#eliQVI(4 z40QC2r<=oqU{xORJ=JHO1>jI^J?6&Xuwju`&qqP0hLCnmn+muNb=_J+UZs6X`Mi;y zC{D>4pQK8t^a{&2*U`(`$x%wT-}Wt^xwj?|ygLSt>{`s0PO@$rc0y~#_VUjz4UG*a z4#vla2M{#dfp-C-aE~4&+#q`Be$MU$g}B94(Z9>XZ7WC3ofV2;xD5R zSoltmxJQ+=^DuSv$Ns@4f1*H*NxW3ZLf9Evi^KMePk^_tp;m*3z38ZdlRnfj0^>{H z+rY=vG{7J!IMt)+A}jx`79eQ(O7}L|KjA#2r)`3vmS;j3oZM}zUVwbh!g=_8E|?ms zs#HK}s)#3e@DJ5!y9tI@sm8!%dTkj6@Ruc|1T3T8hi&Q=LwxcZ#c}>CT4D>sxf-@) z0&JJo?G|U;Aulw#FhS-u(INJrx3OzcZYm+vm4?-(7P(M&$6CzJY{vTP-+P;!EeXOr z%{G~DcwY94;5Yk%N&@;4C)!@tBkYR{diHu&52Xk7TRl;8+T|}^AAS}={N@`Py|K01 zPH1Bp_Ihb8CHP2BT?VbBCN#CVpwe{-#6JxR@P*y6Sre~yXUh7HaMJpFBv_=9A;0fr zM{4>#jjHaYA+>63Sg0R2lT=?iSg1XEX5d~j`Qhx5AvwRH6&04+ez~BDjakj@+~*BD z(L-^&eYk@8j;3}(8adQu?7MM@%XI`M%*#?HINU6zZ}qE*VIR3^L$BY&$M?$CE8lJB z>=)|IxMSjyMuK5=6_aTg;@<_&YI%Wn-UHoq9wM&Oi$_q}Lg zJU{U9al14GBK2BdKfX*8&i^sSGBCvFK0*mrF2~Qkl(Ie;ufE>5!9Ba*$I@l7GO3qN z5~})kpFPFF5!0ClRr7vHAuF?uO7yB=!eBu8B|RM*z2rsPWQR-_W{Gc&h(u-o>vC~% zy`2E@-W89a&f`MiK_)v5tc;Yi*5vrJR^*Jq_&mGzLHpHA!72gW9I&`int|!p%+wz$ zG;k{zR$2ga)Mc(tgGB0jc%Ty z__HpHtCdZNG@-{8=kxVKh#Qx=pUPOL#xOP9YRMnmXI>nI6?*6!6v)=?@p2? zU8Gel6BV+1DdR;71_9Cr(UtM)8&-i?%nzVm5wB(d&&Kp#)9CWw9M$m0kw!uSxjC29 z6E;&*9hGdQ7+PL*Ms$Dy>cyZsEm!OSfbPD>apU3tept1a3MLZCTgQM<`p5nq9%wsLyICPk*cu!WFpdYuD~E#CnI? z481xyVW*Mz%4GMBzMB3Jc5_lwlywG*+CNH6qm&M~l^=wLFU(FHy;E8`ayLSIC-9by z9zZ0GrGIhmXCRU`w{K?mdq24(X_UNZmR8|^Wph8I#|OY4-aF~CcBxMb3ej%uG(s`+7CJ1jwR_&9J{SOvt==2`j`PF$cJ;jM*ub|T}jH{9vw{D1|DU-A6`=R z)h|1C9Xr3C#E!kp)z68gH<}TDts~1_ZaW^VJG`P?gP^-lM3;s5ug` zS{naO-2^$XzD`kY8?C!yrzvK&Y?-w_I44A@nH;TdEZD0nmhq4>y*w0%uXLYT-~DdhuhwImsQ)rCT@@ryjP3sB+#)IK`$1bNgqhXnG;sPz)+4F7cE9h=UN!nYZZKcl?db;Tb<5~-JQAZ!ZJ+SQ>J#kuzRXF5t#FP5 zth3!M=i#tbFQe6*D*?P;!CM6tmvo1a&36@LGVii8hw2tnAJ{*IGJJtI za`y9b93{=1uVcJ7Y3#{MP?yJ-4XQX6DlVjiwa>4r6>1ryfg#y9K`Esbb1u1ED6i;D z;D=9@ELFB=x8*elgmQ-7rB}Y3sHIEcn&vt?RW|y3i6cb{fw7&kN-J4DJQ>@wF|WpQ z>>?s&wlX$5zSv_C6whWuCpPSQI-{v130u7uYLV=0X5<)TU*q35T|h9blW%>Q-H}nt z1Cd(RclRiEIkScv?%CrJh1|K_vP*ROA%8PEJG1d=L9<%!dEiPjN!**KVpAtlE)Vg^ zy$=fkqf{19l_ZKe*n>@34~Hza8`+)CBXFH0HZ-E!3U^^6{;^u^Lm}A~C6&&nUuM zQ89n}+mjY8G6cr_G8a&Esk5;vIC-x$fP6bG=@ct;WlU1G*E8FMWjT=x?6p(@Rnr$N z{5>O0P^x;m{b!~D;YvX8QtL$cI};K&Gou>xQO{oT{z!CZzKL<4wvV+-!nGu##hX1+ zOQZen@xMer|2^z~7m@$BC;#n92;_ez_xx)m|60kvR`M%!{r}TR|BszGurSC&7J^Qw zXczRjOkQix?zqUKwHHWXzy2{r8*E)&38OgAb-X#F>}?EG{^V5HO;Efg`fz&_FUl2oxL5O46RH#dFrSDHI6#ECKw@ba$YrWK4D4u(WTAU4Mv z2w7p3t=wu0;H`Y!;N>$4vijgqh^9-{ZxD7HU#Tr8qF@msO_T~3@R|uK8p*tPd)7DclQ#s5@W_ELSD~oW*}uyDahK&DtWMy zIK)2SCQqx;! z2!(5b_u6>hgvv?Sc~;EtNdVFaIh>nUTM(MuKU-2%v~3H&1KJMWjF)eXb|_mgO8M*Z z{Jax!Fuxnu$j))x84g??^G&7_!oYvPtudTWL3-*gvzH?`L2=aoSK{EmHX(YHAeY3& zQ?-)VCxdlmY)rZELlTovNGOfHhWe4cMhKFaT%fHJCCQ$bcR9?#YYn(T6{ch+<1AC8 zMsdW5nlAyiCZjh)6gd=-5Cmz-E+d;$1uvR?-YNvQ*H{QrGeVjUc;{!6wQL4Ojm z@>x=TjZB|tI)S-cam~Pq_GGgsr%c(4VwQ88ee}l*dIaPrMX<~IWR!I+{LJku>{IjV zsj`kJX$hsUYwZ44(lK55CeYPU<5(uGzj>{V-_6stXZ;DM%M&goS4uo2$EX|*q^edboXoqXuV z;!8mdRpj1mnF{gCaXkC{-~}Cp%yny(pR29Z9TK_@u5zT5+Rri?h51a``}dACY*fxH z(5<0KG@PCCDQLjGFjU*Vx8T8*I4vf6k4d+lmql(HXl_6F#?6B*wRVVT7*XI5h8&To z1D(3e+@<&^lEIq|yim3ah1Z@ObV_wXbz*jxGrJ?gLb8y|h77;;&R%L5Z7GQhLn{*q z8v9`rzV;PgGrCRAgim*ZH|?dCfLBo2BYJDb=XKRw@{_Fe6~j%{Jvk~bo#&gI@7QwuWgT`wDr~jPU|fmMZq4hR2ib6 zATk}xQADOHf?|NE43RMkLO>wV+UjXhs9^{YNSpu>0UvCuPbf~z1 z*lV%0{-v0?9tIX#(4!7TsaEGDr#Y%?Q+tbrhUpI3zi%}OWv8sPg_o95gVG#o6V-#2 zL9zk6*>@GZBlJYR0D_o))T%@!d}lOVG9@4X(^;p}4b_-=`}XaLG|gtyvg*@QQ&ar1 zT6sus%j1c98O<1oH1Wp+?8B+O)ejPZK8C)gmWBOzrLB;BkWHB8+E`tBGZ$I?k%4?| zSn5Yhex6hlGo-#@lYHG_3woSU8Z(p+&;uVREbL1~@PA}WJt(mPkK zi;GvrQf#oaSkEN#`|`15*}dFO{lwQuGWiu%Gy6!`xH1-%q+roJ3?aSP&##W>9*GO5 zCaC7~_b;r<&s|imN^mH*prCR8ih;qw91cn&u`l`k7+TzvTFlEU4ehd~Oz5+4v@Bvn z%2&}fu6h`We#y)zy^*7>_fzybEj`=ErO(bcP!C_dv^j6sA)yBHp=fexX}8R3d!2hl>~ z9LQR#kd--J_&Bjq>%rfC@W{(dSspWWzWuy_rV>6~w!q$eztp1>Fi;+aU;X1#-8g{? zEC5knX+`IuvzUVN0M-Q7#js~Aq=pjL?`IMc5>i%#d!fdrGtiJW(H-c}+>i;kC`n;e zl_jiL@?I1!Wj6S8mw61woPlInZr4L}bsh%#47@$pME@9;S3G;x?uVu3B9Xy|_SK8n zBloiFE&5Ob=EXC<`t##M@oKCYTm8<+YO&j@`yslL-Fnm32m(^abVXzK047NifsQ_9 zY4pW8;;k()bKl>o#@kB5kKfTiKYZ9cj9cVK{cuj$P? zPWBPy%ur}~%}0LV&Mra%tKZ%!lFohM-~0CP-(XE%$o7jLGNaE_*?xGbeV)rs=zY3b z-#XIK$5sl;*L_-G<{fv_FNjO7-?Fpo68{ZjjGKCPG}DC`f6`!W zXm8^DGm0fd{PSjXp~AW9m8(+$uW$V(BP4K5fN0`yQ0zcl>Eyui0|L(^RB63X3}8&5}W#~cmHUBDW1i7k?vXZe{@~wu=2uEj;-G9eV*+2#e>3OwTdk4c{Qe< zyW|`2Uu&WiI+_)!um?CE1b%*m8%uqm{__zb?U{R-VtBWCBbTD;=Vs}S3nu_xLx=P#hS0>_g&(;;Ki(=H7O3Ns$ivZ& zhU<4;d3lq$`YDyqdLn;RRTWdKeZLVhh3$nmb2GKW>9WTG@wpXC@0(_U_Xuj#0Un1a zvk`Rcd3;>dUP=&zkJVirk69VThcHG7_PV8!hKCLvvYq%$tFZ-y+$=X`Wz?=GZhCrJ zCL2%Vg21gkk*3`RBwb%Gzuca%>P4a7HtenYE=A&voDfw6PE^J+I1!|Ow)9YM?}PyB zpZQ9IJ6FHu{JvdDX4%^+>PrH`ztRJ3bM6ha{0Q$_@jCwf(I^J`NJR}YLeC|2v#vv? zx0kK$w)FZZ+@no;Uq+28y0ZCv{$>G@eYalNeGQON;sSj1Nq$`e{!}-cs7Y4Mw{Ac9 zRAQy9Xi|jh*kAY;#0b=;#6*0YM_dxQtNaJgoWm|0A0Hp?qF&x1U(9$!dHAa?5b&FK z)wh`0Dd<&06BHDwfY=ncH89B(uUYM~J->W!c(zlYG3vmJSg!|9>7V;z%l4{x3#9}{ z*ASGU@>jQH_p;7FyWsE@eGK0;HXF9C#O$F!V z`p6yezc&B$+RWgAiiU;uB-7=)8c&`f(^(#*J0W*|`$>EL%A$73E^7(Fe+aT;sA+p7Fd^F(s>O zU#3e5O3}>?v$QB>@~N<}u;o!aJJA<}a!J)z&%+;o1$nuuFlP!$LqX{dR+m3K7=as| zdpPX0CxGHM8#?}DO}T=TE=-g_tTGL1z3b}J_xa3OhT~&a?`gLXBr?Cexgk_8BJ*r~ z)yE0TbPZ=rIg_DTX*R5NDX20;XnOu5}JGTR+VP%qvZ6k%JRa? z(~0szvgO6szcSC`=03dIe&Ev$GuD6I(MpYzQY{KtLPO1Jt2^26V#{~2-EAhtfZu7{ zCM{SR5bS2n)<+N&L?=%Dbh#a7x)0;W(ZqcNf!qyJw%`); zd*}YnLh_om8>;3SV8;KH;0M2_MA!SV`T~M^>ES7*8#iV5=?*qFy50C`Z&==ekpnN@ z9a+(~uk_K<`erY3MnHZn$@q@p)qf?Ct6l;rTMP-ib%Ge0oJ6+rk}z9mhp>XR zybZs)lT2vImaPV{*P_?PY2AfxWWRFWqrVo?D1NlSMv!b|m^^nBuuIv%>9Z&;uMb}y z!V92FsHD-&|AIe$G!9WLwK?%`?z>o!#&?_DEe{AvUADM6G`KW`!lSp$iR!-8+V~)- zHBA!mdOfbD?<^0}QwE)w;%m|H`4gmK>XAvI_X5$$Vc#9Y<)M_KTN`vc6WO*HF`!N% zjRt@Ic~`M*@|?I();DwjpIiM-oz7{0Ce8OW7x) zW_WB*a@5rHw6~8BG==9OqJO2`w4xgSwb}Z&>4r2IysAdd<+HFXzpDxw6x`S-`6C`N!xSz4Yqi6|zfe1b9&ks>=StJD=Zu`~$`f8v_q1cyL_0^FTy zpV%}rT?&+tq=j2j9Oawl6&^Kd_CCmU0frL~T5)^?(4ZJjE#Enob@%VowUuF%$=#i~ z?|pn?Ywn3@NfxNa#cuo3t4Cjq>kNzWY}TWeYWSlg4_uQW!c^ir@cQy-kd7;@rfFy_ zMC(gn*&geFTEACiKV_Uae$QqBAf?8xCr_S?X)j?%R;u3ozV$Sqas|@>`(RE?o$>Jz zJriIGdU%J8*sO(iL^rsS08$*%{lvAbAJKJ?q)5RqwQ{Ya&Zo*Du9p>Y&so#rNv&zS zD4@s_ubsiLvwQ<>A0H1Om6j_~qLs2Ju4JJl20~V^3T&PNUJom(W{(aL?iO z5f7P`HN+ebhzTR$MLzN#LruecJA#ajN8rY1s>^rqh~SqDG*Xsx7H zziYN=+d!ArjnoUS9xZc7iGmgb3ewgz=Q|f z*p3vlAEuWeS+;#g#!xW@@#jgx1wmjo5-$MVeUTJAEKNZXnQO~;^=&L%c3w@;laAVD z{NT~PhaA}7nZ;vLaP@m_MiRW++uP5(v(*YGVQw+4GqVIXL-Qg+q$$g7aRY%A0Crgf zu;MteJV%P5>H|^M%|VI!&IWStyBOrg4WLmrV^^FFl&wKw;gKC06^}vh>9iBSGfF!F zqRcoZohXGdAZwYAm* z0ZCDT$@A>o{TDB#DJH#QTSVmIhn3$O0yR&^R@n8ty8EP@O;aCqGkb3X^W|#mn!T6P z+BL{qXB3N*8AWg3=EqE-Vn=HRCIA9GA-mU%FxW6JJg9PMuTjsh#t{8F}t&}p|a zVpjPt!I^>HV193jEwpZg4(s44g89BT* zl^e^mH9=DJ7-&*Zz(xZ3EIw8d#%?#EohkG#Zl7str6Pk`%IkpwH}>shamZvLxwDF6 zP78oY)2N$No0qqP-d04JfT++0?6L0N-b~hPgOz?%-6@$ROgR55ujG48&ABUV%`I>y z>ih7hwmqxOvFzg6Y^kP3>k19r#q4&${PWH>F&h2 zrhtK!Hm-F3`F(^KjMR3TCK(+sNJ)>ke`bp$2{2{%pqf?%W|cw`GT}*2TzFJld8T)) zAZ4XUb3;8u)O_3?;FFc%<+yi)Va(;c?#!TcWg-kP$yltJX!vV&KpysVSjq&zn#Ps1 z`CRxvb&h=g&;Xj5In^!@Rrm1T-2xloF+tI@C>5{+(o;Mek&7U@WpmEDp#uSUj<)WI z;F$;Es_NZ{e1JW{AY<;6NTd;%K1|UBh5m}slm*_1@KI_pG1^nvSF!MBYkILuI+Z(& zE0y^Ah4jVSe?k>w*lPLeczR6p7TwxavymjJgI`FN4`LEePz3(wK!=aiahQ35xE!t| zV8ek6*;WCEHzcB?QmBY}S+W`24Qdl_XCN903lDEcZYgbNVlZMLBR=u;bCxG0ags3{ zOhBDfhR)<1U{3I-EkiqU?%J!jl{F<{lb8Q^R)y!8)l6!HYV9;nQe^DtZ;2ws@WPY_ zLo9Mq?agXT3YDdLafpPZfPTlR8=3J>PYe*;g4>mbh1Jf-DE~VPkFq4o*+qD70K?0Y zHqs)>sgCh)ZtF)6TC`d+PP(1!X1a+X4r?$?axQPSA|R}A(y0fGcn75R3cP+*(a2xh zu=(9a)8~K2^#_{3=wsvM?=6O6O3N1B>f?mloHU7~Cwo1(WOEd&V-f8Mv5($0vZ6T# zHpk=;9SbIZj#Mu?R-s}owT9gyR-h4Oz+x-c2iM0FtvneMCei&z%qRaY5mX! zEzl=cQLNv%`nU$_y0w)^8GUZeP=%X?faXrIHrL1`8rQH%EZ(j4iC~t z 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 vWhHamLDUDep(VSTG z%h0_pWGpWyCY+RozIkF@z$pm^ETH^}^7PTm zz98X35=eiLN(jL?-uMZV;8#*n3HZ?hgR+`8kKCA9S-&JD5fHvJ^QDrLV`l!LC=MPU zyRWaWjZ@cF)ZU&2wq)+~u1T|gUzG{>aYci56nryDF~d48_a^-bt2sG1{9Ji$U*K~g zrKRb3Xmfz2E=k|)>5;L6hrN8cqNt?w1Pd!xy-w@DWxak67dfe6ZvI>t+Fuasp0D4U zDB@jkw|%yb54Ne*&cWqNUf$c#&`=nxxVRX5?$xg^zm(oeNlWWnSX}4h1%ms(#9qqn zO6IghLy@L4(Nxok%*Y@&GWsR*=B542GlWYDHa0Bj1csoPm|;2%O)#6Yh}v3iwZhvc zlO?+T3N-D1_1kpM$T6Yg8TZR20b${N@^|mBm2+ezs%_>U8-$S*KR+Qpo62P|TwYx* zICTB@&;0VD6IH9p2~+7`A1&taup*bs8gsVHcbzV2DWuoGnjFk$u-O*Uuk!KyqbI+r z&~}_#f6_fO02VfkVVvtF%gx1QFtS!%X0VRO%)w#esJrk2>h!PUNva+AR92^~-?+GX=DT713J{K0!V`F2t%*_#>pQ9Zfo)+3GjY7M- zR&U<4Q&95~1qKEJJNO(IhohxEuXnJdkm;WNtKq$u7N2N_mSmQahNkA9nHfSG8yjXE z_hkrz3+nFD_D1%o@zBtagp&%kgTrq{Ev*-Hbad}*<`5XPw4KihuIC^`9h@?a z@TtTcj1bZ8p&`U{TO^`SL^U<<#8x{aDw8L}Hit0NG0+ul7+<`2p=WOXRGm|ui;HW* zZ2Iw5co#2{l9FiNzV!pvRajWKv@(K?y1Q%fPTtvwl|V^ZIXW>K2F71mF-S~K&Jgl{ zX6Ja}3szcAfcouQ%%NB)7CZ+k1qH>_EN@GJai6BDbU~Q+kL=U3rn7ZE9kO6C^7i)j z_w+usWZx4LTSi7+4kWV&8Mb}lxgqu@>w5lLlmywX;dMaa_luRU2B`y_yu3sY#QdM@ zT@T)q$Ee&imX)!1oNq_47>~ggu3{MK0t*xuoKb}=y+TZ`_ zlD59S&V*I0)6|XNzIJrw<>ukO+}1%>(5NwT#xtp+riLq*&Jz+{@2a4okz0zIJ`@xc z#f0lqqmhY%lqBf2n`kB;^Iv4`92}IU zICyB0P36*CW2vK(jM|R-`}_YkdZLHpvuo}}r~|LIF$AR!$Uvt(IZ{|8ec!oPwKr@9 z4L1PXwIOv#VtYQG$L^NM@K7S{YTl335UYV@yCmeEOP6zOWQE zs!L>ZP@DPR-dl_6d0lkUmS#>H7)~1`+kCl53v2Pexv*bp7esD$1-AHtkPpGIGklyD zUmNenm&dubsgghHVD<*<_U;yY(DOiE&;a~8_)MG?*(CDX3ZRirMSbUdcnZ___|dRy z@L-&=U~%u$RI@Epc~kwx?JthY-?!yilJfHKFq!1rs*!C;U}xY#Te89+yy(QlTqhrJ z#PRuzkgiYn5Jg1Js-HPK6ALtr_uAZMwQo7LUyJ5cT7|pZ(XcrLqC6hQkhOdgylc* zox@dMs@4z@GB8NXPe}*PdNmm7+c)fj7j|17sg~QVSB_lwLoDCo;_|Gh zb0y zBX0yIp{R)I;{8BEDj}MiBJZH|vdVTg^tDLPqX+p`6)Tm+b$Vl4W4~HAV=OHrBkG}< zFZYC4y+r4aZqU5~KCxabFmN=q$MaZreDd&9KNAwy^d1aZeONlpitg&iKL5(fLoz7$Lkaj6oe=v z8`wQC@aL|SnW{AUd+dKUb=O%EcWwbJd=r5)`JKJ+&P0*EsVzDi8ym2LM;pkI&-4q$ z+PL@jT;ASz_G$Ln_y#bmqj~7uIyfT2*axim6SBqg((-ZzogMI;0_vt-@A!=R|`7@2szRx3YdAe&*pLMd$Z8Z|%YAf`c6$*-J{xj_0D-3Hb<+ z&NUCoTPB)ZD3^TB_v;;x(6_b2;Ma8?y1JzAnLR|K@WP?Ku4VoFw-#JRl%7i|A zc>5A-1@ol?-qWW~xjZ-Cd7SQMjhk*+kZnzu<6$j9z;}pgnB|JYReiqo;`6%nO;W2E zFr#?=n)Fk()iMHZpzv!iui3Vaj;9+NxHPo1q6P*}NCn(lo+J0t(bBh1e&?`DBj)9> z3YJUdX#<{L$(#V>yO_k-0btg!mJXE7*VxD`4r6A4Cwv}j%+xjd#>NrFwvA5_5hd`6 zh#*i>P_Vp)iz4M$nK>z#{cyX4CoseK&@9=eW45XMVgggK&k*zY&aO0ixR;S$mWnB?7^## zAi%`IMIHv{pQE8gBKxy_2no3~IiXtH+*D`C%%b%2p3Mx2#R?E+1K+$B5FkY-n=?I+ z!(-CXyPILZT+AQWe9G_QVF@~Scpo_-FR!%qoMPVE-3d2Qmz6arL zQ@pgO+O=pSAsQn}7yZ6f>lGI_xBhStnQFZdk$}M)5Pt0R9(2AXB!D!3`7c?s;iE6# zT+CB84JYImU;Y4rY=aBhr;jA%exY*8Q{!;;yOr7l?*2Yy=}W#%vb(!`jom%*ix=1z z4u3CrEVplKp>ojV?@s~JcDM%3DwQb#26h~YC}K5FI1+4pUyzG%@$eW7uS6A`A>)H7 z45kQl)M5yDZiM&3x+)9Qxj0=?>z)3D6R;Jm^ALcX{r-MOUaQ{YX>N@|qw`Mo$m_CdigYK9$c8jf5w|K9(xQ1-RZCr=urq^G)7}{kk=h z%gT4GAqYM`KBc9lW7nPvo!#9?@XyfNqhGh_nH#I_T~J6wbna{O+6(R)Gu5`Yi}HCL zzTZ0}Q7N3&h3?_}-uu>`;HeN1a@hUVkv8*nbXw004Gk+S#*_cOCBVE#5(z?8zUCJd z4N%`Pe@S|e6#KIQPg&GW)mKEZw63%iWAR|_&vP4Kk@>>f3SX%$|>)9=n-%YDi|5mrHN@7>8#*;rVM@j{J<{WNB&Hj*w95 zj@;ms>N6Yl)vF#O)?KjgjzY^zOTjql5Ay#;H~0BH>^dD05ucJve<((9babS@-!i1v zIQ`j6P1yD&%9oCAnV|lL>XVrn(tnABIY=_->FJrxk7tn`A&f1@)XJD|--4k?665UD zl$66})q-!&I2DfGIRUfJpJ(pw>+cW9%A!>Bx)%%-Aq91(cm!!1!9&{D<0m~mJ;<90 zv9bPbkUGEizo|T|jRDS zn#YTH!y{_tpC2qd?`({&?{})+=P%uAi~2_OasA{9B#|^5rHpeZ$jElL>4us`QB4S! zH$NM+Lgf>@zR0E4+ue5pKQ=z0tIV1d?&t?u>FbBA(={t3k4n&BKjwy8b7CjA@O2A_ z;6dvywt8eF0t8p)e$cd$rj2A-CTKb@-tR3jrOfdiH1NVJXUnSd$P1)L=``NZyg*t& zsSN{_7pO^cn*H_LBxv~5K5A&JtjfnT&z6A$DW>)+Q;DVkfhT>atB~6<4(%hv{Ek&P zy~%qx-`TQqr|3Bd#$J^sBvi6#8O$|)q0J|SA073qtomP(ge0bj^vi`?l5w~&1%*NJ+Sibo~ezB>4$iUD51AnQ+ zL{@iX-JTB=Q=Tpd2BdaVGaN0)IO%OOo#LzR0DJ(Dg&{hbKnnwpCXo<6zsj^GW)BSZJ8rOCF1)vHlx~=_p<8X2Q=*9$SX(+Z*Wb zXErh$kKJGT(PGht?C6jmd9|^z;mm^zwX_J0dwioYFtHhYZj(QIFnxVS_Jc!VR+sU^ z9^1rXdJzcpGb3l$6G10ju**`9T}hA|i;2@(QOEWqrjase)?}EEn)Dy61r@1CNd}u1 zU&+WqvIX9dK@3v0t-WU)h&i7!*V9;?33oN(f*7^ya))o6oQdV7WZEP5J|(T@$HlS7 z7ishm(263xPW}N<#PgLaM^On0mIre3R(onLqz7W&P^O0q?kd|m+}c`I&bQt-XA&2r z`Hob%j^D@G#|H+qGjmqHh>M$zW;3vnU|~VZ1;#KKHMI?T6rcT>XzXs-tf~Fb*v6DX zwm@OI27Tu|uPP@V7-f=&JCzm}H-4*7$i+*ZiD?jP!bwdhR0^Ep(ZE{UMISadUS9gNO$L@nD&B5h0Ed?HD@x=G+UR!ARP;}gq)DYb>?l%!vCGEmG2MX(TiMHU4|a{& zsimUoce9Z)fx>cjss!G9@E|uzS(X2hoF=%tKqNOfSV?>4ey2I!WNKs-@EmJgT~m>Y zo14JiUX}B_O(J}3%X>FxI4dg)8qXIfjk+R_36AB=5zxO-P;uH<%6{;LvzSc;_1Qwh zQ?}Hv$r+`oO&4(5f7c)P){T;m&Qi``_V7>wd6qvc!q{P|;^fG$J}7ABqBJO{;_SSb zBVa93Ydldgv&*buuCtSBYqo?oH!0;?0I2BV4)RoHSKR=pQsr}l3dM$XwYEO#Q!5O} zG#sGI#1y`-r)g1)BH?$y|ISfpdhdNRU;;ch=U^K5fV&bL%>NnspHtU`qVY`-i$u%5 zs#P8QRb0LJoo+=*nLpG}VnOhml`ST|lYuff_mtu02^9rD2_nS(gVnO`_mJoK&I?$K zJgH+{!NuOEdQrb)h_8`v9L-Qj3~%RIAvISA4jz%!P;4x>_NL`+Dy4lhTbX3Q=1{?x z_N{B)T&Lw*ZaI_lv_=p8nNwG%du}g*bhfouTr>*iIPgg_o&V7K_i44>N-_Sl+GNzO z)J(%=(9$`^-0zgvUbl7}AK%iN2meREV*vP;yfF z*6J`A$2A-NnN)DbtzSxO>ZeGT<{4?2my+rSp;s7Yd@}82`XYm<-*4?zo9epI>s?>- z@}iuHef&tEq@?q{U#cNL_u?lxuv0?yV?D&?FysQVOhv?-_tyU$ym$KCQwF-KEfS?J zDLVeFF;7GnoI`uOKdir3^)J39=hIrg`Wy?j<#<;vmNz4U68D{XMooJS>+$0JsM*)rKY26a_Z&(e!T|vpJ0moNc7n52)XaPT40bKC*>_+-jk+yI%1vFI|}9 zFe%FeAy~0? zW2;vhC=rpMQw)$myuTpjXZOg^OxP*x9o@TM}7O2zbB-+KqgxnyOaziCYr^abhNbi{)?c7w5+G|apvav6Ai_@yolB4 zZ(iIXz7TEpxzjK4M>a^Np{Ey}D>s#tk`mR_qy-3DbXxoufGAjSX5~wj|2B8@r!hJ+ zQp6rB0T6DLQ|%*!JGikkoA%-GdZh!!$kbH*(`N7Mub_aI`H>Y^KxbeG8AK;gi-Y|z zosu#)e_OtH;>PDjCrLB3aG_<%+%P&kj7ddB)qf-rdm?Hbxhf_mHdSYg;z*B$gaBX* zR<8P*F}F0p4ZuZu^!LxD#A5eG+aj?!vH>KnZG0T3=u`FZzgS#*9a7Wl{nRDGfgFI6 zDdnl?pYMgAI;C(sLWBTAv%EEuCXlA1^SbT%uMi=KP5%BpOc4FfFH-_76M&Y$dt&4i z+JJUe6`YU12aZp8aG(Ow7R^ zl)pbkB>I!t)NTKus_?~}pPmYX3dnAqHFxLua@Prw8Fs(Ft=3#>Wxu{D=G|cFw=R5V`~zEdCgW& z_W6)N077vz9ePDho}yeUgBKpoUh>4ayN*!-`+eSjn^@O$wgxtFcjXBHZDi0hgAXNA zwD8T%&E1Yxp2F-LV%UEX5zNsB3C#C$~-r9Lm~fNd2d}RH><{ z0Yj57exj&W+5Wd1DYGlQqeaNy{$vq4I*8Z-P^Y0!dUA5;fs0j}ub)4&^USFxqO^P( z7syS4^ZDr+m1Z_x$DWd^&D9eCx3oP@SMsjqwLIC)dv7J%!Bq#Zk8qJ)m`sqPg^Ep> zKF+#613f+WO^NhqcIofmpC#Y40>2HgIsLC60Mv|T2WURup-nc(HZ_I%R7-L5E~)$x z3WB`{WM|Wr2bP-8QJ{{;1xR0bXZ zx;-zkcVpQL5DV?a?M|(&XHTEmJt4mLQ58Y;xKO))lg7`e1Nlh$Wl!~>PtR&m!o%-J z{K)1M2mX0g3;vo45=vv5Umb7_}` zV|8(K)B!a-MbS6NX!xusJE&Wyg7>&Rx`V6701NvJkS4&9AtNI{(wv}rAQu!&@5x$T z-RXPYa^%KWVZDPY*gQ)^M<=otOMPgw3124J{wAT?)lMP#$N1b_$~0u@k=ET;K)7P` zb44hC(P?La1TejqHzk5_u(xlSN{vrUAbQ=aTDhTzfanL@{0w1y7Z;ZlDWaa9545wE z+Z`vHDcks1)Xhb#HE^}|zh+ojS%pD1QmQ{{5>CvXd{ql-SpY9{Tc1@9&N%2%c6p|y zXzkp-xqhQtC9A%etHNUlvaas})4Zf?d zD5jd~qBTAR+v0pM9DDT%@a^OR_r|R4k2rF!B(^2+6*lvh>V(8FE24Kx#E6EL9~oos z?tcCHHC7W)oed&`W~B`jVN9p?h%a(ArUGs?&rai4wy?+ni~A$L4?s!3-lb<2?)M{s z0H)fGy>=i?Ff}s^o+xCkSdP+(_wlw941bPP?mr*bFsn)#Q9>O55)<>!ZNGZQUt^c0 z)sLuyKY?yRCQprqTYhV1>9q)V*00#FFUy?!Oa>i*ih=`rJT0A_ohkj}ATi1+>R%r~DFMPe^F^8lU;ZB#&j7cIA7jSbGQ7F;2jub94TQBHiBL zb#%N~3iocpBK{S7)mvU(-t~1To=u+Hn3drC{+42Y`-s=o#a^h~geeH17%%5g+&|h= zFu(GJrb+9a_A(s$-__^K$X3O)2OzAK($cxPyMqjH^@yu4`s=Z9rh8X=!}ZtlI1oyQ ze+a3Lzp}0#l0YZRwazT@_8sW#d!j&Lq|y0@cjhn*5P|B;&B+&FOEU)5g)O4u(oF?d6r6x~u)-yKt4eM8( z{au|LqcFk~xS5I~j~N_n{NS;%G0h=$OyId6nXXuAA;3oF@Cz>aXe8|NKPv z9RE4eUn@6c+LzlirD^>ZP<@0}gNEuqfaN?Z!q(CdVLT8Ly`%`VUYozZ(2YpQWUR0n zPj&~Hc*m)a!sc=tqNI$B%B-C3jW3^zQfqGt+8-fRzvdY#Jma0IJhl@a3JUmppK41! zCV6=#Dq9##t582KDfw%&dEr3p(n~e@x3XX5O^l3|dRDtEX8(PMnlAjV#nU(KT@El{ zGz`Oh)q$?OWK{Uqfc|oKHwX~)n5N6Lo~=q*5RU`JHWibERPSRV&BD(mBP+YSoX5BI zH>8rR&xjR};8Lr`46%}SfOascGwhP%A@j)T^*k674T?-n{0Af>WrjCujcaS<0S(i@ z?70Bh+y!wb9o$_>M6i9s!@(uj`hyx%tM!)6S^h*WmG94*qyi-`FMvc0qNo#?8d3O* z%B#Y|!aJ2Z<-L6?spJ61Zy>75 zDx9YhO6KBSqL{=pw&ZE&=-8EkE@)t*2_#J}(7{YzY;z9zV}zJH<@X`>n@Yqtk*SQ0 zjh*>A1WuoS&iWhJGeBO4hrc5rq7&`wq z8#PL_2FMh)b)xZ@#S5^k!;PMY5 z3+?Y!3$*ao5#Qe}L#LW&C-o7&K!~ z2OGrRcSsx3StEp-B(DP+K0fZCm6a8<8`6ci=Up8;ZT+Pba4feM&zdg1p5}NOQmS*h z%DL`0Kk)r3o&5!HQxGZaug5+_q!D@nP=gpC9ON<3F_xx<6!Kj?~8(A#RiB0MX z3!xXhu2vE%M!zOblq6nZ`~bz)`;Nf<7z&83d1qdtocahew~IiWl1WgI46t_*K;ol%Gv7UI$koFL@n53IrEwJ>n_D?Ju=>oLzysJ%P5kzy}x_QD=I`27_~7~?7srhK|3Cu`cje2{4!wkv9RDk31oL6 z2SjzOpn3~-UGyXqe5e4iB>qF6-TmB0tvWY22ypd>hlc@`mF(dWveD`3L8fJ8NY88g zUVOkr4#a2okV!3clm$ew;c!OBRE<8#$v0-e7lG&aTPI88=H}K4g4)Xuk5aS4tznS{ zw|lJ|TJ+-G9kE4oFG)y^w4VT1z80>Y75ECO0t6d;zW@*PC{IBJiSgCD{e?z< zMD+c(dTm}%ZnVwKJ)wjsDS<9PNJE1LtWx5|BL#NfDn^?QYBqq#<`{(r_t=d;R|s#Ft`)%*ZyicU&;u5!xw zvCQf%;HKcZzC^sDW0LUl;@e+%F0QZtnwW%y8^=zE()$4ZEJ9#tb#K;HZ}0=TB4g9- zisR|lG*(p=YIJ-&GKfh34jKv$8zBLKCN7{$XpvglUjFx-t#+Zv3P@r~tIC9IRp*YXougiIsbSXkukuSUcG z&0RH^kcy!ssNn0bVhGO6P<%;Caq6P|cCmz*7&)!fRjjo@`cOz+xoqk^+R93reQ(u5 zle6-&=}mQ4IKa^d0@Bce>Mg@m%T|EidevUj?M_ui z)M9*4N?urIEo@!Z|ifg@zU+Ua(bkssy= z)PVVM&MH}csU&JeI{vAP))HD`C2vYS+}%73fY!lW<@{j&VnG5#B}e^7 z0WdLffZo#(T_CjaE7o3Y9TLn(lbm4x^yyRKWUbVJg=WhG6`&_}KwYgh_kiyGI{ ztiKv0hcDS4s}pw131T@pIY~J=lQcb-t*H;|1B%u%Nj#`(YHD0A&?ypDA~=B^Sz&k; zY3d+TdgM|MSJUSEM-9s~3J<4-HgL=t&y{XVwZl>&XUF zJLh*!mPYw@0~SV_Zh&bT`iq4LntU!U(bV3BKMMh7cz2E70&3%!q$^fEdXSaOO|$hM zO!F75u|qZ^2!N06mXtU3nP_Uf-W!>%C$X6??6n0Tnxb`g$;d_3$)DdibVqlti!8>v zV&s@M_nso_H`nO+!Fi+EbT7!qC{a*Q=(Ve!5KR;6Y5W-)Q*3SfBJMzse2|~ zoC;(MX2HmclCLoIdQAJ6J@@&t&L-%RlD=o^LJ#*-rAL;hyW`UOL|`1RT95y9Qm5_z zK=2%DzI>@&*OWEP8cE8J3(f`YtcHe$!B(mMRH=FS3^8Jz&So-5sk)M#ca8?@5B}&B zJJAvWsb!y9(cw{!wA1y~jM-E!=7jAnA;6RT0|T>qtH2K7^V;xnK;>fA{~&IFOw(&s z;HNWQ$yhUmQpu(qE`%qUO*FXp1(&UMX6ioN_d5aAUDKUOd8a$lyAION@J|ib+4Zdr z{h8ED{uE9-a%tz_n9mdv;L>Xa;LtVyr2)k8o%1@LZiemyoD{$efr91!b6_H~`R|E7 zU3H*OYrT&6{2)4x@iwTI_jb!6~Rdn#|c&4}a(Bu)c$$*cVhXzcZp{ z@h-Vkm2-^p-@iM9V=}pnqt`1B{=$9duoVJgp`>3;y&zny`hP4x8lQ1ad6N|f*v)}F z=AXfj&eZ8&Xyp#)_O7RcvtwIA!6eOqd+X-OaIG|8x?Ldtl#~>wMPXLCZuM8P8qn^ zKilkoq@r$iD}8PPW4rAV&`}JsSxYZ3LQ0zOV?8-HCtr@EjCc^z;nNE4!b+ zL=c)g3-|Y7QP8p?0}TTW6H`!S1Zpz7b@sWqY|`#7JMg{52O>|8JBlg zlvZOa87FHwl$4b)$jG|rgTOlu5HT_F--f_~PR>GSP_MlfU_={Arxu~d&1`5O7XFFB z!NFl?J`=87rSJ*F8~M!4Xn@SOwhDuc0O)aWff!t!03kmLR4ab5)H)kTW^*+x99A=0 zJMJc?rms1uo{^W~cZi7r-OnSeR$m_^Zp@(imXT2$KsMd|{qG@=;sM?IaIPXnOkU98X=i8mel%N_eLqe~MI+dBDD5=^L)<@2TN|55@d%4^^J@WL_|amue=`rx$(t4Knh39ad%MGjLyTqn?w;fG-0GX3PAZv3*IGu z5al-BekXTE{J-~xoc=ZAF6ENl{Y84cCb*;{iG(%B{O;WtS1rx|Ud|BZN4CQdmL#cl zDawDLn=_coE{8Ai-y26rir|eS@a_g8kOU@;l){+Z4*x#B0R*HI5GZBLK`Ddu+CvSj z(js&hmt?c}v&}N*TjYPQbwp2w9ADdlt`={=ZdRcZwg9JVKV)Ekx`oLHrM*!3M&#w$ zTcO?<{5TvK&Hlg9cwA1q^+ArScEb(CS3ql`Z)^J?6(9D$F*ykU3i0|E8WIBZq#s01 z5*{b7@v#3rW;apD<76`o!AmIJH-erQq;IC(aa}I?=lMq+r>C`xT#P@^^{87>P?Sbc zc5&DerlB)MJexC~mV=hzBjiUGdxEFX5?AP^BuN0te3 zV9fqzFqEb zlN71Z>D+!z(3w1k!C>#7r9*3uEZ{YtN==6RaSN4#ahgzkgSLm2-m&d_!Gyx52Gui< zySjadVKC!Kto~0|Xr9?GlP2_T0Rdb-rOY`}c8H3_1wQ-!VYl;J70*`&pG!&n-FErx z{3wbW6f7Gx{4bw8fx%idCwLi2#|&5D$+)V1uW~xh{-!T+3L7bm*d$N@j3Sh(FE z$L~+GApNhcH+{mx+}3rLyM(2AHSbaTYL0=E6MZK-NoZMFS?=TxFf$_~L@*yjVPJ}C1vnAn z6dM~RhAt)?8=IRMN_pZ%YTBfYig_yPh4p1?nlTj8-5T<}EoD4rR_mT&KQn__X%(Ty z->p`P*u(#@ht25QZ*R4ncv5NlSbH6gZj4V!OCHK5JxEPWA1BQ=fsAbVG$dFk%_icekBKJ5PsG2nNj={TN9!Z&S?~nrVw5ar!i>693Pmd6^XA;m4OW zTOddjA`#zFaEBV$uXSoFE2{~fdt{1M{fmH}Vg4*lgDlR;Pcae=^`9e;7I<; ziuBr$A0Csdm>o(sbl%n25o7FQ4gDQ%Qyos@QLUYp_Iq#)8xtOQfz;A{LIP<;a<$Ho z@vx9$91ae`Mi#R&3e_cz1Et<(`G%(qVeGyxQ}%M`GN^hv|4eGA`&r}{ceD& zrA=XzhjX-sZGc1}CNBq@2gMEfue>K+;%ZSV8jV|9kVhtGd|~7(%ejn$zNT3Qv9B0B z;L54G`@}M@`Ovn(g0{|W!4e$a;xi5ZSKdogyVI%@ghlpyxn*hW;t}m5hBm9q;DVZE zD<`hHBpQ3L|DQfO8e#}b)U}i;{?)L>?$XTUuDV_+Vn;UG`^QqYe*wDdWv&iKWQSOB zKz3H^KC{!E{Gre-{QIy*G%had52G)TFo~ZiG&}GcB_gj4DS^Pc%$%gN_Ua z@-)qCDZ4&C^Wv8rL5z&Z4ll&xHbAjAESl0EKn3kCeQJ|yQ_$9qrT2m6r0G`yyLMc1 ziBnme+O!y=diJ8HppOBHvLpu)$3*>u_@pWD$P^p|+!OW0JK=M|>^f%lj|S3MnhI9D zb^vsE#|%2ye~CR4cWlqcb1n)l(>Vl#_|8|vJr&|4;wV0A41Y#z*UmoCrD1z2u0`Qe z*aX>7Ol*KodTdpM_*Fc}tKy+VEWv&h69hl)iw>-*Tnej(SHXQ+)U3}F9qNw^qN6?{ zvf9ztPMAef5_LpYHZ?EoJzmeLwR7pn)|KP$^Mdy;h*T`ehG*6j_4AcJNHRe14_orE zq88X~H;WQtJ@hl|F%g!q(m(AKx4HmrzNuBpmM$;yiKy)8r>(X$yl*1@cbLzndhqQt z10yIowU#s-ip<~6deeiOO<6`t+b*>X+wzVoJ>I(+iBKJjYoc^qx$QA9%3-loi7!o& z3+jPJyF-<8Pw)WXHQ$7CxO5V@7YL>W;Hv-e*X3nDT99K)(;cD8y9MxNwFFb;s^jMD zQFox4*Z#B#AIo%P&lPKS@_eFsyuE%C5hf;Ql-kN)JItUUI(wsv;QGk1l`QHnt67}r z9nz7LD^EGEG@ih$bce0zztvwMM2H)5l99ruM27mER(`S-U7oO^9Q~aZ_gb-H+nD7& znKG;lR$mYxzJTU+qHgx_L(~^ph`YL8a6I)DQY@KtJv(}e2GbKMFJfJ|JJh<}&>d(O zG5zj&J$C^vT6_o%aqF8mWZ|jEkw=B?GW)^9rts3evT>TPkN&w`m~I$URi1YRhAfls z^M8!mB+2U}k+8Jy5@oRYp4%y#8OOz^)xPXOY171t46U|mab^?FCtAeYn>P{3%etrSmz46>x(Xh%Bh%5YvYPn45WukQWucsKcmeaVKSKnl;_{IHfYOfHzOwzEe**1_fB zI_NzhR$oFvO!9W+yDls4qW#cMx4l%TO>wvXeFOttUvL!Pbok=km`uZFOl?iWc4l9J zJX#lYIoq|8)g`M9=j$)C1WxZjiH`x5&xT)L+24I{;#^$JMfV|%+qIp@_7n7}yia6} zW0AU-&9O(G=q2GSl~V2Ki=3Dbw`UTDr+U_`FuTAOIM{AYPavz$6948ZdNWj7>NPKf zMpRIQ$CCzC;5MHzbgiye6M_(e81dLQ7g3&lg{<+yD`oG~QJ>WRK#RNTiA2dm+}93qdx#hZR3*dy{ND>!yt>ild!HCwd!#lKq`?I9M108f>Y~ z`?Sa8w*7{&^T9K_(rccx+320m`T%Fw&*fjnhH*(I1dBI_o2z$G=h^cqd@3Oi=cz*> zO#JqxIdia$$95(XtUq*C&pWXgiTE*GuS>e<)&&kj&94%d4o^g`#9_B#v=26-fU7UA=wQif=Z6iLRF{JUF*J2sVyl^gY z*M;esCS?Hc&|_5}tUMY=Q_|3euG(9(sz9&`Rcd?p36^FPV#*JwXN+qTH!5OdGI7mC z3~xu&3IZ3G_;{gargD2;o&mSb7_D)`(qRMnp*clgttk`)%-HV?;S7UG3W0w`aDf>;aeWhvZn;4&fwrCE7%?;C2 z0LPB`)nGq1UA8{ofgOSKD06&-N}t=pGHWQEZ00z_%5FHYMStNXm@k}Ntzt-z+JW9( z)e(`WX0J!5rSTlc!Yos45ji8L7x5Ecp(PR$*w>wJVkt>`+5&uY5r%DpFMp>Qw$0-l zZT4Fw=0AbK1C#JwOG}PehnzVr;(~cQFFeE0nt0KjGhNn|6$r%m*gcCpL57*!$HmolFv|@Od9AF>VQG*{ z6!gU-W_7m^G$w(Q5Its;`EnquJX^GVZ&lpJYTVjTI@XgMN+v;xeDdC8p#$z!p5sYl ziF|k*ixwtVRlW|x>PE~$Zo<7cGHi|94)$JHd0=5HLQ1josII0=n_Aq^eg3OSb#PLA z9xW_72HfU3|19UolG`F2&nI<;UM_)|`rE?C`F#a#J^fW-i3j+NWwAEJ7lQ(9v&HQV zZ27SF5YH1t*c(UlpBHCkb)&8O0Tzm#!%YfK`uc6(;bDl;;L;GVVMgVgbxTv-O*Vt? zxfiOLsK1MKi^HPB9$RJD@hBuj+a<@7lwC%^2FGl#+|y?U|I3d00E-TBwSh^lIb>c` z4ioW~K1U{jH@cOu>?N;R%XP19{YjdX#!(u}cG+6he zc_H9lPb}uD_vUI48ceE$HH~(}W1{YW)kl6@r@v6NHgHSXa~NOp8}&2%&|bK%!KU5?T^S z1cX3hfFzWJyf^#({hycT0iN8^BS z2Xf-+u4d$DJB;4C3tv$ICp8Xv9rE%r@BC5pdc_CFZFc=Bu#o_ti(i@O$A90~JRRoz z{@3cyUAPcL+KEr#hoC{`hleldGsGU8O7l*{fGO&rikmu+oT|O|3}>8zm?6zK1k_0 zd)4fT_4}_&o23*b?-1?wGkR|(!-{KX_ zg&UueXD33rBeC0T0|@Zs34bClqo<_qeqYw%w->GeNZ>qX@yQ#l@=z%_(=@DFOwESj zLrUyYubZ3%M_iQ8?42|6rnM?z_L;)#GJ$h#9<9ggUthphI+rExkNqcFcW>-JroQO3 zKN?oygx62C#(o`7VN7)d9E5z>&%Yb$T^>Gb01#&I<`Q=Em2f?+PeqRVAbxxcc_Uef zY5Jreg?Q35QJ_7oRxE{ndBNuo0mwW4!~Y&DPG&gJH)O5N11Wm`mBTwx?c*svZ{_z~ z7B!UEb6H+{3|1njrnW*YJ@l@^hF)UD>o@>8V#uGkOLx^vnuAi2&n<)pYU6$v0Ov_( zis2ryw}m~VE2Pk%t^jr6%j@7L37SlVYrsKiJ&%upQN3w%F4w`FC;W-X$uo^|1vh*D zdJRS-%b6xlD|!ZgJi`P3_btOAuzonezWe!$PAGa%JL#9pUnZ2sfMk3!5%RxT`_=7D zr>?KpM?V=H2SWSg2Zz{dY`P=lgb<%X-3#}y*F&MNub@=O#f>^mHNXb;dSmjnYo>va z%clI13w8Sxeqy)Z&v;rXRn<4cL|+d-9f%SKiGTc`qDz}2Dy5!Jitw?Sov3VRsE@9F zo#rDEAK$jqZUX5Had4B1q}0wov_I2Nl_TRI5pTA%U){yIGiTKVvH_ ze9c4xl|pBW?t$R>%kbw}E3ES|^ss>Sz)dH=2!!iUkLjsWN4T~1>0UtT%df+buY+ZB z5OD~l@qB>9lKK5epQePZ)QYoJ1K~Dm*r>ki+E`!m0mz}f;8PEDtGdsxeU6e4w!AIY zH*(G{|J7P|NMJQ~^Ns{6IZ+C7P6=EY;wQq*Uu!rm)!-Pv?g{&Q89EciZhiJ@zKeAp z%mwX_2}stSyQ;kr0C6s;r?>=ZZX59H>+rAcq~`i4IndNy;WyB9Izx#(=AmM4@i+vu z`>lTuNIhx2+2Gh+vD6zhqa;s`gqJvhh#e@Doe;^I3}{e$_)#O$88RY0!>;+MsI2oZ z5k}9q4C>2#X?6F};$q0Tmwe*xm{AEjlc+)CGAAIvQe#?{^Hl>h2x5weU$2!Z*x~KN z`nCd)1Nq=e*tb$T7oZP`KNQp%;}$@t#p;9{x9JrduC&mwdT&_Vy+Jk=XP zn*$OUxy^eZJ2ftK^ks^mG~`Jff36Eai~B2uST5=@qbs^(rtK7Pk6h7Wr*Y~%Xck*U zMfS(;11$t3Y;@lA)Zn1%0pzKY#`83Bx+%J~F0aWW#iDy@@@9XXgY8c{bh0C^)k@;! z@EORtKSAyv;8elEbZc#19<9fj0j-Su`ULqStn&B(5ypm}u$YuG3X^c2rY{1G&|xQt zK*WtfdHkTf&wH4&VG5+0Rf(1Pl%2oJZb~Op-O?`wF#?G7injEqf!_&$|5Y)(f zh#sb)L&13m58)aM;hOWsV`oYx&lEeGUeK#wP)Z>NtEfpwMPG0W5i)%Vf#_NCnIS~C zCEOZFSn?FEp%HKYDN*?v`X~bG(4SDg2ePyp2F#YP^4;Qn4?o#py;bG0z22c9`NuT~ zD(#}D@WF+FuH<9zB^pN;yaQwdf+A4DgeH_GRY^LdlAAw;#FMmi+dn@clrk%RzeuI@NRy#!~6rIDj9sd*fL377j2zLXA}yv{cwxwO)UTEiFVRv-y}bNy*m3q zj4EXC1IDZUTu?NT%)6pVt6?%<@lt{mO8_~d7H#UE>R`c z|CmlJwduPW1xE^x1bRMjQN(a1nxV$0RUBtYKn*wlyhor~L>RMKTB6}ZAY!7?t8wX! z{@dYOYvIw8-kgC&+Q1c_rO}g1vbt>%Poh0rkCE6U^=`44jYs#wmgE?$?X3foITaQ& zJjX?H&g5WB;K7%pUPb;rmS|p(3fiE9I@i+7eq^vaS9JtfUC&hA9>C-$h8yUM2@40; zoR3-NW>EqS!vApz>tm5Hdsyk6dz?^d4#Gt`(+QSERIV?}|5!%zPIsEW0kPuN>gIc+ zJQpYdWWTj0?N71ARt5slJx=J@T#KudB#npp=|_(Dl;6n&gC` zg22C|FFOc4ij{sz$aDF0-cbK{&vSpHak&~O$tcDThGf6RiP?0gI11gT6fPbLgiSXs zH-^_l*JjP=f1028P75HL>TO0FNB>MTjoxGc#Gx5yGatqr9dnTwMKW%u)kZ}R2%3`3 zc-Xm38jPiuIoy!JQ~c`j-DR2&=P>V=2)P3IUmgBKK6U7Z4)WUdngp07jR5-xM5lCO zWf-MmHJnbCn58y_Ji{`q=%5R(+d8wK;v}b|ss-d+B}{3+XJV}xqmKCGLI*&fk0(FZ z9wSr1z?3&Xo$9)7=pn(ENlyR1EJ~qk%vo98hAqraSRt|sy%?+v8~~Q9j^G#?fjK)B z!)hSDa8Ax>lZarP!i0EYwBuzie63sMbEFq|N!B%T=Slm<=ACw~FA|HIfj`-cbEL^4 zQ0Teq?LQaZHnUm4Tm&8^i)>33pFR9@UR(Tw0<8@#i!(h7g+A2q3F%7!v56+mm4J@> z*!ZI6?bzLPkS~r?c%MLyQ0+kln2gTp<%~@>DPkm(woak9iC|cXIR-GpS{9>083?dJ z-f^RI2S^c~kvd$hEXrK0i}AqnGlHuD z-DX8j37DwX<3od?Zsi}FWqbJenC*LvTU1cy0G;d=(=% zof+}D{&PfLs}4Q|Ss2g_DxUlzdUv!kd7)n3BH5NgoTf6!dEtxnt(Ntg&Azg{VebrR z-&-F(>C%A2BpR5WsKYEWmqQc`qgsUlW{BqCKv=QO8FF{TDVIn`1DDY0C-=f1WDPX- zZq8B!q02#fg@rU@v`u$ny-)OH21!|uA$`j;m$3OYeLzQVEH&+|yh~WLQU_-|1>g-_ zXk&bw;yvfDCd ztaogg#L*kV#+8lBEv<#}mS%GCyw9kj1npXfiBQcUJY6|vz9M3y_iFW+JbBHiO_O|c zViO4%9;b6AHj?g)(oI}I)w9Z$O9|w>S~cfx{iX;qSVHDKW|rE;ZG*`#@iSIP6bZOM zL;qct%KNf3zyB|~?p;JYDQdc@5Z0I&uHQmqs||+ZIlIXADEVC@Sh(y1FK4-Jo~9S; zHp?Krtjo@7YeLWyxedS8lW>c+oTNU}dWmK?qP?tv9e0nU4v$cVQuAa-Di3*A=^mhb z2VBwIp&=6HOw8ts{lboB*U(f&e<-(PzAg@c&E-c-Ym8K-U+-1}MtmuBi$aM&L!a&D zXT)o(`xt4y+C516QflpPnvl0euz7xXfAVJEG0*Oe7tTetyJXxd^mBn;m_sWk|2gza zM~cS1fU5gO&yy}uBZgLg^@mosul zt~6<+Ay?~UsXz*V?ogg3$ESyYLaVj$pvYAJO?r}oOYG(}dspKw_l zU^2*owMaw^zHy{kSa^8SHF=2m>5>I^io*C>s<;@YSVOo59e<9*kz5-ekAh90t~;08 zX|E15mRv)VmloMaL@29SO;|)nyUZqy&S5@@ek$3EP1hgq9^c_qg@<6R7V8p+NFO8X2!r)s*S004lQ#Q`8gW!i!$ban z)Yp3{8Ai-wbr##CiiZX-b^al&6Kg>0Ps+YCKz?IuH0s!Ne^$aV{Lz_Fz&Jl@HZ|0s z@~_j}xSo%Qw%i0AZfu&F1Siay_n}c&UY=FtEQV9}O%|*1PCb@+@yO2TZ(`F^9X70H znD-AXeSA_|#LKl^Ex?Is>{qF5EZy+VaL{2`T5%OGt|=AIo7#+b^-C(6aU^7R8tm(d z;D&2;n_#GttiV3caqJCX=OWf#IhXS56mwdvdQ~oIliD{$@nWaIr{}&sS(0ld_Y2~C z5dO4`5X*QW6p>+z2+GqLl0qlK`PMx?#MD;&^5E@McQ0l)o?p+jkTF2rIqD; zL3?bhTT^rtCzz$(^H|^l_MzZ%yg``tu$vHG;Tn4joTg&PwB51%>IlF{bU*NzJ~d@l`1mEFK_80Kgdbqvbo^_D7aZaOApLybOlDmeM6! z2p>*b*le@*#HJnh{o_;UVgCZd50|0@5K!WK|6!wXB=EgzgMiNv`W7?&UaAcSDhQR-d8YD6&XcmJ8XBVYYIl*G zw!-f6zd0IpKRcG>RImWARMYVHdWy&5E17trZxYd}iarLCWNKyN4V%j}{ zff@v;E)`Opr^KJuq@s9ScbPcoB%Ht?$C+X30D$qpGMbB@w>CG7nyQXq zGZcoFiu7uZf>LIaANIhyeZf)6&3&jlJIiM*teEm9{3Y!-*^Ba?An3Wl=Sr_Q|t1@ z)MXzY&e@*Ijp!R5aZm5=M*=<-DRP`|&#c5s0;;PLv!s7Wd)0a;p`tOWYFtXHl{&Dq z&H~qcN`3U-V%mi(>tF5s^9(mXr+f8~3ia1oIQs>(dMruJCoHy>DfJJjpK#y^;%UE< zE%PnfHPvYlTk7e7vu*R zRMhewb6B)D?c{o2+;#b#f6x+ze+C+~ZX+ni*!~GWPz0eSWQ+!DwXN6aivHr)%=E19 za=`H2rZ=ktRomE*dS<4(1GX{aabsyOlvaz9b>?Q)f#z04iol#$7*_wqfiZ-A3H@qBn*~4EG&sE3ZuXJ6k=XBWray?U4V{#|$T!g@Z(Wr8Bz-4y4{kY_V zaPXmIAyfVT=|ua_kGM`%az?oc&)pFKJ!&v{b6BnoCGad>>qvJn=93l?x{@5RSU(cp zdSc@qv~PKBXSw-3Md*#0s+y4;_aXP^AF0W8b#Su@b006j^M3WIA6x%8b{)))2Kjqv zQ|oF95Y@=&%N}jw?aHzr1J<@uz_>rx_grlg=cz}dTTc?iS75Lt=+9}p zW7dped;EPM=47iIaT8@Y6X?0cZnABG^}jk>L~V0FE4@fNJKCLHW_A(3x*gfk5&U5# zr^U1HK|5<&3JcRzkT*S4sbH_~?uQHJe8g`4u4o|3#neCEA%zNwP)GqQ2}6WYVP)G3 z{~3@n^*~9sZ)kB1T}AFDN^hvA_d^@15Rq{n=;-j&N?!fz?v|eCJN)0Bv~wo=v(G86 zOp7$!d~t~MF=|tPR{5skLtQtkYbwNVPQ>0#tCsKH^Q;eEHX5K`{ze>t+ry;UMZRQL zpz#uI(qyJw*?97vL|Dz5y#KgPe43@ld+LW#F|2IT&HJgMc1qqdgBa$hq+_^1LHT3?1z6 zIvG}1Mt4Iemkrb+;ugkx(2k2qBw*7nFobp3q;Guo33K1^5$iCZw{iigiUZHGgPU9Foo`F)Tb3b#q~0 zbalaunBjZo9;nT+rsAMjmsLJZI&jDFn1`T2s#$PGT?WIDRR>@Aq~jh5xPv~NDx+t* z=}_AT-~;>|alL`H38n|fiMi^kr^?`-WgUC(^??IAZ`kEl>-m;n%>5sB{y6gBYK_xy zyTKDzm2gC zP(etIEc=oRa2Cj5WIiCyQkJ_yY<)3qo_*h#fbje&2CQisl(8*JTddB)r#@_g{jTiGY#ZAi)@Lk8G?i> z8m$>nV|R2L3<2!6NK`V}b_l7NNiPV!8|D$#<6tyqu_*Da6dtww*m+DKNQ7FTuN8+_DK$A6e*8b0p;nb(iWuYgg+5{+> zuZ~lSP=NcWE#t=6jh%~`hj)lgM{r}u+sam!t+C29dSb_`$oW8hHwWpK=GHm9RBI_# zilZWGuAaV&R|h`4*IKwhk0>_!2t6_N$|Ti4)oJFaSiXUgS`3rpt#U~{eB($DKxp!~ z8#t{sR6dcoR7#jQz)Wq-80ulD(^~Y}`J>di=XP_3a<9=}?F(-Uo44N*m7Gzu;IUrEP*V z&fim!`(|CEESufR-Z^8b40OQRwY5-gek$>8bH^j!;hdD`m0i=s-}f#JGRi9wb($Vk z{UHA-DCf0Kj?1Iai)=gA$3lfHQ}AoXpC(5?3F^}7}>WR&)x!(O(s(@?uTaDU=Q(~C2k(%LP*fRkP4wmKkRZg4_jLJZO z`NUh*X^&-icYgWYtKE;cZi#w$Rgq>Jqp{XAt!u`eO7mNiN)n7QxM+Au_FM09b1U05 zDQ1#D6uCC^e!x>Javo+WY48=|ldZI_st-{1J#hJ({@@QlR>kztZ7?qs2)l4*Hl90b zA-5at+c_`SE)#V3v_X>>>kUB9TKeAkf)6z?CAH>Yzr~D%gtl=eu1%UgcDOq}k%Q%LD6(w1wDvYsIUHr#bL5MrPeHD&Pnk9i(K^uzkB z=k@oVO9Pe5m$6afeEaiBl-(3A)RLNN`M$EC@Z-Se^<~QAhVVbqie{#rS@f|LY|vNE z+NE*VR`{(?;YiuPUnB_wq4tiPwX{UJLbRXF*8Xmgby=owgN_^YTE3G8XPd`)r&?P_ z*4*Wkf$H-)Mq)>?0XDs3S$KTprs-a8n6qp9nxoWlF z`n~X-d+9rlxMDi5{$hb?(93!jB!;)KF`6iNv%H(AqD!KLqug1tok%nr^p$o@B4wPC5VLI zQ+XHBRf0}844v;P8%&x%W&IPhTTmL?fno`K*ClVAl6P}neBcz}<)zQQg~VMV`4T$r z|1wq*RpvZNY&eZ5TrpZJZDnE}KR#Kc>9HO>!9E=Tu=Yi-RYo!hV?J>>nRHPY87Ps|hG!pc^VS31rRbfD>m~I8%h>#H zI)iwlhEs-7{x}u^IUatvXT4*)n;LrMmcRbgu$)kn5O$lbj%fXs>wZ)i^vj`h%8NaH zY7Q9qYh#VVgoC8kDrHeHV44qJ2Hb3{PinD`yRR-hZLae_!D1!99sps}U4KV1XS%67 ze<4@L+XCL7XCrk{xV|a)1kJ_hoFBIcSzxGlBtLc-(zZS!dmdxh!KmDV4u(6rua6UQ zS_P6A->7=zbbNR>xW++1w{iHMW5Rgt=Vn+}=LhHf1+C-cVthYoUKE)7KQ$p-ip`OZ z_>nhkmvD^jn^dJ7c3j5;gN35^z`zJr;Xr!5ip_SKwO5aU)HY=;Y3@5P0fsZ;4-?kG z36=$b-s(-9ulC^`l)=+jaDxU#P(J5_I0zGVdo&mg>xcM zT<&gycnp9k3cKv?^n}InuB`mH@H!gK?ur?gI)Au-tA_ft5%xrcjA7~|5m zUZdg~Y8TAeK`dZ5UQ`%$1_jD3zLIEU@CuETLEJM{cz;jACilheCj7Yd->lLuv5Vb9 zL(U>~ZI7;T>Ki#tHH7oxzNq9~-P)Q&9eVasy@IyD-=D(8C=0Y# zgCL50_#)k5_Mh~mSpsm;AV5D58XYv>UEu2p4xylWjucMqae^~ftRe3pqqL+Hw@SA= z{}Ae)M}Yek)qgMyFburG!66p-5Fv8+xuX~{di=+W&ECGnp3p%1Pqz4S@xBXf|Ct@j z$|dS*&UdRcG}_u76B1jnB%_2iM>4T>a&+Wj=Qt}BV7&X4#B-gn$L`XoPY>&!r`(LY zCXA}4rRd>VW-#`h+kw@IaL-ZfIy*4=(tvfypIzc1paU`{#OjWd5^%d_tFe5r#}16b zQ|*5o1%oFH2_Jd{yEar!++Ebn)b0s)MLh@#*c2x;)*1!4j)+OM9w@1469>IZx6hxh zN}mJD)C$`ILq{slPdMTxK@Ee6{-jQu{4Q4j@5!EaO5l3od)9@#^EWPvmkC418D*iL^rLO~3VOKM@l39kQD^ zYNlR`+(t(OvXzKs=^n#^wx1pvFaeuQ|}8 zfd1AOJJ>lIw#A*dZbXt$+s{Aj5!VCzLKl~WmnYRp(hA3)ZdUb8_3hHYmr4`hCgm_Z z7%(@_4ysP`0DV-;(X!P*ADK?$zjYuJ%DYQbsS#s6RLTppD%a?392i_JiB+eVpMw4b zQFTUcSE>2;nm;DsJ#O8wm?>F*g5IF>qUn`UhhD zr3XVz0%L5fRH}EPms&NF_}Og+bo2}(yB0uyws6%I_2GSb!B1}>bLy`)I0QB|vv8HO zcxw?`AzvixA5Is;&U#Ra+~W@A_rlhnJ}7JGdt3M1elX z#wTpVx|OP_Kg9aSVI&Ky2aHOB3OAF>{UOl^WxX9Cqro>*TO-LckcrZIsGArV-$Sx5 zRA~!gmkm=tPyEmpiR($QPkEj_;*{`S)2F0`s4I2(2pe^{+g)bg@EzM@2*-o8 z=)ryBrr`D@2;@iJug-`4(hYNOU;g#+ZTfznP9BL^fO~8|j*#OGemI19v+^M6ro7U# z*{R{ww~t#K&t~6BwErtxD(nI?WGy7~s)nX^|04|>vF-Z{uN-`Q)ZQq4O#JiNvlX=y zJNMG`!h7_P;;rZ#HiM?G8fH z;BoLqH28iUatAqPB2~`pv{C_2A3!c&sX}Po+3|WJvLkv3{4DaZ)q5Yf8wzY!m4uKQ z-IZq4=aN z-=UbMEOSZ~LSvXiV39_!P8>8G+$IJ2s%avz+g~&pZYrtmBl6zE!^*}%GEY0p)c&=} z>kJQYZ#Ve7`z9twLkNq?H@yEj6GQn!rNCjCbOM5)Pb7X^=%m)s}MvasDGBz$k>$PuFnG9wefP&KmmrRo!c0g z$GkpzjXx1DbC^|z36C)n$AW2G>(>EOubDdkyt#6N@+*v`?T(>uAYP5PJu*1LOaOPX zK}K8511 zl&&qo2HEHO-#^}3`~|@Jc*Y2Vu7|-v3I5sbSlx!rtt`sYNqkS~ML92ngOTqZWo1Ht z*6nIev6pg~N{_D3g5$N^oxigyqRyqOf>V>rRQmar{Nga>1NDV*RyrmVY-P-EjhX(ACSN7;^Ox-H+<)t^s#vKyz;*a`EQYL_2i)z2HFxX``>^{6a zvwdH#+d6CaAFUe4BBs*lNpMdhr2M!h5Drx58fa5Bl=X1QLgacd<2h}B_mU+@L>D>0TeS|x9tQ5$c_wnMg*z5P%>*Klq?iloQLZ8lT*SSd5cp!MoB_9-f-6|y#xZfFac~E70 z2VvFv*m~T(Q}m{`|KG%ev3w!;*)Omz_Q+uGJ?|}F&5yEA9Zvt(dBXzXlsyu1d~LEH z_>U9KDlv2x^Upgciv~D~|7#MUvejE{7JG2ZZ^4K^QeSf#m2Eu0uD*I{^8WWwK0#FB zH&+eww$iV#DFFT)bq^$#v$nfK$F0rxxsUZ`)cZ|-w5tyS*Jh?ko|b>He_PXVYiOSL zbdx_=7UnF~YEP^_c=}}Y?S4T~K)96QiUW_bfm6Vz5mHzCT~1#Kv0A6rN~Hiy&$|?y8TjFE@tzgigW9yUaC!O0ETzg*h&{n z`?A=wo$E_^ZEc|ns06(fTIkQQ<~H8f@ddX?!<-(87;5-DVp6bWSdbb4x#%Yr3nww$ zjaDkZ(kEkwWSO-2PmqY181Cgs5GV3lNS4reGW)zfin)AKrXiF%KHO$m^s5CJ(%~d1 zxY5z<+QzLjz#&bq{sgZ=_~|2;etrilQL-01!k3ln?!k&|OKB0SpB|5ppDz|6yE-=B zgEh>&8rgdxYqnOCi_Rv(2fuz(ED))~7}l8Leg)4y)p-1a9;|h2%Xe#So=f`y!(T<|ORuntvk{~diu_Ch%a zic6KDP;oM1uDosN^o%@gyxJZ*IO#R!jRD2RY{&)O6akiLM3LXd%O=IkMd^sDyWHF5 ze0ZphwK9`)F5$*bX|iJ7Kg#ZDqUPJm4MqLo10KfW^Nu{rJKEAXUgL;+omItiynPVp zx}}a5F=}=D8fFx@m=B|gdIjAsGBh|KBxzSO={2jn?IcK=LNjXcO1T*brpJNa~^IkE!qj+0fE?qX_1QE_AOaMGC<<%{9gsef- zy-3#|{0gdK(QHlxbIi6uc0PC&!`lUG!~IfH3%jII9{9(RWzDC60%ps0&t)0O^FP;Q zuqg=%_3qg26zwC*09blpsF|BOH~j8K`dNC*gU`>zV{kGVQKU;=MaQ+B0C<0ao;Em= zV(E&Osr2X_C$Xn0Clt(*%h^y+u`uzjNIklAAyXW3*?_OC(#i^>&Wox#+)E7KErPn^ z0*+mJLE6d#d`wbdGzl5&G7G}43kBPwje+{~=U%M(f)B({SZC=sqHJm$j(5e=bzY2t zr`nPe-rvgdG&lgcV+ktw(4RRN9=g|;zaTK2`ILDi3@oP86;F}?({b0V)yqcA?)n!x zwuU@D)c#ulN;wi>?U=6j=w<3~iD}QmKwg6^Q1U}7kSNVgmM!>?)VUwqV6QbOV&!-% zI26WU>isRkeXyqO@$f?!%>#$qKiqW<-x~e$To4t(`Q0UiQ;*qQw?l82$kcMdk5w9% z&e%72nm-q=?#R2a^mOy{b1~DtOw|V2{comnKM_wkgb-C7Xf2KxsNdC!o6E_7c4j7a zIh=?PBE={gMo?ELHlXu78OU?+IApoP^v<@KN3xtYcp$GRtpuD8_ss&0-(TdqTSKX5 zLzABiHXV}Y#jIW&D~#u8LdpO7ICpFLQt@@j#AAxxYz!~1+H6nxYnz>rM3w+E$%epA zEofU2R%K5aNTMbx9B>Y8fS*V7@9}BIZr-|Ek1x1u!{{{bg-{p=A^6pHufS!Q3crMj z!X$ZI4T>OZ)b9P{eJUF581n_2BIUl4tznO}@^{B2C+^udh%`-+1ihZi&vm7vFRz5I z)z>?cfW%kMVS|&P61C71!L9%n-Fr4BFHH;H1x@%r zkEmaV%Pfn|nj9(r`udDDnad^(MJ4;}{3=0`-;22>cOiA;saBBQi^LX_5CiVJiJgsO zZe;}BvB?hqs1SsfL95A-AV!8hlp|&hz{A^jHr7L%j2?Y6G2QdGX3R{pI4cM7EJpHD zWpMcMgoIx+Ex`a-xBzrcDr@dn*$jiCRgHrrBqY2T$i-f{jk;2RO{rP^ z5nA^P)(7B*yW&j|gzy2sBjw8A5Ir+K67(4F9G(K^Ps0&m^nwve;gc_aX>4p$DZ?0j zQRMD?y?7Lt3H|by;?EGI0eearn=BzEqvyfi_s1mQ*!<*5MnIRd-1w`aj^B0hJrzR4 zV}zkgs#L3{?@O*nlB{Lh6{8Nzg8mv9Q}lvAA7%G0$Dvs>3W~TKZQg3WbUY{c`%`#O zOn<|mVH<~fR#>>MeXVyf#@VB{kJnD{y}!7%;;=T7d(oGSGwL{72xCo3%9MdCgki)3 z)-lkpZ{uw?x7UY^!xZI(2pG>bd{a?a5=#I|b75PQg%-<9IshB!*2^X0YYB)eqE7qXw&x zUIu#`ug}JUD|fVM>QCwVg0C7t#P`mL4-dPv=*M*?(!e4o;#w;&vUMI_ZA3!Z32DP% zeX}9>5JJ7vfJOj^Wz=O~qbl-T zTqn$EyAS%)9PeRZ`X0`g@!$4hJqvr=W3oWKyBzNF$AkE@+dyk?9RR-t7U|X*X}N9< zg+iSo=kG(u?iqTYZ3Pw7O|C+!R{li%u5EWL1$KiLW~OXoDnpMd(1US9@rT^;waq7JwG9N|u=R0Ze(WAB)1^&_-4)17@VQ(V`!G5CMnn?ykF z27Owpx2(?IHBIr1-|m)>7D>kFZ+r9oL;f#ke%Ne1#`WOPxK~iL3TYSuLXoeJM zwsXNPk-?AAcDG`Dffn0E$r^wvG{)OM!HF*{A13<4R&7g|cSwJN{5JVdW%43>lIEw| zJ4i7Xd4e5g`!Ov}O@8)UMZv;W56r;+=PmDZwy%S!0s`;t-doIR@VvjZDP*v*c((2& zCWPpYyh-@G?cKY7SfH~IRiDXedhE|sAKhZS@?gwO(}8<1E?+(fz4ymlNMLL@<|4>U z>%8(AELmp0Rb*RjS3f}AVg9nB7_jJ!t*0gM9o9wSzO#InlF{c%wAGbJP=RUqpmbifdPlL z>7=EGDm1G=k!MBWiW#9+bG~IXK4j)f(uJ6bASs)EouCUcrBzoHxq$L%H{)rdxbZ{O zI$m&Ht#jLWgiv`kXe#}nr*T=Jmw0>e=tX7yd7mfp*B(7!1b zC3_XYOC4Y{VbmIioDr~f!;jeB;y}GYdhh92M4r;Yy-qax-&G@u?shyASiidufYn&?wz7$bCvz`u1Nj!3;kOd z%vZA%Kw2VRE~ZZ3-N=et$?BH?b{MI?;X$pP3=ou)^78X#R$e>_N z!1+5Q5!53(q#ZCbq59|y3XB$;H_39?{Ik1U+qC1#Hr=yV;>ep6B+@;V>#zaVLILBM zqkK1?KM}Gqn{)a7oF52vY~&(b5ePstoA^yc`2<$WHJ=k3jGuZqT)Qs?k=|kipJh!8|5xX9ttwhPg8%RqbI*ukk_W z_l=5~c&M3K>;XM~i|Ew}_g*<3#)zYFL}xZumAF1W)1u-1z4NA7DnKK&;bgk#GYik$ ztV?gFYFh9XdEPD&j8phor6&S16N)3;A>Ex7)xo>D`jJ6SK@1_~(CMy(gfr@xyNHpr z_hVJIxE$_I4~z~5<4R*cD(_b{({}}mL3?hG+-uxDu`jivyKU{(qB}AfkYUN)cUZr} z6LcS2X}L6sVGIJQQv6435yuv9`+Fc&5PSu<$Voz>;~w29GrNDD@+xuZPU=I ztDDJ5Q{QC|Tta}UhNKKPl?t1GSK94P_1~LVjwBcg$cmfEamOaW^>@}u8;lGYzZ8&war7FT zP{!L$?!2<#^(5Mds(Hx;&Kzs@{{6<^jWnMBISm7@eG$c?5H~RBy+F09d~bpfWlT^k zjlrHj%I;VCuBl_lw;{va=`yoL_ta$30?bk0th!`mmI|V=&lWr7p-e78krE??3}vY{ z9j?BbpO%JI!?O9ydEQgC=6oFRX4qp1Idx~*K9?NXkr&8RA)><_U(Hdk z!P&2Ydj<9{i5c-CXCfDWuYvn}qHi2(AtwzvTia{TJb}-|O#Aa@e1Cn)4CXj7{6NSP(_%0Bhvi@r@jo6b`OOp4^C^8qdMc+h)Q1;nE1FpY@cCiciZ(Zw(K z2{4O5?;zUb`Lm4@UrGs*94V-;&i(7lK6eT>Wz2Bl#bGJ($6M-?@&VDSzOG{0 zN+?TIfIad~0JW}a6DET3xpA8PH28eCSvvqqc1O@ zce4Lo9SlXwp#f8m%X+NLWbW@qfTjRSN$Kj93#X2&(pssg`t?D*z=kF;5DC>%oCM1{ zM&<`CSAgt#DCR%8`ah2s5*u}S_RRyJ(I2ly10LL!j+iwX`kAd8>XRSU`whwvQcuF{ zG81KFDGZz(@^jn)6O5(>67O1Mv&*r?Y>!1e`0f}^C+Qh=vt5>gde!qz;hPScmskH@eU085W@8p`@$B-NCYioVeGcFCFK~+O< zd=$SB@kGYL@}_BWvtB?Ob6l5%@~U&u@EQHJ2G(Yc^w8hkbe~5K87}5Glau5!j0%l_ zm}vSlIu=wD#U6c`8i3o+uM@s?YN3YOq4b43;5ZlwIwyvE()$D9%C+rlmEfXmB1=k- zdeweT`~Rvs^SC6>IDk{FIi1HWQ_I_yS$Whvh#c1DRcUI?YK3XZ(zL)SP79H@)~rkg zn;l9jmX?`UO6HZ=fto3qN8pv1sGwq^38`T0d2wsoAN=!tUU**~p5yoXen0#k9-OQ< z+xjFl+tga=+7$M$y5obAbXJbgPUg5=)I`yf<&nV(^3=%9a85VbY4S0l4;{pEJU2)y zD4}?m#O2DTP=YK2mkaU_K{bSken% zun>c7s3fStI9o{!zR>J?iKU`-;jG{I%+Na{=11{!>ZNcJ-yj0)6K;vut;c_HZbw3& z>vQMly_9p6L`k;`W`PU~`|J_X! z!6Re(?1)jFoWSReMlmG+=(*uG5LZkv^8ouVu9_d4Z4NZHhVbK<7yHt(;-u-7LxYLU zCNZL}ElhG>#FV7Oq@sQ~ZLN7Qo3=`jafIQNo^(UBbjfKq(3s zSJofD5tt>}Ih24RjIao;&ITO;bX^c}B@Q=V-!J>QMpWh*H9B1{toGq<9nDP*0%x!I z5hs4zz7Q%O^?|G)k(Z{qxiKU!O+$tU7!rlYBAzT!A-#{SU>1AsHzc#PBbu%05QL+J zcHFK18e~?1UAT&^fZr69YxyFTezoaru;P82-G=VeCU=WIiqEmAe~ zRoz2#%on$&loT^ZXhL2cG{=Vrh?f8|(|9vSd&!i&$82IC5b+)ZXLp0O;ob>uaa@$} zwHamG%Ocec>IWBQ$MmY=NU5U}IE;%D|6sXmwVH|QVd;?4N_g>go!lyLqO%Y)vwr58$i5Qy?1x}8t5R7KiCR9Ew>>6bM+hh)(t`klA_HH6b0)z=CJ-!W`1 zQ+XJmxO7s2je6>Vd=fk4FXgMlN{wS5`gS98x_@Cc+>fmDOb zULiW~b7axUF2(c5z+;+z8V)(=J|6e+6;b`W*RVzb9)(-3Xwr7mPK6>ci?VM~rKOy- zO+Zt|ZvvIZa#-|or^aSZPyY!~HB3lXfpNQHfx|Q=z&NPBF@_r6%XU;dj(rXJ*@ zH5Xb)b3lUTWi_IXbrj};0FGJ;Jd@5Az*%m2_btkzKTWK{9m(Fe=BhpAy#V}ANkeFojCu5eXgH>= z)JJ`dlh(=0Au8G^G3%zGr$ybGI|h!y=oONk5q$Tyci91LqhgmJDu3RcA;mF_6Nrm8 z@fv#^$!c#ZX=u;yz_JI|l}0yB&z>FyucorDhtWqk{Jn{59C0hyJr&8|S8(gl#O0jH z(`;kLP)|VOC2+TcOIl%Jh1fBD`6~uo4Hc1nH}#y&D@0{sD)O|n{hs;I~W>Th+4f&6+R(hK!F;w*eg7P%fQIe>g+_+^goHUnBT9dPIXZ{ z|C}JPHyyT$99`Xl*1q4lFduX8My97zKYIM+)tx{@k56PI>%hRk$S)D3w>Gxlyb;3K zsC}{0)pd0#ny*}Gf+-*WFev6ce>gWo1tr z=Uoh2!COvG$M(vxMNwSt_~qq{zmdYef5(dW@dGC=F0OHG19U8kGK!39-PkSt;RBZK z1+(biMTr{Ah2tSN_E$YH(6@h71-p!_tfGp_Bbc>=L)P*WDvlRWw6vn8CaSXXxLVUI z(8teTFe!nlMi)DEbxqds@_)8?`1n*bH00Egf#aOdTPfq?bs%40Ni3Z}}E$8+~ zh7qGtQhxGlfj-E~ceHR>F8|94`7ZrQH7GDVyuFMjfYoU3lvh_t6ou+6`onm3-0}T@ zS`(3PV@#$JeYMs6bv~gF=*$0=*oIkOTN`#1ZA%zFV~bZ=8SBZ3*>o{ABja8)GbwyU z;mfKt{i^ji!OqU9C$4NQ?rWY(aOsF!iG4f@74*Lr-|Hn2!nuS?7Cl{P+MO4;tKN}gP{rUyl+}td!aqZvy_OUV4 zsi`SzJ3F5|h1|);)3PBBMP1$S%UbTt>?~^e*Z$(v-U_dLGYrLQ>+2?SZRK2Ccv1wz zBwaOm#nZJ>{6ycH&!A9HP`oMZst*#c0}Ci=DTna_=jrR$uSYt2pAIJ0EI(Q?rRI3~ zI4I~T*49Q^ZYdTmEp2Hl`X7l=J~Jj|-`~9`HPb^@S_4HsLJ}`p0 zwYRmEN%qHpSJl><{2mw(fB*g|I9>WiMvn<&v%lz>sAah1(?s=tPe}OI>H7%00FRKc zV`2gio#d@oVgoXmul+xs_wR$8Q<6gW_sxljiQ5(z5p6V&`dLaDVy=kRn(QQxXO{ga^mO%pM^)iK_WM#+4ye$e%!7@DrjE-x>)zMgpR`=`mLyDcEvIZ~~$)EuPazs0V$yz-AvVRImPf=-csd?R+a&~d@%^k#gI z)BIahR8)KQsG=gb-8EhczstZ2(ijtCWBpVPshO3?Lk1TUs1*6+LC|3sZlz}xV&2@KmJ!Ur^T6HI^ij0Zz2Qh($ z`xT0di-DhoGd~5d)8B9Jt>hIO4(?r#VE0WnNV!Co*If^)2r!C2EfKhM_llQIq{PJf zBg<4o?8b$vZQJ!T$P;<}XGI4tko(eN>hj@Mj`gA&bd3%EBTp)dtsFZ3xSZG=wR-+( zykdd1_VtnQIeL~jYTQ{awcmTV#h)!SZP8V=#crfBNw~U_!1Tt}Yob-97+6@O6!c)s zI*nePo#I(16%`dd%T!_`IaWeMB>62Ixdm&NksZ)V`_;*S{mJIw@htQ&S|vLcD;?)C z_afFlsUDi$0>41L8y(Tj`Co~zUxUUtv$C>k9nVnzE}*rQZ!nJJM*hojVP%ysGn`k& z!^6wH+ntKrFuL;(M#h~Y>ivsSay*VTTks*O7J@RhnubLwDLc)SXBqb%okjM-oQM9Vf zH-COgIlh-E@*#zd)H{&Q%+9hR#J76EiV(@}?`z_xi;IgPR3Fl;te4!SR+Qg-d?toU zfG3Y-`P6@$ZfemD_a9L|N@U- zNc@|f$?$VQW(-QGUOXdF(c=)QDlOv7BYF$6Nj*P^hXuU*8M2=Ff}4l0z+GNl{nd#k zb>wqi2I&nOUPkt)rDR-mK;NdwF*-T4B-SbuG zWZ@)iDWbiY!$K_d6sV3&?%1c)}ni+(vS!0RL=jIj{ zA20HnfCiiaeh(6Km83Tphx2G4D9y}q=5h*wb9Gp4C1!5^`h=a3knr-dIv_cjysy7M zGAhc)q^!*OmRocO*V3cdPPQ}^f_*eyOn*FAedb?O#Psahv+vQ-e!0KjiAxHOIybkF z%|w6`sRu&Tr=|0w(|_L-zW664nfvI;1;V*?KZ!MP$vIhqS zN9*heYin!0hPlKwH5vXsLIxQW5)6y@>QRHEXTZx;CgoYN&ZR?6jQu63r!F1@;sC3g zb8CBhUtvAeGId{IQT*Htv_c(=@~tUQkrUT}swgVr9b zJvTQdaf;?Ey~D!LrKP1KQ(D3d(LQv2}_ZnnA(l-a7t4gOzP`b`gTz< z4%AZo^{us)4&;H#bPGw+r%#V(>W$FoN?+ljuB^>dFf&8UZ@6lN6&0y)aB+{0+K}WF z6m%8!shSrny-(I>%JjwTcPEH}=l?F<56^d(e?14oMu0Kva$}|`1V&~^GA3<}(gg6d zp))d?*?a6UadUIG&&;40lo16zed>I=oi>(Y#St0zy_GBi#8vHuKg&BikIl?TD z1O&(-Z*PPF8{kz8hcO$DCg;vbF8muj4@m4P4p&y59y%WASy+Imj3_SdYZs1=jlBYo zd)?urCAKLJWtbB`1*g>1wruR|(B6Jga9C(7mNNlo7#A0JXiHP|G~8@5pCdFZ44z@b zz*r*tU;*OPB9|G~L&G4x|c$+(iJ_j9P)2tkB1t8sA zq&GH_QAeT#++UKzeL2sATr#iW#5OCc{58lnIN2`wz5$f%W7Tvyrc+Arl zc23T_oa|)sYC!DY`NY>+*9|s|hdaX0Y{Vd@ogdsiHJi3lAbMM92D&-AIPp<<)fswW zl5UtYG_b@?BS5~n$lxg z7D%eAs|QBPe*F>-LnPa`=$@I$lxzxT*x1@K+zLNPTJHWO;=^kE$JtL_HcN^A_Rf-> z%kG~iPig9G4M;v{Ws-cU!~)t{y%Lw)|6D$uxmv&gS-i`*%kKJ9`|T0zu*A13mHqGJ zd$K|Z<95yu`1J1EB~Vj$W8c3xIyv!y{QR<}mVDSi*d%&m{oMZ<@skgX1*R>OJf?3Q z59fkz^jX|`U((X9uJ|CE1|0q}Sh&AF!9;n4IFQ`(Yi^{}+vmyJiqFlZ=a!SqaB~RZ zkm2tUed*LM(_MlJ%Gc_jbW(bjQrPgVRw@3W~TV9-To`~gY|Xaha%0ax3%8EIceb7s~q@?=o%Z-zGi}$%2rPv=*j+py7P_c zDbdj7#m}FF@8slExm%Kw$jI&+c6X$ElSKEUhTR4;N7$N!QrN)B zS6XOQHH$#r2qaAr0-HBQmJ9mk10K@O7jkd@`u#D=Zg4pCmZ0>^eA~;AItT&wAbqRB0L&?2#i1_^IC$mn&ME=dW6*9E4zUi{HKpe+r zQ9tJL@5=pjcR@;D_(=D+4ye2W;!}9<$e)o4imsIPwYTF?Lgl`*;lL=E%MppAMKxZI zT)7Jx55^bR|NfR1iG6)~5TaV7RiI-f3xe@-0mt5(umAA;+R#;QlT8K_kU(VIG=cht zKK&D?#s+3Bcx9hA*2uMZ;LhzmHa4a-bnI2ceC|Cr(sMl(aKg>t4-yMd4UoVddEKP3 z)Lo>M#DBud%YREM4?C^r-xjmb!lr z_rY~nz<7zeL&~$Q_}4p4O_Cf!tyIlt@-D}#kLjL|7C2F!?k%-+pYZj}se&57 z4*}^(zPS}BQK`fVQtXkDAFGn8#ziSR3~+IAm5f7Wmq<@A@~1MyvDxkH9>=+wo-+ISoDO zgv_&)L`C`S22D&&H4koZL&R%6Lgot!LChgxy7-wluGf>#Z@)7p5w@69u;#2}K<#J_ zE%lM96%`hinRiJKDNq3n?-4)|%Ls>4X?S^quL!ZR!};1oF1KbB-LG1P%RKgKeh(Ja zzu%cJ5vspXNM;vFo-ZuUv$Xt6B7o2JmQ6H~(;|KcK!Tb~NHA_58#m|mpaQyt&!7GX zhPY*O_V}}%=_hv?u>M`ltFPOhFKL0MdUsUHN=wB}(974{TwQEZO0z5eDXGA%n0dhC z=6rnnTkY2h<0ROJf$`m?*{T9Ho&&S-1>IK2BA>+y5DPUt^4Pmh2B7ZI$6***Zst*DQnj8GXtLOw}QTHGfHb~>vb{+aq{$5|6rsScaP#7~4Q<3VKx5ofska$uf&)L(4fb?{`ShhRl zXA1M(DzC&(Hksmfeoo-|9h^cL!rTx8Hg%Q1VM#*kD zu`Ch~LT9BSdSA zM|&(5=$gO+-T%dn>oi#{&AmkZxwW&A=SYOcP_NFVC(uS;Tsx!ZmXb8E!~1FN@O98l za*zZyKcvg?LK2!@63If_8n$7pxY(aW8_#aZI2m3!xk{o!ZWHmAE+7K7KBt}h$$yn!R!|uW@)P%RS{X%Iqy{dh5C9_J|vBb=q(kJh zxnT3h4wZIFdJNitGJowVt0e@B`AVaEIqa1c)M3J;TT;P;g1eME0Z`#)yvOZ&*&QAE z@Ha)W01}d)IOk@@*)Ztm`o!Kw0g8&@m?Gh|?)nl1DU>U#UoSFB>aqtD^g(WQR4lO= zCOxa6krZ+c5Xz(^to+W3l&P;uPpW08MMOmrK@9`2$>7RLmCT$hQ1glDe^t?NIm7jM zxJR-+*u~#G0TrU?Wkvuzf2hCM&Kt#rChN6LKBh>j>4a)(Xqc(kh>^~{_=%UG>R}a} zANArzr(O2p;#1M>rthW)c)j`yh4|}sE$ruyc^KI4_U8Hr_96ChordPD(UETny9*7N z%t=DXu-}7&5}(&`E6r!~H5))NOZ%Y(AiwqY9tE1D=NEssx79QH1Y{FAIy#Uc7Dn7m z1{WO7*rcSYhRZ2m00d}HDfk-~=CmY?th-H43&LQ@yiRSDEf4-be#ExT0e6&?Mj8ze zXyfi#Qc_YzS=Zd4+gta{Oce{v{D1dfz9m1J2Ix~k63de(Ph_n4uhvZaRg0GY{%s>; zTwPl$HJCNo7SelueYS_`Mh>Z9jf?B+Q>~^5h$$&igRl!n*iI|oel{^tYoP!5F(Fzu zkyMP_Fe2^k?LQ+jF=^{yg8m|J2DmqhW05YtvJJY z;peRYw`iN~%IZFO;fsZ8Jz;3PxtWxy;O{O5;$a&=;y|wVWuZPyF10f750HVYdKvnU_k~`Np-GhmcLemDsyrO)6;ds+c2J?C=e~{InlvmE6Ss9rWXIy=ksOJ zQ)4tVJ_ivj|Uq-&OK5lo>ZnUN-(y9?@ zxkp-_Z*I~(-vfs(iO=l`sF#!ajOz717rNlT5}R`HPKQbVw}<0rMRZ^fO$Z@E0NUue z5=r<9t**Df`|zP7gpdX16_q$J-#~7_=-(&q8(@b>HmVpofb<-I>2dTZ;*;n6ZEMGR zU%&P~B76JvdSa9Ne&O8WowO?t-r&p(QR-`r{F+8BPyu7Wx39u@STR9In=%+rTV_hd z#l@v6#McW3k@1&)(l3EQVq#)5^Ya~Tqu2mtc*DuoUT0@A=^38bz&B+z;|qeEsDj=k z7A!~{5fT!*ytztq*yD6|+kNXdDR$a4lwd#?%z-;~$a^RuQGYeGZiO|o0b>qUHcwLw7 zb=KTRXJ4XZfkVwm1Bo!dDWZ6t&jj`-+Vyn5>k&5&&T1rZF#d(QIz~oDwYb_2xYJr~ z-)SxIet$H}J79gM*7H$fDIzNxzxmddVf){knAw(`)3JsKkiUo^V6O@{KGIk6L-32~zbhLIV=~F2N+vV@) zG8q;g82zgl5;TBJ0K9+T?v9UrgkW3y7WmIAQs!#s$83*T(91E;VvIt6p)yXG}Qc~JKncB{wId|woA_Q_u?i4 zF_E>^BaSB4AJSPQTO=b~S7`s->lUBx0`3ALDTGQqyo#iTb!8~L!8_%=Xj)qs>b@Kb zRxLSh)cDO&_{=O}rds8`$q8i!OzSgp&SwA%>x$}$umOo1zy3?^CIAhYo11gXw^c<0 z=JKRauOT9WWs^xA1s8V%Kh)Irek=>nJ-boYwiK~jljZmTXaW?OA}FLm4)Fy7)x*`* zl?*dF<)=?_u<)L>Gz%@O%c})R4Gm)IRDN$KKFUA|YTCNSCLf=%M@4{a9JtpSKM~i} zoy4L;!^fnyPt&^i3yyH>5_IgooRc?=D4qm67x%h>u_oR1qN=TZ20vfYU_VQ<*jHnq(OAyelJnyGZW>}HMm8SCuX zEC-G@K~?$;__nx3qzo*<`S#;umMAI$03?e@q^rYy#hz}%*fLCS{uja)H<4DqZT$Wr z-OHC*-7gzCx&XeA?_l;?s|*JKEuA|D_JCUT>!9YqCvlDFbp!Cj5dbAso^UDjpTsgx zKmeyoorpcD)ad3i(WD$!mS(dj3c#C`NHlYjmUEYjk%ivg8;CEQrvaB^;bF80jKtcX`2Tx0GeS-$<0d=2K?pr;x#eys)1(KjVj|k?WPgRP9H^LrD zAYl)_EH4&fh-HK-sUQ4-%Eg4TWFlKui&jsW7%wQ$x$`zf=bI|UjV86AU<$ka2i#~e z69pT=?<|9bEWo>nTB*wS)z)&G&(~+^t_M^5HhR8l75OhJ=}JjSQ2m{)&>XJF^u5W{ z&_OKu_s5A7z1@21d;0ocQqy6-s%Xd;~EWFF|o_E4t z#vRHEkqXoPXP;H)E!J1N@}(&Ol=CHPxt+w;1(O<7C+0MVQ!NjsjbsjKMg>y?d)wR4 ztLzIOUQ9|sVFQEoImhccA=UbzBslk@fNdV? zbw3;yGEGWr1X`07RLj7D4e9tiw*)7EO4CYxV*qjr5+*`7{yNBgM`!zMa+T5N&%Po) z0dL0X>FF;IrhP~RBqp6MtR${6iCPKPBJIhNPhuh;fyX7b-8gl$G+YCad@F#z0}l|{hsSFuo!y;p4D*wdk|tu@H-Yu> ze}2WD{Nu+rNXYX+HskOPAdEwAlG4Ni=w-8e5$w-1WJ#_E3}dFk00sJe$&Yx-9b)#3fUrW zJ~2d3aUY_99TWvSsBdWK(tR`QzPz8d1gfoPfLP>&cn4XBH}%BcIU*v!rW=Vde7sCSI~TmnD;f< z&A7I%!4Aih_T@{1wd*Qpf`Z0=CsS$E=J_)8W19qlw9jUH2Voi&TW`ieZah^TmO1xQ?@?2wRH5kG zUSp9?6=mI$``-2_;^Qj~)*ja1;<7&^D{rAzC@?VE{TmE)E5*|7vjh78x0d0D^Yo&En1F zRgM5dY=w-b|H;R1;VoT?89permY(lCP9)^0B}A85VS zsct;q;MzF-yAVL^iBEo3P8Y=)L=AYLG9XVeS8s{w&9S-oOV00XO}Th52Wk(%Jrcl` ziJGRUKurb~sjYDdP+%v7%t}{}MrOMnlk+)<{$6MhmcY#AD1g+`4146PFOIx~^@4%2 z;SVO7gt^4>j?b*!(Mg2cuIx*ESRCsKQsMnSwCr!<_V##!pUR#!AMmvf4x$5UhdPod zQl4UMG$R0rc&*K6u-1CyTQM7)@{(HwFA%Cznp|1&of)j!fnan*2f0^bqiM2;6re!X zS7Q>tsMU|46L~l5-HE4{mzO~PhYe(jSRq}3VJ^X7)zd30@j$T8=VSpe6P!zNJiJbs zWtL0k_Xe_)wB!gDZEfx6c&I?p>KhvROkB{V{r$IsKv3B>eQ&5Gv?T-(mrtzP2OtS( zolpt<@x$N+9o^dBWIZ{Skea0w%>uTvW~li9XjcLT24sGvJM{(|eHd+$!sO;Of285U z1BPh>*f3Nyw3Y4c-+5jq3_EU=xmKqx6jn>kNOp2KLAJ*mgsB-)!zraz7G41MdzYmo z18wQ}9iAN@cL7-ff-0gKro4Py@0q2Moui|7RT#RhooyWd8-5DR#l?f4%{kDIrY3>S zp~Q$oC(nTLay9_BCUM_m7Jq6$rCd4(fVcn11RfwdfzYGpu2f;@Vq~Z%AgU+3_~|1= z_xe+IcxgnO?JD&8zm(*J;B_JAXA~I5-94WjS$L33aDOZ_oaT0D-uL}}?Ttv5Ndip9 zz1sb;{U^*FV+0y%3W?E*<$z935)O|RJr=>yeJV>$Zcw$=gaDPp&oPa z`z$5?@W56>)fgKWU>tDMFRf74Zjzwf)5Znp?P~wzC;gskivhpy;?!+-rEi)x19G3b zAtT=&LItI8OgsbvLL|2fQR_q9z_AMrb@leqHb`;jFf25*)ci^sxL2u7T2lNq8^e@c zy7&z*Z=dh6u>l~oAmRr-t?_7h+^17qfQbZPy-efW-y@d@0XgM zk?h}E@~tws76EvLdi}4?(8bH)j&WR|b$FLi4jndM2!f~-hh_$tyyfNRj~L(GLcH#m zDE0@}1fKVb4#MTdvvYF>U0a{@`Zotl=FWQc1O2Q)KK;{7^n1c{O_pi+G)FZPX7 zC_=gn{CYe&O-z6eJd zE;g`%*P6Gixb_~Cy9SiG^57UA0-dL&c1!rcKrDhG$V#?`QuIBC|9*X0ViQGM>SQe} z>B@Ujaegpq6$?(A^`7xZPZ}qu2vaf7=;oSa%$OqeAn35=CY=6;0Vl}%WQmkvX&P!3 zmPzK+(Z@<-20Ns;Q;t7VYKcx4XH_|kQn5KuL{Rzq)pCsJRP|dnc(x#>5-17+><2+D z|5>{&`l1@$-hn@4ch?s^{$ZaoOiFZ7=hfBKm-{Ep;4-N!Iyn$K-S4|%x5v(y!eVSr zq3tqjM@PlkZoub?1)z8M%O*~4a*v$xPJ@(6V5(3n!fDY1^V~K|c^0T0G^s--|2U9wBc#GbR z8xNN1txy-LU-?M_=6Jt^vE>ry?iy2JZoUIZSWXCEcly4Ms?xo$9|QWdDXTxe&3D&~ zGMfRx(ocK>o^`32O*5i<<){A#GsypC&5po`3SnR~zeFiqy5!(>gmyE_1LC5iIV3~L zy6Amgmv{tV%v8Fdxt?zKzBv2X4bD2{Ktfo_RPovi`l5*fCo4I>rxI{)n)N}gP^U%F zWGSj3k+fO6N%HFuu3&1!kWT$_LDk;M`g&&6@I*8mdcgHa?s<%epjvoKX8AXGSV}Z) zSKswtmW~Jhvsfs)ha&r1a0>pMwbMoGCexAu&{u#XtU4Dyyp;j?FVzx_5D><0`g};E zN#1_(%Ia6O{#J*8aDRCgi!|wqRvw^}5Er-YjzUSbe%8*&L_cMgx;keZ6Dt(>QLf@a z?F_&>5b!fQallgoUD~|Me-M3E^AwiFXCK2D&Lkijj&y z{VnX`!c%BrK2rFVy^71U5AXq0g3J^e8u70f7(ndDehoBI>+8=<2xCc73mxi)sv;A9 ze7n5lHs%2zIjk%%du=jlb2RH0p@DMk*v7{Bo}U<`7#kZKSg3xbWo6zU#*LH8{h&FV zkS=Euaz6mg;}HTP>@y@)1x0fJptK3}j6QXKk4a|c+7~)-X=$(LO?IULTA`$*G*WG$^|rLaZ8AjcT@wyD{!@U- z5Rs648{YB(e?4n?w*kQcdHWBHljqm+OFd+$)>xwN$Rnk*)US7XWT^Y-m2+(JxBmMy z1HwxG@K6Ply4wzrM4@^>xDXYMTlNPZjdb@)JpJG28@q~L08-igU1j#s=n|;E3vJrD z|NE*#G|&}q`MK|RUMzh4-k<)Dz1n;Nn&Dpn!Fyhp6+^%Pbb19?q}%(wk^y@l%GC|Y zwEy2%9gT87ry&|&EJ%q4>}ILO2n;ygKsSPr45^6atCP>a(*G>aD`z+DN&prJ-d))L zx&xja1LU~nbHgtD6hLc&=H_;zR<8a3o%RA00)@&!_&Jsy2%Os^X=??#c>f#g;yd_Q zvB<$kC{o~z1HK4YnP@+)Y7wj6vM~63qGeYCjOV{sbpbPq**QT124Z^V884G<9o4SK zg{ShY$oS#YdrwU*kS0~Rw(zP*_(kFCOG3A)O>US!_W9BHZd3lI?9}b=7oSsqn2Ub> zp`DWrabDfl92eOq)cYqrs#xt~(RY!;GQVC?jYr_;FY0cwwtSov5E24`MIEcw5iFp>-p)I`e7@i zmP5WM@3fB)m(233V1pVi1Q-nFI1y(5+P&iu2KcRKjjp|18@Y=Iew%kcr{KfXUJhhr znUH3gdfw~>E|&h73=cs*n{ggS4iDSEJo{7qx_|EvHMlb~KV`SyFxfNTU;*x(X&wfK zIW{zjX*~k>8ZstLbsT1Y4cimNwU#B^Lxcsh=KFKi;8v>~5Nzq3-#zyWoqQ&~tiI>R z5KPSw-8aUcfwsl6zg-Q6*eciHzVmO)=4h4m*!0OuPk6gnMwb24)1MC9pbsK-BMqSM zm=LWc`tDpt!6gnRM;)x5tBQ?nGMut-Ad3itd0CV>4`}77qzASMm_gDl_TGlaezV(X zl~~0D)ID_-CI*&{j^qGOhk5Y>=yvtbEW5x54)gu{M1jpkw6VwGo_Bm6HsOkg+8K)+ z+yoDNF8?y~7{JS){fv?qYWlmjs!Qx6*>dWgF|En+dlgNyNHs$#PrPC_kUdBKaQhrS z4M&&1vnCm{=C2{Xa~&(5eAgWRCnvQyE#g zt}RNp*WfFPN{e|+FvR(lv8)frS3MLVd3ifoYk#DnES%_j!P>&J<=ljSgeS#EZCa&SIe!3lo;O*}o;NvHg+UEb zs_xX;NJBDbT;p8*j#X?PK6;vKOi1e{!q81hztG%}~Ddmh|I2d)`sYn%Gs))lT^8HgOxaK%3!9No&wyDMi6!|E&HJ zk~ZvqM5)7f;pyr`b!B4{Kks{VEq?x%thQm1#^t^)s=n`*uGyPxp_NjEeva5-k#M)&$XGF8J|*AoTuD7uo|C+&ulk6xDIEsq3l^_qLUTu zpi_<#QmMM75lC5dM&GEqNxGcME7whtkTr#Ff*yWNOG?U|rrv$l@Kq=4Eo*=Kvno6D zndoozLE%T?W?`G#5#$hK({HdWiZP=*Kd~h)sy~b?tHvi#8^C9Suc||1$SU3Wk9)Kw zZd+R4uxOOjhk#G%armSha>Lw#Ylq|^TJ@MF`2ywluKClux>KJ@ciC{!W$>^b<7rXd zC}abDSGVw$D#YTOVt1vvq0Y=h?9sfIvN>hpt)JTtlemMhKl^E&y3g7*biKn7MFvlj zPLr|&g2Hje#bIXq;Y71+O*4W6Wehly6dj|iQIhF!k^&9=iFdCBH)$z=r}82l(hSJh z3&NQu=`D-o;Ce!3pNU3h_Bd=((x&ijf?)>BqI8C^Y6=BzfiAp%GxCUH4%yF5-i9<6 z^8*m)-;X;m!dy{9CM zOtvJFW}u06@)RxwCl2@2wO!Sg*06({Mqg{$k17Iu9kaPU)y@dBA|&8LUx z`G#3NgCy*#KRB%mIhc&9O1N;@RY|I#vbnskZciyd!@|!^J?RA=Evn1vJLO@WVFPV6 z7R!N5fn+v1CQ5bZ)n_>Tpp~UeVlsW{+y&{?wPX-!q=0pyu|Oov6t~g7qjfvJg5?Zy2D4Cdq$yb$*KG7 zAM2j*lW>V?lEJbsMKfh%X9WxJKvmsQ6)rSw=gzy`Q;I~+y-Je7b8S^IcTjvLrUxYa zFxa#q`>{Twq}#I}-k4+|Q@FeaNEuvH^>BA+US(9ISz)NK@W$J4)KyIC;b7X}5&V!$ z8!{Sph7oWQELej(RoPkQ=VjosUJeg)lQ)u7$)L;!Fh8#a>Mz=|%j#{C^62nI(~|9+ zA@Vl#x%Gnk_(kQ}1Nb_@YIQ4))6x;1)p+}Y1Mxqew?bs=0TqIKe3;iCik6Y!;be<0 z!>!FVJClUti7Zv^1g16H3S8wuwxK~sYUO( zVsdQ=X_DKsl%R*s)Mihd!;++^^L~Z;e45ebvhNiXYR8^j`)9jz!~q95PKt8J=cZ_HvkSiFr+4o^$Qt_DtsXuq7p=hozAJVnfy` zq7xGGIPi8JJm}E+*9dDJ!h&~teCelpyN9V8>;yT|@_M9Vgv+a}HvF9@T=HB}Z@fGj z3jK9?TX%K2ATQU`ASggiN5`k8^N_ICag1BShh^31_F1YL8CENZhzu(&lGC;9;S+Rc z^}JAKAKl$SL6!=>+>8zFa{5!lqU&}8S>tK3D;Re4v8~d`bFDcEao``inA0+!d)T|2 zm91Q2LN^MHr-6Blu+rG4WU$uit4Vp8u3>(A)=kZY2&75sRlY;gkW}{tZ|6}8K8L+E zLd|2ehYO|K#f*MKnIfFy4osO&A?U7+XhAFS8BCiBY^&DaF>PX@qm+u{fKO1IR=qh( zK$vHNUpOIoVV9Lhf28vjlcXK2RhI_dc6S9g>{9AbfHcQ-s>->GN$hyYiW{$_mSeg- z8NNNK&P#rm&ci!q0SwqyZXL46Q^@BBbCo2pWmEY4UvADD-R`Gqhkm+0$;+z9_)}kk zbLf1O?c5(5o)v~*1Q8$Kq{at9$0L5u#`&Zc&6^T5$9qfmuPiA_{_cWA2@Ry8%k>_o zJI1%2H$y!S;QQsBax2f?FSmV(m_5xanMN7IDixuJcRm%z_dN~cmf;5lozTq?VP`DG z!o0F2Y+3R-n8);nKx$%G%Y)F6L`Bn4%qJ%5`#~SBE=*{l#j1wOqCeWGv*m8Q|2P~| zCzughh$CWNy|^D5JpSmkp5TcD^O0PJ!8i|Ugm}n>Zd-;}$oC_rsP9j-!n;WiDP|93 z=T#3MR<+$P8iqT~%~oz)s{)}5bgr(YyMMJ{>Rb!Ei(tQAuk5ZnuCTLrU#Q9 zB0OGSZ*RNX$-8py=`dNFUUL63oOqOnA z2ZC3TQ7|g3lxn<)T24kaz40H0kP7|UWiwkhWHx^t(_*4yDbCNQ6?8S!z8#hxSZfB+ zNfvNz-UIh$0DsUj%n_T8nec;6hARD9@g0}tpTNMGPZ7?e_iU!oejW-j@Vl(joH~zT zPl8$zU`Xl81U3fcfo#R0DuHaeZxy>0HoC(|L;M+y{_rSDVx!%p>ku5Tf5tw5l-6Nh zBH&cEdV&2{=R{u{x-*)P?NDb^VuJs~Q%mS}&k0mk28Zbxsy7nsNo$wnOXfi*%qc7K zma?3zLgPl&?xMAYJKL|#fg$LW0Wdu*XDMW_^*JN#VHu~EC80k-VjV*`C;bQT7V(kwYK$EGHPSdwQJQLe87#FC5YxH1qw9_xXIZLY_Z@2U_RqSp{QLwkP985%lxqXMv|EFSSma&t4TUw;fLXx*_ zrpYH=Qvxbd1Yu_Qv$l10SUl9!lKDeP<D5*iv9$XztM}+ZQ20ns4J!M836-Y&$&vK&F`i2Cv{cj+0v&poI z9EJw-AA|q?AA9c^)>PK@jYk<}W>6Rgq!$GXQU#08hHNHO{0hOau;Co%92^t{mr(ZGEwgds3)#2D~-tR&D!{)5rcIuHbwv zJnYEy>si>i7~~UZ5+8i$o3)wryQ$A$Ufr==gHp@2|Bn!AVdO?@HrFO;ygij@sC4AY zk8^cLPCtC=6j|8Q!7njg9Vuo_?gF?WG-XcXW%lh?e_WpCZE1E6GG70Gn(-A)^+^c` zOIg)kp3^Ll%a*xm1JeEE5jgul+)7D$s*viM?bYKy?YtN9G9Te!F6KFwG17DN%Fl+9 zN3Q%_+_-t|_qFlr!2T=kGpj=Bl&R`K(4ZaRjIuVUEEf1?FgY`3A?n~Y-z6zNHCS~7 zq6tPX56+?!+hn!9olUfzH^%bY?k$9H)2oJAg6WC zwEdBh5rHz)6TiU?toXZ>D&jZ%>CCw}9>^kSiLd<1eB3WmuAHW}3bxTKgejqB%!!m| z*9Lv!Jbw**{!j3Ez8)kp43vyZsoXlssmu4h;K|4QW$s-{i z?yH-P%>wPYCp*|Dr}=xxgd%6c^}1^GQV77!`lPk&Pql8gRWj%EW)Z)3GJl4A;z(02)ekd2c0`SOa|ZM+3_Nj@cQ%r)!I`paU+A)l^;_bdjABFcn#xL0-xWGpSoG$B%) zm6g&)MN-o1qBLiYO@}-na?~OuOOB9{yt$e%F!)=3P*f^(aNqRY`IXobpv3&S%^$;H zS)KwbBgiEP+Rtl7|7*e9?Ts-0`T*P8jKQWH6?DwbwF_uJ{Bg*Mqaf+Wdj>t1zP^tU z<+rjBx-oLe;l;D<(YukA=sjyuEkv?7*De;&g2)Lpzt z^%YfVcqIqf5Cuo_?v1jhJj~boOq8NnRTd21AwXTP4xD|e@=PE}&7;mSd0@xOT(i9tPP$!_ z4GTMqztUO%q4B>EyPj{gYtN24f98%oB0DKbTP@O)+gN< z4Cx&{n~L@Wyd)%*Jm;U3%R!!SklRK|EA7K*7E42yamogLP08a=C-l9lq=oelQ<7O8 zcMK4|weRLI@bPcfqSqhm(dSMSeL7@izeV zWg@)3N=Esz?D;&C&yf+{zkafQlg9OtXT-zQ_#^Z1+FP*p66vmowui?(P5@Jx15)bGY33@(m@!$I{(BKA_Zm{~g~=>0 z54<27H|Uu($QIe6zplAdn6zFBI4AQqOYN~dzwA|$Q3W2J$GkjZknV8Ml0T3ns<}8O z2?&6hMOiDHxPtLXh`V29r>_VE0y@)7%4<9zeraC0STQnI0RmaIp9bUk7JhRrJypYw zP>bkNWYCjFJ$`abm@bQ0tWKfW4z_6Hl70DM{(w?EtAekmxy#?bS?j4^)Cxu!(>iHs zYHy{1?U-hK|Q?HhacY=bVp(e7O6U*T6w6^A4)3WAKBAPpX! zxcrc-B@iSh{vb{m$T>L;5V@H6x#FvN@t=|Ls~#@-&QaaJ@l#TRbVWXn4IU2QrVXPm z79!Ub8?;@h~4&ezKF9%3b zTg{f3oe|RPoZ#v5AuvyYjA8dWz+>UKVs#k1Hs;`?JwTdXQgYtP19VP-Y(6g|-{ zzjlxlq!%*CeD2jFTbfHz2Pc>rzdsqZ_>#(=)!Ko(kPMK{EcHEGXroa^TJ*q-MY^3R zu=i+k?>)T`p|bzRCn7d<;@56&(*vt5CFY~KA^0JnjVjvZvp&YgImw16yrpkz~J ztRF?+<_iWVb4*sXdg-c_hDXzwk!SQBw=Hg|`H9O}r7Dg1RN*$io1n65oz*V>6dVK*}%_t2$M(zi}j;Hii-wIpO9EX#$~u|4XgePIv?Qs`!bYhqVlrmYPqPk&Tw) z+!Fv|@WJ(Y5;S}|SVC>^LHLWn2)-86#N%7Y=SLvNpI9-vv!l1FpL%^vwF=a_SpfO3 z?4m^zq26a1*EVo_jvb{H+_4v|l#vk$SQs=6cf*Q+nEtt!^v`p4ZsBuW5C~28A=iXj zB3d5Qxg~``KNq~ot%5Tks)tAPF7;OWuwb2F(1 z?Uyk|sJ@y&(F~6-5s)^RO!84~CT#fYd9TRwB2K}=I>hMnb_ikVxkA*+3Kolj8sgH> za8WIC1)3OGgLw!%B{7@RXBn|>H4zu^#TUdW_Cp$k-7r1hESZc9dyxKd!tG{Wvv8h> z$JnJL1BU+~&z6Guw(C_WeRKnCbJ6{uyTDIJ{X1dYWBKD>NgcVV4Y zyueW|f(3n)05zOBWXXb38`0%rFSvSA!VDu%IR%Pby#R&A2X$&Y;IjJMi>Q=+v1C?^`Zm!T0)FqnL@x7&9x)qWb={Cpd{3 z%(S$=2pyViYZkw-`1SWcA|=Xti-S7DZHH!q@RC+FF|+%V*c2T5Q^f^52^t$b#tdf} z#YRfG`?yLo*y=vCyLIHup^pyNFPgf9*xSPw#s^`T+%6l0YLnD}Ga@kANU!=_$!*au zcHt+`ui0HOOe7Ko*dA=182B6$*+6NsawiuKSYPWz9a7RLl0UElv_eEmN#;c z^_MIsnpGdC@FP3RWevj*mnTNs2~k3pDm{nfIiDURbsEFO+iHdNSdmGhu!k!F%NoM? zSjBG`aXkvW1wue5zH-86xkp(>e=533EHhe4 zwC~D=mMUmh?XP+jg&Qyh|*6Cgzt zNy>qT#&zuF5eY@};iSuf#>QbZVM4uDK!z=f7NuXe*4H|F-H&daAHG1K(Cq`nG{9SC zaE3qCwBNl7XV^=6GWI*UdZU+n4@!D|TnfCZ8DS(pMyfg&vo5{80noFO_QX zbVd07ex2=JyMeDhFJo!szG!nC<%%=%ugXYDI`qNyQU=5bCJMQPKfKaE8ftVj2b{(p zy7}!I_09bmPCMB9FyXW$l>jhqPmUOmHBKI@;c3oacN*l$r}8v08iQ zLpTL9zOBUwf0QIEq|qZfkcU6Ut=YT4BVH8JKqC|+P*PI0dLqeE^R-P8Cws-&K3BtT z!5+4^pWo4rw6_OT-S$aT*vIi5;{c1E;d4VfjMq+f2doDd9;^&%bF(W|hYuT<)`W9~N-W(7edoXY^ zZ$LRWZ`~I!%Ck;*1QOT4B}RC6jQUZky?m8VoIx0^sY*v?1ZQa93v|^FVwY(9nS@F- zH=HT4PxD{REd2B*P(t4JA%9Lp8YwunN1C_qA1LJw2>BdN@OWcJR`{Tii!aW#yV>5Y zGz?xsw|H6rqrx(C;Rk6^xO$)LfU0RNhqM}Yn>vg2Hr)$(jZO6;!Irm|U3vB5$xGsi zO8U&AQ-hSq($8tK3gh43BZ^Jw#<_>?@(K|;ZcG;emD0d#`?dBO1?gvpO*gcRW9b5H z+-LN!aMG!r$8kd=-hAv+4A4>#EarpKA3p1PcP}OYzV-YirN7ilT(hdY%1^E0YXusZ(&&7=*jj*6Qe1-ZPjf8j>(9|A;60`y+pjmI94Btm3=3u7C}Z zFbzGiR{5f-P7(ReDZNPwo8)A=>u^`xk5>WEpmgkf9d9|9F}YpCU+cYN4c}&5Fuf^x zxmkHG?jTJ&;=ZS#uZ+};_D@D#r3V_3V_XKX_`b3-#;-l|`Ii;uSe0w4rL6}uxLIi0 z0GSLr+uC!CL>dSnGZ6uPIP3g43L~o06LWMdy-|aLLXP|#q}O(iR&bl8OOliW(5LA1 zp2X_8TS9y+LiQkRtAi0mRBewmoEJFH)K?SAnVCHW?K(`Jr>p4Qb%O7WI@T6>kp5JV zUQLc9g=s<1M zcK27$o%9kG_mP+o)Zm{6v^G1o9~SOS@R+jMfT}QKED(Pn9O zJDk_j&RJQ_qff8y6K0-A(Rm^`}KisGa*~kA4$-EdOVdM+F7igOZ3I( z)#MuC8wwv!1NiradyJZa(p>m%gCk{= zU{*L{6zO!vFsi>&o77zrHQ21#gDy-K&$4dKz8-f6qh4Ko>0sXM>y&|D5F>Ekq>p2t zp5Z%Tc&yLm@$nuUR7b^4 z|AUws6`aNFVrP%c-OmUh*G=4LFY{QjvgxdYy?~0&pE_8VVZosNcxM*|MzYwAMOz_J zIu6A>_s=Q^>QAmbt)0@0+e)}Fl!7vdUJTvm;q^~JcENth-yXwwejLA#Na#(fnH?5I zYJ2X6r$Nvk1y8vn^6a1j7mTV7Jl6ZU&7|dH=?qq#R+-POj(slI(VLmau(ttc({%AS zmJZ`0(3t%h*ZA4H%oz*G+LFcS=r1#Ed+(8oBGjTkN56_%xjY|~b9CQER2@#-8 zHSoF9rOuy_!1evmgB#6usLV-l!%Ooh+DIQ5FM~qY9x3EvI-LjR-nB;FV_qT!V1fJL z!gJOYdRZQl-%ecHArd4pcFlR8#T7P(<|`!+sqrIk zyXpe!5RNycg8;j5_7G>LC(jkP2D*+2BQoxsApp8@mSc#ke)No^w$4CVGUEhKK-#wv zt!$$p*5=|%%I>i-tLQQXWBBr;r8{dy^AWx1&1C3D@3W#%C`TESM=Hc0QKo#%74p1y zzn~x9BTF5A{P6+hC+!D6)Yf@?*FDCU(dBHq)_)M1>xZAT-hz+fKHr>8ZE3I{!4};=p3=ypI5_L_LTNe%&xCRpx!!Ovr3# zD%^g0YC3F}x7Xra(0MDpSND4!Q8S?94w@S@VLqBM><{;wtp*#S+?$h)pu2ipRD(a9 zsBX$0{4>ON7~62UzI)j12uCM)O6}>_*P|>R5oQEvc^Xa3``(_>2CM5T=*pD)lFp3B z{UsGj;C(1~n7{0i%>V@?>#N;T>86>Yg!4fxF4VgR!J6na_({J3cDj)Hrje52>C>Z! z2$)>^{flj{QpEtdf{>kI^gyby_eiALXGYqRg;(k`SE_rE<2Q$PuXh_qIj-AF_C&<; zT+_onvR-o!VskAc)|ne$zL#CmbRK;frzhhP(~Cn~e(UYJ@`WZD4!)SowTF)VUM)M1 z&V7-Bz_wKb+dRXkcF-v5LcIC_s=2d&)-(IozRSF%?E(l%UY|$n8@z1|#0~9G3lhAB zK5IB1Cp6B_U7E`iJtax~D1Rt2ZnTd5Y)?CRK8BJ2oHGx%mnhC^$S z&Rj&;jr^{T`!h9T$xU7LaJkt{ePM-c4ZnxCA1<5ng|A^#&{1Mi{h?eo~vsIYF~-yV%A! zuj$Uhu2ia8p=P@>Z?3a2J+MF_9w2yj4o_+cjx--ntdK5yQCOFX#DM`xPQ0h(T-n#r?Dp$^V6{eqC0k2A<*8(K<(q7R4K%4-=^JJB| zCa;M{hY6$vN+Gfl1I%>jbnShOhHYpIb>zz#BrG*I25Q;i3gm}OYE&M~UI>N=_%5X^ zlOD>-;8*x|1NkJfMr^TV9zDIH+?trq04wv@HE~6BIAS*t>Ofgf9Izj)ak*CWmE9TQ z={WNObP;6zrgK<>I^bM3SRrD@R!m{eAxLy3pXi}l1f(cOsew+N*vzX!mXb4_cdzx= z>!~es39H!_p!MzE(!o+*xKfh$Rd0yl-)gDkHcZ=A=?pef-rIWjLJKabE4Q|*cg4i| z%sADa-t7$Fs@+E6dV6aMrF|6V^@x9N^lzjz#=kAVsz0*;I+s?m`eKx0;*M+>`slg; zS`h6XI{9SltI3cuD#&c_#iT>h$}P&;x3vMYIb|9G1SjEr9yz5OxRw#E$9~Nx(Dw12 zo;NThZMiK6`Hv_IwmxLFz}@MwKy!H&SN)GYir4OmvOkBR^xJ$Uwa4uD1TB5b(jIwrYyvxD*{;)%c+vcid3cD>} z;Lo|HfI^#Eff0-L+LP;&ehSD`0(2%cGK#~chg>g$73`k_KSvE-HGomCcG|QB&Wh?y z8oap`8fTH;FrQI=f!@H|vp$#r8~iv%M*qwYqcgV0m_T8DB}3_W&|JD!ftAUK_>VA$ zzTQvPweYi6jnz@^>vQB%{i=g~+H89pni{GL;vUAcDia?~p|`x?N-WzYZA@{=dHlq) zs^3y&72)}VseFMMD8OwWYmYO~*KkWL-GIhpS$&TEflk-Gd&yT^yYGC6wsF*3mGS+Bp0mAUX#mxfS3{9!p$bKtR<+8mz2Xq27&swF6V5aSCE(SMeukXux} zsI`8IZ@0&l_;%)KagP=-a;o5*@ckO?FsD(#^7Z^^W_11=w!TA}$cx_-WI@=w-@3-r z>@P+2tB=}0v-Gen{AdJ0WXLlXMAq76cXjVL)2&^CS0=Cu{QQwsLwPGXtvQ_?_5&f)%4Vl4idDqMG;HK1kcJS5mrH0wM08HBzgr2*_vRT*r1gHjCU zr_ynMsWi~o+-D+rH2BFnchFL(s&-E`MEx5Nh0)uR0^(vALb{nbV)@y{Fs-Wf)Eb2B z=YUnQ6ujVC?$zGyonhljE7ds+%>a{Q6l54iEongkRg9HhYgPQLQGf#b<%Q28LNDpr zrTx+0xyx|8U`2VdcKuyJ%%M1wP&h7${Oz`$fmdF_${1$EoBX|uQEPMi#(c$O`Vt6c zLMu^W%xn-18Js)ZT>%l+PZuQusviGk$yFh!@ z5BIHb0VzCyI?c+P-b6?0E0koVea9fRbww>TYo3@MbU%v-5>2yr=`hsHHqLLBn!TC% zZrU6G!DPmr{9 zm-Q^Ef{A}K?;;ItEmr?g!)9z~UUJ9{aANJC=*-Q%<)8tTEooorB(n%l+=ITYm-Wlf zJ7MGv74(3zleBbagl$7caBVo4_tR$L!F|9)U2w^*B&O-PQk3?X1Q;$F9)8gA0wPHt z4PZ0EIP@{poErXEKYH`^9=^&MufuL^@^^h9E3DOX!4lbNA4qqw7>60Q10FeV5U%YP zH_IHZQ68JcUWi-o=eYiX8zrBpCj<#IWGYkbW!^V_k@%TCqe~^yv5cdO$Vbe(v z`Oeqm3y<8uDj>p70O&qww7y};V2Q(+s=gEbq!0l^kHB1qx{1%X#+pUtg7%sRTd1`e z;7EV|mpm0+YwLD{tsk+lfhMiiL22=eR2SO%YZ(3rqo-hMpqcS1hm* zCu>KT9xw;>mOst6HmMXcmoS7c`&8JsjkZ-uc{I>jwRC2obErVHH|Yn-KG=rgN!Y~i z3{udo#1ww=-W_K!uFvz>pJ6!6>xj@BXqaYb{b`!`$I-&R2u^Ub;TTFF8Trq~|1t(9 zLjabS8JL%mgzXhE9P~St+m5He0B2xQGjYgm>L)O;iGT`7lB-h zT2d~Iy8M1G71@A^jUSg9a+vsur}R{jg8*eO`*llf-2A)LCQkmT8LDn1Ml1>Z{4$LI z2ZLjbSq*8Ti#g1wejPPukBsV6e&HsLh}gw|ZoigwI8YQ=w=808493sO@THEZNfTl- z;+Y&;z-GZYGQ1a`J>_6n3MhMPobm{Ts*VRrC4siaBWUQ_*(i zSRTc6+;6lI;P=zx#&1%&K8}OSnb+zG-9Lz&e5Z#XodLrq@tR!e6?n6TX3%UwIfxjM z9bK}9(Q#%H`Zdb5myY5VjgRh;#M0WePMnzTy&q_MMmc8iz%>xy?`qb+jg^H6-0{ut zdw8K!H2sk_3{}$7=3)QPmgXmc6Mwftn%DNYBs$>nMp`G_Zl?aVk#da)?_uJ}LrNn5 zV{H^+B72VsLIoqY_WKhk(tV_kpJm6MIB}qj)T25jmEXY7-T>cI3Q8YW2Rk`;qOV3nLP!>-IQ*ZR!=GQ0kc%h>| z85u>|bZkC5$w?(nH$@D%SI(+2h%HU$@g1H{9>PJqXYY}f!40{^M&8s%Nr0iJWj?(! zJ2U&+*%S5lwod=|eOYGPw^?B9XE2GNZP*%u$7-nO{YZI~^Eur!=W1NPcI$2sd2~WW(%mP9I|Vl4*-0T{n4VX0?t-a+M(thGGa0T^A{eEB z3BNnVU%y%RC{@G~u#Jbqa|VJ+=^C{|X;V=wR=R3wbPDesk%Wx7*DZ|qg;BwTEB>qU zrmn9=2E506IY6(hcZtpfEs6u{<=8Zs@7XTd+awB^V^2yKw~tdXBtM1+*l9z!u%}a; zh2jglB(7y(v^SJq73g&Pcq~y{kNFs%gP`>qh%<`oYeYixcxu^Tnum2HJ+tfahkKiT z;z{Dt#B^$b)r=OkkzZZh&jTqM4qL=C98{a*YcMav3ld<&^{$qhfYVd$+{Hm#$rm+K zoqwdHJvs^7#WTw02k0w>G5+>JQfWl#wRA9#2yoaiD&*_IYWQ_Sy;#$7s^;P{>8vmL zK6hLMm1d)tT7pBzk==Bwkvq3^5D=@t^mKvtY;cY4l^^YmCInPE?;V0KBbHXzD3kTe zmg@mWC$iokof_lfo+K=f_mapiYLi+&xPLVd`*tb*Y zbR_~z{`Z600!kFEzTx1N*l~1bS8c8Gi`c5^Sqxbye~$zT$CvY4~Z-<v41WlJ#X!sBLSchx}XtT3|UPN>VF^$@MbS-UfHaPc0n z)+i9cgwPsV2OsSXKfJ1^%E!-kG0qCr&E@TOT-(Gm|xe@pAsh@*!byB7&_4CU}_mXnP{0xFVt3Fwo(t_ za?eAflU@BCLH>TNoYNPn0Q8P~-k7&OAtdXqA>?5hdL|oNmcATA^oQuo%xnGx`a|QZ zt`>@gZk%@?X6d#f-Iu^Qgg~Cm8FTY`a`wwT*aaC6+62zJB?#o2)i>~e$X9TK%fEFA z_}@MDw><^?XXO9KbO8SYUj4_N{WpDq{r`{W?C+!l_zz^~@1O(tcLnwD=80@V`~uzljb|{{B%7|2OLH|Ev2L4x8^Y5br_>Zjje@+MRPck3mJvjgW zs0MQ6?|{~v$-gUkn2 z+8+YhV^6p5Xe$lGPzdv)*?0J#OPbqU|IXwm7riOf%Sw?qj)h)SRX7s*F{7l=vJiVy z&U^XsOGWhhuc&^Pn>Q>5j|rM+^8aG}WcJuy}Qd?**?pK#OOIPDk_`U1+I1& z;(0kVGZe>F&rciX%KS!q3XH{k1M8u^B`I;lKc-T7>Pi)NhR0u6^hYPxhKEx|3B?o5 z?%>r|PsU8d!F@mAeNMMsW?s?gWz>@?DMb#8oUeW#ebu79j$c0&ep5f( zv@hSAIGvJ`>cJ^3-O3@&I#Eo^_tuJ*Wcf}7AS5ho2A+A|UIAXXQh2d{%ZK&3OZ{t$ zO|hJkLTcUDuM-`um-~wpiz*c>V4VKm%FCw|$)(`&MRI{(PNxv@5f`VQu9>K&qza_S zh+R%Pe$tm6-@<8)wQazkSxe97JCz0g^D^KRv$ux?bs8r*G(1r)cQbrmtD$nnR5mEdr}L8rSoZiX53u!wpxb@6DB8Z6MFe zPD#VBT$a0^58e`L0v2uda^wS>6l_AwJBtOem)0B(W^UBp?f0{3yW=@7Yl9Hf3KW#& zH9Q?*aPSRSJ)m|CSH?|OniWZbd*dJvK377iznC)zU%Utb$J-Hc z)qqp*0TRBR5Y2;M8;BQ^#zJ3Efj@@LRr9TK*!5u3Bf? z@(&up&$55rMO>a?mPS#4Ky1v3AG=@U+{9d&$b72E-B;Qiu0J?v0yeU6gg397y$y~Z z!-K!kU+qi0433KiALsPqH{Q{FS&B9O$^o^WP-*u1!SjYGoeX5K*=6#CA<6UM!Za*^~!h+<8)!$?uFX>vkdSFUU26a{W_76#sRy#2FJs%a3~8|2kQrmzY*8` z*X3oZIKBX7kV6$2J;Kq(PvwsQAXbye@6KbG`RJFwp718DYt%0GmOCPjI6G|PM<+Ul z9ZmMZlquMn_wYP4?W;vzofKD-b=&>SEjtKD2u}MLzCfKO^1u3Z0Gjud`u(WdUyZ-i zAS?I9d{_2l$eYE|E`vG<)#lzW=h(zitUv8nE{^IC|@ok2?D=PGKuuYvnmj z8RqT(1sy^-1UVugr?w|Q1DX7EJkasj5iAt6m_wfjjIvdrQWbX9X(1uckMe>v+$(9G6_G_LERP{b1k?r;12ysxYRLZkcvNrL)p* zG2gnwArLVN=a88hZGVTEa9mJPWu<>APAYnFA!_kyqUWkgJU211LYl`rexc6cwRi8iY7 zK&+!&?g}=k(Fe5%ib^9Re=06f|UG(o+Rku&@kkYOGj)N$utC0QxMUUD(B% z6*V&fwwV4=t>A}{0BpV%r@7BB|JB@gynAU>B7p0SM8(E;P)wKDPYq*f8`?m3bnTsw zkDUtAcU{AV`3Pz1SUEsHaAQJ5bK|kO&+jh#TOav6*S@~F?baMaUH7d5x1i>BA3?$n zzr4Q9VC|I(DLVY5H4_|H_1QSSm67Y$oFqZOqzmYL;sMXP#NJhcbeDpC_dLI7>(P@0 z@Q=BHK5a9l59yL5XgD;6a}h7i5Aogie3}5iQ=)yL7w8f~`hF>r|KWueJ>@4=K%tYL*IGd)M@)R7B7VJ){r zCiVMwt}Eb@=W$ubq21a~{8ZH#IICOI;c__daZ|)CX6?=1@Tsd!%xJxpnb2nK zOi#w{nrhUSZr?b=_RV^$6Ou7;8?_iIjogfrm^+VucCihX$dR9DwZVJ!Ok1*C*) z`=$T@FxFbwEM`a@Sql{nIKkfp&A%`L+z$5Nb2l>^a|$AS`316<^-Tgsgvgawdm-3Ebh4CaHctumk3> zPbf5qMUx^=AkJIl-ijVN#v|0TrMFo&%Ean0D_a&AM9`nagBSYIA@G&ymA3Ei z9ud{?Fz!T%^Ya5WC|1l&^vYHx1_D{<*rE)5>S$)|z2TzYI(FD;;(8HzpHvU9^S2a2 zW-88inP#;m639dI4u?&@EZ{*W`yT_zjUNwsSnPX}269s@W)uKrqY zU(@2bSDwUQze)2$?J9YNY z>wGdreNEY8x)wp?2Khdo(@Dd*>ib z2||HQhRA()l>3V0GbJFjnhbibN% zn*Jg(S>VDgqD+&cGb%pL9LU!`)5SiNzH9K~l{XDjr8gRk%Iq7~yCOGcyb$+Vaht;} zy_RFT<5OM=goNg~4ElV&u!38jXevupM-%>z0Cl<21;V5CYhG7-XtxA)0y{~xy#3`4 zW=uD@67Nk_hllA`TJ`9#=`$&7^`67(D(H4A18IelA?&2v6R@(y=`+q|8HRC;TNgvF zn3R~m{F#hm$B%p7nl_V;6IAKk^N@(|;dewFwXUXMm5PXK7kcMPkw58?#>=s^fRSS7 zhP7d(7`HuA6o3UfUNDI5gxOMLP5t4S8_H@wK6ybQpnKm9xd`r#e6lHMuef4tyn-z# z4kwN~B5VSxoElTWBBdad0KdQNKYp3FEhKn1mO&q8e&t!e9OxgAQypspqBp$^DZ|T7 z8(n_hp;uf%#PajmkS90VH{1Nc0^x?Vxma?(6#WkYz%uDI4l0dcE!9Ttsvvs55Ni+u zmfB}ZV>eoHZmQm&Csrpewo9M>H22{V&)YEZO~$+IgWX4ffud#HR^e(q_P!&c?vW)s z#5#Zbo58T()`Lp3hfcR|+1c4;Q-89S-e_Er($T?o><6tZYA+%acsDY4JPX5VlS@#0 z@F1imAj{s6PL#KGW37T@hs^=qhGoIa7i%;YFH{MT=< zn#N4OC6SCX-X|PKKRzkm6kXH(J_D@3kA8PYtEcA&fwysK?Ph6dbDgokW~>{W@<`-z zuzMq2o6?hs|1XDDMpL~u{qm66n-|pOxZpS27M=7(7AJTtuY>I$SRY^u3;(%oFV;jrRL*MqNXJkBR87Z4p;alR@txgcU*V@i5LT~})S0{FY$l(`wdn^SCoi1X;()$+Zp zH+lj4?Unn%(y*B)2mOIRcol?UE}eNZs>v{uF!E`^ocArUC)4uncJ3hvRZ(BbByjSw z5I~5=5aTrP8EIrRUNcV#s>fA13-bsomkImz1r;Fnabi`-c>3OpsEK4s^Lu;D=h)5E zrJBK+^Pn@Tbl#6w1j0?h@IjTOyM<9*_#)tmE{pYRh{Um2mgi94O9-Y#@2q68qqi6P zraR`UUE9UTHp8lhKs#=l#|4=%bq>@{Fl@fzZd!4qO z2Re0e_YT4R9W0gZWusl=bXwrFA4;q$kzopsw;^Dp>0n5~PH}#jdPu9-hi)0j?+q^1 zc@6Zl^HYdAyWQ2^fJab_|yb5X_HrMg4;8WsH*09bu(WFLKU|ILn6?5*|eiF4=9 z)q-eYJhgGL*}|^^c#TEmD5mnw$CpkK?LqM%+Eu@$G0wL)RMMQv5a03sXbK+5-Ouju z=uHW5o3AlLh>>dn#1NkZX}Y)G*Ya6|dNtB4WH?v!jr(TfUFrx?aIM|G& z-vXj%$rmi%?#7bao7YS2=E3jNL|~CwxTi*-j2A;uEIs(VqYu(G2ow@KbEGS&k*vQD z_JZ1L4Hz=7t~^4F@p_I`)be z=qkNa)pfdd->7)$^4*tH0+iClt5JrJc@Iq*$BigG1j^SNDx|GAE5rS}`pgY=P?MUR zgVNc1eO4Yj%Y$Q1R*d5(r6giE8*vd(GU%^e;FNPzU!{FNic!g}SW-Ixyhbxs4yHrL z+}gc|pNWzAsL9>GyuUZ!6&LO9&>G^UPoJrG?&!iu#Xg^ZSOn-+Gbjj8`fT$7@A8P1 zk)$+y>lb6=-Sshrsm9Rb+~I!2nu_if$L2uS6RihzFD~7Ir)PwcH0&`vD*C8d9Gijw zdH^p?zqQnI-60sYaHIktlwXh*FdbAx>{z&B8 zIY&^{s)1A!u)J9+GFnyB9)Gmul%r0lWjZ~P(G%ctQH~w6_*B&g%RV$Q^j-Xcv-?uAl_KF54=cx? zA?J|lDuyrgj3QVbW7VB?Tgj-EyKD>MI3}MdmA1K3=(f~&qqHMCQxtgBB_|)M6Y}Gy ze4S9dA4bZSwZ}eOK)||>aQjmVo0qZaza$*D(+vqD&lzlr#II-y3+AbLh2+B+Mr^a4 z52-4x$ITwa48uuo%XuH3cxvn<`m({2Bf5Qg2$)n%DHu~YTS$hKg(tM&J(Uq?45vlaB zeY`N?y^)b17_KsAoX>*!Gz=K0;1NJfa9&F-;60ezvfZyRAkFcs_~S398AN$*X?XAq z2ztSDmioe!>*#3l`pk6Dy;Rs$rHHDR_!u0w?iSLgg>?karq@QtEn(B(6jTt_kyGt* z>%AGJ=aGHyHqP5FW^lybC8z%Ibr+bnIp#yG*S6HB^t4c$rWN31a1QZ(7XY@9?Rl$= z9B90bn1-()w?y!jU7f9NZN_R1+K{Q{}EaEPPKX=lGD# zc|!wT>Cn3ks|Sw&hjzFZyyLE8rE8bkxUw_9bmyVv=h!WZL-Y2bQ{HO}L|`p3hcA7( zJtC=uG-W&z5x`0F+0@+_*o#`*cA)j|zR-k+!MDbL2k$lvJ#H2+pe=U|wYNV+!0ILD z7BDJM?=Rev zw^)1G&he60AG=72YXw%)RJFkKs&ZUo`h;KvKPa=U<(JmDw(xVn?6HjF#IHMr|!KQh_L&18R-c#+C@eh!u50>arZ802b51 zVl-^8pcrE{Xs*ojCSb#U0r6jV(u3f#BZsK)@k!MUG}Lsyiw&en5YQR3G9h8JKFB@N ztZY-OxCz;iN?@EBtq#TNXc76}Zgd=3@i90Gv9@YC&TZU7y$bM0&cHC5Lpjf%_dMj5 z6eLYIB3vU$g5sKiX-fmym}hTp;Ind|bIY_`(4WHA-sJSYdY?cHj=8Dk(K8F1u4*3N z?=py`rq~n%rl5$d_bU*L`L%YR> zm+!Qe$7;1?m(q-agxKG#xR1l7?9iiUjYDWfn8G1D%ds|EdOVRbmg%S3|umzvA zt$H(8eK)LXj2Rif#xyac@z!eMIXy+m$1XoSHl9x&UII5Zf{de}C?Vo(n5hxd)8p&3 zEgh0%d#dXIfH1?rcn0hGPjNvo0&w-u$T&e@OiLrzEn>D+C*B0+D%GX`d~>eDs)5$L zW%JkUPsY>ZA$1mQ`{x&nw~rON$o2*OeR2D|Dp*{ z%SGXu9f0HVbi`bKgU_YihX}CN%AHMMSGsQCQa)E0bOpeMf_C#zp&tH&#{w}c052&!U=c%rjefrb0B z>~{;|YXAY|Sx(3WjP|h7i4WdVZ|XRXs>R`>ezZ`INzZ}#Pgn_yMVA=f3TrX-K{1>*!Uq}>YP}q> zof|QKj+-U$H0qQLPn29;n}K$w^sa&V<}AjdB*FKaKWuhj{TU3dg!#YWgz7%Vm&y~a>lMCGh(Mt#DP7h*dKZRyr(~3E;MvG#6>nk#651Bc#i*t7Vd=He|292u{~H!L5&&bL69A_0^V0Xb|Kr z2Bw|V+kDD(pe<)nxj5T8vTic^c1DDje7jImD2&&%@_~xJhj8>RevH^`YAjt4|lt>5^8kdH}wKCYv; z=-~ZK1aa-S&nlg95dGB_MDNfveRIKw(RaHF*{A+u@)9;$f&k*6E*$B`9c(f_cL8;% z7OvZBCE7ORaB_~dncVvNUFW8Yb3+a3p~0LCW353}Jf1~wtTzfOS5+cce+x(r^AP*Nzi8(dn+pGGlv_E0e|JxfO>jP*01IBj!C&sJ_!2Z>)Lpd3we zzheA9FBU~pOO3tw!W-Ac1mES35}u{o5l7|dG>B^ezb!GkpsoHjL|ijUqnD^S4GmY) z{O~)>W{38kE`G19EiasKE%qQXcK_!N@4Wi-2J0Yibx=0^hGuUu&1f&UPy7X~85Ksl z>4SUAJi4U^(_khdZUZ|hks%vS#>ze%8SQ<0WRtebw(qgS(9MU~lx5B-W~QnXucYPk z$W{X9yOohSsy&_4IUQ{sN|*M9&n C+a>k@ diff --git a/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/tile-when-teams-meeting-ufd-network-quality-is-bad-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/beta/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/tile-when-teams-meeting-ufd-network-quality-is-bad-Desktop-Chrome-linux.png index 9a616868e4dd313ac316ef989473b30f6f7721a7..cc2a5140ea588f571d541a21f55ef79cd486923f 100644 GIT binary patch delta 23501 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

hWwaPd%J3A&SYN}V9 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%0D88^xEBFa3IiF82*?O$ zo}V}d8z(`vzB7}0SfR2ZzK{1L3ahM<|0tw9u3otW($wm5?~jGY_W%P#c3-iwvQqZX zFHKF>z{I1}Wpc1RSrH)zke-P9Hx#+sMhAHsm?n@^^MUB=W8YrGPK({DdnM%>pjD+J zmxl)+o2donKXjZ%$$YSO$b+1ZuB~4FF-&9Vnqc~xpw_WqlhOU8@mAhzaz;~5=wK7) zlJi8Ly+Cp8V?B5NglTJpfh76+_i2~P5z}guuG_cmo_y!jBClN?cr;M>xR%yLT=)24 zl+_g%!zl(V05^9wI+B$=g)%fWZl`Eo$S`syf5)h2Yz74}RtOtIk3ni%UEL6slOsbD z>Eq)~4UIDKB{2v31tdA^*n-)0rPT?Kp2%;K)O(d4xd6n`q3kQeqJx^(Ve{my7 zGe2MQh{m>rnUqx2D{P)C(L?FgH1SU*A5r}h(KrR9670i=4_nNg@@E6;03WOmIW+dT zT)UHY-f*dcw+_MesiA??@VHD&rA8il`t(Fpic--JW!!Q|r4q*l)wqAfvm7ltAF3e+ zO{}f&j(iVK*FvXm*Qo&&#OIqc4R;brj@0Y7DvTiMGgG(MLzMK z$pc-RLH7Q435pV$;dQj*{9jW2^B>vD+|2QNzqLqBwXv;n+_Vr0t9kp~F|PkTHyt>T za)Nz)jsJB~LGKfSaq{5&b4Vh=0L1Zg=guKE-_)h1^7CJ~;O*^Qw#`^rcn0Pit3mr! za?f|P?vV@-4+4lcv9jXvRzpf&zKuXA`Vq=ATL1Fp@d}HgTG=mOzPPx!G!qB}l#z}O zTS7v@d5Tw6?$@tzrv%kVeQFd}}3Nf&xV>77XBEi7ljOU?An^=T{^~8tL_4 zzGd0=9Y~$-=RZ_YQ>(K03CwA|pFgkIc8jMk&0rh|%QIwKsXRs>;}Z#aclz_K{0Av# z*kGqTiu=t-EVJu{);kwpb&a|&N*%K|b7T+Z_AdsvZdJwKtxXCB&TpDYoJH(~ZC`+= zTdrRjOA0D@EC2}z6w;&V8wKp{-jmwGrFCz>0R^HV*q!|HD!}-)+a^6xV0mssf!-nw{r^w>U^*P* delta 23418 zcmafb2UHVV8*P-U=oR5A3er^sRGRb}qE{3VfvYG;M`_YKp$|5Sln6*KQ9%$X0YYy9 zQ949Gnv_ThEs)SdASCZ_|NpJ^-deBBa=FaRnRDiR=PP^fGvh?);m***Z{J+GHTSLo z?KO8VWj~{VDszTw#4O@JM>|i?F71Pb;l=(R&^flSTJ{^7 zIn56aU)RiG=O?TpWRAbj3603OqUXHK$99xTP!>6?sp*J54ZC=;VtFCiGP&z@7xC+& zcP%9Cq;@K9H@7eh*KF1FOuiOE)|lNr91-zTRs;ra=~z1n!NOafci3D!f9)@6X}4%W z^}0uzIU1g-nIkK=M%FhbAZRZ(Pct;)&dNUr<8ui#3{X64nyk(%Un(!YdHPho$L;J> zLPC~7K|vkuciO<9eEW{{sED6}6RzOu5wTdB^wq0h2?U&;HTZpk!C;&@d-jns_Z#pO zZ2x@TYsRgd8?wAH zWZcU(G1$9ff1S$r-`&1)@xh7CgK5b>{CDV+|Lu0de9P8IlUH^he&$p@-(A?jyo0CC z#)auYthY3m!u~bb?{9VHyT8OQo=nwg05(~Ab#PYU^SE@yZW%Z$W2^$PBpwW8{BH*r zCl*hiQu!O=xbP?U*>S(k)^v(cHV^SP4>u$^EAk=scZ7$xNl26LajB`1$;sT$pFhtt^L_B(^!@wy zQ|^hPsK%vFkIbVX4d7*YX1Jf0P#)J?%h`*?`88ixDn+^fT5!s_^%+_8T@=hfAAT^K z(o9Ir_nOV>`P*zlt!WAc4t*bw#PBLjqX^J^oK~x6%a-s+Lm)D-3)?T<1I07DygFE@51jb5|zgN-KO{-nvzNIb?!a8^W&J2da~HurdTw(qglm#lr|vRAHS#`)iP(en-}=$m5LiQ< zgyg(Ou4Va6YYPU?p32HxWs8iAT%K%5??@1nnVXVPS0Fo(8>kvtg48qM%A+q%?QcIw zm{z_+Fm|&0T{hO&mA#>bfAZ`0j~@^J5>%Bwtwz)i=SV-8+6=KzHoo2k(EQR z$+gPJfjK^IcKY<`tK*1EmtKX2!lxdf?e7U6X|ld^>!gs(i`7+kyWW)hbGw!h?e%v;P)qU#_bQQ2 zQ&({1$45hH!2U^+%(&|6UUdbC>|j`Aag!vgw`Dg5NB>%AEJt(S=09)?3bgY)I+|@VkTP+4ivnCe5l8QwKr#!ytxMzRFECt^ zPj|}~HE-Wad=vQn&Do$jo8y*2Dro6>{Cp;oK-A~p`=Mp-wWUCZb_Vc4Dv*ZKgty#4 zo_>M*p6|-9QpYV`7_wn_i-HI4sKa*ralN0+%W$^*5{cxl?>f?r?NQPV-Sz(HQtwgE zUzIMV4&7%njk5dNMUu_FrVVOMauf{S{o4Eob&sXQbwV{@YsuUJ?io;5T_Y6b8e=;m z#>#VT{!SG$Dt!+c^m%;o;)9p(U?7LL-A1g!4D$4dgGLrpBn)mkjL&s8-$Q?(I5=<; ztr6p)kFuYvuOUwEZ@+7{vZBjzrl?U3e90sC9rr)pimIlsi?_G8TMZYRfBPmcEG{0! z!pi>6*aBnGFn+Q#QQXLVcmj!aT`_?vIzQG2tz^=BprEb6i^Vv`(WlndhgLT>W-O`n zbYj{jY@m{nna8cydpvAM zU%Y$??bs6Ug6c9kIVlLYeP6cmtAJWcwIBRKsHVT^lHt|8#IJtm_U)tL9Af?X26+h@ zdMd%G(f?u&O~>c|CPOouhX?7cUT#a^&!|5;dV8M&H@YM$+TR!)2(#tXqN4o?b5@G*&kDskWw--Jt_WQ zAMZ#v?quZT|=KJ zq3TM4Pj|W!>Ln|RO{8Shx!Vsq`tm48u{<<%LTaJC0Mpo6otNc_vPblZzysH5^XP=Q zxI^Djie_sYc=DE{$+!5_xT&lWO4DXZLI+#;&+J`>Ac#u) zs2nL{)pT7{Hz2*FMu**dRp#AY!`W?YjTo0;`n^sdEu_jp_KF^v z)7Mh(c`yD-bQ!BG^OzA0*j#wtMSR+`H25gQ^Tp3hN$n$SyM73r+m$({%cU~RHAy;c zcl+_t;Ci&AHc@})3P2>u2cc;H_Wk?w8uZ^RR1$e&W&$UjfW_2DOuxYjW{<#_AsWKE?T>Az%Qq3@xLO>g1?PT9GeJ-8V_Z}`Va`UD9x`oez zf2eNGdi(Zw;~vM4JbfY8>ZzlyH8i_04!%wWBkCuQgw|+&|8T8RUlhuoE{9(QC2_Rm z$<6$&mT-=|o8jzi3y?rd7`yFsx|@5C!f@?ycvzSRrGe@Jkee(NH1f{@a!NMqA7}^} zDVcH}FOR&z!YUgya_v`@6J^bxU*7K;hsL!uwcCQ}`_S+AHwuj#e$CV|L9vAhUK}9B z9?T^tH^;r@q>^DRT5P_;h%&i6Uiwl;S}p$l+SV2^!|T^+9-bR_?i>SoDq1iY5lCHL z+e!IEcF~8fSS>IGev?4`{S-aQkanIsz)06-nd~L-TiOSH8S|l}$#Cjrs(8R`LPW&F zZlY%ml%Xfa9?nuX5!+*zO*AfY%;`0<^nVSvmG8WGQP^)O-{X%XM+WaSoFQmeK9ngH^OZvzumZsaE^PvbVb?tbUk0m0GGP#7SZ91voVIZnmR$UFZ0JVc5H11sQviFN)Ejqm%QlS0zU=L*u0a8DZ)|OC%RoO%s%(J$ z*!>I3<0p|@2om?X~ zN<4{wGIsWk204g3yyOyta&Gr!%H9sjrS0`lK*B2Ew`)i^I*x^xXmhVpy_!hl=L z9gyNBo`S*758rMIx*33l|3zP@;cI*<{tqh^l& zzP`S%&1r{#heI6|CS7Lp?#g#`wVN#-K78u``0=^hGo?%m00R~m7j0~8{Jhz;wY5i_ zD<5 zRvt^_8R~)K_04M_X!G;)KTTH67)#_6+4T<5`c&I?sGEmhPd$2cIjYCb z8k!YA_Fs`=59P4yxumY1apPrpNx;@s!{VLP)|m7XuQqmB*?tw~i`a1_bKwC|%5;~- zGKj$gLSo#DYW|HHF~1#`4I9DQD+xjBtl=#;4DCcY)Rn`$)VyK8OSRf$9eHX{m`5p3V*4Opdkz~yDklT~tmkfqgy`FOW_ChR35eH@#am=zkp$dK^P-{e*)9m(;>Y zoOp5l8(@S#lB4SDg9L+@J<{4*lOmqrvnJ|y*LCjs&%=?jq9P)x_E~~$IaerF^1KOC zBHR$oGUWMS+KdJhHj@?bVoJC;&md3P5M%LOTHNrjQ#>7ETO_~V%`zEK^AVA!e#?EO zn~MXpW?kP25u-Dl_LQ}ii?LN3hmTtPD?A}X`W5?Le%L%`H{_^NR9%WGQdkPwjhsv3aZ698} z^a~8+^HNLy?A(eJK@wx9RQd??HN~ayp)i8Pvp|2GodH>hOjnk zO6q&#C&*4z;6giq_?8mKz!1OJ#Ii0bEAO;#lZIvNd!1h#X1Q|t@_Xw%J;C5ckXu9U zA1Hl-UNvU*)ZT~CuSzF87&Q{`p$*G)KWZk@k61B$oP$HU0^cj3wlF|-B%kvUOXcBF zr+u?_CRFxJ98+ETq7m#csh*T7m%A}%nsB#ptlUF*2JO#<9qqQ?m@BhtPA31+v^EE= z9pOfj=3F=J?d_BO`3X|S-B}ZL{`)L(bq@PzFs3n6I#Y!sK& z?^3a>%^m(*x3uJfTknzgs5rl+Mf+z%g*+gm!1z_)H3be#wz*be9R_Z5LHlR*QRwU0 ztubJlKtJL%UL|sm2a#OJ>%htV*N8^#-QBYtZ9*bzKQ3emBAx?Csga`aQX~pDMW8|x zmKVbS_#OD{VGXh`GQiC9IIJLKFD9zar_EVW&W)T0q^6WeH~m&;#e}r@uR78i`uFa! znb%q@^m&j8IMj|HyqZLYrb@=T#^O#E*8yXvMxb!7oQfNgfJ9&s zxMgct{P;fE{z>20BabEW$9<@9n2nvCtXJz^G|z_6uZ&R7tckrrF9JvXGUNO_5!6VQf(XBcn)c-@Pu~3#6E51v74;iaA1aa$4%w zmq^O|>=wbaTOnqR(akr*;!{&Q3RC3{!uFtF5PN=3(|m%-;vkWRhaKp&*2j;ts(4?H z`*0Hqui@+F_FmR3Ff1CO59i8K9s0|!nAdtAIWI2}J>>H1t>0;{KVfG6kA$e1%f;r> zm#$pN?_N24m<3>bTt|2JAMOMf^}cmm9UhPUlYbl$Fs6X2BE|d|RTr0#*#knU9gi0i z5uxQgExLo&2$tcE+1c4yB}t3dOm`MM`w3Ocz#1DH*?8q&ftX4jnO_$#{^Pv7{JSLk z%v;ID+^5f-JJ#espQ-=Ab9DZr5oQt)H{Lg#N=}BDkJL}ee|xmJwU<00TgSeMoh$3Y zShehK*(N>Wf|#&?t;RDin?sFMPX5*i-mS%ZbS2q)Ow#7Dwq17A-4oKaBf)e5HOS|y z)itZq$Lg`AADu|UmWKUBrpWmC_&ay*ya#Cm#M@xD^~REUg zlX?$k=J7odsO_Fs%#hRUf|q1u;x>8_s8_H4h)+mRna}VVX`H~GyV4jnS#Rvs9TEZn z!&@|3-`V*DW3q7~`y9*R!`gb#-RUOAzWeyRZA;izx#PsIi5*q|{Emfl2#MBY;4O@I z&4-!oTT{eadDXpSsvSTqjS=k;o^9i-M~)`?xhU@4fBcx?w_3(ecuQ4CzjD={$>&xJrTTjzrXt$}KX@fe zjr$GskdH3h2RiZcvU8fei-{u>l=sO@)kN^S*KzRAgpP=8ULl!tJZFiFiKnIRea92H zZ)@Iuo0$0Msf6$K>!Eu{uv>BXWo)Ltkfr6DP9CZNVdnH4L_0D%I(kV!15|A-;AtJe zC#0oO3kwTSypNVYFbnb5d=IRa?4R1znre50KlDAj^(k0&d9yqO|8 zT-LH_<0L)>$5&lMPo<@2BEaGbAEoYuj z?}Y51PG8W-P{4lkOjsNlE_(Acn$q_&I@)^@3Yt+!Q;eC)HFf=PD=O)+MAC!#$*!^V z-@mP7W#uANpP2i1G*@+hR4bqY;)TR8qWdSvaJ!3=DNkksQmTK4JJv|8g74;R;5<5=)R6BFL4sZ%1N3WZ;Q zd_6s_ihZ)L3it~kmQZ=sOOe58L0oV-IXmW-rKP1re!fU&SH)bCpSiJc+H~YrY_hj< zr0ay~Bf#)v3@dRc6bEwB9|`5tPN`2V`j8h@R;dWt8mk*O4gu*$^Y-m0SmMmeO3wiP z-spXP@;4b;)UGj)d`>*&0q!CklN1`gLR%$4nd< z0^lt(Q`g4k4A{R)=y)YbxP7NRZcEHU=r* zNC?(^;lj7?-xI6Hf`G0F>KVD4xqgDW%v4bs1#r@tMkBXYO}Ngt5xevk{jQ!Cf{u43 zONyw_?%aevgJg@rnasL=HVU^$w&(=AI5ejL(dn7M>SQE}a({Zqz`($`blN^(i+u7r zs61npEuVWf>OxNKZ1YF?XTE&-B!jh*DJX=sN&g&x^T@9 z3&A?%%K9_HQhhHsv{6wPed`4GUwmUPfcgfV<{LW^;jitF7wa1uB2kp*k_aJyT8B?a+qA_BIR7f| zYgjRg;_3%$1yIzJYv&>&BMuk}VDWg7l=S-wT^oI{V^;0A!PZOm|-fHgplE zAyY;4x`7k`DCB%ruptRwTYj~cb1CmHZf>n0lrU#U>OE01^!vgjnqeszvTz6_H05Pq zavdap==)5+{w?fW&q3utX{aWFDlt1}>I%=_=azijG}#b%oSnVZ&}t?tkSys{M{=u= z92M%Fo(dN{;IHv?x_WC2y2&=#vY8Kq>*Pei4_~h$uPuw~U42*;CDoYn^XHkY^lMoq ztL|m8a*N}iq5`?-OFxRu13k;UlqvL$)eXdUMBS-jLQ}@5knHwUI8fq+)x@I?v9R`4 zx~Rcazx(74b|$Jb79M|n(>A0O6REPeYntW5r4L_I24r}0_HofcZT=Ky^DeLKoVeFa zjFODYufS-3cljqzrXCj=x;7HIOa^lMg9|oPsX!g}Xs{ONsK=hSVEP1Lq|jjaf$ZVqYw{rBJPRin?w zq0cfdWB$Ieif)W346b}?;T;Ti9;U5%!-r=^RaC}3Nh_f2{KdobeLq`EZm)$S zWq#xMkt0XI?tlj+xJ~pQevg)zdNrRvK}`h3?8lX2Y}?H{Cgsi@Kb{EttqdkdzIpSN z=-D?DpH*n)e<>1FyOfILh?!);wXJ>M6-lg_mTs{c#jH9&+uB7ZgGO76M^RPHBFo;+eg%~9C9;{hHdOBc(!V(gNcW;V+nNh`ebTr#x6HRY}hZ4<>`<=bN7?lXf0r%M_ z6(+||p73&;_g2-`(Gga;cK&w`<^q_Eg@x4AlPTLQ!se#@JyCi20ACI zWI++KvB}{)b;|hZ=Of?YieEN15^l(zgJwvkYemb(%BiX{XCqp)cz-r#c^u zu4O96Sw}vuuh(1rwY9x1g=8-2g+)f(nK*c>Kr<)oQ*O@cnwFQc`)?Qr)85%UT=+oQ z`Hw`TAaP0lom26O*2c&P@8YMa$i8f$%^eR9(8AO1Kz{)D({^@#0OCcG4;$fn15s(~+dR5wrr_2I9Z9Cu(7mBT3v)4}4JLA6--lqC5pP?=Y)NLnshH&cMf20WfU}VJ?wFI2A<*Bx$ht|e3IG4^<_VDcSU@R8f0mQNj`Zsd#A>e2m&};`I z3&`;~xk<5O2Daa4fexgt-3oM|PqHmvzh2|jVNxynJm%(!aTyuQeLtSRsf{x|5N{lS z*di(?oZY{Er7;$$LYF1feFf}oZ2@vMpW8m0Xg*2nzN6pfDqSOSQMRmG_CS%rY-M}Q z&CdFHoB8?aCL3AWt_eZ5*wIe9dZu5H79y|4u%K-%D&o$5?!ntOOL5IN!`IiNq}^R` zq&s(%@7%rnr;(ZeS=j$o*C;Y&wlRa{!;LHgTg->rgnF9C#?tv*CHB}i-=HBoMlzc7 z%$Zk%Xy^$RtMftL-&$JH6ZlwcquHGW%LnXHH!whTrKY)6;K@n0(*_A|kH=W%LA#1iK9Qd+Xl7Xw8gJP>&sbpYHDtb*IRp?U~Jm zsX*Fh7rFG-y61wJT6(x3gF`%o5g8mvjnB%`1LZop-uj)EZ8B1W5N!V^ACt~`pxJKm zo%3(I3>1#Gk#M2u78Rj7>$UA|(F;@OhcfsdJa|ye2;-|+|Dpi{)M&N$XU7??Ggh*x z3;kPvhwL!aL>u9$(CX^ygEqra1#{!zHgV~Y&_wZ&xjIVY_awKLW&61UsYOB}dUJF0 zbX!%(gz8++{;Q^@^B`#-kYBPaC~V!I{y0E0{bfYs12WvW=X?CX;bJJcHt589Ul70UxWeKxso7O!+8S6^Bw8I-HpaiwS=ecY}v7Eq`s%IQE@RIia?L%oOoEy#E-~4{Ke4_2a~Z1i z#lHB#976V1j4VQk3NLQ{JyN}G8XFIx=CuJ(W8 zi-dsdh0x5w23%zL>C50HvMKl9-l`roW-u}Y!Z&?}Z~H&ky{bwH>=*zD0@mg(UH8l> z8njJTZ!E6uW$x@vUef)QTmI>t`P~nHMw~A@#(4P0o9t-WjlGVKGcPWmk5c{E%l4lA z$RYbP-(21u{wP8IQ;MZC_To#EKTi2vuY}5Ox-6zu8dLW7@0;8iIQcAIlrX=s_WOeh zQU#r{-8Wm`>&bKOFsum{NH&IPKL{2*DnX!e!$Lo}60uod1|7egJn8V+aF2hV)#~># z7>vb=nEj+nK~XW+q~Mcbkp?F$NfOi6i?~+)sEkf%uvJ2s4??|%VdownhFwP#JcO=_ z$IfA-{*Ykq*4V?o8N-_XdT6|O6vFSj>8dduoih+8cVQoL?h z+CoXTw)$*3h_hz6u$x5`W1=yK~>K zw=S)UcIh4`9SR@H+B@jmRcy^>jZV}&nd|TNs~3it$hJ7z@NjHTHJ8}&!%hDTjE~p1 zg8pIWZVMX!NN`Z<#Yc;&u2)p)weyJ<(YT+_FBOXnxH)wh*-LbXZ%L< z;$pU(RUBgw{gx$SNe}xc%{yje9HBlK%&LWW8qBvf%N3KGwmH@dW%*M&`C`~)QE8q5=I{b8ry@y3M|_ct>xIEKYvRV%*OXEt@oPU~i z6@HgG3?ks}!8(6Vx;uw7#AUsW1O0lG=671S0SeI*mC_GADiRLITHWASc2?UKgQ0}mEFHCrsj8%^zXDFZl zm!>g1_dCAEKDVTNjkR&!Xu@#A{MP;e27O_o^%I*To^SiR_weUW@!!om7DNx$?Vn2r zi}z3$ZmsnblB=@*eYj~n_HJv;XAUb*7;H%FU!(Ti9+V5z7J;+4UvJFI>b8h?R{Yfm z!Ond-==mdWLC46c3iYzjOeh0U_Bm}$c*((gM+g=sad2}NjR#;gk76G4h+Rs{*W~KBnS@1W6*#rhD;%* zN%^yJm3LJG;*(&4Mu4V+8Njt$UM~Q-_T^grlxHK(3!{W|C~~84N9M z?tg+Os!wD|EEU>q^le28J!u0IO1NvUwZ{ty10n8QwF4}4>m%@|O6jo=lzfqyw1h}u zlEW9Ny;6b!CZ{1Uemg55$yY2&RXl$b+SOcmhmW$IEMjSBM+IT^x*h zn;3izF)lWP(M7|1t#gx;v{cLHY5KO)^MYLzK?;A#R&h_H5x!^M)mVANy3j~pVyQzb zL`G>Nxp<$_>A4lK?l#=pC4~Ov&TxkPrh!0(Mt(~yezC_z*%LbhlehhsUn0=yxH@mc zCGm>q=zSjt_G%l$+JGSj1Lt2TjDtQ}e;>|-Z;e;<$4*RO>pW+=w>3zM94ixB_4993 z{KvYq=C-Ys@a%j_+swO0Pacg;tsQ}}hF2Vf#LXdM3#?;L1L4U{l`mPzHaWxQL z80NkC)2pR>dmK^a7IZlD!{5NLFR{i>H+{!GUQtpXnRGg^1!F!g7A)p`Z=&x*NCgWI zbWyoDbGvw7YfOpZ@wWyQIb#$QJk)c-vwy1rwJn6zathgM>@mo%UvRT8BBRF=RdgIx zmL3(2+Bwgt26OC#M|*O!uMaZEi#KlDkhAuuQB9OaVg!Bhm1Nn(#xY6Bn8fjrWiFLj zVz$NR?jfrZ5XsJOC(HNS$FE_LupQ#fl~Hf+n-&_SSCo2}7dA%ts)TB$Nm;+jgj@Bc zO!oRn^MP-fiy{^3@|eI1d)9K~uoq>(JhjSuA~r*M(PSIfb28WoYFVcS*fgi1)TN(c zY;WwPp`HzsI=cPMYusFswMJ_{D_p|!l7Gs2Sr|DM_&;rv!xk@I4%R}#A=Aa^7kR$| zJPG4uZ*NSoe6{O=l75HHMXMj1q1|~ z0?xs9zf*)L-3%zXyVDIdsjlYs>z%q6e7C>XhTiT--ZeD}VH8Jd#|NUxy@KwIniCIl!2zvAl=H_Efh9F?46J`^kcM0vDog zrV>BYQ$vo>-S|Y1>aL=g#PbM^1bug^{Q_pvQ8T_UWo==?)N6ffV?E5pbbSVS&y2WD??rRX|K#Jg zxdCZOZUxBJ=EuvipGz0^b<&L=bPXpGkVg6Q?P%*oYhvRhjCnF&;O@XCzeiHs~XX!HCp! z)_I>iLrk7Y{%i*{`USttJ<*rMiOGV7oksBtho{@<@%YgwC)yAE{M^!BvR!wCBbWD2 z&!*WqvmFl3vc-k4N3K!C4R!Bn!_;eEYW2p%v=tG1rS~9GD-EX>v$O>drZ4#$kKD&k z7n^8QP)6t^CnXbNz@hgz1tlfS+FEl>`(Lo3rzlA+o9WMv#gO~r8<_h93nZZ8f-B`A zJm@)6C4JY_Ub0B|3ys*l?JWBx&B&$HxvjcEt!5jZK1bwCmqj{A8c3%mN;7<)^rop6 z;{!sF-CQ)hDc5YTnA*n5O+{@3pRIX1^EY0{tM!oe#$c6m1_(R<0b8u+T+fO1Ehyvd zr5Xpjz}yLW#5`D`@OmidA+WLMc;bd^;Mx+34P8kXp-;SvQ`y|ZdbN3&+L&#W3G^Gd zWuS%Vw%Q@P`kWhS$?|zc*d&xC96_P?WzeUpd*tR)=X;F%6HEnN@MuJ}t)UVPPccp7 zEY3)m7LwPXjQfnTuP8BpBysEqSy*UzXl{=?e&elb;b1`Z@&ns^=@|OHVQQWCC^fhh z!!=h{CArrKc`*BfmeXjop$nXzKit%W#nBtp~{%|OGgo^c=vsa8j>ed3E;0x+^$XIe&zAeK+;^akg;w<7XR)`+^2k# z4z&IVbWxgTEG2v%Id5*Hp2=aMqJ#+A`(oXGVpOAGBatB08KdQzB-tiETThVg>=^FB zBgo2ErPF^KNx&4hvVxYJD(y?czW~~yN3oMx+fEzhkm_{(JEqS%}Avy z5I;|t8suN%)H3q==9=v_#)-E`V0;I0Jf()}eWHfCTM-}aP&|iYgpBi2gsk^d(#D4Crdkg-UcYS3E6B?d+NWUAR@X2MNst%AHK>w* z;H_k9;cf(#8^T_8BlvsAjua`x4Ca*9E(@|6R5^7Fhv1$SjXjyyP4`^RD#|xZf>R=l zV#z)nVbbHZmnj4nZ}zmZ<-*1kfS=8AlAMM@@>Uh4MR`mGfY z2UfekFz`Bt!9Snc00jx^qpt}Uj22d00I-`jcyoo;l3-r*`}cAGjuBgmii4STZ}7m5 z+5YuFvS}ONc2U>1ai)O-dmT4@f9lRI&{b&($hgT zH`{3HUoQO~anEmVVa=(^p*M!3d|r19)h&tgo?V_F|4D)DAtdpm+Aq(&giL=cS0tD3 z&$2eI0>qoTV&Alpy|%feqL>EqB_eZx1^whbai0^Ull8%NlkW2%NjG zo471rnm^oj-nHWXjHAAfB^iZP-5?unH~3FvnZ~wDlie(dPFWNnlQli&?GV)}*N%-2RmoA&POq}I7=adfZcoHua?Zn{C07NFI;*80sC z_BvPGzllz#tu%fIpGO^3hfba0soRjW-QKeN+Gy8#;Qe;l1*vth)DT$cb5R(qq*>L< zQzu|)Ykd8VR&nrqVOCc{*>oujSkzm{av~Hfriy*vki=4Dx;+B-sx6}^*%3#;n5p?Q zvbHm=W`2RDX#F#O7kCYSsTCRalWvEeP;+!}U9Q6tw$v#nhYc(lj9_Y*c%rS)aMk$d z)(VOY_2qOQShMPks&RZm`W*f5@@WdZ(qT#6CykBjva+5Uivrc6e>TZ z4cF(0AaHIDA$!jP*~iJFb#$D^UedTyl^S7xV|uyrmVu)G+`BC%gVcX-v|7eqS0I_W z5kKdwT6=+`+jJxUcVZzL%B<{|;oS%q3qUjWe~*(bw7Q1BcPYBwvsR$>ST_)y9E{*h zwK{Rkc%efD#yl}o$)(#(a3#=WcLjyq4#05N3gkw+-TRbP?-L%^zzFQp(JJ1mNN7_c zA_&S-xB!A3$mX#cX!`2-Xjy-dG@)DuCAm!AIDQNNMsM{~;`;@U@08tyl4G1nEHO(10k~B6|T1a zp`oqNZ}P+hyU<910-@f^qnJ+W|4HhaWVW)7899d!*6eV&7?0OT#Ci`e>ii!dgH|H`6^Tq!`g)-nD#jX)Co~&Epi#_7Tz5(ThElFD`>lEO?!^`zRS+m#z4U(v!Xtr>lAGfq1(MMxO@rIdqG+# zu|~&9g}Cdlvc}z|q31TxcapY!fpfjH2OV=&+FPyOdcLnF(AQ{kFClN>v3Vs+L(fRq zJ%ry^UP~ln#f3I++1=GDT(I~B5@9w{M(Taj2ce)oEhe+0xg5*qL zXMnL_=Q`={SVFgEUyO~d7le;(glS7cJfrXE-nKMS_W6mysj z8*l;eeWBk6o3VhJ5}~F54w%xUyR~b>){sS)U3ax4u8}sk)o}HoFM%Q|Y<0mJW%sMx zAyvuEBHm`|>+4j-m7m}X9Q$C*pP3sbGG?fIQ(lv7cm;0E6* z(gsR;mO9*CZ)t0H*FpibFX094%PTAAN?O?Q`Vd4<=+0DAO15NV^Lu2Vp`I_4z zMF~giQK7H6;hR};3d82e;P~0%I&vr9C$IiXatw zN!2_CYEaUur?$&0D$XHs`?|gaYwB`smsGxCf&bnZA*;B!m`=k(WE9YiV4?F1Rj5Pb zw!`L0`xJ4DxJ!%V{73N z-Qjj~EkX?UtBFAJ;Y)TH$hH0Y>bQ11w9^K)bK^F@-$OtF?CPsAEDBuU#xo!OC4u-E z(!#=HjQH}>QYZKht!%B8kLvH-{NlBPvvd1GU-mFb6&OOms@lob)naCb1xPJmZd-0H zhpd{&2PT5C2`0$g{#$>D7j`wVv*{l2OIZDRQW>Rj2=?R0NOj}fL95;7+T}V79QLq) zr|;+Ny@UHknjT(FjDF^L_omN^(T{)Q(+Oz)%A`@aw=WmkWNVw+4|52nYPaRSEm*(aYbx{0SnygV8qcb)tWnjIA~RwQ z9csFI9EhpGyPE?WGeVYeDqeFoy%{RBH58^jPahFn(zaw26BDCCl4Hi9vizP3`u%?1 zENK67D-jc<5{L`H1d&XWi7!szvUH?tF8zCA#mQ1&xo_n9PtsO*%32+GXp)wlKj-$KS%7Kbt{^VJ#yuN|Ph@qmotQvX`-JIob)LwqqS*a|_v%=o7e* z`;5)JI?p*C`$E4U@PbIM2F71kV?B-&+aa3Hwp7Tn5~n5DF^Jo_B~`cCZ?;|JHlNAd zj0Mret{txv19eWtqLftzpY#Oz>8L|ISo6dYB}t3#Gl|)Yxg}_xsJa z=Tdp{mcG7ztm@J}ZNMB^^mypUkGJ@cZLd*gD9cfw%I58t6bK<_N0$m*uCd=9b7RtX zlPszJy}C*h@AkI|h${N-aH`AvOwdwl}po=eF_bxPGOrx|FhMV>|BL8d|Amc9frGO$Jxb=x3K><%|53Nc68 zjyfzoUz_59E>p+7^aBC{43~GLt6JFAataEZe%SF{9>AwF>XD3u*{N`$-p!3%YS%r! zv~;(|nqeS*M;@NHbZ5N52&JjWwFw}dEts{#bJa6YY|l*&xcspM_QF7NjhH=pzh>Nf zK=;5?HioL``&ad;xS7~7uT@h*JTL{qYd}|txG|rR0GuuGAG@QW^QVEM&sX90R^Bji z>W7yr#|k|AwZ*6blhO7e9*C`<5dKPDMuvz^(yS3~ml%pydn*{Y*_W~RTAFS9+)K!D zuA9|pZ=`%c4`1$(*YJLrT?_@^UigxX*j-+C7|`o+k+ZYuh!?4GX^qYRS^ZFkyL-?+ zi96S@08SYmbgVG*?i=2-6%DJppY9qTS+|m*?KUZ`CgAbRHwgb>bdEClR@Zm*iX>+% z$F^V7U$duSRwJo$fxZ|Fx0G2*HiQa*q;^}CywV2tsSq07herY7U4tM$vPF9+(^sueVI z_o;dI$upDKp-d(bPYC?gCcE_lZ~HB!j48l66a#~`bhA(iXjU=~YJj^b8w(!Vp0q~? zEwl&;E_)muTo+(iPS8mf%=AlW`ZuxluwZIW9bu~%qOYMK{&F7HyA>uq`yAtF{g7$S zMKW0riA3tD&~nBDNKCfvXD{v2T`D`~5s<6zm`hc8dAUuLWM%hlX*S zen2-^PyTqvLg6D+UncC6|3@iT9u8&uwx<+@q79WLNqWmtL>NXT$r2SI!kc6bA;jQO z_JkPwGE=-mvM*z@4ACpQ!CkF(Bw}Uc-E^PEx{LU34iT5 z_*-eOUrEQpAi;pibghvUS1)wU5B5_FH-gvE6u+BYj1K#?_57l?RC|9_jh&up4#fCP zPl#G6UB)K1Bh8%xJV6~J*%z9xgqO3S%>D)6bSiE*sN)c?%YGQI z0(|k?^T3U4v5PuZv}*En8|CRZ`a&_pT0mX!8KZ~S`U;7~nWHFoVSdax;x62G#?EbT z`pP?%P@KpMoDYylq(Qp3lPkb!pp;p#rZQ}R&NyM9EUrGPt}>l4c4I(TBhVi-&=RQj z6aPkXTwncOy*1>lu+#@p%XeyvGn4rOwtvh4TtFu=(c&u&Ct`?>xscy4^ud)~npolm z$1h4#EfTT*R_(J(dBe*c0>y)%A~32qtia@h=GJSUDC~YLs%&y}5+T?O#t(XOzBKrI z78rkuZ-2g3VpEhLrP{f;GY=x=V28RtS_HBdjPv^!fmZ{gGo1PgrXD!!^&xVdcS*Cz zbz(HESq!?}1*bX(tM>*u0MlNGZV?UK{v!;Hl={+Y#!-+T14)nh^7N@T2wVNU&|b&&NctVr41ei5Ln}n5#B$JkSSqji>#NNYierN z^9%#e0~rc-NiE;^eDt-# zv~Eve`#kumKcw0@snj-_yz>h9=P-eNu&~seoE-mU5c@|;n*pb^t2Mc9W7;Zqd?(); znl4Zvw)m2W*3`1EXSh40!DMQZ1mJ91K z{^QItQVe{0dorez+?9?7KRtq^5;){1{~n|$7Pqo@i0lG+SO-Q!P7I<`_$U|+kBO2o z`ndmk=X#%!Vc}Y-o^0Kl=;Be=nmRJ&s1%nlC|9l}$`x;xFORP!;b*$w>~7~Lz+-7^ zY^^SqEflfTrhlt2Ql5K&@L1%+*>$gPYDJWV~T26zuAXm5q`gYmtV5 zmuaJrHTuoYsugi~@8&gxS`+mu19k3x5Q@{}gG+;vvp;oOmTBClBJ;Sa26fQ-bnjI}k)x24RQZ=s3CWyc`w znvRI0rT_>dN*SoAnC@&#od)diGuFfvpFLwr%P(&2NaX_*V025$wdeA_YuBsB4gr6tMAJ>}(S4meBh;RvQNw^1#4^CFK7sxgRF?K@Vi7 zot>S*>W!Rk$(BByRg^$+O5kpW|E4qL$li!Z_8F-VlMJ;+iurD-lKwKvnbNb~eV+-% zUogrQP02G_QZ9@FCWj43T3RU+;d~(gGdl}P=CInEmYSB9dw!f!$6VHn*Y}-E050fk zZ(rZ_U)g_ngTxz7!>*QOfE;FJzoMezbWom==l8z6V0CU-!DFuyE^rMP1A}tcIt2wa zj9gCCx*h_RNS$g=k^IKL6th6G0+iiz6127wA2)fy$rOH*-&oGfTxSzS& z(H1}UcC$uKVWG>-flV7rh~-6ZhLn|?MVN1eeW#G?%yD)gp_W?kq}-$bv1w5kghrw2+x=fAszPuYiC1>D*p$GgRN~dr!0Ec-qBIQP(6n;18s_5QnKY@v$vMjrQ4jWe{cJ^UVnOkt4f)-(d4+AsG;b!YgF6F z2XGg+;j;$~eO2BcvN^sebxT3ZFha6Yi^M%_FEz#b@&u|jOf#=uFoSD8{4N?$J9T&3 zCgN#m>N=Oaiu@Nd)rlPhd%L5ZDNAilI>%(u z-hedf_iguUFd}OU?_c|zD_PFkZlEA}b+#|EtxeaYo{5fj4x}i#jI=P0oPC&QEYM6Y zWJXZ=#B#n?rylGbebw5p+(| znWj*)?REKAzt5d-j*)a9klyf9$6~RyKrjlBPG&d#09VrtjoT0KZhF(W3F!R8>4x6T z{`~c8o0IfpcD7kMs@=k^PNyl6+sWBUN9R8F^XIo@YfLy0Qqw>)<3330&AuUpLpxll zy4c3f&S(b1&%@K>(j{dBt)^4)@u(-L%=_7;aT60Zb{+T50g9J~q!i#69ppZkm*=VM zzkL;O{u@c86R4h+MlH6MtHDt~@==Dv-LGq4LQWq}NJ@;uKnbCaj`|tOae?CEl}A}I zRaI3z-M=Dw9BdnQ=mIXiH9n9VP{V0Kk0Mt#*8ZvZCjksg8QN8Ild}lJ;{|bEUVX-< z<<~t^wW_$S1H z@YB^A@1?BTT1Yr(VuI(6+IoS?zV4Sz@1@U6NJK`w`FU5700(K=r9|C|p`>wFKtJ98 zyg4Sjq9S2?TlwOBH1AD(5DdiPHqdFR{AT4`l!AOqd;4={rOWH3foK+!R%$a1hkXze z>lBla*mr17tg+_dD|>^EW@el#-c{KRCAC+PSGRLUMF z96oyb`&+pu>8Pl3PZC}~N-$T!vG>BeVCEXWe#r)i)&P&Dr}SaIDd%YN&pe~)sB_rSktYHZ7j*cvT(nYk;)u1b;m(Az~q;ERV^Bw%Q4-o~v;7O>U>+r&&FC9o5J$cX zGHJoL8!Ysa)7s0F(89vPv+RFQfCb$e_OLR#)z+pXMevQ}wYZ3gLwmX;lPpon5Y8Ev zkd#z8Ye$&=ITR_Vhw%PykGE!|}kz2o|=YcSdc;P58^l< z%*RKhzyEQDIx@_Y0(HeHI}5->MMYlBm8U1Rpg>qdqn;^1l{+RR zbnj>UjVBps1N!t#NO$3L9e>Hl)2r?qJcq?E+MUTYKu^hOpzW8!?-OGH8@A-WjpG&U z?YF4%6WJKH2*Ho#54k*eKtlShP3aufc_{AI`AUKtnmu zx(EZp0#KImuD|_@p2+iHahoT-zStBf3#yoX)291lk@YsH*dni z>zOgpXO*r(4f}zV2h4TQEiD$WL{kN{#p|*bo|`mmFy`&E_8E=`M&>a?5A_~wP~EAk zm-+=|KYMh;UU?Ifg~AYTk+ItJXYIL#R>KdBAZJoa2tS{I4(!k>KQ|wr{mUt_hxz>% zE_6)&ZU~m?TBWU1%mNXb;YZ4KM4-s-ZYkiGJNr_E)=R6aRlS#Y5~9h+egXmxD6x$WNC}DyyhmgG+|$oRI2< z>LK>dmmg*8#4-yeJidR zF8`v<_?vi9@l~sc@-8AXf0Y z8sh_WV(SXG(r0`(O+1U$YZ%0+r|Q-nyU7$qkq4I^d^LU@Ez}irjU5T)1S{12;M(`f ziOD{mAr$SE8UsqHT`8J_oUJAL?Yhki;! zGaQjq{Wa~>71J@WZCUthj`Soxt|27Zsx}Z4czS)NGaD7o^;fxlHfgTI;+I=)xs@SM z4onq28wEm}C>jmioduL}LU<$@pZsDCY%#lIvl?roJ`uW|aQbO#sU6tV5bZl7@=1=@ zj8@lalw6GL389lAR>e|^ilIT;V$-@>2i;d!UoQ=H+Li8@H{Ol8Fqe4eksXl}@bOP- zK#)nH9~Zy}qR4_9XQIO#Nj8z00-Chtw+YF~>4H}V4sg*VAsLr_*GM_I?HRm!$-u>D z657WZQz-qYR9#A!-`D(n9gA-tL9{ZmHr000<;LM~KyG18P96Ek*w|LKSjL5RZm`H#Ohi^^t74ce+ zAD;pd8@!!LbaZg|R94nIakgu~*u?|BDc17vq}3mf4Y23OpFP}r58Oq;#N>KI>OYO-Uwu% z6OhGu!njM1FMHa+zBhCxGTslfzlPzQ#cX?gYg{Z3iZ8xjgz-0adCm8=4m|$m?1UT2 z+T{+ND8f8|Cc{0QMRS;s+)hOWL&3rQh#qv{<|i4~r?VU;f@MxPMvP#|Qow3#qSC%@ zhwCP&5GP!9Q@OJ1F7rplHbwU5J6z~e=L@x$E`0^KK+o*qPQupL(wwApw@cNiCdir0 zEq+I#YEbu(cnH6X%~c_x8{Qd(`QYGogi`#0ApYBj#D~DrZ<;WLh44eS5A`7K?Z3Hq zGWZ~*gaZJiy%&2=i$NE_DgQZwpF0fu&q@4^NBEr3IJ2&&a<|A$jzM%?EAle zPc1<-D*aqk2UkLVy_B&4K48U&H>rN=s;XrR~mpdZ|xPqaN}repHgT!E|8OfAQO=TEPN6;_G*5 zlpE$(2q-RDg)~0FD&ns(do@(V`PAxlE!;*G(dLC6xcvhvA1J0)G8@{w6&vb6V&Ff| zU^r(yZx-C}LBx(sH2;g{-*80sUlwjfs%*rZkpZo=d_bFzn(C~BMn#5E5 z_o`5!0%N#A24;es25pmz4idP9{UcZ7e=ETvnWgf_m|Gh{70_VE2t^#lm?4Y&cV%oT ziWE>~P~5yt0;SgI%)O+f|G6}>qiQ|Cgx1=>JZ`B+x++iyGm_j}e&f;pypLpNPiLHGo(O0Avg@z8k|v`B*~ zVGg8Ac&f45dI#j8l37V3sD5+ zWuz#=1T@lPVq*GEz0O)`v-PqzotZ4Wz>AouP7#EK-PF>9WrjHn{Mu;+Ga}ov0kg0b zDM@T{A)QfiXgflZ)}T++NYf!(=zaYxqSGvlA3jV~vK&K@+|w`xM)lL?u+QG%l!21G za9@JC$X~6nJ$LJCZH3m?-C>mu@Y^*`;m>bv6@R$&$)j0LgAlk^Ho4*$2W#H~e|Iz`j0^a^HGn{`X`;)ko?tH$Qp#Bf`Y!kyRqt&I@L(;Fw8 z^z4)v5x5O8Gbfw=>tFS0gnxY#Z0X?Z#7cCVy`J>!pNEBS1Zt%Iv%ulzU;ddn!{doI zT38X>WJ@~^tif}$leBF%g0S2Q^UdI|nNp4Deq+W6AMo;U?!7HH{F(GNJ2?Fu|18X? zM@Fx!4D2U(Lc+q>TJ&e*?tiwGXo$Xu557=Uafmkr|9oHf$l(1y{sq4QT;Bh>;x5K3 z@Sl^v%Yrl$mSE%lyZ#BNFy4!3OfYqP<|8mR#lK$ke}5PL3w->940ABdzgO-Cn8&{# z<8KN6pL+XXc|C==^vSc2KVPGxAIfTJ@c}PXS?osTJKgCReosC0&&!-pmf=N2z;qN8 zum*2VNql{M4>w1o{`~nvq@S<*!_wK!KKc&n%6z(fnUm8b{AW^Io$H44`hc8XlUm1^;J;d-mKwxTyRVbR+?A zm#VW=|63kA1u=10c{!&+tus}F$9`wb7j7=!3v_hkAQl@t(}jfvfq*+o=R8%Aj+G*uEL|ncbbj-o z>zD2?Q{#;;_G7cryv-JRBIOTnOd0t=GRn1rn~LVMB8{lioynEy3Uk=3y}doBMW4^+ zWRvjrL~*$H>2}-jFkWP2q@0pcdj}e>%i$7&w5%-s^XHV&Ew{u4N*V3jyml&OMolaZ z0lgoeTqY2JIafx7MbQ z+kc*uYwP($Zgw?(LKrMkFK|9uX{q(uz=6Kn)i{!h`U-T%`V`lvzL2g`FfgDbX1}2H z_xFb&VIQA?bYT*yaGYQjrl-}7O-&-ZdwV0_41HoUIT5DHjC%$jv7=*PwC~M|CUf3B zD$#Gr((|djX}qzb6!xHe@#4kAcRy-s>YIAIC(?BI{=ci6^k&2-4pN;+a;%1oHm8d| zb}#T3Yklji+LU~E?+nRfyWyHHCX9Td`o!zmi zChD1nD3OIXqobpocI#NcSs-YEQkXcJ*zW-$Az^NQ{z~`h&LQq$57HtUc%=|I2FZ_% zio>}t2`lXuslbojOKrg;Edc@c*J~t{0_D^%U%pH}I+C5<|Bf`@;8`}hF;=KbpIcBs z&+?2w*mJ+N@$GT3+qHa+pYPJ@YK}Sw4XkNkVBm0lxO2N@|s0GiQRBG?^TlR zZ$A8{Ii65~`(O45Xwe@yE;I69F8?72IwS)5@oGPBdr{bDa@TBG(e&H5Z^>dU-t2M_ zg&qm=c{;Tw?^qgj>)pscKfOd?WMo7~M{oV}lJICuS!^XfNA~FAi2l#o8Z9d;=H1<0 zt=AD9pTk_lgVn`%We0u$ESTL{Wt!?s;A;bmM#&6_3keB<`Kciy+?}_?Lr^#lm9&Y8 z$%JDjh_CXwST1@xk$4|Ip*=~$d#?D=*09;xYpnalz+sr&P!kWr;7E?F^L4dyQGZ?C ze0$_-PjRlIw1&^^)eieyoht=Y?z~Jw%InPoEsf^Ax^TYY>Fnx4fI7{%uFenQ9}qH{ zY**Tl^7#s+@YJyro6VaiKACw#JEGM5L*&8XNlg^XK8wQQPUx6g;|&kB_s= zH;c;2$psb^puwMoOZ8mb($aFxkwcV9R8+LqWmRZ@p$0^Gsk2j76FOCvtsOVtx(qWe}>WcyQNR7f47{I+hv)?|j zy1T+;LU&|TN(-?WD`*>4YhtP}VDH%iu6uRDY`^gR;pF5b>^cmaI&OE@zQni%r&LdK zZ~P|)6F?{eLX!gf}iOxMB;aSI#xTM zAyO~Jo@Cw-jk!JXqkYAxMM6#v9Wpsh;q}_9`e2t2Y}9mNuI}*f-;kmrW&@91>2RD! z^1ceDZ|W#z<0;!RL|SMC1$EsU=NXXz$>&`x*yY>YFI;5>16nR>QCb+%{=u zs_f!}!*L!qEFK)0H=ZvLMRb`NH25QRcXvO$N{f)=uU-#xPM<&okst5L;&@7;vdY3&*SRRQJwDdZ=?U)x|39rl=t2KZmB8USlv# z*4^nk_0=wX4EApe{u_@PZwH0n%P}Miu9_pGiM7EdibsA}DK`pw*hf~0vFI01mU6kz z@Z41U@EcS+^}MGogQ2k1>os{ljJrKTgT8{CVZFK;aZ<@sTUWO{$)>H4DT)o!zGN^e zHUw#DX^Bf5kVHx&N=ZrS=;#zqJ|T|ea$XYOoo_&EYipB>i09B6+x`8+3Kp&F>B%39 z5LXb62AQ-5BG}d#*SkG<)qIZwQX?lfckmC_fa&RJ8bLv_g$1L-^Yfm9O#dJmWB=Z#>qej}-oQ3fX;UpKJuexe0X`1sz>d)7KH zKZnB&;?40oLg0#E+k+QzAHl|r$nck!b-w@cfy8sVV@I<5(2`S9XgE3Xz@m17X}(WL zh;!fJ|70f&HU@SpO?IZMqtiOfdGA*6E$=ZopMAta({=0E7}5qu+7$WHpY`>X(XMDH z(8a0A@S6uhYr1d^m(`g)a0Br62!{0@p%9|9jLgb%M|ebJB=b2RhB_)6WMXF*?KofG zHa>tgqMX^@(}Q+DU;A!WRCN0LDT(H<3@Q=t*70#75b+KV4_hPf%SiMOVk!6`$lpIc z;ll^SSFc`GU5h+Fj?Xk|@&<)C%#zPiGL{wx0$GN4{1xHSr@ZKkA67#wRcz8HZ&bqg z$;im2>s+5et)t(m_?&)Yyz2J`HX-1#i)&Et^*~iMq4(D>nf}jgT(&0^q}-NRF|n~O zORfGF7k_Z?Z;rwrU+fI%PIOtjUv1{ZyR7}S2nh`}?fRS9|D0m{C*c$4-FPt*YwL)I ztlBFR+Q#bhNuNH2=yF>v{rvbu=Z7WlWT`$b1f${=_S|j#W+*&TrO&@RU7_yK1cCyv zAUS#YpoVa?1+P`?s%xjYS{$O2Knx5FNlD2dJ>`VCIRnilF_TvDi9G}agp0d|uHOFs z4!bh!F3-h)cp>-g!u_GXzII^uM?;GN=C}3k)>Gde3Av9xSD#Lxmo>4n3P(c2ZJV4V ze)a|H_wV12n~jRKN;}v3lW2&eD_q7H-S#FG!?kt&QsEHu-8+QlOAoFE@14t%XfQpr zvx6Qm{l3b<@3ynw9uc$a=#=dBW$;XWGn8_6=G3dUzigi+6}iHWp-R8cVD+(bn653F zeyU;K6B`T?%yW_F?>~Gf;ZnFgXrYi(Rt}Gi#ZF64H?CEb-2zx|Z#7uf>d1PzBGHYHv5_J@>|sFD%|@O1l`$_Lfe)wTY&LN8(|BY&mx zEg!AQ%Ds9OEKS$e5sq8oJs~gsLYfBPbTnK_mC`4Ce8g5m8AX#D*$l+dN4FoSY4FgO z_V?pl?{9LB%^wpysCHUJg_60<^Yy%fgEII)yyk_LuBz-J;^U{@&i7@}LQBj0M!Rk+ymi|N%a`NzWrc~_=7i&AE8{xQ)h z0BLGt^Wcj@STqTTjlufC4=V)7e8Km}Tvm|=i;TE91euH%s@j@jKs?sN(0sk-K*<|| zNMvCHgTNr#w6TH!9eba%v$N^Sx0nD*zQ?1ECw!8D%TFo5Ddu%_$mD-x(2_wN*nG8J z3_<5~{c;Qha}A!j&~S?!E*~9C6nh}_!pYLLvI3u;M-Vsb=cS0#UFvU2>;d>*GQg{7 zmM_7?kN}DlM^X?c4kOko7 z&1(ybtjv#u%{rCnP`TZP5(s0O$J~8Wd9O&|g#uI#%wgh~IktF5F*i3C5JTt(O=Wfd zN+4C5I6C5lN~-45mNT97w}gkI5n+UGpA8Hsc=`C`s23=OepYRPG;!`pIS((ptmNgt z+oE>FTMaz*;3|1-ViI`1a1TLCTU$j{oO|WV9jYz8!|V@95y`8Ur#>Y2F9t5nG$7U3niD_T|p)_3rto$PMxXbR( zJsjpMx!ImN7 z6DD^5JoaeyiH6N})fZt;DmWws^{h^dlGtww?7SeTwaw>~rhv4I5fo%qAQfOZn^Ka59fzH}c6 zk)-uL+tppEZtxsBkfBZL$0s7ng|VsW^x!;l_omvoyF}ZWDh(B!+y3}XDF-v6Ro_38WRyZE~b=*I80< zkPa$76DOy#`h)h%;O;L&=O!DF^)k%K-g{9W-d>uYMz86Co zP0l-?S)V_j(?l4I4O*rSMqR_r+#1e8qI&KX`1LDIrQbH*X|WOlaojMKl1~D_BQdlGgAecxC~k>sDlwaZW#N zjHod7#YyuFDUaY%#crq70A!NfQ)2Tq*aRtH8y46|zkk1;GOn=SQuDpqdIE6M3pKS5 zuybsPh#UnO0+_O=Nc~B1{g$4fprHAm-kU7a{v-~LDw;A$S~LuAUxkbt$D#lsk6n$G zD;`yxcWO9CfIoM3cb5Sxpdq4|hJi805-tn8S0YR0E5OfHoKlSand}DED%E8Q4*fgN zxa0Ex*yHKN^}f5@IC%35FOmKy0!A3NW>RJnTgR2V9X<(3IDlTOV|A_-He;5QVlD)Z z`&65t?5wJ^o2$K9RwWtC)Sf4%q>Kp+gvN`taf311qoPdg?PDy&IC}QyTe1S~??8Mw zJUi>QI^KZSOu!#X-|sPgKrN7yR$JIgtLkt8C&?O}EOX^c! zNeh|af-KL%=eDVW^+-tL^nNiw44G))>sYM|q5X8ZQPZH}2r^o$Q-i1ZTy2f~9=@6; zv3~`+qvJlRImev&W@1&#);(DFM4F5?D)HLR!2T#hNru_Sij0Dycu)UV3cu`Xw<0{qHFzFmyKW4E zqE@meF5Sc-y~WsbdydR~d%P`uwk9Dd2~Am984|z0L#m{@21MS z(hMXuXmNa2@V3N2r-cq+brckb`|}Z5Kti-uh~23)7=L?TEQyc@B6*sCKjl?B2zUS< zJ%*Mx6X?BeE)piA7qv?D5g+%&llc{EdjU`CP0Q)s(%6!6$gm(w=ityB1(U2Z^usrR=9E?&C2 zRe*zI@@jdtQhD|r!LDcLT-oeyY;wy&URI?orcjm z!sEey+=483bo||dlaFhpHtmP{-BVBrZ3(zSxG=G>}+z^l@D;U zfuU1-zQ123M{TW4+hKzLZQA>!r0|w|(dg-9Qn#(qhs4ChwmTIyHQJ#9faeY|V4tcL z0k|_54R^hTnEr)^+yS<%tgQW9C7D?Tspr95ThNdghileiv){2D0odWCxw;i@cIMe; zKyj4rSnF}-d0Shfn^h7eik7Z5X-slH8y|K3Ion^XhDd2)m_B+&xW)+!xNm}#ad8n%Ty=G^NI4-;tAcWFy2i6?a*cq1z!xt~rBM6gJ zMVja$3*D-owSEyWeGVGOg*7|$bSx#HY9-}#rhyOgw=>f0T=vC_rN3*hx*U~XzU)ru z2rn*7tiN2J?E(e86u`mRbo9LJ=2lMeQ<%2v_A|8z_jf*7)6W1Fh9~fS;{Y}fW2D)e z8BS0wKR(mhG#(~|7uTw)s`t13V*k?ukn%XIRAfEs6A}o>7^GfN_qsZ42Ne=7;ydVk zf4*a-Ymu13@l$$wti`Kf(}m&x5$cVyzC)cFf42x_C1}VzFH} z{@vo0X6%7Na-N(O-X6#kV*Fw&}QK^aJu}PIT0iUcGh9me?(~B=STkK zva-hOT-cLOY9P5aU*9#zlfiOJXmitW3{pMzW^#Z}Ma0E*-`!r)YRM3Dpaxb}@_;v1 zH8<VgfI{a1QV!z>_ z!fi_#&LKBnuG^L9Rq1W~PHn#Se~_&dq~0O z*befsjc;RJonXFVY8*hGt@FRI%@-+yMg6YCnRq%uj|5I?Z(tI`xxFqbVdr5Q0Re%f zt+4`~+9lVM{dqJHSzov*@PO)nI7e0)9Xr&y!M%8{Ox;w<=ur^hq1umDd+-Pd5cP%i z9(HmseMV>)m(Edf$_zemA73GYA8*WodJSesi>nm7L!Z3qUUb z7yytQ-k_K$DH*N?wX-Xe_f1H6_-Yb7+kE+=JFPFt!9mAD zt+*UpTDPC%jYAyfoH{RA73a@RYhi?jui32k8>v8%LKbRWm5tY|sbcGhLGSza7dkv# zmioGs9THLa9WZh?ryH4i2UA)^JYb`e*dHFGtEVscUq1rOOKGRY_IOe7d_zD-=gW_9 zd<5EhX(B$TPn6SIL1z(^@5ur-1o?`YTDuj1D!;JVdX@}oAZF$VaJmLu-O(x*9F*ML z+$WpAe@x%5udi>83%1 zL@VWdIDD`P2w$Z#b=@XGkEiRuQgNYL?=_6izV}U&%LX!lGcsLlzJ*P#?xzb2xU2}= z-JT;p-O&Xkd7PS6(3Mv=)<7~BA!w3$o$ZnhrU?d*6(|GF!sIqA7N#2+1^l|bdT(~5 z!d&+2SK0AM!k*==<#(z%vgRG#v7Ch=*)`l&gOZt|mj_+Iv;@wF#Pl!);{h%GFe8Rs zgxsv6R&v(N-X8JE6Dy$X@bY=PJpS{e!10vvq0bE|yf6Y=dj#rvR(l^*R8*acHxHX{ zJ-BxFDCpSPaW)3iJK!VkucKDz#CR4cwA~@0nQBW;>j=Cb;iK1HKA*4ab=w3hTd2*^ zQuqd7C)TAe_z8Tg0rApuYE*i9(JpqA(I_1M(bHu*k@z1zg(vuQu;!IYpR52WRoIrI zZ7n?Vf@-1MdL$|N_~#QS@OWd$ba3~#kcdBkMWia6itB(zD>uFMZanIy05oTkyo0BE zZ$F#yEtVgwMWRZ3Ii5LGGV3TFG;s_vjCc8!S!5iQaP$&?MA&QkZ0ywl3s+n3*_*FX zHpd@Lp?mTK4FTZ}v}VJ4Rgm?Cg?a2IOU4%-gUvcTKbFei!Br&ZXFigw%zoV2L(juQ zr2AX9P=AV`RIe%s7iiTt4Fp(DdvG?>|ci- zOU~b&*so2)?v=o(oPmt%c@8iTs0wzk-1#9IetwcN9I}|gLZ*_%a(pMv!(=bNRw&#y zDCu!4C^lb|DSPBid?Y^Ap4kTat^1r_l9uK~kuSie*wGJ|<@)}0i4kAbq5|MsG-`#?eM`J14FG?YG6p!P?glR&{3m-WwY4zT!i=uh zxtTwQ0w1xngC;735k*LSb?a$AU5j7VbVd$B9h`j!9Wztlega;bo}lRfK{vOz6|SI< z-r9J19Q_L>4*JTxi|>%Gk9L1^^Vp7~0}NfdzYbTI*l4o)EJ3aMPEDa=aa8Y;l1N0q za8tC{&*I4T+^lr3b~lB(tXATN{{`L&DEJ`BEO9`O@eBq5d?C#{270UTC>M@PwQ{nh z4h1?j8yZ-+n}UoIVI*C;`!1*Q&4ewO5}Z3H6|rRiO&JcCZXAF__GYV>WBFge^#`Xr z{H>rDEx8kW;2WeVF#{QSme;nPN|3j50o>W=%ecn1q>LxzJ%5DJIqwJ zwZ01mNeLIkUTn~K@mku622JjznW|#YEJuVu~cV3Z57P1yrR18aJgfo&}DVokpSrF@QAq>{knAv-Dr~fD=dyJ z?H3x0#w{Ei94bKZ=w)?tk+ebsw12z^|4JrDQIIG{t+1T?XlQ8>03p}jF^}}^8$bTT zhbWNscrDk}$yPAfEc4#?v>+Eu%#X8x3cwceUv*C|CaOU05b4qhBK8mIBZMuJ?NpNvZ)qg_+XQcaoh&$l|E|~hkLX)XA6AT#He_Eo%%{(0ExH}h6 zL&NO?erd1(8tK35{{SKA|3|9SLSi8Lo0vz=){E{T!N=c1>ezOKz`rlDR9ZXc9|6d< zIhXeeNR3E6`T6G>-y+3Q@OJ-UK1jSg0u-j#$sqzD98sd{-C6TuHQ88LFv0`G&>@|Z zwJE@Sz^?nQy%EICBoRT&BMi{|l5`2JgM&D%+GVBXXX<;^j(fHs-zlW=kSV6}74NTa zrq9h$-n_lynVX+~{~-+vs6C!ux-bJ$3f5pF&Ya01y|(6kELK}LFB!egb~qRk2@eY_ zAaX?%A{sWk!FSWyewO(5N>FpN{=UKG(e>Fr0_1yoS_3|=mYgy+IyxGH_uBvd{cE&& zRIJS|D=&}H*wlD7li)t)JP~TOPHaO6Mk!cO)IOb6}tu0?=v!RphEQ? z#4R$ihvRR&$)5Y4paT^H*_=}pT;0)N$r}_L1VNVT>%G5zN;oPhx$`UL&;6ciN752HDb{PDR^fjB z)+56f5|-oZ;D}9&Hu%znk#d^QC@3nLTH1z9f+}OH`r`)zmy=%n=iV34tbvDCA7At3 znefG>$cvhN5f+Qvsz?RKV4ymIT5D?-!YrD+#U(fp=vZ2WYn+fER4mF6ZM|w_D1ub9 zaOBiy`Kqe8_RS@M_vwBxe|Mv9o&y6=mBQ)Q2|Q4~iTIqsK0Am-`=B~;49S;PsI*8R zjXMp09i22z1zcoNn2{ilTOkO%6GAUvMnVu88kOpm8^svYx zo6u4*4h~$<6$b4&S;JSa;6S3!iaB9@4d|N@ZES4H%ge>bEPwTBTC39~0P!Uy;NUsA zd8Lr_^>y_0K9|L+G1Jl0Cwxx9NRUIeqoA0cnXxq#6%oN!&dHz?7RChHRqN5*m$9Vv zpHfq!lQ*pamn*(NSPU;urUKnvv6+1&|=-(72SJ}={Wcq(N1`t_2H1`z|n1N*&Qw~V8gDM{hwhn%l- zt>FDM#Z=zlgap+u)rM5SjpY>N!~vWF#0Pi_W-RP}kCgN;Um^h?qBC9^eRaCi;;f$` z65a8mRsbCt)p~O&&|9cE9N0eSD$B_$0A-#f#Q~7%b@*FC;(EzXR-Q3XhFm z{*3iM@;dpT^d^yk{)^vfDJel8+UIByQ^0kdqpBSgZIfNs)Cw}^R3g!A zEtaS9aD9qPI-vD0RyXkhZkJ^ISTsMCW2Nl-ck6k2=11G~pFb~-Pnc^P8tD18{Vd6R ze0+Rc{>W;2WvMVN?R#J*u^UMPO~uT2;3-N4DN)YJe8uQ0#{lzoe9;#twjuAj8vhnyxUUb9njB-m)4v-G!rK+gEt+36=Ke zF+4GE+c*aEEC17zXT8u^x7~bl!jpD+tXx~a5F$;d>XQaG_eC6e>{J*I>tsIY)(%{3 zN<4P#ImkYiz z7q`O_wexQ@g}e2u?L&2cY_!gFzgRtUb#--FFB1dmg~wHU6ri^={I!i#%;m#ilQq@F zm08DCm2J(Q^Y6Gv?6U}v(%|65=IR&NH4vDw8`nn!aHPq;dGmc{wbP6qi&Ow_b-|k= zpImad{a~>sx~1nQSlPQ9L6EL^+?-qgJ}h>#bv0c!HJxq=D4RJ#f%b&mTE~mVUQuRm zgAA1>>P`Sehqg7I+v8*h%IO#ssT=P;urFfXrllS3O&J%J?wk~T6!6>5-M*J;>G{O# z?s)A5R9D50W$Fbu-Elq?QbvANIt`cyQf2X!p@zbS&i4xN08A*syPTmU4RETm{hLrF*&+Yyelyxf6iTf+|^@%^<|*rW%(>M2|* zt`QnXB^U#i2@TTG)y;CJkWD6~pcfUTy1VnQ^*m?4xxFc0ik7jSfVtOIkJP(U0LFxd zm+fKm`2jsMGd=}>Nr&>QfXPb|K6Q0st=R%C&&x|1C_WNJqgG9l}#U&9An0i~YppX#ckgzZsc0Q$o zQzBw=@+d`$Nm}s6phU8st$qa11DurlxzQOjnx0#7`Y!;^W_E>Kc@R-mT^ zYK-z9KUh89X{lcS**6q+*%*A}wl#xoX_=3Xg(ZD5Rsd%ikP(qU_X4>;zzE}=c%Z1? zwZv26j>RF|p^UEO_Dff|vMJTPXX``=i&6mn8~=UB4=Wciksx9=BS2}V&awe70&Q<; zHtR_LDoi6tLx0v=&!9%XHU=S;XybaAn1N)`s&%V>Xtw3Yj~^ALw|dBEDBv&)lrH2RRuzj)K(KOj*oFi;vJX_1bILdS%iOoy zOqrf(_%-Jh6i5Ng+1V-Wj$m*0_jyDDV7nV#g158lfH=&0rbG}684=_bI)*!OiheKik9qsLiAQ5x$IJg2}G+CyPRFQ!1eYTD5%FW%`*-g{BNF7fl z+W9v#Y5DrGm^D^A&ZFmntVtXQkY1%13IL!omRgJ;PP9**i+<+Nk9sV|u6g=rWX-3o zRlKmCjhmYgd;XKS9Cau2!~Z0_$BUQ2JT`8z=-2-0Xt>wWtCaCP?(P>9q27WoX*206Aqx&k;?BN zt)@mmE+k;G-#9eB5D+T)u0M%=rFVI8d2cUtePd|(G$BXcVJy1VZHo@@9Tk6iGEFQj zP(ab2M%VHuiIJU;_(>dfNAAx9v*|;8TaqYkcH{P}U^F~ZyszGVyn=5oJS$z?ItO%J zHL^+oNNGd5cG=s0`26rx#!H7Zh0iYETS2BdZt9zn3_!Ryjb@;^?Ir3v@@tRSf4&aM z#l^+BVJ%7`IJ{8A5u_4y9E_mE#D~Pb73erPL-9@T-#^i5dh-~>aOcxLi$*>-ouV>} z+3G!wOef=~7gzwpB?~!tS1jN{a2Z}Ni6%`sj2c39;NOu=& zNHCjKa92KYOFsye97wr+;C<_)2|GYpb12q&Dk~l+ z2FD>>PH}A2X+X6$`78B3$QadoGs_>9H;S-}8@<<_;ZRM-|FF7~Jl_`?&b1jc+kx|a zRxU1pLL#WNpTJ-ujVp-mXrT@Qx-OvN;ItcjVw?F6uybB#3b(R|epgt6-eB<^W^uSJ ze`z%x0Ni_hzSkAIGqtq89>!(f4Lkk%2?VQZch>JeejN3&mMwj(JDv#p{g{!#WUTx2 z@a*q+ts))F=&6~4v<3?3gF0W0KY&^zrew{=H~FJ(>FgcMgNHo1`mF0qkub@u*%$`XtV^lS z^=^AwB^mF4QV=vgjPlRYMc)#@3!LxY+mnp_aw@uCfEM|LZHtcn>{0`Wf@#fue+oxn zw92;p;}M1TMeDV`@GCqPtI#sx1kkj5*^)+iyN{9#HqPNS-dE;Qu1s^Q#Vn&$IH z1gNLl;ba7%Kk`3y-%NWZ{eXp; z9JqY#SdpRw@E*3qi~u-j3lx*ZjBMQbz*aGhHgVS z45FhWSV#aVm(8-|vq%CI!*HqO=7^KE;ox^8k(0d*WT@6}wqRfuKe`KW27%qzLT;Pr zL^ms`85vsZ?mO}f1V!xR(YA}tNGi^4pEL6HDV}bxdv@SrU_I5k&o2SCtR#Q_uJhA!IZ2{Pe!ipDhI`$!- z*^W6P2v=4o_KSO`Mk*ZiOGT!H+y?IF09~WmFh6n12z>>8uh=#g$c+`<)7;GLeg5i3 zEc>USCUD5DD`*?u!;K2Vra;W|&A{cT9p=DQL?}@!TkzB1Eu(q}^L%rEC-VCBYjFkw z)6N}wUeQS~MsjkpI5>OF$yq+PH!gi?ghTZgHaVQ9e|~eWHY@tt+&p++#QW3RSzrfM ziiSvDAo^^HnS5m_WFDBFCN0HiFUjtSYe=O~!3&xy%6V&@Srr@GZSo-kMh%XS;%mNJ zTB3o(fd)!Gy`mSK>Hz6LLfT7!2t(#e_u%X-e@ND6<6jt=*7DyU>nYFm^*5VJmA1@1 zY}Wbpb7YU?C%~p{J+loaa-A44K06MT4paM~GiMAJkuW|GJ}tz4YcmmnQ#leEuNi># z;*lhY&Axj5nn6WnNo%pvOXm16J8JI9&Qw|1=}JYM%w1@Xl+>Pk66pRRMM`HMi)Q&M z0Dfs{Z|woDr>CYsM3C`>h{zlQgoGxBTIiVdKP>>YXkvPLDF&C28&h2~kmP;_7+VUQ zl5Fp2hl|_NXY*Md4it5#fB#PMdMeCgi<}@A0*X*TfWS4xU7tsI7-U|)9U%61V!3j+ zACzUE;S8M`MEdz<*fuQigW@*Mi9teTUpU_sh$UFYX8>N zg&{7e6>04F6qQKjlwt#IQNXegx8K!C7to;}9)uqE4)nJ6j^vm+EvmTsobGZ<7nnb} zzO49|ni^bKcymzPp7|x^6AuMFz9u!C`c4#wP6=OH3}M;X?Wj@f*NR3k2sbE5u}GWk z8D?P142k_+6T&g}#((_l!p!=jktF)tKZ%u5DJ6!mC!Usx3C~WeEF?Ys5fF+aY}_IB zjsMbr``5|TR5gD}Q+I3$q~@+DC}#=rrLnHA&B6xDn@k?ItS2A;RxvX(sGT{gG4bFY zjaV+VN`M5`=|JtIkS?V7(CF%FK^8=1c<%9j4~gs9!nPOdMGumbNnbabxGazA05CY3 z{3U5FT7d=+z{|QmKdiuon5y`*igfR|^u4H6n!^A|1^ZGhua;1jrDmIzp&F1WqQ3nXG&jhl zUOQyE)`Kda?%9uL@E#~A-<;i>BC8!{O)ny*qEE|5YliR)n~yQ6g^QSrV9Wh8mLBS( z8wb4EN$^wa*%%BTf>o35I|L9;6w+c@8Fm~ zM^^xc$yu86t6d2d9T4MHm^g}`JWTU6}B{zNR!5yI{ z_qWXF*Q5CaQ;DLDaed`w4znJhQ{qz8KgC+et%3jg`*&*LnGB!AJtV=dbA&ZJYdfm~ z^@I1?EMI$cR70g^{gnoVaP8P&&&zT^q$A_DG9Ug*3uLTL7Yi-8Vl6#z2&9xQWZpfX z3xo8i&u;(r{_5AfZ75j`md>UAM>_izs6WM};zNYo|0>_{oGviQ>oTc5pM0;8DOvWD7OMd_0jq77CZ`yXmEr8j<4OfRdX5z;0Fm57{|7d`RJY-JX`?4t+_i( z``MS1&9NgTlxp{e6hSz7Lx82DY z`ep3f<6OX0QyhDgCT6kS|hj5dc&&@WU$2K22+QyFf z9fQdSo#`vphD1D44b`bY9M$bxjn;RBUxK1VUVDF{Rlz{fO?Q)!tsiR|O=xTpO9{zW zoT*ftC2G#x`TJqra46N2;UImZ&S|!Lb#r?qszv0`B&k}N+MNP2>H8#H`2o+f=3QGG zDJf`4m*9otKI%L&@4+K>JOn zC<3=%o#gc=Vd+gOC#uwBWg)yoWlYp~((CTwF_Ow(@bznJ>tt$N>RMVFDc1u~OLA$m z=j7+3j*M6V{*Uu-wJKYf!|9fJ8QB@$6vLNd_O-RO-d_%l8L9gVmV3{<@xQn+GKJ_ild zkn`o=$BN~Hq#Mn#xfL_1l3Bz0Dql-VDt}$Skp)sno1jC7ro|#=<`;{i`0i9lAdbHH zfJcp1XMh8=5%2N#zUOqvhI9b+rMtVkfR{!xg!+Aku)%V)1Rk*quFYoq&))Wf~Jnpy@VE0|3tU z_gNh(#>Vl{BzL2g?tecq3vE!lUh9Z!%GXpT!c6b4_c)Oyz~R9LEviS*;mHZIhQ$~6 zmrC-I;B?!dO}CbzVJx?5fxD7AOQL}9CJkgFeIb{FofVX@&@)IX`kYeb5mFILWUXi^ zO0AIDKytUAvf@jdQ(93zM%3TG)xgn+bj_KVt=@x{opg`QB?R;!&`LoI30shZ#N4Kx z!S6M+wO2bcd-M%kzMT&b522j;PE1S)72r~cB0|o)n)5b;9ygU;g5Rlb%M>kjo0ei-%k??l;Bk0J{1+Hb4LUZV!r$s zE{GR_!C;45eQRupY(X?j(vZgW-pNav8u3$staMnG>yW7^&3jKg^0>^NZ+Z?^+YY$b*HCNuG`i zaTppHaBA@mfD;AAZd!q`;^Ho+a9q>HG9P^f?h{uD5o2H9w80EfZmVBGK#=nKyQJ@F z7fbr%MefnDiklqVSK}a_g_OxZO zFEXrm!$-s2J^0Sh4ys#3h=`cT)h^5dHdku zt4^8XfV_#L2af&8M@5@jIK;-Bxbg7tfYTbfV|(>=4eK1@N=kf#GP349XAT1Y7khsl zRaF~)4Wk=DKqRF_KtM%BN?rx>Kn{#cS-}}Aq z80U<0&cELn-yS|=_#k_)wb#1W6?4vO-cEmru>3yOjgDd$Har1{D-psF9UYy+d^x4e z{kzk%%Xp%q?&x`OI4+6n{)6@=gTtdE{myYm?TR%}{m*pQV{Yyo_#u((?alLd?>+!R zd9FK+)6iV%!VX`aO6c|7@Ns9+Qj0OKorNS48tcnHe&}0%uzRBXh8z@;3OYJ@j``Fi zBG(|8-hJ?(DMB}=AyLe`XJ~@)2ccQIoo_WYsN1m}9QPU^|SmSnioH zBJ_H1O;lSXUN77lzsjyR@GjvAG{m{QI#QO;aD~Q&6;yTozW*VUt@->kFyf}mpPv*f zks^lJa;Hbk_wWDSTKY|nOT&!|tK;rHHZeewPtP!kiK+Z+I}+ufXgiEI{*uoF55SnJj30e*RSa{PxXE9BS&L`{SD_ zy$`B()|~+&-`rjG^P_Xaim93MKRo2CI{y6vm*A>*VBpn1+Zrk9xN zytm~2K9lU%FX>3(cWjLEasAZo%Q0i1VE8uud;cr^yyB>pN)EEClWDy`U}6w z*I|$(<%Q4ipNKbFZq~WMz)ozyr(PKp^aQl_a?PiguQC`*1+1)ZH+_@WAIR!bP*X@e zdeb{LR@sIUd_QbSMoG@VBuq=a#OwCP-rBmc-?$IhvRyl*_2B9VdQv1WP7pm?@gjoF zBn^gx^&yW$&)k7k;_!E1sKC6#1d1F65fQ?zEh`XUHy&Og-JBLDnu|f!KI)ycLr%KM zWd$@F$V76$V@+ptdeAiJ=XCipK~v>MbtpinbF33Mh2T3D{P8d7%)b-vY*V_8Ulgz-VVSM(QQ#`j*eXdT4 zxWV6=GfN{x2NUkKX|10NZ1-JPABeiUqi_6h#a~LT@(x1R6hTIP5RfKFjk_m4(mO3Ja> zQ(9uOkNnmP`ei2ms)}*K2jb$5o9#tiGwJm1kByD*btZ_Wn}m{6JgB0v@6h%5smL5$ zfs|#1bB3=mT;$ArpM`~|`adoBsLg}&1ChAuJVagF*i~3TUN@?nZ;;@VY;S+~VPxd-?Hkv)@VLHl<_QA>J1?c z3H9Pu%PT8Ddxd=Zgck`%U!BF5?{YI^vshes;;2qtn4-=>8Phn{DrNC&v!UV1pM`}V zH8pgw#3pqno&0vFUMMS*Z}03t!XN~mqO81v+U4ACeq0r<=Fgvx)s63gn8M}kw4$Up z0Th3dk^;Zme(RgQyGl>5>s^`v0_@{sfo}xUDYuyGdw=6m%+EvYL%SXT3J1fgofrKT zOvBInM;>!y@}c;!Ei-sI1`vcKQNE+28dbXu))|?Z_1Va?tNPy9dp6%HV)Ni1NjN>k z({hV2ZrtGni>)M`HKjZB%SP}BtWJw@DPz)@95mc zz(g-8hTG*D){;v%hb4-W)N8GnVAu! zo9FDpZ%YUVDrcBmjgbwI6!>>BsQG-7q5kiG&_9^?^Y4KFv~>@y@c%DEuPC@E za3H52(aR<`1f9s#qoRZ-$iCgdz0@i3bmsTpHsOiyDif=%u)NW!5b~Uq-tp7EZq2;l zm=R`{2t)WG#Lmg}H;$+N=CW`K68&N?U#45}aFT##{BR7DsA0TnPcsW7yBilL1n?jp zj2GeV6B14gs#F}E<~x$YL?k8)3ro)NwyBz?=7G&OnciQd?go7aG#Civ#fmJHa{D&l zY$`@V-`Uzib#V=Wc%FI<^xNq%Hf<}cLoFQ-7)0p2ZYCBM7EZKnACgQ&4`ZV1Vif(f)VX9}LSkfn9w%4|B5%^qzwoH57`(arhgK3Yvcl`LsLhPF&m(Ozw_>Ip@Vq<# zK8-iW=IL4HTw)!PWFJ~~t>SWkZzqlRnClmFb34Z+q7Q(vfa$vPGyh0#^$p~2$>%=$YF@ zf$8n-T*2?Ow?B6@M-*eZ)o@wpti6beuiIv7K~q|@H3g+bQ#}A7duH*AD2G$~TBQAu zOEMCEusGNRtMw)GgR&EItttl$NY8w>+qdq>M#O|M@@55Hl_ydf{aOWVEfZ-mMn>ZfIN@m^Q6Zh9uOy}F#&U(S$`Vnlo*Cyk`n!6 z1vu!_V^wqDWdpA@kbKBV#Xo^`pwR~tTvq_~UR8q;nH4Q52<_V+tY0!A(H8{Fg7UvS zt4KZb&B)91Rf_gm&N6xS{`RKjL3d266yUhb%rv)~n-%abX=!OqudVgvjnhFi{2Bfn zrqX8CXE2C}h?3V{SXq%kTzScY^r`k1KHl3gvHkh!$qx?*bZ_3I5(l(Tug(U!omGv- zWv8$l{Q8cXQqT?E4YE;EQ9=tQyQb*DL1UtDZU5^pJoF@@*uA=3iz#za$+e!IxqA_9 zU!tNs;lx000l!<@y8RB<%L57`;BO(JdAUFKsBdho*jBqohW9!pJsHRq*OQ7y2)fNe zaQL6UI>lVY;jC70R8@Js2PdLdex!GG9UnWre)~ERA_`$h2mtH6iy|3H_t8h{?R^E> z<+`q}sl`UDzaRKh)YUT}Y6F=F8DwU4wRe5*=WCyzZ5@{-7-6uz9-QGa*50eqARL@e z>Uw@o2-zO5&$ zEdn@zOVGgkT-`7(SOu$sE$GC5J{w|VxPL8x>93s8N{27O( zzp6H+EFfI4IA5_v)Mc^PdU<;rRvxUuR~?4QesqiX{Nj@YeS5{Fm^FxZR9!dg@_y2-R8?}k&8)&4<30|xFeKfvkSsU;KlNP7WO zM(V(L52ZV&Wm7zFAx6A;AVt@EDr`TgT?UmXqOL~wz@Tegn+l2%)TCSM-7&vqhP8m! zh)amcqplMWzjq(GWsM0q{w5RJUhJjlTUlPthg^$px^fS?KurttR`s*a8{Vm@shzgG zD7T60u^~Ycpocs?Xbj!!q@<+rmKRmO0>d>f$48WqN+mvgxF&MEffKwkQYO9N{ldfq zuk`ekD^L4HpVLHJ8x4`jZoZ0b1jMhoY0oos$$D{iz!bN3*j0HU2?-fU;o#c`lT!xA z=$3VCkQLyrAl^wAn#G2>OciDIfVD9c!?I0^$}3F}!=0{q;^+^h6N#u7+<+LZhMIA9 zwI~P&S=g*!M@+GfV(k#ZW<5~D#pQ&A8CfpT7K(qQ3IDPA#If zk%j#m-v;x7=NIPSY-j4uT{E(>dfVq#SG`*4E^r#K33^A&Q(pyKoY_%9J^fhu+x-_% zi$jlhXP#XxqkO39Y{S0C9Rw~b#&5^sZC@ zG$bIa33+*WU263)^K@kUqu(_&;R>DpOom#EBSTnL)P7)pb<#(;(%$%d(4PK2^r{Cm zgG?ZFTG{)83T`kAy}$&k0SzR|)Ip_(ne4rkpUhWL`5&5F9WK0y2;3G`NwF}{-QqXqb1VeFdJKHG$l#mb zz55dyxoj}N>Cw2uEJ%~!R(Pqo`QIR_kr9=UkdT6=DzxLb(BC5>!Trhe4-ezr=GCi- zV%8>@!N3aE8^9Ea6&2SNg!Qs{E-p=l=Q+ub!LfmU*AD3aP6l&l`itHAmR7btGAjNc z)V;yKjgvC+s_J;O7JvDSlhfduoRlOZ9J@E?fy2q+V(bQ3-XT0@m?U9#DBt7F?g$sU zg#te+E$s>7>lE0~p+^#juD-t~qF#Q3y=J#?p24!o-|~h~KK-jqGI%OkOBDeDz48jM%!efa^2VOqWIMRZ`^+9ORBnDX{p=)n1Arl?s>x+%%#*&h5)UHop!VrFYJQu3@ z!?$FSloUMGOdw8!!S2J|Z($AqOmNta+ElNAR0mKgUJlX#%adU%$aYUY^eTg47vpxn z^j$InhuL501Sa32qSSWIRh5;&3Zm}!@8{VOVR>DFj8XVgt|tTtZe#IlXi3Hlawh{| zwl-vy$)>Y4;HPM81OZ?Tt}eZ<(op|RQFcn;m@{$~$DQRRg#9qUg_{YDY;dANn@6}_ z4%c3&2GNMpQL>-AiV}3&d*b* z6%mIE(Yt`MdY-}fl6BY0_&hKP)6J^ZC=&YBHzhj~P$+xhu0Pt-E9$as5m0zvcAz*$Sx?wQQVeO0$Xz<-z$>09grDv}1 z35Bn|g+(ZIvheU2oPG?@SgEqvVoY3qlSt<@RD7T*?kWsmCIZ1E8N`thXF@9+KV_j6 z3b_#&-_i9BvI*i0)l7=kw->(bG5XXQMokwR#Ne z(Y23vI5Z(*gtdt_0QY6J*excLz)3nk&s&pb_eZT{s5Dn|YxV_FZ+LSidI(*~Kzc{F z$@FfU?tnkmtyokAOivSc2rbhoLzsoq#tQ?}t9Wp%XXOXe$#{=pQYci0QPfcmM`5a* zuNQ;sBB5dNqpu2$j=sKnV#^+{u^%+}q4r{fHx|r(p>BqhjJsa8BiF$#Mr?W5Ehg*n zg9%`2G<<7hWK@^&GI?vUx3yR#8QgEszzr-2bbN%;@NwW=Qt4hq0!&`|GRHe9Z}aaFgR>y zzKMQZeG?ZQN%-7W?;02yeEt$oDC&OkXiVYdOV5eQ>+V9mVY0hM*9=Av)+vu5-PX+uZ9WE|rK2Ry>>wMLm=C)vG~t)|G>%aAi0kQ4cfPhkpA; z3M0lC2-b>pUS&lpq9@==(C~2x}Fc!x5YPeO<+i9q-^`rN=v6M?*#f;hhlcp9Si_f_z%GagKu+ zutc`M6+RXCkTYu9zGhhL#fyN}j;ez=6@XuK%wloCL~yEuuBIj8?J0>InkM!1=_Lf?9oa{VvAG#{hlIX&RGQXwzIktE#zV9s z8(QGBsJJt(07yK@F&9Pk5Wd+?Lru-bIF7T*?nLxGH8YBf(_2E>cn(J=IB3H?fe0Q{ ze%*J$ps}mjJbh^^>$c?FmWg+U{B!aZcAVaYC_8h@KSmC6>v73Sg>u3@@bIW>v1@y+ z(I?;}Y%?T+Y6k9<#OV^NHx6&SHQ;m_{NA&(1}~MBFGGJ8#kDtOKj3+`pOul(jTH<} zUZOo!8eGTrsNnj7!^1L)^7ejc__o^@ zeMiG^!_sir%v3a*_~k|u+CECsX6W=XA5^`Cg|8kDG^ROrV(c}(d;B)venrj~*^#pJB4#TCC2_%oMY;GyFPN@2%ODJTpBF!XP4aUBM)*{myIte{NxV zYT6~lt zB8gRQUHg&oEDe>rx3?EkNV|Q%{mpYxez0hd_Cx2xNJ_3)l^2Q#;vT3E1NQp z1A)o+s7g!Id>%+i&Le_bjFK<|WE(_0UXd)SiAwiN(x_h*7MI+oU)G}feW#ihzh~0* z9y?3l=~(w1D5wH|f5MCFt29U$O=bqyX@OdHowCGV(tXkUSfB4mNZbU%WTErv+&Kw;G4NcS!HyVLMkx|wX|EL*7e9eM!oVQ!CL5ayX(1F0Ly5k*RQ`q0ySbA++k4Ah z3eL_akFv!_1o`TqLVlk5>cVx@!*%ud3AccyY;g^dNab=y57gclj-o5&hiym#cGM0gX5-8YYFUha*i%i(Q zcf#Dmd~akFIcf4zmY-jcrfU5QlLeTEia9zOhEeZ*PE2c@937K`hQs?lM>)?`4}5yg zC!}>zK+8dY1eZBcx7N*4^)kL6Ax#Ka=`^*p)U^&#UfJ4$Dp=eX-)v}afO`2}Xzk?tEz=~Kx5LA(hD9YM0I>PgpCpMqQlL$k zPo0WUq)$jw_I0XEBYH~9U;Ex{4VZ+Gd@*khKyxI`Vtjlqw~UKWw1(0)gBL6ZcsK&W zc2iIj@7+5}{2tCAS$fT}7QJ-23$_BR99Xq?j8m;0O^+ zH<_mvcu$3f3d+jVpqEqq_R+>cFk2o*Y)S}#A$s{E{lHTL=zmm6X0?EGj?*hCq~By! z*Wh6AQTP4dmGiNRQ|WELe|N*n#Ii6cNvn@(_icqd4X{Jt3b%!RPJ3S|7Q8!PgD5t$ z`2%clE&E5rBmHHja!Efy*4NdcBQ+2={v8UWI_Zr8J9J;`n$h zVM$jPI|A`Je9-QsAAkT1#J4+BKZ;l!#Kgq>MtjxW&Vx^qvNb-lxgHOj`pWUhi;QUj zpa7j125oCPFKJ+NwEh*iiY_iR&eXuD*h`<>0nvum;fm1pH zM!LH_c2|bRVr%)q^#-&9Fi13QVvv-E*X_Sa^D6+L7zp7W-~YVs9~fW&9Gvk>hPG!~ z=eCk^%*zP2At_Y@BgLNoy|z>mtc{0yckkrlc=Ue{iL-`^1!JIlHYH{78!xlAna~F7 zg9p_N6JvpV&h&Oa4|YMhK!R^~s&vTS%LLty zHq7kX%(ofXr1xw2(d_TleCwBZScMuzV&0rf*Ns8RW79r0lCQ}J<7m6ldm=h|Gh zwatP!y^B2oRh5;7GHYgXzc4B*J4>*HPCLjd$LYBg631}WT9xkGU`Dp0GL%umNGvfU z>)Kr_E877qE4PUvsqAZ7J7%Z*V+@G8HN#fBvHYhzd#+U#70y%cuCOD8FQF+uT^qrv zm9M`H5n9+a(GFGuMGNhh5oj<4_CGM%x?Gi!ftxLIg3rUlgT_X&$oro>Y2>cH^~mB_ zM=<~^i#-<{tc-Rj?Oj)CZ*aJ_$jF{R{XR9T+Mktm|Az3k-@JwG*J&UhjJ7);?_FIQ zWUV#2UtoiR+sXM@8QX4;S9cDGDAxI3Z5_=3cy&xcWemnX`v4m@q_aezaFw8xMZcd; z1VkydJ$}4=f)hWll4jq(Js#&vNJEI=qovNI-cJq(z7X8WR$ylb0KCEPfC2YXjoKdd z!-u_^?TQ+&yg*FJC@1fc!Md!&2b2-)&()Z(->AuYlotpERcv{%xCU_0eqb4r^h3v4 zE%GKVIHI%XobQ{)tthB|{S+E1r7wmd`7!jp69t2j?YFWC6Q; zxE!c__r1!evj318@#d5c>**=KJw{I^dxoM@EXe>-(VwUM`1&Yj_PBg?9dyOF<=rfps#!{-r49KuIKnsiLETPf^%Dx4zFB*iA3O)6l z{!9!LE00yw{DI#=ON{_N>JmD566p7ahK2@uLn44SBtc-K=(m?P^^8-Z!wX1W7Yyu}H^Z6+$ zIr-m1o42_W3ymJm5{b3tcF+L4Y}+XQE&UcgF%V>x-%#3#`io z=!YNH>3Hl7P?J2#R5Ed5E*>h|BF#5Ed8Ad*f5`DLllE6&Of(gVXG)3$5C%;%;y6|U z+hk9ki0gyf`lnCNAtwJQE+#wA`r*)Vbac`P@*71b5uvKT=lFC&Sa09H{rSwo#gbkm z$?#(B?JoCi`USNvOffz_`Qgog0JFE>Y&k6|%$+(Mr{KViA zs29=5!kaD;97@$8wo%11$;n4}U%sS6kJ%t-QG4aWG;I~`NQsPYUDCon_>-Arnf zIUG-LJ@(VlRf;D`={ASjJCu)!vCzYb&^P!C*@7r(-r?Mbat3rZGl&qi2Q5WiwH|1Z z6!;Y-6{lcpsp`LumEM4Y zoS%U>2ecS4p@fmCga`VjsP%=7Q2j={%>WI$5qPnOTgG5eF;YYA* zd%@}Y+A*fL8-|KvxL+V{4A&C9dGki2x&XGKX^;wOYVbK&)OI`EB;j*ArGl|al55uo z4Jv{qyfDPXU?A2D)VB4v*Mf}!i#uG%M$VzdJ9edH@X?q0#jAV?8y{?L-E z4iGEcUH{O)#)0erghzLN_=eOwn|-yt?*MtkjV!G5-8n8RtC-Doul1(qwUCr)C(m`= z-`}dYX0OT^xSGPWFadflP`w0egV_Nqt8BJRCET!|Ur_ozv$r=D2(GM|qusG{Myxl- zX2c=Jf$J|}lYvzPbIQKufd^b0&|dMBmnU9-#cQ%lHO}KMhH?!j{<0N-<%%h_6s~~0 zzc>7Hxr$OkJ9EkGIWbn;#l5iSAftf^@qS+J#Jo}pF-&jg;)%5{5iwVR&LqIQ49Ob| z2TeEGZAwZ?p2^pSL@!_eAF6obud*f+?j@L7e5s{{RS-o5!dtAP@rB~g5~T9 zcK~9)OqSDgadAv&u+i!mng9aOb4>%+yZjJ-6Qnt42Dl`QM@U$BX1H@kfHw6%t{AET zJ^_KfpAqXIKO!UhBmUr#Uj&Nx2JM*YuT0=L zfb{=h{oy7utPx5IXrDB~Xq;dDpOT^Uu@8FWl$7FkSR`z1dEk=vppcc5^dHS1-TNh- zUtH+rQ_c@d5}f|^-oC~D@+@UXlt=Nn<_Rx53rn^fYZs!EH3Z|vGJ&}dS|%ZXtlxKl zUa{!t(j{`>BG2n*jvVp zF^K!^+gLAB0I3&p+7pTEzDXQ!Eg|7+0GdVEkMNG&@}B?-@}PbQXIp!!x{09ZCnO93 z<83VzD%4zLp({b$(XqVK7;-Nf!iB^Qi7b-eS_S^uKLcfO%@DLXNioCnqUZj(nr`)* zBs1uWkzP;`cyVYrr63=n*9LSn@lH74#-;No)RUK{UsJ~}>TWDp^Q=>(?v-+w9k;^N|fT&<=O3=yvJ_a9AGW#-I-7D?EC zihzd3H0Ru$Kub11%O}(Dn&C1*WK*PnhV`e{57FkjDJfLsfB&NI7+C*fV-tKtCg{rZ zhMGU&85n@cHZ<#3Sojchk8pNOH#vxbrJ&I={*qA*pCU8Ds_U~H@4PMv5(2dHzrcE#=btcj^7{>k))eg_<>Z1F$pJ%+eBCJS$XcbMN&-b$MR&hK%Uf&kQG5MC-r+ zIFY&$fvq&e9Q@h;aU$!HO&=oq@v5z>t2GG@1dGkZ)wRIfbg_j}L%mRFh6SvJae(jX~6FYuFaBr~-wk%7Y7Bs2D!R#>UcFv_)my z)hZt^e29xa1W8m{45P=+_6v3ff#aM(Q+W6tX6Zvsz4&xp_iSTU0zyOrQBzJYHg?fp zeRtZMidy6nvikTwq@$o-H^z!1h*&U)k4`N-S$fv;U~MOlmc(a^T#%`fk~$Z&{*&yy zj?|&A8>x2Yg)EU|tsyCieZJ*jC?9Jz*NPe?m0BAwH(DJ-A)8mmO3jpNnUnc3y`4VG2sR&!SYhtzq|a! z6YhU{T3Sou5g3PV4jTsFZfOmn@dKYg0PsM4uLxU=QH_M7&83)-DY6=rnRDSSXfzfq(89048msu-=DvU zC>|h&whg`0OP*Fu(8ogu&_1HdgU}RrnHq4zH`&>dnxp@Ak+mtR{F_9%e6tg%S01rg z%6NA|c&qRPH{)_MfM#gj9Lx&R79C7iWvbI36_Q8q!u zHD7N=xNNRdkO%oRULb&AWk?KY#{o*+`pJ5+1p(8n?5&2Kt|U-kqOUSYza;-hc!KcQ zqu~XM6qH&Xls9O~GK%XR^v2md9esVI7j6rppvfxMkq3v3@C5gk5>sOhq_d;rT)iKi zvYMk?XqRvO+pgtsGGQICle;IU^xr>kBkrj@BH}ILvf&rZ;03s4=5|= z<}nFsegZ;IQeB-IM4rC*)Oet&fI(I!xPZWzkwPNl@l1S~+&Yb}Ak55IJL3Xj0KU&Q z?_m7M8pvuX=m9~AXWV_RRqI9zEhrXDkDwj0|Cca9Gw^#q85F-sc{PNO%1G)0z=sO< z2l52m6Y8@kjSUdYuaVAviDPXBDdSvogiZ?xE627v!Eg~C>`_+gIt*_JOcMk51N<(b6CpHH&=(5y6}|g#(AkMw zGgKq>FctukGMLW6mx~h$01L}Sf@z7k5G;gDkbn0`Us^eU?6R9J@N4Ma0fsd+cC>(V z3a1EYJwGo63Fi6N;o3)mrK z?fPXzJJ1*^o7h>Oz>feCl`_ zIlp&>lnH@=wi0O6_XU$c;s27BMtDenW2PwnqQw2thXJ45_ctBC+O(cvD_Za#H&@0v_+Wq%rmTC%kU}9VOXM6(=Q$bn% z3OtYPk^C<Xb$mU3luB64tqROW?CSf+%3IQ^ zH?a}Wbtqj#7*~tv8(`V3je7#kh(;a(ZE8%vBR@EGB4w)kst+(f1kgHw)N(mcXEQg0m4Sc{9BghdWiHW$WgMk_f=I@!6I_VVX2u?J?@jgO<{rYYUZn+ z6y{(yWvAc%W22Kl9l758rUeyV|N0}DpvaGKIEe%^{AqX!Iuz2Rzl{=RjT^l%+{^$m z1)fhs;^UBtGpMc(F4i#O_|c+f&`W33^Wh*&|&;H&O&I0%_Xde0OU zAsTG%?OjH!P84Y_lxnceWlDFu9Cp{MEGXX(%avpPcMH!T!@bk9%9J) z09s6z&93r8tJN|GI?M+bi{jN7@d2>mtOuZ*x0t~Lu#*r5kp|Y!)T{pJJRYDif_l1` z>NpiP$^qqj^y?;QN3G`{sniOvKsb7jpY87 zF?Ks?a;Ycv#a8{vMsiLLSwfCh2sEXeTl-?cS|J|~`IJ;tW_>7i8x|5=v#cFqP{Cnw zMk;^lBp7x}Ys^MgeFT9&0CSJokWZbCZDlj9T>0O^_!v;_1kkm^Hfz@5^?=b_|NlMy z7E&;0uCx;K{|}hMpkeYdJsFhh(ul{v*hOQt{}&KmA&I6T7{^fwn#cBd@d4keR<>!5 zs2jCi*@Du^YHgI~bZ)CP-~0?4Yyt@AU3WS6S4X^IH`A%RW4DqfI|c>_fSn;k^BG{z z`Ak;2=TFrZXh*raghRotskkD%P~Pn1)fStZ=*qh40`k4B-&8nb1b-0mUmuCQM+3j$W%WHLhdL)<#+S%TQiQ`u2DM?7EpFaO^?Llsip1wKEI^zR(3t~nn zxt31lgTuHp1&j9$a~RA&AwovMRcfpCizu=6ZEP@d#AaneZzeP2Suoc!^NTs5_j`|7 zmN9Yb&=BRy;FOTq4Rm|6D2vv+!K?{C{`BX2hKTf-@87>qZ?%Rq3d1hmlOm8M=445l zUSaQzrQ&~bxn|i zJWPo<=S?^}RZ#z1vGA@y^j1j!^CJE48lfNNF9GP$zW-i7o6ykQf3MfG|6iw4{=Grw z2AX*I?{x`2W0> zv3{Ad(A25owuHp%TmPnvCa~_W@V)=!ukkzAXmRPz|Mju|Zs`9V?|;;R4JP{9S468} z3Ef!tciX2pJV##pqr`19R(c|+Y0%LCTf_U@)N5%8G9R^ZQm!twGH{P1P`Nm01x(EwR(_?=c9}l*CtO`?Bi`~h-j5& zT;JY@R%RmWzhN^v-qc!FI;!==qp@L(Sh4lNXm=a|&4!jIAD55U@n#}Row3IZKUXSe z@ATipdViXYg{1v0^)&8^(?8~DV5pZ|+PYjaOrjaG zm5rP+*bi=Ma;IOyEy$3Hfv{!s!r))*S+>0t$2z_7`ikHSE;3aX;uvNr^<1lDE=EM7 zQ0_%S^+||DcFlq4xya}wlU-~zGt(94+wE9)KZa8*zMgpU0w){wO$RSxe@M(i)943l z>f;fGMT3pc#FCgk_|Kl$#jZK9tM9~4(HFiM34cEl&N|{IOiv`r_(BTcht7bMo&AH8 zBa)UJxfc? zY#k4*?!DGH)LCfQ3tlO1$5*Nt6AH=#ZC$GHN=hU2*lD;4@?BY7b{|-n^*qs zUD}C2G-L7+@w_36T#8yTv*-n8UR`LTz7OGpsSdne*%5 z)_Rk$;rAB@+I%{JX|JU=xLB7a4@_+L`cBB75qove&-HW!zOY@76)G37-Qw@2>b024 z8nl?q2{}2fh*^+)*C4RgC0K$I$v9!Vf%M@t!;R^swNPCV?4nmlx?%pxQxWBsBtv;4 zoc)~)jfPkFd2yDcs7vM(RxEym2e&>hIRf$1A-Ql(<9s0VxTD;#;v?_Z*C^?C9lr<0 zbQ9773A;9iN=2-VYT|3&fAHIs{EAofzTzTj3oeX#?V$T|@eS6C<$l7MU=7{I2nsTz z5!JN2W7JoOG@gXhsrS)Q*&d9Fh}ODNAf2bO*Hmc)S=v?(d24^CDUAP3BjYbwrs)$v zACW5sc|$X0OjEqLlT9>BVM9k4U>)w-7YPQlI&gz4X)<#n&yDOO3eq>3RAy4N2gl5A)MRN=6*kL*rF4~CGAC7?d;bp zEvqIcCX%{@s$MW(82gz!{Y~`Z)P7{HeoYkd%(vq+-N`8ytr7lGjQrYAL#5qfAJJNG zn`U%UTRZ(qkLTg?WDJ`h78F_tTH>!*;F?RW@2J2O zaXqqdw(X@yt$ZU|?QP6nNp53{{+cTqE1EY}I$3IyQziC7_pDVU?yz;OVs^t>nS_*2 z+rIa1@bC3u-$Jd*_zIh^&o##OcUvTBw<^uEpY2P|Fa3!M4cEqNA17&Qx!cnSRsaafoCoxPn=DzfYQ3BTJ zucQQ#_|m8ZUX}ep(R*xDlQ~5jEE@`@i&3F8B{PZgqJk{fVzoa={4m#knM#0jW;HgQ zFMV}mG%v2?OZVS6ZB`A`RQf?)2>v(g5rQ}oVJUgHVY&}zi@QD7$41*0n>%EW`@JiZ zLaU2Yr58k%@&<-FKX-i26Sn#eA1E#M9#NN=j6(2t7GFkQ6VZ|}wjBL!OwET14 zv`6jCL`xb{x7B%Tw0crIf5XsMjx(3x_iXu<@D%zgwVvCjoUBWJ?8*}E?Cph18C&W- zQyXrmYRXO@Kgx`vt}crWhQ5Ru#VK{AB;MLb${Q}O(fi{Znt!Jfa@pC8rY2X$qALk3 z>9jQ|2`omd)YpT3?|l`(mlb^bB%F{XaQ80UUDJzkN|eHGE=yL@3P;d0|FEAMQ<+Qo z!qUfGIthcS#W*4btzG)x*n|sRFV3cY@N7%hJw%TyBo{_)52@rM-XIWEM!R(w2n022 zY4|Tuk>^6(i{+s-$tYn$alf$gISTIeU(U`N72~RZ39|Y1?zfU3jj6_u(Je&%aui96 zD;Qio$h@a_A7x8Z^g`Pydz?ku$;GVNTvI^h$UKISer_=5TErt11x38hYVXTACeMZw zXIG7)+5=>H$L>ouS$SeP;nGqa^uoVfx#U>r;%q&B!mE6oToU-f;M310x-qz^qe|rN zZ&~`j>Wq(PAZb+}NDDYUQ5paHefm(kw{z5k(2O9^Aan{c%inS)vu(czw49U4OfB{V zMh0_rBe&Pt#2|8F1|x6)JJDWkwt9aNcq5&px-2{;cOW1=FV6_CjlS@Yoy4F@bRP=I zACR`4w^M?{S6XAc{)N{llRwhIp)dY8asGR$FFu>I--2*qg`BRa$TdAJ2elfv(yHgr zt+r+>C=@$#ugJdW?ypb#tg>d_!(_U=dp;SD8MrMctUJnmc~p^Jv%QmsM)5{@r6G%S z^HTb)+ zQ`oLbOp(j2rX9W+f{i+BN9fKZRebfS_s`U zGWo)_{=qk;$RK1RMzGo{VkHpjoSsQxSfn8#iWk@j51GgRu6K+6H;C$w1TNcoPxY_F z;mwHbik;*qz6iP7KTFN8J*XJ_W{CBLq?CK@#aRWRxcS3h7jayYopMuk+Y_aW+#_Fi zM@#3+`o4>nrpX28R=*GL{MC1q>p2*nA_XS_y}P_ZZk0)vh|u&m z(br2k>gCZieJAs!yxD?eRbeT$RrL2J1>JL`>|%CT-+Z%O5ae-MpObX-PMZ(iTXbfQ zFw$7z$PwOSICF9Qn^>FoI*#Ms3zod-G+ks)?|Mbz+lUIA#>~`c?d!(1Z=_L8G68hi z{66D_! z<0ZfF_VxkQP}V`)uGOKbiYNjCgoo!7^i9DYXuqcFx0F0qRa`DDsy)b4hWn8aos*4@l zP1VNdyXL`p0(o}@#_zwDbh<&H?5;hOxYSI3?EWtN7e@+HtMhL6!ks4V{Z4xmo0U&l z-%wO(cMTa#cJ70e+VQC6UKdszl3GIKRnd6uj-QeiO-7@T4KP$_zSFe*Gva`viy|a6cVcH0Re>W2{ zd?VJ=!ULX{Z>yP`i3j->A7B2Q_bwygljHN06q)C7u7+Q3*g9i*uquw%q(j+D=@+ zB}i&c!}QAyBYfit3|-{lmn(R}k7zmBUW~|zSFU&;Z+htda=Ul3c}(3ik}h&o$0odE zHRn-k%K-(Etx=TJW%HQpr)eU2yQc1Q)7VPiuEs?x&%O$2OOve4T;su5%OSYq>hdsn zZ%4du0!y#^{YaHG8%k5oPu#9j`%#Q6{PERqIx{A9rlGoPjuH$=y=I86i>Z_x0EVi zFBjjh@$K(EDywfo2!Y^uh6~6%;^8on9BYp)vu&&u%j@S6!sSu~=L{-`ka%`S{P8SL z-D>GvcS+1fs-D8e(u3<0m9N!%o1{s3tY#%TB1Ob?D-I1Dh2m{^;Tzq|GqF&Eic$(` zE^84-1&1h;RPxw4UTL#gptZLtcZVHFN6YlRbp~Ht*H%f}=@evVU4v(3aTThw!UwR3 zL+_tD8E6X&TfpV&6-37gYtt0H5Wd^1*%T}}^3G%QZy;a1CuFKYC zZTE?iAi;%LQs^@TOgDWkWL5zfzSeh=fM4)XXgFq`Rko$ z-g)PD28ME->*QSL+OxZ7_p`gIpP8jKKuts`%Zl@-qux%mGD`fq_MAA{5^_Ln>^JAC z7?r+<*$R+>5UY@)pziJC@hOEX7Y@mgmg#B45@qK5HX0D3`1O@q6!*!0>_04iSCRwZi)_txh+ zUktXz$P^pZ*xju={Qm5t55~3L`Nx~{U7%_*$V+*X-!NNv3?2*y2M}>mH<=EU5Zad&4EjxP zz#Y8GXR+@T)1MjC!O^taf+z&(?nepdC@ixkJ&YaaFK`B(DI~-HB;L(Ifgu&5s6SFD z#mTV6g!-V=tH+zdR8aOk%6ntEo$*1FeZAt?(p8tExHA+T{Ax?{xa4kb+&dMcE`Pez z7=MZotprsV^SSSPG9-xPH4Cf&wLQ9dT(g0_pKB zvqvY3EYY^8=>y18zGdNNa{f5M3)af?-&pir$Z?kqU_&34gNzb0l!e&d5CHEv4$^qQpupz>%gGq29Oj+hmFKCFDT*#MHEy;;b{V=JV>7C-wPG4NfbHi|v8ljbW2T*Yo&>6~GF>F#|pmj1mPQB!UQ8sB=p@J5(f z6*9hj_Gys**{27(wQ#*UdI2{WRv(-WppGe5F1!Vmj(C|x^g%v8M>k1u_XR~j)x5N; zN!<%^C|p9X9bT&y^fgvYoq8vuz^nC(vGt!shaHO4Uhd3_yXs|tZ?;-)?Hk+F)LG0v z?7k7f3h9-NfYnYj1Va2-V@(C}DkV8Eh(XwDCIHFj8vQX=tlc0!b9uusr!rG{# zhJQpw`H0hjZj`0pzdy-$>~bIrj@_L76{>kILJEx6rhy5tPwmYIzV5nO;e;zd)ouU) z(3c@*X7dLY*JM4yv!g_qTfYopEwrRYTdSm5yrfts8m(cpY%(1lyx@IU{i^0?l?l+2 z_IF7_;l5yJmbD8du0j?p@4X5&qfpdez36TtfkNA&tNF(T)Dp3R1*oFpuD4Du4qA_` zUdy<}$QT*DcmQk-!oS`<;n+7ep5HpqvoPR6O!Fjl-;HeJ2r4itn5ZRdIK0h{E@7Zh zd}GDP3K{ryVD{j##-m?Vn4FmNZ(n!pEqfRO>6Xuw94gb4_zl+y$l{CKU}avJxH^%} zH)7Qf=Hdri6*Eb?-zMGvWJIzShx5N3fAtRqqrMbfP87V~uIAYrW|$dRqgsBW{QJM( ziB-+eJO&eM{Szg=?N6Nkc1s*6Vtz1Lk~Mz#Aj0xO+to9);T$~BUG?vD_TAM@FE|}* zLkCjx@1q`Z!rhI-5^nzjvuOQ;zc%&joXB8hyIs7j9l9u>yPeAClE1L-$%j{i4_`Sn zOkK9HexZ|S)nQlDUHjtxhrbcR7a5s;=G)jiU8GPhdD@mLb?D4k%_R2B?Uoq?tJT0* za$i^v=t~qTPao^HF`Z0=^QC3{YNV%$8B2GyjUn{g0QY9V3(>S4>DL_j_br|FX%V!n zgyG@uMr2;ect)x0f3%)?8`{6Gw`z?BGoKQ@AsP z^Z~(imX%uIgcx(7!aOe@%-LkJ8!6$x@YT^jS=;-4hO=MI1YS&hzQSqdp&VV!BAZDk zjei31PST9?X&>hQ+>4j|8{nLzDZTO}F4x=Mwxk1f%$Fr3uUF>3dtu&_5wblrm|{3k zA438rh$R{0JV<69({EZh#3(rebsPo%%wa}+`gKR_9j8B|*#1v#y^nX>{;1Z9xZf)^ z@H@w)QlQcOiruzS7k-gAPr%BB%(#!l<$hecNJODNUa*m7Yl3STcstQwm@65wv7s{^gUQDl=taE+ub(eJ3A+8-F`9 z^T}}>Vp(PoM{Ms4Pkhn8wjo)uPE?B`ss>p5D^JUmAFy4aSI-C2xjXLj^Jz?VS`lvW zuRIR}uD;}!&uT!DMn>FSle7^w7qRW1i8sG4O!(}4Ds8|^HusbX^>m{)S%K}hgJq#1 zLNn%L*$4-`hUa!?eg#WQQhhEvwfWe@`m;6Yyk zR##(aTLt{Hm6@-uTT?3M-F>z%R~T4QN|Nd?`eZ#Q1!0HtX$oCF;=TS4IW)f8&XrLy zIsy4X?fBtI+SBgeu(ESAH0-OKqu=kd**2~^T{ebT8&o2x;y0VVKu43c@s)9akQV5e zyS%vNBBv$^9|glm#MK0|LsQ7pazWWU8}DsgKNfKw>vE`&rd0N&?Db~}N2Jo(gxdS4 z(h}-tyJQ}_rBBOL{S5Vc#D#)8ZI(CHJ5?KmT*OR#GMU8Arim@do9EGdeJqf+iUu_B zDP#y0q)?o&I7W==k74^uu(Vmx{O9_*U$gI7#ZyL70DIML7OA)`bN%r{xW90riiAfV1ZeeN!#4*H&;e7VNV3m4h=zQP1Zb8gUJhfth zW-nSNwb_Z7YFx#cbr&^Drx};~wd_pa{1aF{1CP0XG1CKv)rjYIt`sPz>5I{5oV^ln z+p=(-+H8o`uL}~KTg@LzToIL;;R(vnn;Py%gf%hY;s2a$v$&$qD3tdNp2``;(0M8E z=ZP)5PH-;VwpplIsLdhAWr4?P?gSdu2=%S@2BN2)^6@zPz~-jHPeg}%G3`qDXdHEF z-?zkoOZ`9cE71lQ^f0fw+~T?EC42&s)uKZWv#0HJdbGa%k`*KYgJ12Ug2KVApPLdi zy+Yo1ML7+aQE_O!bG7vxT&Sq##X#HggqzBuF3)|~#~_2=-}X+aIJX50 z9d3EKW`H3I*uU8Ikr1b}Qll$#L{s8Z>Sin}yS7RlkM@w>gVyRML?H1AjAlRkd*nKw+bJ9NwB!ojGvh~)Sy*GkJuK7(!ARB>l9qeJdn*y!tJS)Gq8 zko6MlrdoV#T`#FE=<|d=^Gfy95KC%{pKeCE6t_XfxopKH>uN}t!f3NrNemw+a&DE0 zO*Z(k%H)!ty_&BUBDmynzxzff`^sL1tw^p;K?7IjlkI-At$YuKYJlm!y3gQ{Z(^V$kFVOV1GzR zq$VO1_OfJ$G_r5a-R-#iQ?Yvc?fZS+ZbDE%+_G#|O-qJ+RewwfT|=`DHoXt&=#pV3 zZ>(RzgAS5*>9-Xp_Re|vw*5Ri-q82F+U7Rng*C88Q z?S0Cm~^MI3%mJWYN>eWK7Qj0qg`1 z?sSlxBMSe0&u@0PTil^lizY<(*E{P%&4N}GCyeY@YQjp;=}R|v8)-iZn_kZyDJ)gHCK~28qZ>=KOio@&%5v1X|F<#D$~A&WM}L? zEAaD`n;JzJRz!}9c7oXhuiaTIH52DM$RMy*nZeD*d|cdL7wx@Gka4t20iyPqJ`M+1Rx0TeBD*gQlJ8+De>lT zyv#tBtDN^c-!>H81Q?qdb4eR~;&^awJY55hd7;*{Q747n&V;rOYk5M|fq7-~!VA|5 zs-nAGvbB9BNznc6Q7W}ZVJ?S%xNtkZI;cYVB~2gc^u7;kQ=BPpBl-flwEs4CSff_8 zBLOc3rr^@>``8_g_>{w;GJ9_JT&sDUU@PuWdWI%~??hCYH=B#}2)@^q2zm|;g%zvB z)w&c|@Vr;`bSGLdO8LD}+Gm3S3v42Rh>trT$eKu(JY*8Y$&kvU;l($K z-4G&JsquDIS@<5gOfY zr0uSKRiJ-pkn7(&Ef(O5gvC0W=tY44>ty_kNJPsiz-;&)JA1WW+d4QZhE-OvywOig*Q*s>Ss!uta*o9Yw zLj<~^2gJH1CqQp1P_yIpPj|q8d{V0&4AsPWk{!08)SM<%$3Whqr0AIjt31awg`2kH zIR~!-8#TodY)rfXOOn5(f_)AKavXn0M~8K;`7~F^wkS+XJ`j>Rv{h4Awm7n{lPjh! zY?dp9O}nG(=UxmR)rhYUTa7Dh7)irv{N&Y7cRo9_K0*Hx-=3r2ZrXjzO%Bpjkhd7m zV$U@HW*Md$6TCbERuI_B6d2gzI8$?Xch7$(9Q|$?V5*G>>Sr?@DJSG;#>ljsA4oA-e@-bP({BJ9lMt)t1};Y^)n#c(0Cih6obVf zp_>dVdzaUi8?~{oR-*N2NCX74?|}2l$KyhD7hn4?nsY%3e`K@N!}>FKdVjt9xp5@l zE^~x6aH@k14r7PEZ4&>{dPoE6S3E~d{OxA;$0)- zM!qb~o>jwp;|_2SeDGsY7?;<}8%$F-8WH@+?0sw44sVo^5%G@jQPO-zND19LAJqM4 zr1k645qdRhrjWfi+N=jl0fDI_Bz=$7U?5(_N}Ye z3fN$Ux=BYhs{L+GgC)|3kWjUciG6+1u!@z#A!iIFWMQbp4b`Wst`I91HVCBZHf6fPkNCm2ncasub zaMPS{&e<3%=5HT|c8bxR0`xe$cieCBx>OhSq;a zTupk8|D^$E>`zP11N;Ll4O%&>S!vSCxS*AGIai#6W_m+-QtJVAYh~PW#ir}7|C)Jf z58ZP?n1FW9^Emx=y27SBYw{-pXq|FgnxEoFZotX-Gj27SVO}|HA1OpGHCLggTPADE zWg&eTu_LbJkKT557A|h3tH$wnS-I(@e6SmVp6sdSs{`LVW64$JcM3g_W`#kckDj?t z`}w{6d8Zupk+tb)uN*FU;f<||KXj)##qiI7X1{XqV@HwP=`_6?thfC7SMuL=Uua7# zmv~s97=SX-3?428a1$=vV*JM@(_o|&q*=|N7Jb(!Ot{d0XYaZohIwv_KyrISQjDi! zmGX6(Z=N!w*Akw5pnFV)sRLKgoG=mQ9d+GpE@kcxasn{0P3SLzoJ(zuV!-v1LH6hj z_lzUmqqPEQ{kqX)QrpmMIehU|F!`GdEBe;5>|u7jnrq6D>gc}rVD`A#&r~snp5ExS zc+rbZX!6gFLCm@>HpE~~n&nguwQ2jaPr_-O;>b^a^#47S^oBrf7^`g@_G!Z+k>=xU zz%@VnG{y_NvrPVIZ}TjYu6YV4*=-Ve<#WIP@|VGK^LifSi23yQDRIIDY>#cHV**u|K&Hlv(0EOcpd+(@M!ju{M z%9Z_W)hX=L*=!n^26Y=XNW>2?>2SIp>}F&=v0I}0xI-}WanL|a9Cbx^{Dtu+sat#- z-D+wP77}kF)cc=@z=dW7U_N%xG%U+{psir1@C_*S$bt2A3=O=tmw}a6T&zFVgHRg8YRa1{eD#i(RKmOEH@r z$}i3`$KXbHZ!!%oHP_2;ru|02Xfvbq#$8r=&E(1|sGWjb3%7X+n{M(+@&EYbKjkM9 z{3Ja>mdlts835<)y z!?xailoDl0+?b1ZNaA9Z>?>oa-=C*af!*qfmSr}sx3330%dH}4h{4r0)nZZKPh3`V zqKA1dvCZzDjVil=e_0(0)$&jM(k?#%^YLa zBEA%x9QShv39`!ev4(`CmOPR2d^MT@331io?a$2UOCLiP+_<~THbb*z^l54??T0de z9a#QaK0MQ}JEPoQ2#$)ZOGCx*Gw>!X13WCS(c(3FhC^+Z`n~bP-W+wk$ME{m3gEz& zsaJO=II(M2+ZZ3toIAMHMmpm2h1kU#*rn+V6NI(pO1~o}FGtAMdA8p;6Ge9Suk^ha z$)()V790O;8hjcPRC6ix#^EV_cjj}IK4)I)(}s>eIBJC`D*X zxWvBsmEQj&`Liaw%2@IUELCvP zHHHTgT8&@nhDZtFY3@V95^I*&MB(FhVd(47i2`{j##O}?$tGf3or99XKu5(^3+10A zaxlelcKX%T_pS^HZokURpA9g1u*)vmm&f$1GlV8xyq(@Zthnw-ch@!c=-}7c5HF4B zwcz^4G38sucWoS>HCpg>k)`bI5<|n>JR=8k#UZ5Qo7zDptSW5BWB1ny(5XxjY~B5@ zOPZQXPm8CVDJTdhZkgpDMj|pzw$E%DkR=!sW6Ct;_1C{q)w6O-xhih9(lmi@6U{Me zs78?*BB@WAE@Q48_H}&?@*`lYT8iL)rQ1Qk58|0NTl)I%-~H>p;qV>i$}Zdc&YA|iBmf@uUPe0vr@iLZoD&5L?L@yrizN_%6k-j}me+&?@+ z0SsjnUlK&@pE}u=O8)1com|hc8|e=vGoVwF7$-%DmtsxnGTBTqv+1VDM4OGVxT2c* z_@dgLq4uliJbS3g)B*|2O#*iF=grJpWbE#hfYr9e$Bv_ebEdp51j&s*6Ws41%cWWi zqB+~KeQ9ergV@=O+H`54|7(`+?lc@)vp-9Gz$NfOXZ+jcw>mD-_Hi8#SOLvw45+uA9m8a-InLkw|BQ$1xM22kO^BG zxg_vZ)Pmq#M-k_N{-n&PgL#E(?8VZ(cdC(Ce6zHH{+rE@WJ|VdjCV=8+N&?7+m7fc z*#Wi<6B;svwXtu9Z)dY9Lx}t01Osgh@sShtH&Ujp@8zT*H?@yPjh>be6`#dgW>VM7 zMs4T4ogB9bTce?R^U|;KE}dU|2pfTv6Hv9KrF#{=J6X&YC8+3$Uq9Mb$Y-$R(0DFf z^Z0lQoBcgQx1JYI7q%(G`TLe(^G_T%YWHLx$>#cN(wusrVE{^K&$V-jGX zGtxW@_)3ZMWjaOoy32vWsTx;o@N9&R$LY+hiBAS*3dZXQFD2D`_P8 zz2_(crfshL_|danI6#)Rr;<_>Go>FXDb-~x0a{ww($vSzX}~RRk@Js8u?9TYAO*TI z=anretyrY*Dwe)!iJUJ84}p%nBj${9{z${PEw3_Rk1aH8+#KiYR$Zy_LM0eXQ$e=u zfTU}&l7$TaHB)j>jK#@Gz~9fGMMDpq;=+8ft;Q&KRRKE+W` zaB(1QQQte)XmvgynXinDGofTAjzSOKV`n9FqU#&?htGzrRH?of!11^bl=*`4cMQbSwFfGEclBQ* z^DoNl0Gz&g5d=|maa0T!>#Lq3*>yisz$+Vjt@=^TST?MmId9*eki^AwYb@Ex%T$a^ z_P*Qnr$TQ+mvtDNzaX#R2Ju%|c>Ai0CY+z+Z>tRHDJ`wE$6vIcHhUIm?^ z@_;7eQMdzY{w$1N1$fprp*x$5sm`PEnF1;jtfVm+SYOK8pc*Eav}~ybY>@>j`+lqr zV%y8-b9?}+ICt>VDxU3-crRpSP}Q}J2De`(010*e*uF3hgjhK@q9}bkd%3a>I-?X) z2jj?fhwGNOBTP%~zo%V*fr!Zmbuc-u5??10rcZEaIjx0$8Se8qn#~Z!r8ZOt>>35` zk2>ZaJrW!(PZDBfHCx-!yixSPVI^5zfMgk_WiRKWb$470D90Vl!gX*^F^ziR-DNjm zTpP|Asv+Fr@a(a|0zrdV%nTPV$U*gcKnSudq38gl0Cj?KUY#jvgqRd*}l zKRL27l_{#rm0wxOL4WU0>gylbJm%FYhrvUtL=0&XI^Wa6L-!p*!mL`J*U?su>#+|3 z_U;hiJuH!wvFGw3)YmSSG%i_e07S41++)K*AZORsZ3eG><)7U+pDfOKRiedJ#7dMwvN|{Rm2PzIa`aIeU<56&(yJ35kLCv@GaPNFu zyl0O@Qs}{l@5}f?2ilTmK`zaLAyFd@MY^#3r(veXEM*6}3!-&93JNApcV>D4S9UYg zF0@DJ-jbar<-n#OMKUMs30YaX_MF|if$BnB>Q#=bAV+flMG7B!G0xv{{=*UTe##wiH&BTw>I-4KBOE2 z&I#aiF{MqV74UUqNK@dAkXFr4!Mm+)Z@8?6HqpWikby;+m8N| zd~4E8IWnQ?QB|v8&h}Yf*Jlbp(53|v-T6o%-Vc4>&V8~8Gg%)2-s_Q+zhd0+fW9C)#lFn6BGn4WyHW6G=JfqMKU`s@* zGk}$VMj7LHg4h5pLh@wwK?|o=I>BOt_GRW|Nl)5CmjCuwh~WG${HWuE22LAO^hv}8 zXt&z{VBoabNc_)W{}n~4qAsCW+V!6* zI#`3%w}lv(2IjSFe0HZ@_WJj2QFd1HcdPnyYR|OM$qz3incdp00u^WsBU!wb!}-OB z&r=?S%1*DZPj8))3ghKTH-AKiJV5)FS{%Rpi39*ham((1$%wkv>iU0)fZCvq8)WWORpgpyx0&H>|CcRS3e?fLH5w!DbTpLxYffpS_4Y&l z?rKua8wJH2xu&I;u7R^m?~Q|toSCk9EiO8=pI=(88bY)wuAo__26bp zE)N)%3<=GoWD#K;&PQepDf!EnDp>0vZoO{tTv%B7TOx=q?GIBGE2z=L-~N|HTK>tq z+j?0{)cNivlGlC4bJPW&`Tj`!xjU+7T=m4%X?V$e|PHr1fTGljUPOEb#8O5 z&c7{u?-fxX4Ri`()&hP0n7mEcTb@GBmlUb{gYZ+(6r#B3|CAn( z$yWkRF0_a$f6%Hiz=s|y{O{XykrX@wW4W%!5Kj-|w+Z7r!)jL^iRHnVPH(?`9zyNG zJ7vNr^7Q3oc02V2y^W~}AMt+$Pp(4DnZBd?Ddx1q+Y1tYr#Dd3$zG5UO@-2GsD1Hb zkv{!jL?jy}i-lhApW1WxkyWSnS_UjXXmu=lCAE?rWqm4^TK^7Mhg)BG`xbRAmj!vs z62oV*k^hxh{|!n9!~Ku61JSSlXQ8gt#4J28`F{Ua$Z+syIY`EH)`vQh*4+ta`V&@6 zVP^0*>gMND;hUr4g`p;mPV!U5DW6SrVU8vf6aPx0teIPX5?Ey|<}@WATWd0(zBx@Cee_ahu(f!{qi*bP3Vm*;2e zG1!VFx{quUeQ7QNq;2(EK|cp6p)@c|USpDJmdZy4#}NU<;F154h$ZIV&Ge5be-xuo z%aQ@*t*KvKOwz^$)7w<6JI5H=+h@H-sjSBDu#*sd>;9syA=;- zS1&91_Ce{LtAnT+%nr7uWTXitVM)De7BVZMCwqkDvmCoe zd;gx7`rOVsp<^g)&q|E!WVAz=+Df)Ip15E;`J2I(M7LJx*!Q6Zare*3(#e+hPd^d0 z9R4Sz-PH(s$6cmzzH)k|4Qa({*)bv^k@PRApK^_fP-s0KPH++-{5!~nb#T}O^YTB}yJ&e)@B`t31MoRJA%x7Z|B z0+YydvPzRe1vPVRr6EKHCD{{DeCr@DNKe)kdx1X<5;&*t{mJ+OP0u{yNaN@aUy^NW z;nnejqaB}S1Sf2IJZ|K;`Zj^@cLW-LaTWq5W=TMvEisC z_v{n8l9;-Dsy(0Q`2+rd$S`P8t8eRKKnVDSU)q&oL{6=0K-)s>^ zi3a9@qAHssd@U(e)=077bnpQK@#k2sxT9CcN06Y%wbcCHn@9#O6=P%LO#*WZb^ruK zQYdg+iSzRd-8SG#71!S63pcLrVcj>ERq!J~+5MZ6UUbp-Zs z{DyzE#9YQa29A|t*wUHZ8aPDkdL)*QsTc%%$h*^-T#XJv`js+Unqp(LHu^c2>*N?gXKQHNJTCWXLWykWfd{NPr^nUq?@NxsqaQcKE1W_7Hwn_BHi5Y8DCMQ8Rxt-^tnEng(;d4W4se$lbM$+z;__TzvYa9g~gT zsHv$8o{T*s!RFT1s>L*nkAt`my+3m%=vLU_Ajl6p5_ zR9A3mo~j>5uq8&hn;i^lMj7ya?EwcbA;h8A_E^evc_(&v5@7Y+-1@dh%`9a7&_?zK z?D89Xb4GO#-#DB84B7p`n6*A|fMnhS5iS&et}m2dATm!TZipQ5JF_1=v(|rV_6f1l z?I`!S4fE9k@sQ7;tVc&v_UmV6@x}a9x2`W7igBuUrR7>gi*9ikjG1Wo48IMFoZAnD=zMB4{Vg`#7t&pcU#m_zcP<&cN z2XS5G0`ZwT+4$jt`*C%B(x5Xag0$YEx;t|q#I|0jAk7P@J1)wFP6hXzcGo} zv3RZRt{onjdi>ZQL4fn`*O|6R`?bkN$t@jbZm=a3auRsIs^%rW7CPKIY_9(MA;aP- z)^BIk*?Y}Z9R0{|I+7I&DL>)g)0f;`CcpV(Fgk9Ioefpi-b3rIKEVo3L z^}KWLgtsiaVre8qu}?taA=kHFxWje(*5z0%>>0C^h1! zWdd~t(~rps7im@-={--RP^axK`8GL{jzGu*-6(whbkFdpL}>0kDJLzoF-dN(-g=I@ zRAB1kR(`numMM6mVagmtIZ+HyI!#e7p?ELS+O+j&^h5>H*{la)@Q8;^!&0vd`x*oN z+AYXm6H=m^e&5|W6<84tW8CeLHSW6^rTe4r1APbkYmVQ-vBuPOj*iR;sEU1KZmfie z0Jb?@{j`6^DE`dSE_~Yp(bvwCWOEQ9KD2QZ?c;Jh?X$Lh9wD7#a**dcHc(5;o&u7% zWulIVnqDh+Es8ORr(%!T{Ny|fiS5jZ)($am3w?gFTH#Y1f54Cb3lb8m&HEJ+bP}wo z<*>cC#{XwP;B;Cn$>E9>&eu*XVSoNv*}xjLW}Bp>rUv~#y2|Ehr*z*r5#GUxUX5uD zXCv?26Hmf#7@f$sIaN?(1C!2omezN$!ooQvH6#smyseUwk_r;GBAR*)$}um}{&p=S zJ`y(=YD9>9?Rw2ps0#^F0o?|K)$@jw46q5^zQ-eWXCj*b4d1WdGXx}}AltZf5+t4V y=ajI*-&{X6*Im&#c^ee>Bu-cI|GkTA#}qt~8WG1DYVKfo3YBLXPs^WJzWHB=lsA6> literal 54344 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 bjdJUk$6gVbsNopoD&~~qk5xZh{`G$VKn;TJ literal 29075 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 z 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 vWhHamLDUDep(VSTG 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 C+a>k@ diff --git a/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/tile-when-teams-meeting-ufd-network-quality-is-bad-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/tile-when-teams-meeting-ufd-network-quality-is-bad-Desktop-Chrome-linux.png index 9a616868e4dd313ac316ef989473b30f6f7721a7..cc2a5140ea588f571d541a21f55ef79cd486923f 100644 GIT binary patch delta 23501 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

hWwaPd%J3A&SYN}V9 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%0D88^xEBFa3IiF82*?O$ zo}V}d8z(`vzB7}0SfR2ZzK{1L3ahM<|0tw9u3otW($wm5?~jGY_W%P#c3-iwvQqZX zFHKF>z{I1}Wpc1RSrH)zke-P9Hx#+sMhAHsm?n@^^MUB=W8YrGPK({DdnM%>pjD+J zmxl)+o2donKXjZ%$$YSO$b+1ZuB~4FF-&9Vnqc~xpw_WqlhOU8@mAhzaz;~5=wK7) zlJi8Ly+Cp8V?B5NglTJpfh76+_i2~P5z}guuG_cmo_y!jBClN?cr;M>xR%yLT=)24 zl+_g%!zl(V05^9wI+B$=g)%fWZl`Eo$S`syf5)h2Yz74}RtOtIk3ni%UEL6slOsbD z>Eq)~4UIDKB{2v31tdA^*n-)0rPT?Kp2%;K)O(d4xd6n`q3kQeqJx^(Ve{my7 zGe2MQh{m>rnUqx2D{P)C(L?FgH1SU*A5r}h(KrR9670i=4_nNg@@E6;03WOmIW+dT zT)UHY-f*dcw+_MesiA??@VHD&rA8il`t(Fpic--JW!!Q|r4q*l)wqAfvm7ltAF3e+ zO{}f&j(iVK*FvXm*Qo&&#OIqc4R;brj@0Y7DvTiMGgG(MLzMK z$pc-RLH7Q435pV$;dQj*{9jW2^B>vD+|2QNzqLqBwXv;n+_Vr0t9kp~F|PkTHyt>T za)Nz)jsJB~LGKfSaq{5&b4Vh=0L1Zg=guKE-_)h1^7CJ~;O*^Qw#`^rcn0Pit3mr! za?f|P?vV@-4+4lcv9jXvRzpf&zKuXA`Vq=ATL1Fp@d}HgTG=mOzPPx!G!qB}l#z}O zTS7v@d5Tw6?$@tzrv%kVeQFd}}3Nf&xV>77XBEi7ljOU?An^=T{^~8tL_4 zzGd0=9Y~$-=RZ_YQ>(K03CwA|pFgkIc8jMk&0rh|%QIwKsXRs>;}Z#aclz_K{0Av# z*kGqTiu=t-EVJu{);kwpb&a|&N*%K|b7T+Z_AdsvZdJwKtxXCB&TpDYoJH(~ZC`+= zTdrRjOA0D@EC2}z6w;&V8wKp{-jmwGrFCz>0R^HV*q!|HD!}-)+a^6xV0mssf!-nw{r^w>U^*P* delta 23418 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 literal 54344 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

0&CfKTNGZ}r**KXSShc{dRO75aH>Nzu} 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%0Ade1C8IyXub^|$t> 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 { + return ( + Call composite where local participant is screensharing + ); +}; From a1b1540c386fd6eb19f8501c3c6916c2f05b17b5 Mon Sep 17 00:00:00 2001 From: mgamis-msft <79475487+mgamis-msft@users.noreply.github.com> Date: Thu, 3 Oct 2024 15:11:18 -0700 Subject: [PATCH 45/58] Add Welsh strings (#5243) * TDBuild latest localization * export Welsh component and composite locales * Change files * update stable api --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- ...-cb854d3f-732e-4c9a-8156-dc31df49ad74.json | 9 + ...-cb854d3f-732e-4c9a-8156-dc31df49ad74.json | 9 + .../review/beta/communication-react.api.md | 6 + .../review/stable/communication-react.api.md | 6 + packages/communication-react/src/index.ts | 1 + packages/react-components/src/index.ts | 1 + .../locales/cy-GB/ComponentLocale.tsx | 16 + .../localization/locales/cy-GB/strings.json | 670 ++++++++++++++++++ .../react-composites/src/composites/index.ts | 1 + .../locales/cy-GB/CompositeLocale.tsx | 17 + .../localization/locales/cy-GB/strings.json | 411 +++++++++++ 11 files changed, 1147 insertions(+) create mode 100644 change-beta/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json create mode 100644 change/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json create mode 100644 packages/react-components/src/localization/locales/cy-GB/ComponentLocale.tsx create mode 100644 packages/react-components/src/localization/locales/cy-GB/strings.json create mode 100644 packages/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.tsx create mode 100644 packages/react-composites/src/composites/localization/locales/cy-GB/strings.json diff --git a/change-beta/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json b/change-beta/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json new file mode 100644 index 00000000000..8eca9d2a7ea --- /dev/null +++ b/change-beta/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json @@ -0,0 +1,9 @@ +{ + "type": "minor", + "area": "improvement", + "workstream": "Localization", + "comment": "Add Welsh component and composite locales", + "packageName": "@azure/communication-react", + "email": "79475487+mgamis-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json b/change/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json new file mode 100644 index 00000000000..8eca9d2a7ea --- /dev/null +++ b/change/@azure-communication-react-cb854d3f-732e-4c9a-8156-dc31df49ad74.json @@ -0,0 +1,9 @@ +{ + "type": "minor", + "area": "improvement", + "workstream": "Localization", + "comment": "Add Welsh component and composite locales", + "packageName": "@azure/communication-react", + "email": "79475487+mgamis-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index 8676a2ad86a..f267e028ada 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -2255,6 +2255,9 @@ export const COMPONENT_LOCALE_AR_SA: ComponentLocale; // @public export const COMPONENT_LOCALE_CS_CZ: ComponentLocale; +// @public +export const COMPONENT_LOCALE_CY_GB: ComponentLocale; + // @public export const COMPONENT_LOCALE_DE_DE: ComponentLocale; @@ -2382,6 +2385,9 @@ export const COMPOSITE_LOCALE_AR_SA: CompositeLocale; // @public export const COMPOSITE_LOCALE_CS_CZ: CompositeLocale; +// @public +export const COMPOSITE_LOCALE_CY_GB: CompositeLocale; + // @public export const COMPOSITE_LOCALE_DE_DE: CompositeLocale; diff --git a/packages/communication-react/review/stable/communication-react.api.md b/packages/communication-react/review/stable/communication-react.api.md index 67cf8ac7046..7b33eb991ca 100644 --- a/packages/communication-react/review/stable/communication-react.api.md +++ b/packages/communication-react/review/stable/communication-react.api.md @@ -1914,6 +1914,9 @@ export const COMPONENT_LOCALE_AR_SA: ComponentLocale; // @public export const COMPONENT_LOCALE_CS_CZ: ComponentLocale; +// @public +export const COMPONENT_LOCALE_CY_GB: ComponentLocale; + // @public export const COMPONENT_LOCALE_DE_DE: ComponentLocale; @@ -2019,6 +2022,9 @@ export const COMPOSITE_LOCALE_AR_SA: CompositeLocale; // @public export const COMPOSITE_LOCALE_CS_CZ: CompositeLocale; +// @public +export const COMPOSITE_LOCALE_CY_GB: CompositeLocale; + // @public export const COMPOSITE_LOCALE_DE_DE: CompositeLocale; diff --git a/packages/communication-react/src/index.ts b/packages/communication-react/src/index.ts index c99752e9a29..ef315af2902 100644 --- a/packages/communication-react/src/index.ts +++ b/packages/communication-react/src/index.ts @@ -142,6 +142,7 @@ export { COMPONENT_LOCALE_EN_GB, COMPONENT_LOCALE_AR_SA, COMPONENT_LOCALE_CS_CZ, + COMPONENT_LOCALE_CY_GB, COMPONENT_LOCALE_DE_DE, COMPONENT_LOCALE_ES_ES, COMPONENT_LOCALE_FI_FI, diff --git a/packages/react-components/src/index.ts b/packages/react-components/src/index.ts index 0835f7b5141..c29a9d332a6 100644 --- a/packages/react-components/src/index.ts +++ b/packages/react-components/src/index.ts @@ -9,6 +9,7 @@ export { LocalizationProvider } from './localization'; export { COMPONENT_LOCALE_EN_GB } from './localization/locales/en-GB/ComponentLocale'; export { COMPONENT_LOCALE_AR_SA } from './localization/locales/ar-SA/ComponentLocale'; export { COMPONENT_LOCALE_CS_CZ } from './localization/locales/cs-CZ/ComponentLocale'; +export { COMPONENT_LOCALE_CY_GB } from './localization/locales/cy-GB/ComponentLocale'; export { COMPONENT_LOCALE_DE_DE } from './localization/locales/de-DE/ComponentLocale'; export { COMPONENT_LOCALE_ES_ES } from './localization/locales/es-ES/ComponentLocale'; export { COMPONENT_LOCALE_FI_FI } from './localization/locales/fi-FI/ComponentLocale'; diff --git a/packages/react-components/src/localization/locales/cy-GB/ComponentLocale.tsx b/packages/react-components/src/localization/locales/cy-GB/ComponentLocale.tsx new file mode 100644 index 00000000000..d5e6f3da668 --- /dev/null +++ b/packages/react-components/src/localization/locales/cy-GB/ComponentLocale.tsx @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { createComponentStrings } from '../utils'; +import type { ComponentLocale, ComponentStrings } from '../..'; +import cy_GB from './strings.json'; +import { PartialDeep } from 'type-fest'; + +/** + * Locale for Welsh (GB). + * + * @public + */ +export const COMPONENT_LOCALE_CY_GB: ComponentLocale = { + strings: createComponentStrings(cy_GB as PartialDeep) +}; diff --git a/packages/react-components/src/localization/locales/cy-GB/strings.json b/packages/react-components/src/localization/locales/cy-GB/strings.json new file mode 100644 index 00000000000..62d0cc40d33 --- /dev/null +++ b/packages/react-components/src/localization/locales/cy-GB/strings.json @@ -0,0 +1,670 @@ +{ + "participantItem": { + "isMeText": "(chi)", + "menuTitle": "Mwy o Ddewisiadau", + "removeButtonLabel": "Tynnu", + "sharingIconLabel": "Rhannu", + "mutedIconLabel": "Wedi tewi", + "displayNamePlaceholder": "Cyfranogwr dienw", + "participantStateRinging": "Wrthi'n galw...", + "participantStateHold": "Galwad yn aros", + "attendeeRole": "Mynychwr" + }, + "ParticipantList": { + "overflowParticipantCount": "+{overflowCount} arall" + }, + "typingIndicator": { + "singleUser": "Mae {user} yn teipio ...", + "multipleUsers": "Mae {users} yn teipio ...", + "multipleUsersAbbreviateOne": "Mae {users} ac 1 arall yn teipio ...", + "multipleUsersAbbreviateMany": "Mae {users} a {numOthers} arall yn teipio ...", + "delimiter": ", " + }, + "sendBox": { + "placeholderText": "Rhowch neges", + "textTooLong": "Mae hyd eich neges yn fwy na'r terfyn uchaf.", + "sendButtonAriaLabel": "Anfon neges", + "attachmentUploadsPendingError": "Wrthi'n llwytho'r ffeil i fyny, arhoswch funud.", + "removeAttachment": "Tynnu’r ffeil", + "uploading": "Wrthi'n llwytho i fyny", + "uploadCompleted": "Wedi gorffen llwytho i fyny", + "attachmentMoreMenu": "Mwy o Ddewisiadau" + }, + "richTextSendBox": { + "placeholderText": "Rhowch neges", + "textTooLong": "Mae hyd eich neges yn fwy na'r terfyn uchaf.", + "sendButtonAriaLabel": "Anfon neges", + "attachmentUploadsPendingError": "Wrthi'n lanlwytho'r ffeil, arhoswch funud.", + "imageUploadsPendingError": "Wrthi'n lanlwytho'r ddelwedd, arhoswch funud.", + "removeAttachment": "Tynnu'r ffeil", + "uploading": "Wrthi'n lanlwytho", + "uploadCompleted": "Wedi gorffen lanlwytho", + "richTextBoldTooltip": "Trwm", + "richTextItalicTooltip": "Italig", + "richTextUnderlineTooltip": "Tanlinellu", + "richTextBulletListTooltip": "Rhestr bwledi", + "richTextNumberListTooltip": "Rhestr wedi’i rhifo", + "richTextIncreaseIndentTooltip": "Cynyddu'r mewnoliad", + "richTextDecreaseIndentTooltip": "Lleihau'r mewnoliad", + "richTextInsertTableTooltip": "Mewnosod tabl", + "richTextFormatButtonTooltip": "Fformat", + "richTextInsertRowOrColumnMenu": "Mewnosod", + "richTextInsertTableMenuTitle": "Mewnosod tabl {row} x {column}", + "richTextInsertRowAboveMenu": "Mewnosod uwchben", + "richTextInsertRowBelowMenu": "Mewnosod isod", + "richTextInsertColumnLeftMenu": "Mewnosod i'r chwith", + "richTextInsertColumnRightMenu": "Mewnosod i'r dde", + "richTextDeleteRowOrColumnMenu": "Dileu", + "richTextDeleteColumnMenu": "Dileu'r golofn", + "richTextDeleteRowMenu": "Dileu'r rhes", + "richTextDeleteTableMenu": "Dileu'r tabl", + "richTextToolbarMoreButtonAriaLabel": "Mwy o ddewisiadau", + "attachmentMoreMenu": "Mwy o Ddewisiadau", + "richTextNewBulletedListItemAnnouncement": "Bwled, llinell newydd", + "richTextNewNumberedListItemAnnouncement": "{0}, llinell newydd", + "richTextBulletedListAppliedAnnouncement": "Wedi defnyddio'r rhestr bwledi", + "richTextNumberedListAppliedAnnouncement": "Wedi defnyddio rhestr wedi'i rhifo" + }, + "mentionPopover": { + "mentionPopoverHeader": "Awgrymiadau" + }, + "imageOverlay": { + "downloadButtonLabel": "Lawrlwytho", + "dismissButtonAriaLabel": "Cau" + }, + "messageStatusIndicator": { + "deliveredAriaLabel": "Wedi anfon y neges", + "deliveredTooltipText": "Anfonwyd", + "seenAriaLabel": "Neges wedi ei gweld gan bobl eraill", + "seenTooltipText": "Gwelwyd", + "readByTooltipText": "Wedi'i darllen gan {messageThreadReadCount} o {remoteParticipantsCount}", + "sendingAriaLabel": "Wrthi'n anfon y neges", + "sendingTooltipText": "Wrthi'n anfon", + "failedToSendAriaLabel": "Wedi methu anfon y neges", + "failedToSendTooltipText": "Wedi methu anfon" + }, + "endCallButton": { + "label": "Gadael", + "tooltipContent": "Gadael yr alwad", + "leaveOption": "Gadael", + "endCallOption": "Dod â'r alwad i ben ar gyfer pawb" + }, + "cameraButton": { + "onLabel": "Camera", + "offLabel": "Camera", + "tooltipDisabledContent": "Mae’r camera wedi'i analluogi", + "tooltipOnContent": "Diffodd y camera", + "tooltipOffContent": "Rhoi'r camera ar waith", + "tooltipVideoLoadingContent": "Wrthi'n llwytho'r fideo", + "cameraMenuTitle": "Camera", + "cameraMenuTooltip": "Dewis camera", + "cameraButtonSplitRoleDescription": "Botwm Hollti", + "onSplitButtonAriaLabel": "Diffodd y camera", + "offSplitButtonAriaLabel": "Rhoi'r camera ar waith", + "cameraActionTurnedOnAnnouncement": "Mae eich camera wedi'i roi ar waith", + "cameraActionTurnedOffAnnouncement": "Mae eich camera wedi'i ddiffodd", + "onSplitButtonPrimaryActionCamera": "Diffodd y camera", + "offSplitButtonPrimaryActionCamera": "Rhoi'r camera ar waith", + "cameraPrimaryActionSplitButtonTitle": "Defnyddio camera", + "videoEffectsMenuItemTitle": "Effeithiau", + "cameraButtonAriaDescription": "dewisiadau camera" + }, + "microphoneButton": { + "onLabel": "Meicroffon", + "offLabel": "Meicroffon", + "tooltipDisabledContent": "Mae'r meicroffon wedi'i analluogi", + "tooltipOnContent": "Tewi’r meicroffon", + "tooltipOffContent": "Dad-dewi’r meicroffon", + "microphoneMenuTitle": "Meicroffon", + "microphoneMenuTooltip": "Dewis meicroffon", + "speakerMenuTitle": "Seinydd", + "speakerMenuTooltip": "Dewis seinydd", + "microphoneButtonSplitRoleDescription": "Botwm Hollti", + "onSplitButtonAriaLabel": "Tewi'r meic", + "offSplitButtonAriaLabel": "Dad-dewi'r meic", + "microphoneActionTurnedOnAnnouncement": "Mae eich meicroffon wedi'i roi ar waith", + "microphoneActionTurnedOffAnnouncement": "Mae eich meicroffon wedi'i ddiffodd", + "offSplitButtonMicrophonePrimaryAction": "Dad-dewi’r meic", + "onSplitButtonMicrophonePrimaryAction": "Tewi'r meic", + "microphonePrimaryActionSplitButtonTitle": "Defnyddio'r meicroffon", + "microphoneAriaDescription": "Dewisiadau sain", + "deepNoiseSuppressionTitle": "Atal sŵn", + "deepNoiseSuppressionOnAnnouncement": "Mae atal sŵn dwfn wedi'i roi ar waith", + "deepNoiseSuppressionOffAnnouncement": "Mae atal sŵn dwfn wedi'i ddiffodd" + }, + "devicesButton": { + "label": "Dyfeisiau", + "tooltipContent": "Rheoli dyfeisiau", + "cameraMenuTitle": "Camera", + "cameraMenuTooltip": "Dewis camera", + "audioDeviceMenuTitle": "Dyfais Sain", + "audioDeviceMenuTooltip": "Dewis dyfais sain", + "microphoneMenuTitle": "Meicroffon", + "microphoneMenuTooltip": "Dewis meicroffon", + "speakerMenuTitle": "Siaradwr", + "speakerMenuTooltip": "Dewis seinydd" + }, + "participantsButton": { + "label": "Pobl", + "tooltipContent": "Dangos cyfranogwyr", + "menuHeader": "Yn yr alwad hon", + "participantsListButtonLabel": "{numParticipants} o bobl", + "muteAllButtonLabel": "Tewi’r cyfan", + "copyInviteLinkButtonLabel": "Copïo dolen y gwahoddiad", + "copyInviteLinkActionedAriaLabel": "Wedi copïo dolen y gwahoddiad" + }, + "screenShareButton": { + "onLabel": "Stopio cyflwyno", + "offLabel": "Presennol", + "tooltipDisabledContent": "Mae cyflwyno wedi'i analluogi", + "tooltipOnContent": "Wrthi'n cyflwyno eich sgrin", + "tooltipOffContent": "Cyflwyno eich sgrin" + }, + "raiseHandButton": { + "offLabel": "Codi", + "onLabel": "Gostwng", + "tooltipDisabledContent": "Mae'r weithred Codi Llaw wedi'i hanalluogi", + "tooltipOnContent": "Gostwng Llaw", + "tooltipOffContent": "Codi Llaw" + }, + "reactionButton": { + "label": "Ymateb", + "ariaLabel": "Botwm Ymateb, Anfon ymateb", + "tooltipDisabledContent": "Mae'r weithred ymateb wedi'i hanalluogi", + "tooltipContent": "Anfon ymateb", + "likeReactionTooltipContent": "Hoffi", + "heartReactionTooltipContent": "Caru", + "laughReactionTooltipContent": "Chwerthin", + "applauseReactionTooltipContent": "Curo Dwylo", + "surprisedReactionTooltipContent": "Wedi synnu" + }, + "messageThread": { + "yesterday": "Ddoe", + "sunday": "Dydd Sul", + "monday": "Dydd Llun", + "tuesday": "Dydd Mawrth", + "wednesday": "Dydd Mercher", + "thursday": "Dydd Iau", + "friday": "Dydd Gwener", + "saturday": "Dydd Sadwrn", + "participantJoined": "wedi ymuno â'r sgwrs.", + "participantLeft": "wedi gadael y sgwrs.", + "editMessage": "Golygu", + "removeMessage": "Dileu", + "resendMessage": "Rhowch gynnig arall ar anfon", + "failToSendTag": "Wedi methu â'i hanfon", + "editedTag": "Golygwyd", + "liveAuthorIntro": "Mae {author} yn dweud", + "messageContentAriaText": "{status} Dywedodd {author} {message}", + "messageContentMineAriaText": "{status} Dywedoch chi {message}", + "editBoxTextLimit": "Mae eich neges dros y terfyn o {limitNumber} nodau", + "editBoxPlaceholderText": "Golygu eich neges", + "newMessagesIndicator": "Negeseuon newydd", + "noDisplayNameSub": "Dim enw", + "editBoxCancelButton": "Canslo", + "editBoxSubmitButton": "Wedi gorffen", + "messageReadCount": "Wedi'i darllen gan {messageReadByCount} o {remoteParticipantsCount}", + "actionMenuMoreOptions": "Mwy o Ddewisiadau", + "downloadAttachment": "Llwytho'r ffeil i lawr", + "openAttachment": "Agor ffeil", + "blockedWarningText": "Mae'r neges hon wedi'i dileu oherwydd polisi sefydliadol.", + "blockedWarningLinkText": "Manylion", + "attachmentCardGroupMessage": "Mae gan y neges {attachmentCount} atodiad", + "messageDeletedAnnouncementAriaLabel": "Mae'r neges wedi cael ei dileu", + "richTextBoldTooltip": "Trwm", + "richTextItalicTooltip": "Italig", + "richTextUnderlineTooltip": "Tanlinellu", + "richTextBulletListTooltip": "Rhestr bwledi", + "richTextNumberListTooltip": "Rhestr wedi'i rhifo", + "richTextIncreaseIndentTooltip": "Cynyddu’r mewnoliad", + "richTextDecreaseIndentTooltip": "Lleihau’r mewnoliad", + "richTextInsertTableTooltip": "Mewnosod tabl", + "richTextFormatButtonTooltip": "Fformat", + "richTextInsertRowOrColumnMenu": "Mewnosod", + "richTextInsertTableMenuTitle": "Mewnosod tabl {row} x {column}", + "richTextInsertRowAboveMenu": "Mewnosod uwchben", + "richTextInsertRowBelowMenu": "Mewnosod isod", + "richTextInsertColumnLeftMenu": "Mewnosod i'r chwith", + "richTextInsertColumnRightMenu": "Mewnosod i'r dde", + "richTextDeleteRowOrColumnMenu": "Dileu", + "richTextDeleteColumnMenu": "Dileu'r golofn", + "richTextDeleteRowMenu": "Dileu'r rhes", + "richTextDeleteTableMenu": "Dileu'r tabl", + "richTextToolbarMoreButtonAriaLabel": "Mwy o ddewisiadau", + "attachmentUploadsPendingError": "Wrthi'n lanlwytho'r ffeil, arhoswch funud.", + "imageUploadsPendingError": "Wrthi'n lanlwytho'r ddelwedd, arhoswch funud.", + "richTextNewBulletedListItemAnnouncement": "Bwled, llinell newydd", + "richTextNewNumberedListItemAnnouncement": "{0}, llinell newydd", + "richTextBulletedListAppliedAnnouncement": "Wedi defnyddio'r rhestr bwledi", + "richTextNumberedListAppliedAnnouncement": "Wedi defnyddio rhestr wedi'i rhifo" + }, + "errorBar": { + "unableToReachChatService": "Rydych chi all-lein", + "accessDenied": "Does dim modd cael gafael ar wasanaethau sgwrsio - gwiriwch fanylion adnabod y defnyddiwr a roddwyd", + "userNotInChatThread": "Nid ydych yn yr edefyn sgwrsio hwn mwyach", + "sendMessageNotInChatThread": "Wedi methu anfon neges oherwydd dydych chi ddim yn y trywydd sgwrsio hwn mwyach", + "sendMessageGeneric": "Wedi methu anfon neges", + "callingNetworkFailure": "problem wrth gysylltu galwad - mae’n ymddangos eich bod all-lein", + "startVideoGeneric": "Wedi methu cychwyn y fideo", + "stopVideoGeneric": "Wedi methu stopio'r fideo", + "muteGeneric": "Wedi methu tewi'r meicroffon", + "unmuteGeneric": "Wedi methu dad-dewi'r meicroffon", + "speakingWhileMuted": "Mae eich meicroffon wedi tewi", + "startScreenShareGeneric": "Roedd problem wrth ddechrau rhannu sgrin.", + "stopScreenShareGeneric": "Wedi methu rhoi'r gorau i rannu sgrin", + "callNetworkQualityLow": "Mae ansawdd y rhwydwaith yn isel.", + "teamsMeetingCallNetworkQualityLow": "Mae ansawdd y rhwydwaith yn isel.", + "callNoSpeakerFound": "Heb ddod o hyd i seinyddion na clustffonau. Cysylltu dyfais sain i glywed yr alwad.", + "callNoMicrophoneFound": "Heb ganfod meicroffonau. Cysylltu dyfais mewnbwn sain.", + "callMicrophoneAccessDenied": "Does dim modd cael mynediad at y meicroffon. Cliciwch y clo yn y bar cyfeiriad i roi caniatâd i'r dudalen we hon.", + "callMicrophoneAccessDeniedSafari": "Nid oes modd cael mynediad at y meicroffon. Adnewyddwch y dudalen i ganiatáu hawliau, neu gwiriwch osodiadau'r porwr hwn a dilysu hawliau wedi'u galluogi ar gyfer y wefan hon.", + "callMicrophoneMutedBySystem": "Rydych chi wedi'ch tewi gan eich system.", + "callMicrophoneUnmutedBySystem": "Mae eich meicroffon wedi'i adfer a chawsoch chi eich dad-dewi gan eich system.", + "callMacOsMicrophoneAccessDenied": "Does dim modd cael mynediad at y meicroffon. Rhoi caniatâd meicroffon yn eich gosodiadau preifatrwydd macOS.", + "callLocalVideoFreeze": "Mae lled band y rhwydwaith yn wael. Efallai y bydd eich fideo wedi'i oedi ar gyfer eraill ar yr alwad.", + "callCameraAccessDenied": "Does dim modd cael mynediad at y camera. Cliciwch y clo yn y bar cyfeiriad i roi caniatâd i'r dudalen we hon.", + "callCameraAccessDeniedSafari": "Nid oes modd cael mynediad at y camera. Adnewyddwch y dudalen i ganiatáu hawliau, neu gwiriwch osodiadau'r porwr hwn a dilysu hawliau wedi'u galluogi ar gyfer y wefan hon.", + "callCameraAlreadyInUse": "Nid oes modd cael mynediad at y camera. Mae'n bosib bod rhaglen arall yn ei ddefnyddio'n barod.", + "callVideoStoppedBySystem": "Mae eich fideo wedi cael ei stopio gan eich system.", + "callVideoRecoveredBySystem": "Mae eich fideo wedi ailddechrau.", + "callMacOsCameraAccessDenied": "Mae MacOS yn rhwystro mynediad at eich camera. Diweddarwch eich gosodiadau preifatrwydd i ganiatáu i'r porwr hwn gael mynediad at eich camera.", + "callMacOsScreenShareAccessDenied": "Mae MacOS yn rhwystro rhannu sgrin. Diweddarwch eich gosodiadau preifatrwydd i ganiatáu i'r porwr hwn recordio eich sgrin.", + "dismissButtonAriaLabel": "Cau", + "failedToJoinCallGeneric": "Wedi methu ag ymuno â'r alwad.", + "failedToJoinCallInvalidMeetingLink": "Does dim modd ymuno â'r Cyfarfod. Dolen Annilys.", + "cameraFrozenForRemoteParticipants": "Mae defnyddwyr yn yr alwad yn cael trafferth gweld eich fideo. Tarwch olwg ar eich dyfeisiau a'ch rhwydwaith.", + "unableToStartVideoEffect": "Nid oes modd defnyddio'r effaith fideo.", + "startSpotlightWhileMaxParticipantsAreSpotlighted": "Nid oes modd dechrau sbotolau ar gyfranogwr/cyfranogwyr oherwydd bod y nifer fwyaf o gyfranogwyr a ganiateir eisoes wedi'u hamlygu.", + "mutedByRemoteParticipant": "Rydych chi wedi cael eich tewi gan gyfranogwr arall." + }, + "notificationStack": { + "callingNetworkFailure": { + "title": "Mae problem wrth gysylltu'r alwad", + "message": "Mae’n ymddangos eich bod chi all-lein. Gwnewch yn siŵr eich bod chi wedi cysylltu â'r rhwydwaith a rhoi cynnig arall arni.", + "dismissButtonAriaLabel": "Cau" + }, + "startVideoGeneric": { + "title": "Wedi methu â dechrau'r fideo.", + "dismissButtonAriaLabel": "Cau" + }, + "stopVideoGeneric": { + "title": "Wedi methu â stopio'r fideo.", + "dismissButtonAriaLabel": "Cau" + }, + "muteGeneric": { + "title": "Wedi methu â thewi'r meicroffon.", + "dismissButtonAriaLabel": "Cau" + }, + "unmuteGeneric": { + "title": "Wedi methu â dad-dewi'r meicroffon.", + "dismissButtonAriaLabel": "Cau" + }, + "speakingWhileMuted": { + "title": "Rydych chi wedi'ch tewi.", + "dismissButtonAriaLabel": "Cau" + }, + "startScreenShareGeneric": { + "title": "Roedd problem wrth ddechrau rhannu sgrin.", + "dismissButtonAriaLabel": "Cau" + }, + "stopScreenShareGeneric": { + "title": "Wedi methu â stopio rhannu sgrin.", + "dismissButtonAriaLabel": "Cau" + }, + "callNetworkQualityLow": { + "title": "Mae ansawdd y rhwydwaith yn isel.", + "dismissButtonAriaLabel": "Cau" + }, + "teamsMeetingCallNetworkQualityLow": { + "title": "Mae ansawdd y rhwydwaith yn isel.", + "dismissButtonAriaLabel": "Cau", + "message": "Ymuno â'r alwad hon o'ch ffôn i gael sain gwell. Gallwch barhau i weld y cyfarfod ar y ddyfais hon.", + "primaryButtonLabel": "Ymuno dros y Ffôn" + }, + "callNoSpeakerFound": { + "title": "Heb ganfod seinyddion na chlustffonau", + "message": "Cysylltu dyfais sain i glywed yr alwad.", + "dismissButtonAriaLabel": "Cau" + }, + "callNoMicrophoneFound": { + "title": "Heb ganfod meicroffonau", + "message": "Cysylltwch ddyfais mewnbynnu sain.", + "dismissButtonAriaLabel": "Cau" + }, + "callMicrophoneAccessDenied": { + "title": "Does dim modd cael mynediad i'r meicroffon", + "message": "Cliciwch y clo yn y bar cyfeiriad i roi caniatâd i'r dudalen we hon.", + "dismissButtonAriaLabel": "Cau" + }, + "callMicrophoneAccessDeniedSafari": { + "title": "Does dim modd cael mynediad i'r meicroffon", + "message": "Adnewyddwch y dudalen i ganiatáu caniatâd, neu gwiriwch osodiadau'r porwr hwn a dilysu bod y caniatâd wedi'u galluogi ar gyfer y wefan hon.", + "dismissButtonAriaLabel": "Cau" + }, + "callMicrophoneMutedBySystem": { + "title": "Rydych chi wedi cael eich tewi gan eich system.", + "dismissButtonAriaLabel": "Cau" + }, + "callMicrophoneUnmutedBySystem": { + "title": "Mae eich meicroffon wedi'i adfer a chawsoch chi eich dad-dewi gan eich system.", + "dismissButtonAriaLabel": "Cau" + }, + "callMacOsMicrophoneAccessDenied": { + "title": "Does dim modd cael mynediad i'r meicroffon", + "message": "Rhoi caniatâd meicroffon yn eich gosodiadau preifatrwydd macOS.", + "dismissButtonAriaLabel": "Cau" + }, + "callLocalVideoFreeze": { + "title": "Mae lled band y rhwydwaith yn wael", + "message": "Efallai y bydd eich fideo wedi'i oedi ar gyfer eraill ar yr alwad.", + "dismissButtonAriaLabel": "Cau" + }, + "callCameraAccessDenied": { + "title": "Does dim modd cael mynediad i'r camera", + "message": "Cliciwch y clo yn y bar cyfeiriad i roi caniatâd i'r dudalen we hon.", + "dismissButtonAriaLabel": "Cau" + }, + "callCameraAccessDeniedSafari": { + "title": "Does dim modd cael mynediad i'r camera", + "message": "Adnewyddwch y dudalen i ganiatáu caniatâd, neu gwiriwch osodiadau'r porwr hwn a dilysu bod y caniatâd wedi'u galluogi ar gyfer y wefan hon.", + "dismissButtonAriaLabel": "Cau" + }, + "callCameraAlreadyInUse": { + "title": "Does dim modd cael mynediad i'r camera", + "message": "Mae'n bosib bod rhaglen arall yn ei ddefnyddio'n barod.", + "dismissButtonAriaLabel": "Cau" + }, + "callVideoStoppedBySystem": { + "title": "Mae eich fideo wedi cael ei stopio gan eich system.", + "dismissButtonAriaLabel": "Cau" + }, + "callVideoRecoveredBySystem": { + "title": "Mae eich fideo wedi ailddechrau.", + "dismissButtonAriaLabel": "Cau" + }, + "callMacOsCameraAccessDenied": { + "title": "Mae MacOS yn rhwystro mynediad i'ch camera", + "message": "Diweddarwch eich gosodiadau preifatrwydd i ganiatáu i'r porwr hwn gael mynediad at eich camera.", + "dismissButtonAriaLabel": "Cau" + }, + "callMacOsScreenShareAccessDenied": { + "title": "Mae MacOS yn rhwystro rhannu sgrin", + "message": "Diweddarwch eich gosodiadau preifatrwydd i ganiatáu i'r porwr hwn recordio eich sgrin.", + "dismissButtonAriaLabel": "Cau" + }, + "failedToJoinCallGeneric": { + "title": "Wedi methu ag ymuno â'r alwad.", + "dismissButtonAriaLabel": "Cau" + }, + "failedToJoinCallInvalidMeetingLink": { + "title": "Does dim modd ymuno â'r Cyfarfod. Dolen Annilys.", + "dismissButtonAriaLabel": "Cau" + }, + "cameraFrozenForRemoteParticipants": { + "title": "Mae defnyddwyr yn yr alwad yn cael trafferth gweld eich fideo", + "message": "Gwiriwch eich dyfeisiau a'ch rhwydwaith.", + "dismissButtonAriaLabel": "Cau" + }, + "unableToStartVideoEffect": { + "title": "Does dim modd defnyddio'r effaith fideo.", + "dismissButtonAriaLabel": "Cau" + }, + "startSpotlightWhileMaxParticipantsAreSpotlighted": { + "title": "Nid oes modd dechrau'r sbotolau ar y cyfranogwr/cyfranogwyr", + "message": "Mae'r sbotolau eisoes ar y nifer fwyaf o gyfranogwyr.", + "dismissButtonAriaLabel": "Cau" + }, + "mutedByRemoteParticipant": { + "title": "Rydych chi wedi cael eich tewi gan gyfranogwr arall.", + "dismissButtonAriaLabel": "Cau" + }, + "recordingStarted": { + "title": "Wedi dechrau recordio.", + "message": "Drwy ymuno, rydych yn cydsynio i drawsgrifio'r cyfarfod hwn.", + "dismissButtonAriaLabel": "Cau" + }, + "transcriptionStarted": { + "title": "Wedi dechrau trawsgrifio.", + "message": "Drwy ymuno, rydych yn cydsynio i drawsgrifio'r cyfarfod hwn.", + "dismissButtonAriaLabel": "Cau" + }, + "recordingStopped": { + "title": "Mae recordiad yn cael ei gadw.", + "message": "Wedi stopio recordio.", + "dismissButtonAriaLabel": "Cau" + }, + "transcriptionStopped": { + "title": "Mae trawsgrifiad yn cael ei gadw.", + "message": "Wedi stopio trawsgrifio.", + "dismissButtonAriaLabel": "Cau" + }, + "recordingAndTranscriptionStarted": { + "title": "Wedi dechrau recordio a thrawsgrifio.", + "message": "Drwy ymuno, rydych yn cydsynio i drawsgrifio'r cyfarfod hwn.", + "dismissButtonAriaLabel": "Cau" + }, + "recordingAndTranscriptionStopped": { + "title": "Mae recordiad a thrawsgrifiad yn cael eu cadw.", + "message": "Wedi stopio recordio a thrawsgrifio.", + "dismissButtonAriaLabel": "Cau" + }, + "recordingStoppedStillTranscribing": { + "title": "Wedi stopio recordio.", + "message": "Rydych yn awr yn trawsgrifio'r cyfarfod hwn yn unig.", + "dismissButtonAriaLabel": "Cau" + }, + "transcriptionStoppedStillRecording": { + "title": "Wedi stopio trawsgrifio.", + "message": "Rydych chi dim ond yn recordio'r cyfarfod hwn bellach.", + "dismissButtonAriaLabel": "Cau" + }, + "assignedBreakoutRoomOpened": { + "title": "Byddwn yn eich symud i'ch ystafell wedi'i neilltuo mewn 5 eiliad.", + "dismissButtonAriaLabel": "Cau" + }, + "assignedBreakoutRoomChanged": { + "title": "Mae ystafell eich cyfarfod ymylol wedi newid", + "message": "Byddwn yn eich symud i'ch ystafell wedi'i neilltuo mewn 5 eiliad.", + "dismissButtonAriaLabel": "Cau" + }, + "assignedBreakoutRoomOpenedPromptJoin": { + "title": "Ymuno â chyfarfod ymylol?", + "message": "Rydych chi wedi cael eich neilltuo i gyfarfod ymylol.", + "dismissButtonAriaLabel": "Cau", + "primaryButtonLabel": "Ymuno â’r ystafell", + "secondaryButtonLabel": "Yn nes ymlaen" + }, + "breakoutRoomJoined": { + "title": "Rydych chi wedi ymuno â chyfarfod ymylol.", + "dismissButtonAriaLabel": "Cau" + }, + "breakoutRoomClosingSoon": { + "title": "Mae terfyn amser yr ystafell ar fin dod i ben.", + "message": "Bydd yr ystafell hon yn cau mewn 30 eiliad", + "dismissButtonAriaLabel": "Cau" + } + }, + "videoGallery": { + "screenIsBeingSharedMessage": "Rydych chi'n rhannu eich sgrin", + "screenShareLoadingMessage": "Wrthi'n llwytho sgrin {participant}", + "localScreenShareLoadingMessage": "Wrthi'n llwytho eich sgrin", + "localVideoLabel": "Chi", + "localVideoCameraSwitcherLabel": "Newid camera", + "localVideoMovementLabel": "Teilsen Fideo Lleol Symudol", + "localVideoMovementAriaLabel": "Teilsen Fideo Lleol Symudol", + "localVideoSelectedDescription": "Wedi dewis {cameraName}", + "displayNamePlaceholder": "Cyfranogwr dienw", + "fitRemoteParticipantToFrame": "Ffitio i'r ffrâm", + "fillRemoteParticipantFrame": "Llenwi'r ffrâm", + "pinParticipantForMe": "Pinio ar fy nghyfer i", + "pinParticipantForMeLimitReached": "Pinio (wedi cyrraedd y terfyn)", + "unpinParticipantForMe": "Dadbinio", + "pinParticipantMenuItemAriaLabel": "Pinio {participantName}", + "unpinParticipantMenuItemAriaLabel": "Dadbinio {participantName}", + "pinnedParticipantAnnouncementAriaLabel": "Wedi pinio {participantName}", + "unpinnedParticipantAnnouncementAriaLabel": "Wedi dadbinio {participantName}", + "startSpotlightVideoTileMenuLabel": "Sbotolau i bawb", + "addSpotlightVideoTileMenuLabel": "Ychwanegu sbotolau", + "spotlightLimitReachedMenuTitle": "Wedi cyrraedd y terfyn sbotolau", + "stopSpotlightVideoTileMenuLabel": "Diffodd y sbotolau", + "stopSpotlightOnSelfVideoTileMenuLabel": "Gadael y sbotolau", + "attendeeRole": "Mynychwr", + "muteParticipantMenuItemLabel": "Tewi", + "waitingScreenText": "Yn aros i bobl eraill ymuno" + }, + "dialpad": { + "placeholderText": "Rhowch rif ffôn", + "deleteButtonAriaLabel": "Dileu" + }, + "holdButton": { + "onLabel": "Parhau", + "offLabel": "Rhoi i aros", + "tooltipOnContent": "Parhau â'r alwad", + "tooltipOffContent": "Rhoi'r alwad i Aros" + }, + "videoTile": { + "participantStateRinging": "Wrthi'n galw...", + "participantStateHold": "Galwad yn aros", + "moreOptionsButtonAriaLabel": "Mwy o Ddewisiadau" + }, + "CameraAndMicrophoneSitePermissionsRequest": { + "primaryText": "Caniatáu i {appName} ddefnyddio eich camera a'ch meicroffon", + "secondaryText": "Mae hyn er mwyn i gyfranogwyr allu eich gweld a'ch clywed chi.", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb y camera a'r meicroffon", + "ariaLabel": "Caniatáu mynediad i'r camera a'r meicroffon" + }, + "CameraSitePermissionsRequest": { + "primaryText": "Caniatáu i {appName} ddefnyddio eich camera", + "secondaryText": "Mae hyn er mwyn i gyfranogwyr allu eich gweld chi.", + "linkText": "Angen help? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb y camera", + "ariaLabel": "Caniatáu mynediad i'r camera" + }, + "MicrophoneSitePermissionsRequest": { + "primaryText": "Caniatáu i {appName} ddefnyddio eich meicroffon", + "secondaryText": "Mae hyn er mwyn i gyfranogwyr allu eich clywed chi.", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb feicroffon", + "ariaLabel": "Caniatáu mynediad i'r meicroffon" + }, + "CameraAndMicrophoneSitePermissionsCheck": { + "primaryText": "Wrthi'n chwilio am fynediad i'r camera a'r meicroffon", + "secondaryText": "Caniatáu mynediad os gofynnir i chi wneud hynny. Mae hyn er mwyn i gyfranogwyr allu eich gweld a'ch clywed chi.", + "linkText": "Angen help? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb y camera a'r meicroffon", + "ariaLabel": "Wrthi'n chwilio am fynediad i'r camera a'r meicroffon. Caniatáu mynediad os gofynnir i chi wneud hynny." + }, + "CameraSitePermissionsCheck": { + "primaryText": "Wrthi'n chwilio am fynediad i'r camera", + "secondaryText": "Caniatáu mynediad os gofynnir i chi wneud hynny. Mae hyn er mwyn i gyfranogwyr eich gweld.", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb y camera", + "ariaLabel": "Wrthi'n chwilio am fynediad i'r camera. Caniatáu mynediad os gofynnir i chi wneud hynny." + }, + "MicrophoneSitePermissionsCheck": { + "primaryText": "Wrthi'n chwilio am fynediad i’r meicroffon", + "secondaryText": "Caniatáu mynediad os gofynnir i chi wneud hynny. Mae hyn fel y gall cyfranogwyr eich clywed.", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau", + "primaryButtonText": "Bwrw ymlaen heb feicroffon", + "ariaLabel": "Wrthi'n chwilio am fynediad i'r meicroffon. Caniatáu mynediad os gofynnir i chi wneud hynny." + }, + "CameraAndMicrophoneSitePermissionsDenied": { + "primaryText": "Nid oes modd cael mynediad at y camera a'r meicroffon", + "secondaryText": "Cliciwch yr eicon clo yn y bar cyfeiriad i roi hawliau i'r meicroffon i'r dudalen we hon. Efallai bydd angen adnewyddu tudalen.", + "primaryButtonText": "Bwrw ymlaen heb y camera a'r meicroffon", + "linkText": "Angen help? Cael cymorth i ddatrys problemau" + }, + "CameraAndMicrophoneSitePermissionsDeniedSafari": { + "primaryText": "Does dim modd cael mynediad i'r camera a'r meicroffon", + "secondaryText": "Adnewyddwch y dudalen i ganiatáu hawliau, neu gwiriwch osodiadau'r porwr hwn a dilysu hawliau wedi'u galluogi ar gyfer y wefan hon.", + "primaryButtonText": "Bwrw ymlaen heb y camera a'r meicroffon", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau" + }, + "CameraSitePermissionsDenied": { + "primaryText": "Nid oes modd cael mynediad at y camera", + "secondaryText": "Cliciwch ar yr eicon clo yn y bar cyfeiriad i roi caniatâd camera i'r dudalen we hon. Efallai y bydd angen adnewyddu'r dudalen.", + "primaryButtonText": "Bwrw ymlaen heb y camera", + "linkText": "Angen help? Cael cymorth i ddatrys problemau" + }, + "MicrophoneSitePermissionsDenied": { + "primaryText": "Does dim modd cael mynediad i'r meicroffon", + "secondaryText": "Cliciwch yr eicon clo yn y bar cyfeiriad i roi hawliau i'r meicroffon i'r dudalen we hon. Efallai bydd angen adnewyddu tudalen.", + "primaryButtonText": "Bwrw ymlaen heb feicroffon", + "linkText": "Angen help? Cael cymorth i ddatrys problemau" + }, + "CameraSitePermissionsDeniedSafari": { + "primaryText": "Does dim modd cael mynediad i'r camera", + "secondaryText": "Adnewyddwch y dudalen i ganiatáu hawliau, neu gwiriwch osodiadau'r porwr hwn a dilysu hawliau wedi'u galluogi ar gyfer y wefan hon.", + "primaryButtonText": "Bwrw ymlaen heb y camera", + "linkText": "Angen help? Cael cymorth i ddatrys problemau" + }, + "MicrophoneSitePermissionsDeniedSafari": { + "primaryText": "Nid oes modd cael mynediad at y meicroffon", + "secondaryText": "Adnewyddwch y dudalen i ganiatáu hawliau, neu gwiriwch osodiadau'r porwr hwn a dilysu hawliau wedi'u galluogi ar gyfer y wefan hon.", + "primaryButtonText": "Bwrw ymlaen heb feicroffon", + "linkText": "Angen cymorth? Cael cymorth i ddatrys problemau" + }, + "UnsupportedBrowser": { + "primaryText": "Does dim modd delio â'r porwr", + "secondaryText": "Ymunwch â'r alwad hon gan ddefnyddio porwr cydnaws.", + "moreHelpLinkText": "Gweld gofynion cydnawsedd" + }, + "UnsupportedBrowserVersion": { + "primaryText": "Mae angen diweddaru'r porwr", + "secondaryText": "Er mwyn sicrhau’r alwad orau posibl, diweddarwch eich porwr a rhoi cynnig arall ar ymuno â'r alwad.", + "moreHelpLinkText": "Gweld gofynion cydnawsedd", + "continueAnywayButtonText": "Dechrau galwad heb ddiweddaru" + }, + "UnsupportedOperatingSystem": { + "primaryText": "Ni chefnogir system gweithredu", + "secondaryText": "Ymunwch â'r alwad hon gan ddefnyddio dyfais sydd â system weithredu gydnaws.", + "moreHelpLinkText": "Gweld gofynion cydnawsedd" + }, + "BrowserPermissionDenied": { + "primaryText": "Does dim modd defnyddio eich camera neu feicroffon", + "secondaryText": "Efallai nad oes gan eich porwr fynediad i'ch camera neu'ch meicroffon. I drwsio hyn, agorwch Dewisiadau'r System.", + "primaryButtonText": "Rhowch gynnig arall arni", + "linkText": "Angen help? Cael cymorth i ddatrys problemau" + }, + "BrowserPermissionDeniedIOS": { + "primaryText": "Caniatewch fynediad i'r meicroffon i barhau", + "secondaryText": "Er mwyn i gyfranogwyr allu eich clywed chi.", + "primaryButtonText": "Rhowch gynnig arall arni", + "imageAltText": "Lleoliad caniatâd meicroffon a dyfais camera ar gyfer iOS", + "linkText": "Angen help? Cael cymorth i ddatrys problemau", + "step1Text": "Ewch i'r ap Gosodiadau.", + "step2Text": "Sgroliwch i lawr i'r gosodiadau ar gyfer y porwr hwn", + "step3Text": "Rhowch y Meicroffon ar waith (Camera'n ddewisol)", + "step4Text": "Rhowch gynnig arall ar ymuno â'r alwad", + "step1DigitText": "1", + "step2DigitText": "2", + "step3DigitText": "3", + "step4DigitText": "4" + }, + "verticalGallery": { + "leftNavButtonAriaLabel": "y dudalen flaenorol", + "rightNavButtonAriaLabel": "y dudalen nesaf" + }, + "meetingConferencePhoneInfo": { + "meetingConferencePhoneInfoModalTitle": "Ymuno â galwad o'ch ffôn", + "meetingConferencePhoneInfoModalDialIn": "Deialu rhif", + "meetingConferencePhoneInfoModalMeetingId": "Rhowch ID y cyfarfod", + "meetingConferencePhoneInfoModalWait": "Aros i'r trefnydd roi mynediad", + "meetingConferencePhoneInfoModalNoPhoneAvailable": "Dim ffôn ar gael", + "meetingConferencePhoneInfoModalTollGeoData": "{country}, {city}", + "meetingConferencePhoneInfoModalTollFree": "(Di-doll)", + "meetingConferencePhoneInfoModalToll": "(Toll)" + }, + "IncomingCallNotification": { + "incomingCallNotificationPlaceholderId": "Defnyddiwr Anhysbys", + "incomingCallNotificationPlaceholderAlert": "{callerName} yn galw", + "incomingCallNoticicationAcceptWithAudioAriaLabel": "Derbyn gyda sain", + "incomingCallNoticicationAcceptWithVideoAriaLabel": "Derbyn gyda fideo", + "incomingCallNoticicationRejectAriaLabel": "Gwrthod", + "incomingCallNotificationAcceptButtonLabel": "Derbyn", + "incomingCallNotificationRejectButtonLabel": "Gwrthod", + "incomingCallNotificationAccceptWithVideoButtonLabel": "Derbyn gyda Fideo", + "incomingCallNotificationDismissButtonAriaLabel": "Diystyru" + } +} \ No newline at end of file diff --git a/packages/react-composites/src/composites/index.ts b/packages/react-composites/src/composites/index.ts index 598fd48bdca..d6199fff341 100644 --- a/packages/react-composites/src/composites/index.ts +++ b/packages/react-composites/src/composites/index.ts @@ -9,6 +9,7 @@ export * from './CallWithChatComposite'; export { COMPOSITE_LOCALE_EN_GB } from './localization/locales/en-GB/CompositeLocale'; export { COMPOSITE_LOCALE_AR_SA } from './localization/locales/ar-SA/CompositeLocale'; export { COMPOSITE_LOCALE_CS_CZ } from './localization/locales/cs-CZ/CompositeLocale'; +export { COMPOSITE_LOCALE_CY_GB } from './localization/locales/cy-GB/CompositeLocale'; export { COMPOSITE_LOCALE_DE_DE } from './localization/locales/de-DE/CompositeLocale'; export { COMPOSITE_LOCALE_ES_ES } from './localization/locales/es-ES/CompositeLocale'; export { COMPOSITE_LOCALE_FI_FI } from './localization/locales/fi-FI/CompositeLocale'; diff --git a/packages/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.tsx b/packages/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.tsx new file mode 100644 index 00000000000..581af51d1a2 --- /dev/null +++ b/packages/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.tsx @@ -0,0 +1,17 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { COMPONENT_LOCALE_CY_GB } from '@internal/react-components'; +import cy_GB from './strings.json'; +import { createCompositeStrings } from '../utils'; +import { CompositeLocale } from '../../LocalizationProvider'; + +/** + * Locale for Welsh (GB) + * + * @public + */ +export const COMPOSITE_LOCALE_CY_GB: CompositeLocale = { + component: COMPONENT_LOCALE_CY_GB, + strings: createCompositeStrings(cy_GB) +}; diff --git a/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json b/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json new file mode 100644 index 00000000000..67c840b461e --- /dev/null +++ b/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json @@ -0,0 +1,411 @@ +{ + "call": { + "cameraLabel": "Camera", + "noCamerasLabel": "Heb ganfod camerâu", + "cameraPermissionDenied": "Mae eich porwr yn rhwystro mynediad at eich camera", + "cameraTurnedOff": "Mae eich camera wedi'i ddiffodd", + "chatButtonLabel": "Sgwrs", + "close": "Cau", + "complianceBannerNowOnlyRecording": "Rydych chi ond yn recordio'r cyfarfod hwn bellach.", + "complianceBannerNowOnlyTranscription": "Rydych yn awr yn trawsgrifio'r cyfarfod hwn yn unig.", + "complianceBannerRecordingAndTranscriptionSaved": "Mae recordiad a thrawsgrifiad yn cael eu cadw.", + "complianceBannerRecordingAndTranscriptionStarted": "Wedi dechrau recordio a thrawsgrifio.", + "complianceBannerRecordingAndTranscriptionStopped": "Wedi stopio recordio a thrawsgrifio.", + "complianceBannerRecordingSaving": "Mae’r recordiad yn cael ei gadw.", + "complianceBannerRecordingStarted": "Recordio wedi dechrau.", + "complianceBannerRecordingStopped": "Recordio wedi stopio.", + "complianceBannerTranscriptionStarted": "Wedi dechrau’r trawsgrifiad.", + "complianceBannerTranscriptionConsent": "Drwy ymuno, rydych yn cydsynio i drawsgrifio'r cyfarfod hwn.", + "complianceBannerTranscriptionSaving": "Mae trawsgrifiad yn cael ei gadw.", + "complianceBannerTranscriptionStopped": "Wedi stopio’r trawsgrifiad.", + "configurationPageTitle": "Dechrau galwad", + "copyInviteLinkButtonLabel": "Copïo dolen y gwahoddiad", + "copyInviteLinkButtonActionedLabel": "Wedi copïo'r ddolen", + "copyInviteLinkActionedAriaLabel": "Wedi copïo dolen y gwahoddiad", + "defaultPlaceHolder": "Dewiswch opsiwn", + "dismissSidePaneButtonLabel": "Cau", + "videoEffectsPaneTitle": "Effeithiau", + "videoEffectsPaneBackgroundSelectionTitle": "Cefndir", + "configurationPageVideoEffectsButtonLabel": "Effeithiau", + "unableToStartVideoEffect": "Does dim modd defnyddio'r effaith fideo.", + "blurBackgroundEffectButtonLabel": "Pylu", + "blurBackgroundTooltip": "Niwlio'r Cefndir", + "removeBackgroundEffectButtonLabel": "Dim", + "removeBackgroundTooltip": "Tynnu'r Cefndir", + "cameraOffBackgroundEffectWarningText": "Mae eich camera wedi'i ddiffodd. Rhowch y camera ar waith i weld yr effaith fideo.", + "failedToJoinCallDueToNoNetworkMoreDetails": "Cafodd yr alwad ei datgysylltu oherwydd problem rhwydwaith. Tarwch olwg ar eich cysylltiad ac ymuno eto.", + "failedToJoinCallDueToNoNetworkTitle": "Galwad wedi'i datgysylltu", + "failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails": "Doeddech chi ddim wedi cael mynediad yn yr alwad. Os mai camgymeriad oedd hyn, ailymunwch â'r alwad.", + "failedToJoinTeamsMeetingReasonAccessDeniedTitle": "Wedi'i anfon ymaith o'r ystafell aros", + "learnMore": "Dysgu mwy", + "leavingCallTitle": "Wrthi'n gadael...", + "leftCallMoreDetails": "Os mai camgymeriad oedd hyn, ailymunwch â'r alwad.", + "leftCallTitle": "Fe adawoch chi'r alwad", + "lobbyScreenConnectingToCallTitle": "Ymuno â galwad", + "lobbyScreenWaitingToBeAdmittedTitle": "Wrthi’n aros am dderbyniad", + "microphonePermissionDenied": "Mae eich porwr yn rhwystro mynediad at eich meicroffon", + "microphoneToggleInLobbyNotAllowed": "Does dim modd tewi na dad-dewi tra yn yr ystafell aros.", + "mutedMessage": "Rydych chi wedi'ch tewi", + "networkReconnectMoreDetails": "Mae'n debyg bod rhywbeth wedi mynd o'i le. Rydyn ni'n ceisio mynd yn ôl i mewn i'r alwad.", + "networkReconnectTitle": "Daliwch arni", + "notInvitedToRoomDetails": "Does dim modd i chi ymuno â'r ystafell hon oherwydd does gennych chi ddim gwahoddiad.", + "notInvitedToRoomTitle": "Heb wahoddiad i'r ystafell", + "peopleButtonLabel": "Pobl", + "selectedPeopleButtonLabel": "Wedi Dewis y Botwm Pobl", + "peoplePaneTitle": "Pobl", + "peoplePaneMoreButtonAriaLabel": "Mwy", + "peopleButtonTooltipOpen": "Dangos cyfranogwyr", + "peopleButtonTooltipClose": "Cuddio’r cyfranogwyr", + "peoplePaneSubTitle": "Yn yr alwad hon {numberOfPeople}", + "privacyPolicy": "Polisi preifatrwydd", + "rejoinCallButtonLabel": "Ail-ymuno â'r alwad", + "removedFromCallMoreDetails": "Mae cyfranogwr arall wedi eich tynnu o'r alwad.", + "removedFromCallTitle": "Cawsoch eich tynnu", + "removeMenuLabel": "Tynnu", + "startSpotlightMenuLabel": "Sbotolau i bawb", + "addSpotlightMenuLabel": "Ychwanegu sbotolau", + "stopSpotlightMenuLabel": "Diffodd y sbotolau", + "stopSpotlightOnSelfMenuLabel": "Gadael y sbotolau", + "spotlightLimitReachedMenuTitle": "Wedi cyrraedd y terfyn sbotolau", + "stopAllSpotlightMenuLabel": "Stopio pob sbotolau", + "returnToCallButtonAriaDescription": "Mynd yn ôl i'r Alwad", + "returnToCallButtonAriaLabel": "Yn ôl", + "roomNotFoundDetails": "Doedd dim modd canfod ID yr ystafell a roddwyd.", + "roomNotFoundTitle": "Heb ganfod yr ystafell", + "roomNotValidDetails": "Dydy'r ystafell hon ddim yn ddilys ar hyn o bryd.", + "roomNotValidTitle": "Dydy'r ystafell ddim yn ddilys", + "inviteToRoomRemovedDetails": "Wedi tynnu eich gwahoddiad i ymuno â'r ystafell hon.", + "inviteToRoomRemovedTitle": "Wedi tynnu'r gwahoddiad i'r ystafell", + "soundLabel": "Sain", + "noMicrophonesLabel": "Heb ganfod meicroffonau", + "noSpeakersLabel": "Heb ganfod seinyddion", + "startCallButtonLabel": "Dechrau galwad", + "openDialpadButtonLabel": "Deialu rhif ffôn", + "peoplePaneAddPeopleButtonLabel": "Ychwanegu Pobl", + "dialpadStartCallButtonLabel": "Galwad", + "dialpadModalTitle": "Deialu Rhif Ffôn", + "dialpadModalAriaLabel": "Pad deialu", + "dialpadCloseModalButtonAriaLabel": "Cau'r pad deialu", + "moreButtonCallingLabel": "Mwy", + "resumeCallButtonLabel": "Ailgydio", + "resumingCallButtonLabel": "Wrthi'n ailgydio...", + "resumeCallButtonAriaLabel": "Ailgydio yn yr alwad", + "resumingCallButtonAriaLabel": "Ailgydio yn yr alwad", + "holdScreenLabel": "Mae eich galwad yn aros", + "openDtmfDialpadLabel": "Dangos y pad deialu", + "dtmfDialpadPlaceholderText": "Cofnodi rhif", + "outboundCallingNoticeString": "Wrthi'n galw...", + "participantJoinedNoticeString": "Mae {displayName} wedi ymuno", + "twoParticipantJoinedNoticeString": "Mae {displayName1} a {displayName2} wedi ymuno", + "threeParticipantJoinedNoticeString": "Mae {displayName1}, {displayName2} a {displayName3} wedi ymuno", + "participantLeftNoticeString": "Mae {displayName} wedi gadael", + "twoParticipantLeftNoticeString": "Mae {displayName1} a {displayName2} wedi gadael", + "threeParticipantLeftNoticeString": "Mae {displayName1}, {displayName2} a {displayName3} wedi gadael", + "unnamedParticipantString": "cyfranogwr dienw", + "manyUnnamedParticipantsJoined": "Mae cyfranogwr dienw a {numOfParticipants} o gyfranogwyr eraill wedi ymuno", + "manyUnnamedParticipantsLeft": "Mae cyfranogwr dienw a {numOfParticipants} o gyfranogwyr eraill wedi gadael", + "manyParticipantsJoined": "{displayName1}, {displayName2}, {displayName3} a {numOfParticipants} cyfranogwyr eraill wedi ymuno", + "manyParticipantsLeft": "{displayName1}, {displayName2}, {displayName3} a {numOfParticipants} cyfranogwyr eraill ar ôl", + "liveCaptionsLabel": "Capsiynau byw", + "captionsSettingsLabel": "Gosodiadau capsiynau", + "startCaptionsButtonOnLabel": "Rhoi capsiynau ar waith", + "startCaptionsButtonOffLabel": "Diffodd capsiynau", + "startCaptionsButtonTooltipOnContent": "Diffodd capsiynau", + "startCaptionsButtonTooltipOffContent": "Rhoi capsiynau ar waith", + "captionsSettingsModalTitle": "Gosodiadau Capsiynau", + "captionsSettingsSpokenLanguageDropdownLabel": "Iaith lafar", + "captionsSettingsCaptionLanguageDropdownLabel": "Iaith capsiynau", + "captionsSettingsSpokenLanguageDropdownInfoText": "Yr iaith y mae pawb yn yr alwad hon yn ei siarad.", + "captionsSettingsCaptionLanguageDropdownInfoText": "Bydd capsiynau'n ymddangos yn yr iaith hon.", + "captionsSettingsConfirmButtonLabel": "Cadarnhau", + "captionsSettingsCancelButtonLabel": "Canslo", + "captionsSettingsModalAriaLabel": "Moddol Gosodiad Capsiynau", + "captionsSettingsCloseModalButtonAriaLabel": "Cau Gosodiad Capsiynau", + "captionsBannerMoreButtonCallingLabel": "Mwy", + "captionsBannerMoreButtonTooltip": "Mwy o ddewisiadau", + "dismissModalAriaLabel": "Llun a llun lleol a phell, pwyswch Enter i fynd yn ôl i'r alwad", + "callRejectedTitle": "Doedd dim modd cwblhau'r alwad", + "callRejectedMoreDetails": "Dydy'r unigolyn rydych chi'n ceisio cysylltu â nhw ddim ar gael. Rhowch gynnig arall arni rywbryd eto.", + "callTimeoutTitle": "Doedd dim modd cwblhau'r alwad", + "callTimeoutDetails": "Dydy'r unigolyn rydych chi'n ceisio cysylltu â nhw ddim ar gael. Rhowch gynnig arall arni rywbryd eto.", + "callTimeoutBotTitle": "Doedd dim modd cwblhau'r alwad", + "callTimeoutBotDetails": "Dydy'r gwasanaeth rydych chi'n ceisio cysylltu ag ef ddim ar gael. Rhowch gynnig arall arni rywbryd eto.", + "dtmfDialerButtonLabel": "Pad deialu", + "dtmfDialerButtonTooltipOn": "Dangos y pad deialu", + "dtmfDialerButtonTooltipOff": "Cuddio'r pad deialu", + "dtmfDialerMoreButtonLabelOn": "Dangos y pad deialu", + "dtmfDialerMoreButtonLabelOff": "Cuddio'r pad deialu", + "phoneCallMoreButtonLabel": "Galwad Ffôn", + "spokenLanguageStrings": { + "ar-ae": "Arabeg - E.A.U.", + "ar-sa": "Arabeg - Saudi Arabia", + "da-dk": "Daneg", + "de-de": "Almaeneg - Yr Almaen", + "en-au": "Saesneg - Awstralia", + "en-ca": "Saesneg - Canada", + "en-gb": "Saesneg - Y Deyrnas Unedig", + "en-in": "Saesneg - India", + "en-nz": "Saesneg - Seland Newydd", + "en-us": "Saesneg - Unol Daleithiau America", + "es-es": "Sbaeneg - Sbaen (Modern)", + "es-mx": "Sbaeneg - Mecsico", + "fi-fi": "Ffinneg", + "fr-ca": "Ffrangeg - Canada", + "fr-fr": "Ffrangeg - Ffrainc", + "hi-in": "Hindi", + "it-it": "Eidaleg - Yr Eidal", + "ja-jp": "Japaneeg", + "ko-kr": "Coreeg", + "nb-no": "Norwyeg (Bokmål)", + "nl-be": "Iseldireg - Gwlad Belg", + "nl-nl": "Iseldireg - Yr Iseldiroedd", + "pl-pl": "Pwyleg", + "pt-br": "Portiwgaleg - Brasil", + "ru-ru": "Rwseg", + "sv-se": "Swedeg", + "zh-cn": "Tsieinëeg - Gweriniaeth y Bobl Tsieina", + "zh-hk": "Tsieinëeg - Hong Kong SAR", + "cs-cz": "Tsieceg", + "pt-pt": "Portiwgaleg - Portiwgal", + "tr-tr": "Tyrceg", + "vi-vn": "Fietnameg", + "th-th": "Thai", + "he-il": "Hebraeg", + "cy-gb": "Cymraeg", + "uk-ua": "Wcreineg", + "el-gr": "Groeg", + "hu-hu": "Hwngareg", + "ro-ro": "Rwmaneg", + "sk-sk": "Slofaceg", + "zh-tw": "Tsieinëeg - Taiwan" + }, + "captionLanguageStrings": { + "ar": "Arabeg", + "da": "Daneg", + "de": "Almaeneg", + "en": "Saesneg", + "es": "Sbaeneg", + "fi": "Ffinneg", + "fr-ca": "Ffrangeg - Canada", + "fr": "Ffrangeg - Ffrainc", + "hi": "Hindi", + "it": "Eidaleg", + "ja": "Japaneeg", + "ko": "Coreeg", + "nb": "Norwyeg (Bokmål)", + "nl": "Iseldireg", + "pl": "Pwyleg", + "pt": "Portiwgaleg - Brasil", + "ru": "Rwseg", + "sv": "Swedeg", + "zh-Hans": "Tsieinëeg (Syml)", + "zh-Hant": "Tsieinëeg (Traddodiadol)", + "cs": "Tsieceg", + "pt-pt": "Portiwgaleg - Portiwgal", + "tr": "Tyrceg", + "vi": "Fietnameg", + "th": "Thai", + "he": "Hebraeg", + "cy": "Cymraeg", + "uk": "Wcreineg", + "el": "Groeg", + "hu": "Hwngareg", + "ro": "Rwmaneg", + "sk": "Slofaceg" + }, + "captionsBannerSpinnerText": "Wrthi'n dechrau'r capsiynau...", + "transferPageTransferorText": "Wrthi'n trosglwyddo...", + "transferPageTransferTargetText": "Wrthi'n cysylltu...", + "transferPageUnknownTransferorDisplayName": "Dim manylion", + "transferPageUnknownTransferTargetDisplayName": "Dim manylion", + "transferPageNoticeString": "Rydych chi'n cael eich trosglwyddo", + "participantCouldNotBeReachedTitle": "Dydy'r cyfranogwr targed ddim ar gael ar hyn o bryd", + "participantCouldNotBeReachedMoreDetails": "Cysylltwch â'r cyfranogwr pan fydd ar gael", + "permissionToReachTargetParticipantNotAllowedTitle": "Ni chaniateir caniatâd i gyrraedd y cyfranogwr targed", + "permissionToReachTargetParticipantNotAllowedMoreDetails": "Gwnewch yn siŵr bod y cyfranogwr targed yn yr un tenant", + "unableToResolveTenantTitle": "Does dim modd datrys id tenant ar gyfer y cyfranogwr targed", + "unableToResolveTenantMoreDetails": "Gwnewch yn siŵr bod yr id cyfranogwr wedi'i roi'n gywir", + "participantIdIsMalformedTitle": "Dydy'r id cyfranogwr ddim yn y fformat cywir", + "participantIdIsMalformedMoreDetails": "Gwnewch yn siŵr bod id y cyfranogwr yn y fformat cywir", + "moreButtonGalleryControlLabel": "Gweld", + "moreButtonGalleryPositionToggleLabel": "Symud yr oriel i'r brig", + "moreButtonGallerySpeakerLayoutLabel": "Seinydd", + "moreButtonGalleryFloatingLocalLayoutLabel": "Deinamig", + "moreButtonGalleryDefaultLayoutLabel": "Gwedd oriel", + "moreButtonGalleryFocusedContentLayoutLabel": "Canolbwyntio ar y cynnwys", + "moreButtonLargeGalleryDefaultLayoutLabel": "Oriel Fawr", + "capabilityChangedNotification": { + "turnVideoOn": { + "lostDueToMeetingOption": "Mae eich camera wedi'i analluogi. Does dim modd i chi rannu fideo mwyach.", + "grantedDueToMeetingOption": "Mae eich camera wedi'i alluogi. Rhowch eich camera ar waith os hoffech chi rannu fideo." + }, + "unmuteMic": { + "lostDueToMeetingOption": "Mae eich meic wedi'i analluogi. Does dim modd i chi ddad-dewi mwyach.", + "grantedDueToMeetingOption": "Mae eich meic wedi cael ei alluogi. Dad-dewi’r meic os hoffech chi siarad." + }, + "shareScreen": { + "lostDueToRoleChangeToAttendee": "Mae eich rôl wedi cael ei newid. Fydd rhai gweithredoedd, fel rhannu cynnwys, ddim ar gael i chi.", + "grantedDueToRoleChangeToPresenter": "Rydych chi'n gyflwynydd. Gallwch rannu cynnwys a hwyluso'r cyfarfod." + }, + "hideAttendeeNames": { + "hideAttendeeNameAttendee": "Mae eich enw wedi'i guddio rhag mynychwyr eraill. Gall trefnwyr a chyflwynwyr weld eich enw go iawn.", + "hideAttendeeNamePresenter": "Mae enwau mynychwyr wedi'u cuddio. Dim ond trefnwyr a chyflwynwyr sy'n gallu gweld enwau i warchod preifatrwydd y mynychwr." + } + }, + "surveyTitle": "Helpwch ni i wella", + "starSurveyHelperText": "Sut oedd ansawdd yr alwad?", + "starSurveyOneStarText": "Roedd yr ansawdd yn wael.", + "starSurveyTwoStarText": "Roedd yr ansawdd yn wael.", + "starSurveyThreeStarText": "Roedd yr ansawdd yn dda.", + "starSurveyFourStarText": "Roedd yr ansawdd yn wych.", + "starSurveyFiveStarText": "Roedd yr ansawdd yn ardderchog.", + "surveyConfirmButtonLabel": "Anfon Adborth", + "starRatingAriaLabel": "Dewis {0} o {1} seren", + "surveySkipButtonLabel": "Hepgor", + "tagsSurveyQuestion": "Beth allai fod yn well?", + "tagsSurveyTextFieldDefaultText": "Arall, nodwch os gwelwch yn dda", + "tagsSurveyHelperText": "Gwiriwch unrhyw broblemau a gawsoch chi", + "endOfSurveyText": "Diolch am eich adborth!", + "surveyIssues": { + "overallRating": { + "callCannotJoin": "Doeddwn i ddim yn gallu ymuno â'r alwad", + "callCannotInvite": "Doeddwn i ddim yn gallu gwahodd eraill i'r alwad", + "hadToRejoin": "Roedd yn rhaid i fi ailymuno â'r alwad", + "callEndedUnexpectedly": "Daeth yr alwad i ben ar fy nghyfer i yn annisgwyl", + "otherIssues": "Roeddwn i'n cael problemau eraill gyda'r alwad" + }, + "audioRating": { + "noLocalAudio": "Doedd yr ochr arall ddim yn gallu clywed dim byd", + "noRemoteAudio": "Doeddwn i ddim yn gallu clywed dim byd", + "echo": "Roeddwn i'n clywed adlais ar yr alwad", + "audioNoise": "Roeddwn i'n clywed synau ar yr alwad", + "lowVolume": "Roedd lefel y sain yn isel", + "audioStoppedUnexpectedly": "Daeth y sain i ben yn annisgwyl", + "distortedSpeech": "Roedd y sain wedi'i haflunio", + "audioInterruption": "Torrwyd ar draws y sain", + "otherIssues": "Roeddwn i'n cael problemau sain eraill yn yr alwad hon" + }, + "videoRating": { + "noVideoReceived": "Doeddwn i ddim yn gallu gweld unrhyw fideo", + "noVideoSent": "Doedd pobl eraill ddim yn gallu fy ngweld i", + "lowQuality": "Roedd ansawdd y fideo yn isel", + "freezes": "Mae'r fideo wedi rhewi", + "stoppedUnexpectedly": "Daeth y fideo i ben yn annisgwyl", + "darkVideoReceived": "Rydw i'n gweld dim ond sgriniau tywyll pan fo pobl eraill yn rhoi eu camerâu ar waith", + "audioVideoOutOfSync": "Doedd y Sain a'r Fideo ddim wedi'u cysoni", + "otherIssues": "Roeddwn i'n cael problemau fideo eraill yn yr alwad hon" + }, + "screenshareRating": { + "noContentLocal": "Doedd pobl eraill ddim yn gallu gweld fy rhannu sgrin", + "noContentRemote": "Doeddwn i ddim yn gallu gweld rhannu sgrin pobl eraill", + "cannotPresent": "Doedd dim modd i fi gyflwyno fy sgrin", + "lowQuality": "Roedd ansawdd rhannu sgrin yn isel", + "freezes": "Mae rhannu sgrin wedi rhewi", + "stoppedUnexpectedly": "Stopiodd rhannu sgrin yn annisgwyl", + "largeDelay": "Mae cryn dipyn o ran rhannu sgrin", + "otherIssues": "Roeddwn i'n cael problemau rhannu sgrin eraill yn yr alwad hon" + } + }, + "surveyIssuesHeadingStrings": { + "overallRating": "Cyffredinol", + "audioRating": "Sain", + "videoRating": "Fideo", + "screenshareRating": "Cyflwyno" + }, + "spotlightPrompt": { + "startSpotlightHeading": "Sbotolau i bawb?", + "startSpotlightText": "Byddwch chi’n amlygu'r fideo hwn ar gyfer pawb yn y cyfarfod.", + "startSpotlightOnSelfText": "Byddwch chi’n amlygu eich fideo ar gyfer pawb yn y cyfarfod.", + "startSpotlightConfirmButtonLabel": "Sbotolau i bawb", + "startSpotlightCancelButtonLabel": "Canslo", + "stopSpotlightHeading": "Stopio rhoi sbotolau ar y fideo hwn?", + "stopSpotlightOnSelfHeading": "Gadael y sbotolau?", + "stopAllSpotlightHeading": "Stopio rhoi sbotolau ar yr holl fideos?", + "stopSpotlightText": "Ni fydd y fideo hwn yn cael ei amlygu ar gyfer pawb yn y cyfarfod mwyach.", + "stopSpotlightOnSelfText": "Fydd eich fideo ddim yn cael ei amlygu ar gyfer pawb yn y cyfarfod mwyach.", + "stopAllSpotlightText": "Ni fydd y fideos bellach yn cael eu hamlygu i bawb yn y cyfarfod.", + "stopSpotlightConfirmButtonLabel": "Diffodd y sbotolau", + "stopSpotlightOnSelfConfirmButtonLabel": "Gadael y sbotolau", + "stopSpotlightCancelButtonLabel": "Canslo" + }, + "exitSpotlightButtonLabel": "Gadael y sbotolau", + "exitSpotlightButtonTooltip": "Gadael y sbotolau", + "leaveConfirmButtonLabel": "Gadael", + "endCallConfirmButtonLabel": "Gorffen yr alwad", + "hangUpCancelButtonLabel": "Canslo", + "leaveConfirmDialogTitle": "Gadael yr alwad?", + "leaveConfirmDialogContent": "Ydych chi'n siŵr eich bod am adael yr alwad?", + "endCallConfirmDialogTitle": "Dod â'r alwad i ben?", + "endCallConfirmDialogContent": "Byddwch chi'n dod â'r alwad i ben ar gyfer pawb.", + "invalidMeetingIdentifier": "ID neu god cyfrin cyfarfod annilys", + "pinParticipantMenuLabel": "Pinio ar fy nghyfer i", + "pinParticipantLimitReachedMenuLabel": "Pinio (wedi cyrraedd y terfyn)", + "unpinParticipantMenuLabel": "Dadbinio", + "pinParticipantMenuItemAriaLabel": "Pinio", + "unpinParticipantMenuItemAriaLabel": "Dadbinio", + "muteAllMenuLabel": "Tewi pawb", + "muteAllDialogTitle": "Tewi pawb?", + "muteAllDialogContent": "Bydd hyn yn tewi pawb yn y cyfarfod ond chi.", + "muteAllConfirmButtonLabel": "Tewi pawb", + "muteAllCancelButtonLabel": "Canslo", + "joinBreakoutRoomButtonLabel": "Ymuno â'r cyfarfod ymylol", + "returnFromBreakoutRoomButtonLabel": "Gadael yr ystafell", + "leaveBreakoutRoomAndMeetingButtonLabel": "Gadael y cyfarfod", + "breakoutRoomJoinedNotificationTitle": "Rydych chi wedi ymuno â'r Cyfarfod Ymylol '{roomName}'", + "joinBreakoutRoomBannerTitle": "Mae'r cyfarfod ymylol '{roomName}' ar agor", + "joinBreakoutRoomBannerButtonLabel": "Ymuno", + "returnFromBreakoutRoomBannerTitle": "Mynd yn ôl i'r prif gyfarfod", + "returnFromBreakoutRoomBannerButtonLabel": "Ailymuno" + }, + "chat": { + "chatListHeader": "Yn y sgwrs hon", + "uploadAttachment": "Llwytho Atodiad i Fyny", + "uploadImageDataNotProvided": "Dydy data'r ddelwedd ddim wedi'i ddarparu.", + "uploadImageIsTooLarge": "Mae'r ddelwedd yn rhy fawr. Dewiswch un sy'n llai na {maxImageSize} MB.", + "uploadImageExtensionIsNotAllowed": "Ni chaniateir llwytho'r ddelwedd .{imageExtension} i fyny.", + "uploadImageFailed": "Does dim modd llwytho'r ddelwedd i fyny. Rhowch gynnig arall arni rywbryd eto." + }, + "callWithChat": { + "chatButtonLabel": "Sgwrs", + "chatButtonNewMessageNotificationLabel": "Neges Newydd", + "chatButtonTooltipClosedWithMessageCount": "Dangos sgwrs ({unreadMessagesCount} heb ei darllen)", + "chatButtonTooltipClose": "Cuddio'r sgwrs", + "chatButtonTooltipOpen": "Dangos y sgwrs", + "chatPaneTitle": "Sgwrs", + "copyInviteLinkButtonLabel": "Copïo dolen y gwahoddiad", + "copyInviteLinkButtonActionedLabel": "Wedi copïo'r ddolen", + "copyInviteLinkActionedAriaLabel": "Wedi copïo dolen y gwahoddiad", + "dismissSidePaneButtonLabel": "Cau", + "moreDrawerAudioDeviceMenuTitle": "Dyfais Sain", + "moreDrawerButtonLabel": "Mwy o ddewisiadau", + "moreDrawerButtonTooltip": "Mwy o ddewisiadau", + "moreDrawerMicrophoneMenuTitle": "Meicroffon", + "moreDrawerSpeakerMenuTitle": "Siaradwr", + "moreDrawerCaptionsMenuTitle": "Capsiynau byw", + "moreDrawerSpokenLanguageMenuTitle": "Iaith lafar", + "moreDrawerCaptionLanguageMenuTitle": "Iaith capsiwn", + "moreDrawerGalleryOptionsMenuTitle": "Dewisiadau oriel", + "peopleButtonLabel": "Pobl", + "selectedPeopleButtonLabel": "Wedi Dewis y Botwm Pobl", + "peopleButtonTooltipOpen": "Dangos y cyfranogwyr", + "peopleButtonTooltipClose": "Cuddio’r cyfranogwyr", + "peopleButtonTooltipOpenAriaLabel": "Botwm Pobl, Dangos cyfranogwyr", + "peopleButtonTooltipCloseAriaLabel": "Botwm Pobl, Cuddio cyfranogwyr", + "peoplePaneSubTitle": "Yn yr alwad hon", + "peoplePaneTitle": "Pobl", + "pictureInPictureTileAriaLabel": "Crynodebau Fideo. Cliciwch i fynd yn ôl i sgrin yr alwad.", + "removeMenuLabel": "Tynnu", + "openDialpadButtonLabel": "Deialu rhif ffôn", + "returnToCallButtonAriaDescription": "Mynd yn ôl i'r Alwad", + "returnToCallButtonAriaLabel": "Yn ôl", + "peoplePaneAddPeopleButtonLabel": "Ychwanegu Pobl", + "dialpadStartCallButtonLabel": "Galwad", + "dialpadModalTitle": "Deialu Rhif Ffôn", + "dialpadModalAriaLabel": "Pad deialu", + "dialpadCloseModalButtonAriaLabel": "Cau'r pad deialu", + "openDtmfDialpadLabel": "Dangos y pad deialu", + "dtmfDialpadPlaceholderText": "Cofnodi rhif", + "breakoutRoomChatPaneTitle": "Sgwrs y Cyfarfod Ymylol", + "chatContentSpinnerLabel": "Wrthi'n llwytho..." + } +} \ No newline at end of file From adbd6739f79e0aaa2bf7bb1a79852a31173f47b9 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:26:23 -0700 Subject: [PATCH 46/58] fix page like release (#5249) --- .../IncomingCallNotification/Docs.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx index 6f9fcbdb199..04d12e31c41 100644 --- a/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx +++ b/packages/storybook8/stories/Components/IncomingCallNotification/IncomingCallNotification/Docs.mdx @@ -17,8 +17,10 @@ accept the call with either audio or video or reject the call. This component is for each of the calls held in its state. -## Styling Depending on your use of `IncomingCallNotification` and the `IncomingCallStack` you might want to customize -Match your notification's appearance to your needs. Both components includes API's to adjust the CSS on many different +## Styling + +Depending on your use of `IncomingCallNotification` and the `IncomingCallStack` you might want to customize +your notification's appearance based on your needs. Both components includes API's to adjust the CSS on many different elements of the notification. Below is an example of how you can customize `IncomingCallNotification`. From ae1d6d846c4d99eb895c7bb0cb00d78ccaa89f9d Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:02:00 -0700 Subject: [PATCH 47/58] fix composite options spread (#5250) --- packages/acs-ui-javascript-loaders/src/callCompositeLoader.ts | 2 +- .../src/callWithChatCompositeLoader.ts | 2 +- packages/acs-ui-javascript-loaders/src/chatCompositeLoader.ts | 2 +- .../src/outboundCallCompositeLoader.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/acs-ui-javascript-loaders/src/callCompositeLoader.ts b/packages/acs-ui-javascript-loaders/src/callCompositeLoader.ts index 814af1b3ece..57188838f77 100644 --- a/packages/acs-ui-javascript-loaders/src/callCompositeLoader.ts +++ b/packages/acs-ui-javascript-loaders/src/callCompositeLoader.ts @@ -57,6 +57,6 @@ export const loadCallComposite = async function ( throw new Error('Failed to find the root element'); } - createRoot(htmlElement).render(React.createElement(CallComposite, { ...props, adapter }, null)); + createRoot(htmlElement).render(React.createElement(CallComposite, { options: props, adapter }, null)); return adapter; }; diff --git a/packages/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.ts b/packages/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.ts index be5c749cb60..90ed50402ef 100644 --- a/packages/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.ts +++ b/packages/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.ts @@ -54,6 +54,6 @@ export const loadCallWithChatComposite = async function ( throw new Error('Failed to find the root element'); } - createRoot(htmlElement).render(React.createElement(CallWithChatComposite, { ...props, adapter }, null)); + createRoot(htmlElement).render(React.createElement(CallWithChatComposite, { options: props, adapter }, null)); return adapter; }; diff --git a/packages/acs-ui-javascript-loaders/src/chatCompositeLoader.ts b/packages/acs-ui-javascript-loaders/src/chatCompositeLoader.ts index e5ca15b315d..fe3017abc47 100644 --- a/packages/acs-ui-javascript-loaders/src/chatCompositeLoader.ts +++ b/packages/acs-ui-javascript-loaders/src/chatCompositeLoader.ts @@ -53,6 +53,6 @@ export const loadChatComposite = async function ( throw new Error('Failed to find the root element'); } - createRoot(htmlElement).render(React.createElement(ChatComposite, { ...props, adapter }, null)); + createRoot(htmlElement).render(React.createElement(ChatComposite, { options: props, adapter }, null)); return adapter; }; diff --git a/packages/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.ts b/packages/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.ts index 69301688881..29295928c1c 100644 --- a/packages/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.ts +++ b/packages/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.ts @@ -63,6 +63,6 @@ export const loadOutboundCallComposite = async function ( throw new Error('Failed to find the root element'); } - createRoot(htmlElement).render(React.createElement(CallComposite, { ...props, adapter }, null)); + createRoot(htmlElement).render(React.createElement(CallComposite, { options: props, adapter }, null)); return adapter; }; From b917c976c66d2e2502a80a59355c4e3eddc028f0 Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:14:16 -0700 Subject: [PATCH 48/58] Add more robust checks to composite javascript tests to fix flakey tests (#5255) --- .../CompositeJavascriptTest.test.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/samples/tests/StaticHtmlComposites/CompositeJavascriptTest.test.ts b/samples/tests/StaticHtmlComposites/CompositeJavascriptTest.test.ts index 1de9be32408..9f5369d58c3 100644 --- a/samples/tests/StaticHtmlComposites/CompositeJavascriptTest.test.ts +++ b/samples/tests/StaticHtmlComposites/CompositeJavascriptTest.test.ts @@ -8,6 +8,8 @@ dotenv.config({ path: path.join(__dirname, '..', '.env') }); const SERVER_BASE_URL = 'http://localhost:8080/'; const PARTICIPANTS = ['Jack']; +const isBetaBuild = process.env['COMMUNICATION_REACT_FLAVOR'] === 'beta'; + test.describe('JS Bundle Test', () => { test.beforeEach(async ({ page }) => { await page.addStyleTag({ content: getTestCSS() }); @@ -32,8 +34,15 @@ test.describe('JS Bundle Test', () => { await page.goto(getTestUrl('chatComposite.html')); expect(await page.waitForSelector('text=Hello to you')).toBeTruthy(); + // Wait for message to finish sending - await page.waitForTimeout(1000); + await page.waitForSelector('[data-ui-id=chat-composite-message-status-icon][aria-label="Message sent"]'); + + // Flakey test fix: wait for participant list to have finished loading + if (isBetaBuild) { + await page.waitForSelector('[data-ui-id=participant-item]'); + } + await page.addScriptTag({ content: `document.querySelector('[data-ui-id=message-timestamp]').innerText='timestamp';` }); From 53a34e4dc8c0c8292b4d0801808d7b0b13e86fd3 Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:27:06 -0700 Subject: [PATCH 49/58] Update webpack version and postcss to latest for fixing dependabot alerts (#5234) --- common/config/rush/pnpm-lock.yaml | 497 +++++++++--------- .../rush/variants/stable/pnpm-lock.yaml | 491 +++++++++-------- packages/fake-backends/package.json | 2 +- packages/react-components/package.json | 2 +- packages/react-composites/package.json | 4 +- packages/storybook/package.json | 2 +- packages/storybook8/package.json | 2 +- samples/CallWithChat/package.json | 4 +- samples/Calling/package.json | 4 +- samples/CallingStateful/package.json | 4 +- samples/Chat/package.json | 4 +- samples/ComponentExamples/package.json | 4 +- samples/Server/package.json | 2 +- samples/StaticHtmlComposites/package.json | 2 +- tools/check-treeshaking/package.json | 2 +- 15 files changed, 499 insertions(+), 527 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index b9eb1053bac..4ed5b730d25 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -5172,7 +5172,7 @@ packages: playwright: 1.39.0 dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack@5.89.0): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack@5.95.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5206,10 +5206,10 @@ packages: react-refresh: 0.11.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.89.0): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.95.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5243,7 +5243,7 @@ packages: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /@polka/url@1.0.0-next.28: @@ -5652,7 +5652,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -5684,7 +5684,7 @@ packages: '@storybook/source-loader': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -5729,7 +5729,7 @@ packages: - webpack-sources dev: false - /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -5790,7 +5790,7 @@ packages: '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addon-measure': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-outline': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-toolbars': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -5805,7 +5805,7 @@ packages: react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - eslint @@ -5956,7 +5956,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-5pQrRM1PUtg8YM1odgUQyQeo6DDaMBF9CnIMwgioDrSBMHf+SqQ2MBgW/4GYbfrBYhhrML1d/QbbpwPJ7eb1Bg==} deprecated: 'Storyshots is deprecated in favor of the Storybook test-runner. Migration guide: https://storybook.js.org/docs/writing-tests/storyshots-migration-guide' peerDependencies: @@ -6012,8 +6012,8 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/babel-plugin-require-context-hook': 1.0.1 '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) @@ -6115,12 +6115,12 @@ packages: storybook: 8.3.3 dev: false - /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.89.0): + /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.95.0): resolution: {integrity: sha512-rVQTTw+oxJltbVKaejIWSHwVKOBJs3au21f/pYXhV0aiNgNhxEa3vr79t/j0j8ox8uJtzM8XYOb7FlkvGfHlwQ==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.95.0) transitivePeerDependencies: - supports-color - webpack @@ -6352,28 +6352,28 @@ packages: '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@types/node': 16.18.110 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.38.1 - css-loader: 5.2.7(webpack@5.89.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0) + css-loader: 5.2.7(webpack@5.95.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.95.0) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) path-browserify: 1.0.1 process: 0.11.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.89.0) - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 4.3.0(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 4.3.0(webpack@5.95.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 transitivePeerDependencies: @@ -6404,26 +6404,26 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.89.0) + css-loader: 6.11.0(webpack@5.95.0) es-module-lexer: 1.5.4 express: 4.21.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.95.0) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) magic-string: 0.30.11 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 storybook: 8.3.3 - style-loader: 3.3.4(webpack@5.89.0) - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + style-loader: 3.3.4(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.95.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 transitivePeerDependencies: @@ -6639,7 +6639,7 @@ packages: webpack: 4.47.0 dev: false - /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6673,7 +6673,7 @@ packages: typescript: 5.4.5 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /@storybook/core-common@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): @@ -6934,7 +6934,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -6952,13 +6952,13 @@ packages: optional: true dependencies: '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - bufferutil @@ -7171,21 +7171,21 @@ packages: '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/node': 16.18.110 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.38.1 - css-loader: 5.2.7(webpack@5.89.0) + css-loader: 5.2.7(webpack@5.95.0) express: 4.21.0 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) node-fetch: 2.7.0 process: 0.11.10 react: 18.3.1 @@ -7193,14 +7193,14 @@ packages: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) telejson: 6.0.8 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 4.3.0(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 4.3.0(webpack@5.95.0) webpack-virtual-modules: 0.4.6 transitivePeerDependencies: - '@rspack/core' @@ -7282,7 +7282,7 @@ packages: dependencies: '@storybook/core-webpack': 8.3.3(storybook@8.3.3) '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.95.0) '@types/node': 22.7.1 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -7296,7 +7296,7 @@ packages: storybook: 8.3.3 tsconfig-paths: 4.2.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/test' - '@swc/core' @@ -7366,7 +7366,7 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0): + /@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==} peerDependencies: typescript: '>= 3.x' @@ -7380,12 +7380,12 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.5) tslib: 2.7.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false - /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0): + /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} peerDependencies: typescript: '>= 4.x' @@ -7399,7 +7399,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.5) tslib: 2.7.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false @@ -7477,17 +7477,17 @@ packages: '@babel/core': 7.25.2 '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.89.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.95.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.95.0) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/estree': 0.0.51 @@ -7515,7 +7515,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -8180,20 +8180,6 @@ packages: resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} dev: false - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 - dev: false - - /@types/eslint@9.6.1: - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - dev: false - /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false @@ -8609,7 +8595,7 @@ packages: resolution: {integrity: sha512-8Z3/edqxE3RRlOJwKSgOFxLZRt/i1qFlv/Bi308ZUKo9jh8oGngd9r8GR0ZNKW5AEJq8QNQE3b17CwghTjQ0Uw==} dependencies: '@types/node': 20.14.12 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -9081,29 +9067,29 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) dev: false - /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) dev: false - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.89.0): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.95.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -9114,12 +9100,12 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) dev: false - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -9130,8 +9116,8 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) dev: false /@xtuc/ieee754@1.2.0: @@ -9166,8 +9152,8 @@ packages: acorn-walk: 8.3.4 dev: false - /acorn-import-assertions@1.9.0(acorn@8.12.1): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 dependencies: @@ -9292,10 +9278,8 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1(ajv@8.17.1): + /ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9882,7 +9866,7 @@ packages: webpack: 4.47.0 dev: false - /babel-loader@8.1.0(@babel/core@7.25.2)(webpack@5.89.0): + /babel-loader@8.1.0(@babel/core@7.25.2)(webpack@5.95.0): resolution: {integrity: sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==} engines: {node: '>= 6.9'} peerDependencies: @@ -9895,10 +9879,10 @@ packages: mkdirp: 0.5.6 pify: 4.0.1 schema-utils: 2.7.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.89.0): + /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.95.0): resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -9908,7 +9892,7 @@ packages: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /babel-plugin-add-react-displayname@0.0.5: @@ -11140,7 +11124,7 @@ packages: toggle-selection: 1.0.6 dev: false - /copy-webpack-plugin@11.0.0(webpack@5.89.0): + /copy-webpack-plugin@11.0.0(webpack@5.95.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -11152,7 +11136,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /copyfiles@2.4.1: @@ -11417,52 +11401,54 @@ packages: webpack: 4.47.0 dev: false - /css-loader@4.3.0(webpack@5.89.0): - resolution: {integrity: sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==} + /css-loader@5.2.7(webpack@5.95.0): + resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} engines: {node: '>= 10.13.0'} peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - camelcase: 6.3.0 - cssesc: 3.0.0 - icss-utils: 4.1.1 + icss-utils: 5.1.0(postcss@8.4.47) loader-utils: 2.0.4 - postcss: 7.0.39 - postcss-modules-extract-imports: 2.0.0 - postcss-modules-local-by-default: 3.0.3 - postcss-modules-scope: 2.2.0 - postcss-modules-values: 3.0.0 + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - schema-utils: 2.7.1 + schema-utils: 3.3.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /css-loader@5.2.7(webpack@5.89.0): - resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} - engines: {node: '>= 10.13.0'} + /css-loader@6.11.0(webpack@5.95.0): + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^4.27.0 || ^5.0.0 + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: icss-utils: 5.1.0(postcss@8.4.47) - loader-utils: 2.0.4 postcss: 8.4.47 postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) postcss-modules-scope: 3.2.0(postcss@8.4.47) postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - schema-utils: 3.3.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /css-loader@6.11.0(webpack@5.89.0): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} + /css-loader@7.1.2(webpack@5.95.0): + resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true @@ -11477,7 +11463,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /css-select@4.3.0: @@ -13516,7 +13502,7 @@ packages: webpack: 4.47.0 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13545,10 +13531,10 @@ packages: semver: 7.6.3 tapable: 1.1.3 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -13568,7 +13554,7 @@ packages: semver: 7.6.3 tapable: 2.2.1 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /form-data@4.0.0: @@ -14405,7 +14391,7 @@ packages: webpack: 4.47.0 dev: false - /html-webpack-plugin@5.6.0(webpack@5.89.0): + /html-webpack-plugin@5.6.0(webpack@5.95.0): resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -14422,7 +14408,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /htmlparser2@3.10.1: @@ -18958,7 +18944,7 @@ packages: webpack: 4.47.0 dev: false - /raw-loader@4.0.2(webpack@5.89.0): + /raw-loader@4.0.2(webpack@5.95.0): resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -18966,7 +18952,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /react-colorful@5.6.1(react-dom@18.3.1)(react@18.3.1): @@ -20035,7 +20021,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -20585,7 +20571,7 @@ packages: react-dom: ^16.8.0 || ^17 || ^18 styled-components: ^5.2.0 dependencies: - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) @@ -20899,7 +20885,7 @@ packages: webpack: 4.47.0 dev: false - /style-loader@2.0.0(webpack@5.89.0): + /style-loader@2.0.0(webpack@5.95.0): resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20907,16 +20893,16 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /style-loader@3.3.4(webpack@5.89.0): + /style-loader@3.3.4(webpack@5.95.0): resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /style-to-js@1.1.14: @@ -21171,7 +21157,7 @@ packages: webpack-sources: 1.4.3 dev: false - /terser-webpack-plugin@5.3.10(webpack@5.89.0): + /terser-webpack-plugin@5.3.10(webpack@5.95.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -21192,7 +21178,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.33.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /terser@4.8.1: @@ -21486,7 +21472,7 @@ packages: yargs-parser: 21.1.1 dev: false - /ts-loader@8.4.0(typescript@5.4.5)(webpack@5.89.0): + /ts-loader@8.4.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} engines: {node: '>=10.0.0'} peerDependencies: @@ -21499,7 +21485,7 @@ packages: micromatch: 4.0.8 semver: 7.6.3 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /ts-node-dev@2.0.0(@types/node@20.14.12)(typescript@5.4.5): @@ -22102,7 +22088,7 @@ packages: webpack: 4.47.0 dev: false - /url-loader@4.1.1(webpack@5.89.0): + /url-loader@4.1.1(webpack@5.95.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -22115,7 +22101,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /url-parse@1.5.10: @@ -22441,7 +22427,7 @@ packages: - utf-8-validate dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -22459,9 +22445,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.89.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.95.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -22470,13 +22456,13 @@ packages: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) webpack-merge: 5.10.0 dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -22494,9 +22480,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.89.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.95.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -22505,7 +22491,7 @@ packages: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 webpack-merge: 5.10.0 dev: false @@ -22524,7 +22510,7 @@ packages: webpack-log: 2.0.0 dev: false - /webpack-dev-middleware@4.3.0(webpack@5.89.0): + /webpack-dev-middleware@4.3.0(webpack@5.95.0): resolution: {integrity: sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==} engines: {node: '>= v10.23.3'} peerDependencies: @@ -22536,10 +22522,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-middleware@5.3.4(webpack@5.89.0): + /webpack-dev-middleware@5.3.4(webpack@5.95.0): resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -22550,10 +22536,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-middleware@6.1.3(webpack@5.89.0): + /webpack-dev-middleware@6.1.3(webpack@5.95.0): resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -22567,10 +22553,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.89.0): + /webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} hasBin: true @@ -22611,9 +22597,9 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-middleware: 5.3.4(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-middleware: 5.3.4(webpack@5.95.0) ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -22725,8 +22711,8 @@ packages: webpack-sources: 1.4.3 dev: false - /webpack@5.89.0(webpack-cli@5.1.4): - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + /webpack@5.95.0(webpack-cli@5.1.4): + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -22735,13 +22721,12 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) + acorn-import-attributes: 1.9.5(acorn@8.12.1) browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 @@ -22756,9 +22741,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -23360,7 +23345,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-4sw2BTx1bM8cgvv/sXg8UgAghPXn9R44pQuxv3OWh+1nI2a1iT8PImgzcSh2cLNlAvTuA59ZWGrK8MQ03Jut8Q==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-xkEjTDCwxXNqzhs5cQJfaYhkO22cuFFVsB6ae7m1Q4+gzL2NigF5thTH1rq4IkuPqD8+Nyj4vMNi/9yZ5FGeiA==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23386,11 +23371,11 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23403,7 +23388,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23421,15 +23406,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23454,7 +23439,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-ResRFMEF8IjXn2nac+lZ/c5cmBJ5nRGzBO0C8SvUVPuctQ4JFOTkyJQsZp8x3tk5vNMU9XsYhTCCCQ+0Ki1+bg==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-O3XpBwdFTA9piUp7l+w5ofG4HylhCYz5AxfgB0tg0xo6wjpYzNujuS6EYeI38nbGRJYWQQpHWqoL/GteLEvpTA==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23480,11 +23465,11 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23497,7 +23482,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23515,15 +23500,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23548,7 +23533,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-Ono6VledUKmh8KCRqFz9Yi/1Bt+9isnSfvN7eDYtkT9+x9+cX5Qk4HO1Af1X0xBWPugrDeDEqlqTfGjADJP6TQ==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-rOgsmY3OaW8nPsFEIg8QumP1Y3D1pFkOlHq50IFjmtMf836AzD9wTAOovzZE0ipNrkfqm+UIMvW2fugzobPYow==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23575,12 +23560,12 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23592,7 +23577,7 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23608,15 +23593,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23733,7 +23718,7 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-PTwgOIsKm+pxowxvEmJtqGibQPwhSl2MGQhE8nnIyb0M/DzFtcr/oOR84JzcBVLHbIkCHsw9DOZ/1U6aVKUnPw==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-BO2h5pyCOaZvGxIcBk8UqdcYoEQIxqPw18WTyDYoaasW0bZr+PgJRsW5xfSXcrIGyvApBSPH91gZ/m8Xv46Q6Q==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: @@ -23756,11 +23741,11 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) axios: 1.7.7 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23773,7 +23758,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) form-data: 4.0.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23789,14 +23774,14 @@ packages: reselect: 4.1.8 rimraf: 2.7.1 shake.js: 1.2.2 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) - webpack: 5.89.0(webpack-cli@5.1.4) + url-loader: 4.1.1(webpack@5.95.0) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23822,13 +23807,13 @@ packages: dev: false file:projects/check-treeshaking.tgz: - resolution: {integrity: sha512-CufJZqS9KCqCPSm025txt+KU8AIjFyyhmNhFew/1ZdxQFEJutewvfUUhMtvkIXIw9/+74F57b1EuJDCfixKBDw==, tarball: file:projects/check-treeshaking.tgz} + resolution: {integrity: sha512-iV4X5YAAetQAokCj++hUabQTDtKXWdPrz63kYd2e05Rul1MGPXJtoXs9iTREIx7dd0J7YncslmLK128vs+RX/w==, tarball: file:projects/check-treeshaking.tgz} name: '@rush-temp/check-treeshaking' version: 0.0.0 dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) eslint-plugin-header: 3.1.1(eslint@8.57.1) @@ -23836,8 +23821,8 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) transitivePeerDependencies: - '@swc/core' - '@types/eslint' @@ -23974,7 +23959,7 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-jUf7zw9bAjglFzMS5Z2LI1hkIE4xh4gc9GuAWLIbMWY6N+IUEaR2svlZ9jrf3UAakPfF6ww7iAAigVXgLuk3tQ==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-tF4PxzaCAQYhUgLwoq0FJWS4ryaXkzXGXzEPrmsTis1KQGRlW/rGQ5/pwccFIuNUOSY5qLahMWc0AkMJZ74pCA==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: @@ -23990,9 +23975,9 @@ packages: '@types/uuid': 9.0.8 '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 env-cmd: 10.1.0 eslint: 8.57.1 @@ -24005,7 +23990,7 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 prettier: 3.3.2 @@ -24013,13 +23998,13 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -24064,7 +24049,7 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-LbVteqhoFR1NOEpDbMawqbHX7c90/f/0y7NVHkdeN1XJGm6vYMXOwzCojpxVrndFzI+rJiwq+zMJ635GI3rFFQ==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-2X52TzlPhHgSgjqYiywEgrDahh95kviOqS3MPvqP770/ztap7rpufA6OPr4AYZ2MR2upiW4er5qf3dzAW4w34w==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: @@ -24081,7 +24066,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 @@ -24102,7 +24087,7 @@ packages: rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' @@ -24120,7 +24105,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-jKtXNHFS2LcBFYuuud0kSCbjESvbJRFsM7lNSKtifdsk1oaghEKyDyFc1hjl2MPUe2ME9Zpcsih9Rt8WUcJcjg==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-kaIjjmJHswDEYD56q8HBMAg8+Z5HXIg3x/gfUx+Nx8xGpGPmKHWYEXFGLtLomcB/9DzvKPJn3oUw0AAXRCBZLw==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24154,7 +24139,7 @@ packages: '@vitejs/plugin-react': 4.2.1 ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 @@ -24207,7 +24192,7 @@ packages: typescript: 5.4.5 use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' @@ -24234,7 +24219,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-wN4szO6GjqFMdwCMZuypd0yqAdps3JhUCL5JtRv81Ew85/mHZ/vfKBCyBvoh1W31b9noBmfvFuo1bPMTGTe4yA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-WBzDsoHgNTiW1KOIoystcAvyeS66BWn5tmGMM/7jksbbZrOPPIPRHz68sekAWM5H9gHn5Enw/b63vD/2o8+dsA==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24273,15 +24258,15 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-to-clipboard: 3.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 env-cmd: 10.1.0 eslint: 8.57.1 @@ -24296,7 +24281,7 @@ packages: events: 3.3.0 express: 4.21.0 fs-extra: 10.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 immer: 10.1.1 @@ -24320,16 +24305,16 @@ packages: rollup: 4.22.4 shell-quote: 1.8.1 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) type-fest: 4.26.1 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) yargs: 17.7.2 transitivePeerDependencies: - '@jest/transform' @@ -24378,7 +24363,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-eaWS+znddP8JnaIkqGlS3KGHIOSKzV6okXaZRgN1QNyr9D6UaG8KLXdmYVAaNlj9FDbRynNQejFsefbbv78KWQ==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-Y9MBnPx6QIrFX6PGDdnc74tFvrrNeLHCw/a6EgBVKLyW1Wxtrcw4L+bxt+rBcc7zX+x/uFbO5nCQkM8vR0bnbw==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24394,13 +24379,13 @@ packages: '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) cpx: 1.5.0 dotenv: 10.0.0 env-cmd: 10.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) http: 0.0.1-security http-server: 14.1.1 if-env: 1.0.4 @@ -24409,9 +24394,9 @@ packages: rimraf: 2.7.1 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -24436,7 +24421,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-v2xlkTIWmP6f3zBdpps48CDCA88b8Ss8DBI/Lwy0+tZB+v3aPlmy2u9/7211I4OtwwxDBBbu74wwQrvgoUKenQ==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-RRBOspSTENjL7npMGcfzUY6PgL0Cex/qjdedVdaRHxdKBVUHr025aybXp8mZqTj6GICKv53YRC8bUz+jBvmgCg==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24445,7 +24430,7 @@ packages: '@azure/communication-identity': 1.3.1 '@azure/communication-rooms': 1.1.0 '@azure/storage-blob': 12.25.0 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.89.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.95.0) '@types/cookie-parser': 1.4.7 '@types/copy-webpack-plugin': 6.4.3 '@types/cors': 2.8.17 @@ -24460,7 +24445,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) cookie-parser: 1.4.6 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 cpx: 1.5.0 debug: 2.6.9 @@ -24485,12 +24470,12 @@ packages: rimraf: 2.7.1 supertest: 6.3.4 ts-jest: 29.2.5(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) ts-node-dev: 2.0.0(@types/node@20.14.12)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) webpack-node-externals: 3.0.0 transitivePeerDependencies: - '@babel/core' @@ -24519,7 +24504,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-GKcCWIvWAIkx/fmgTOiVjsEr0yzPQhvXrRhIEuFZgaXXwsdrgZ9K7/sifJR1mF5VqamXjzKAmTwAqVWr1etf7w==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-cO22/N9bTBU+GPAJHPdwGcqkQ8NUzzOu5jvH0DLnj0j9TGjgSeoYnCcbd2Lospa3JruU4txGoUnza4fGeN6prQ==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -24541,10 +24526,10 @@ packages: '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) + '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addon-links': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) @@ -24566,7 +24551,7 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 @@ -24593,7 +24578,7 @@ packages: preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) - raw-loader: 4.0.2(webpack@5.89.0) + raw-loader: 4.0.2(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 @@ -24610,7 +24595,7 @@ packages: tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@angular/core' - '@angular/platform-browser-dynamic' @@ -24660,7 +24645,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-V/p+XtSSzUiYezZ7koKHOCxw43TsztPnISWcsh3YurSV3BU6H12NcpcL88i/3PCJAQbgv6XSF5B0AiPyTlFmug==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-r62SOlyUmuOfYXc0e0BtlZQBQvwT2pChl+HK4o/JY3j14p1IwR9efTww8eF/Vqg37YY4nYvMHRRe9lKnMtiRuQ==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: @@ -24685,7 +24670,7 @@ packages: '@storybook/addon-docs': 8.3.3(storybook@8.3.3) '@storybook/addon-essentials': 8.3.3(storybook@8.3.3) '@storybook/addon-links': 8.3.3(react@18.3.1)(storybook@8.3.3) - '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.89.0) + '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.95.0) '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) '@storybook/components': 8.3.3(storybook@8.3.3) '@storybook/core-events': 8.3.3(storybook@8.3.3) @@ -24709,7 +24694,7 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 @@ -24735,7 +24720,7 @@ packages: preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) - raw-loader: 4.0.2(webpack@5.89.0) + raw-loader: 4.0.2(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 @@ -24749,13 +24734,13 @@ packages: storybook: 8.3.3 styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) tsconfig-paths-webpack-plugin: 4.1.0 tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index cbb9ac24cd3..31ee759d620 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -5129,7 +5129,7 @@ packages: playwright: 1.39.0 dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack@5.89.0): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.11.0)(webpack@5.95.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5163,10 +5163,10 @@ packages: react-refresh: 0.11.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.89.0): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.95.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5200,7 +5200,7 @@ packages: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /@polka/url@1.0.0-next.28: @@ -5609,7 +5609,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-docs@6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -5641,7 +5641,7 @@ packages: '@storybook/source-loader': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) core-js: 3.38.1 fast-deep-equal: 3.1.3 global: 4.4.0 @@ -5686,7 +5686,7 @@ packages: - webpack-sources dev: false - /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-essentials@6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==} peerDependencies: '@babel/core': ^7.9.6 @@ -5747,7 +5747,7 @@ packages: '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-backgrounds': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addon-measure': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-outline': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-toolbars': 6.5.16(react-dom@18.3.1)(react@18.3.1) @@ -5762,7 +5762,7 @@ packages: react-dom: 18.3.1(react@18.3.1) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - eslint @@ -5913,7 +5913,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/addon-storyshots@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-5pQrRM1PUtg8YM1odgUQyQeo6DDaMBF9CnIMwgioDrSBMHf+SqQ2MBgW/4GYbfrBYhhrML1d/QbbpwPJ7eb1Bg==} deprecated: 'Storyshots is deprecated in favor of the Storybook test-runner. Migration guide: https://storybook.js.org/docs/writing-tests/storyshots-migration-guide' peerDependencies: @@ -5969,8 +5969,8 @@ packages: '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/babel-plugin-require-context-hook': 1.0.1 '@storybook/client-api': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/react': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(require-from-string@2.0.2)(typescript@5.4.5) @@ -6072,12 +6072,12 @@ packages: storybook: 8.3.3 dev: false - /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.89.0): + /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.95.0): resolution: {integrity: sha512-rVQTTw+oxJltbVKaejIWSHwVKOBJs3au21f/pYXhV0aiNgNhxEa3vr79t/j0j8ox8uJtzM8XYOb7FlkvGfHlwQ==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.2 - babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 9.2.1(@babel/core@7.25.2)(webpack@5.95.0) transitivePeerDependencies: - supports-color - webpack @@ -6309,28 +6309,28 @@ packages: '@storybook/store': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@storybook/theming': 6.5.14(react-dom@18.3.1)(react@18.3.1) '@types/node': 16.18.110 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.38.1 - css-loader: 5.2.7(webpack@5.89.0) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0) + css-loader: 5.2.7(webpack@5.95.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.95.0) glob: 7.2.3 glob-promise: 3.4.0(glob@7.2.3) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) path-browserify: 1.0.1 process: 0.11.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) stable: 0.1.8 - style-loader: 2.0.0(webpack@5.89.0) - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 4.3.0(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 4.3.0(webpack@5.95.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.4.6 transitivePeerDependencies: @@ -6361,26 +6361,26 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.4.1 constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.89.0) + css-loader: 6.11.0(webpack@5.95.0) es-module-lexer: 1.5.4 express: 4.21.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.95.0) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) magic-string: 0.30.11 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 storybook: 8.3.3 - style-loader: 3.3.4(webpack@5.89.0) - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + style-loader: 3.3.4(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 url: 0.11.4 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.95.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.2 transitivePeerDependencies: @@ -6596,7 +6596,7 @@ packages: webpack: 4.47.0 dev: false - /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core-client@6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6630,7 +6630,7 @@ packages: typescript: 5.4.5 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /@storybook/core-common@6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5): @@ -6891,7 +6891,7 @@ packages: ts-dedent: 2.2.0 dev: false - /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0): + /@storybook/core@6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -6909,13 +6909,13 @@ packages: optional: true dependencies: '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-server': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - bufferutil @@ -7128,21 +7128,21 @@ packages: '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core-client': 6.5.16(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 '@storybook/theming': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/ui': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/node': 16.18.110 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 core-js: 3.38.1 - css-loader: 5.2.7(webpack@5.89.0) + css-loader: 5.2.7(webpack@5.95.0) express: 4.21.0 find-up: 5.0.0 fs-extra: 9.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) node-fetch: 2.7.0 process: 0.11.10 react: 18.3.1 @@ -7150,14 +7150,14 @@ packages: read-pkg-up: 7.0.1 regenerator-runtime: 0.13.11 resolve-from: 5.0.0 - style-loader: 2.0.0(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) telejson: 6.0.8 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-dev-middleware: 4.3.0(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-dev-middleware: 4.3.0(webpack@5.95.0) webpack-virtual-modules: 0.4.6 transitivePeerDependencies: - '@rspack/core' @@ -7239,7 +7239,7 @@ packages: dependencies: '@storybook/core-webpack': 8.3.3(storybook@8.3.3) '@storybook/react': 8.3.3(@storybook/test@8.3.3)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.3)(typescript@5.4.5) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.95.0) '@types/node': 22.7.1 '@types/semver': 7.5.8 find-up: 5.0.0 @@ -7253,7 +7253,7 @@ packages: storybook: 8.3.3 tsconfig-paths: 4.2.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/test' - '@swc/core' @@ -7323,7 +7323,7 @@ packages: util-deprecate: 1.0.2 dev: false - /@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0): + /@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==} peerDependencies: typescript: '>= 3.x' @@ -7337,12 +7337,12 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.5) tslib: 2.7.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false - /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.89.0): + /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} peerDependencies: typescript: '>= 4.x' @@ -7356,7 +7356,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.5) tslib: 2.7.0 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false @@ -7434,17 +7434,17 @@ packages: '@babel/core': 7.25.2 '@babel/preset-flow': 7.24.7(@babel/core@7.25.2) '@babel/preset-react': 7.24.7(@babel/core@7.25.2) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.89.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.11.0)(webpack@5.95.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/client-logger': 6.5.16 - '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/core': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/core-common': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/manager-webpack5': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) '@storybook/node-logger': 6.5.16 - '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.89.0) + '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.4.5)(webpack@5.95.0) '@storybook/semver': 7.3.2 '@storybook/store': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@types/estree': 0.0.51 @@ -7472,7 +7472,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.4.5 util-deprecate: 1.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -8137,20 +8137,6 @@ packages: resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} dev: false - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 - dev: false - - /@types/eslint@9.6.1: - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - dev: false - /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false @@ -8560,7 +8546,7 @@ packages: resolution: {integrity: sha512-8Z3/edqxE3RRlOJwKSgOFxLZRt/i1qFlv/Bi308ZUKo9jh8oGngd9r8GR0ZNKW5AEJq8QNQE3b17CwghTjQ0Uw==} dependencies: '@types/node': 20.14.12 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -9032,29 +9018,29 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) dev: false - /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} engines: {node: '>=14.15.0'} peerDependencies: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) dev: false - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.89.0): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.95.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -9065,12 +9051,12 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) dev: false - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.89.0): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -9081,8 +9067,8 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) dev: false /@xtuc/ieee754@1.2.0: @@ -9117,8 +9103,8 @@ packages: acorn-walk: 8.3.4 dev: false - /acorn-import-assertions@1.9.0(acorn@8.12.1): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + /acorn-import-attributes@1.9.5(acorn@8.12.1): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 dependencies: @@ -9831,7 +9817,7 @@ packages: webpack: 4.47.0 dev: false - /babel-loader@8.1.0(@babel/core@7.25.2)(webpack@5.89.0): + /babel-loader@8.1.0(@babel/core@7.25.2)(webpack@5.95.0): resolution: {integrity: sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==} engines: {node: '>= 6.9'} peerDependencies: @@ -9844,10 +9830,10 @@ packages: mkdirp: 0.5.6 pify: 4.0.1 schema-utils: 2.7.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.89.0): + /babel-loader@9.2.1(@babel/core@7.25.2)(webpack@5.95.0): resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -9857,7 +9843,7 @@ packages: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /babel-plugin-add-react-displayname@0.0.5: @@ -11089,7 +11075,7 @@ packages: toggle-selection: 1.0.6 dev: false - /copy-webpack-plugin@11.0.0(webpack@5.89.0): + /copy-webpack-plugin@11.0.0(webpack@5.95.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -11101,7 +11087,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /copyfiles@2.4.1: @@ -11366,52 +11352,54 @@ packages: webpack: 4.47.0 dev: false - /css-loader@4.3.0(webpack@5.89.0): - resolution: {integrity: sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==} + /css-loader@5.2.7(webpack@5.95.0): + resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} engines: {node: '>= 10.13.0'} peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - camelcase: 6.3.0 - cssesc: 3.0.0 - icss-utils: 4.1.1 + icss-utils: 5.1.0(postcss@8.4.47) loader-utils: 2.0.4 - postcss: 7.0.39 - postcss-modules-extract-imports: 2.0.0 - postcss-modules-local-by-default: 3.0.3 - postcss-modules-scope: 2.2.0 - postcss-modules-values: 3.0.0 + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - schema-utils: 2.7.1 + schema-utils: 3.3.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /css-loader@5.2.7(webpack@5.89.0): - resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} - engines: {node: '>= 10.13.0'} + /css-loader@6.11.0(webpack@5.95.0): + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^4.27.0 || ^5.0.0 + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: icss-utils: 5.1.0(postcss@8.4.47) - loader-utils: 2.0.4 postcss: 8.4.47 postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) postcss-modules-scope: 3.2.0(postcss@8.4.47) postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - schema-utils: 3.3.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /css-loader@6.11.0(webpack@5.89.0): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} + /css-loader@7.1.2(webpack@5.95.0): + resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true @@ -11426,7 +11414,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /css-select@4.3.0: @@ -13465,7 +13453,7 @@ packages: webpack: 4.47.0 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13494,10 +13482,10 @@ packages: semver: 7.6.3 tapable: 1.1.3 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.5)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -13517,7 +13505,7 @@ packages: semver: 7.6.3 tapable: 2.2.1 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /form-data@4.0.0: @@ -14354,7 +14342,7 @@ packages: webpack: 4.47.0 dev: false - /html-webpack-plugin@5.6.0(webpack@5.89.0): + /html-webpack-plugin@5.6.0(webpack@5.95.0): resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -14371,7 +14359,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /htmlparser2@3.10.1: @@ -18907,7 +18895,7 @@ packages: webpack: 4.47.0 dev: false - /raw-loader@4.0.2(webpack@5.89.0): + /raw-loader@4.0.2(webpack@5.95.0): resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -18915,7 +18903,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /react-colorful@5.6.1(react-dom@18.3.1)(react@18.3.1): @@ -20530,7 +20518,7 @@ packages: react-dom: ^16.8.0 || ^17 || ^18 styled-components: ^5.2.0 dependencies: - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) @@ -20844,7 +20832,7 @@ packages: webpack: 4.47.0 dev: false - /style-loader@2.0.0(webpack@5.89.0): + /style-loader@2.0.0(webpack@5.95.0): resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20852,16 +20840,16 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /style-loader@3.3.4(webpack@5.89.0): + /style-loader@3.3.4(webpack@5.95.0): resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /style-to-js@1.1.14: @@ -21116,7 +21104,7 @@ packages: webpack-sources: 1.4.3 dev: false - /terser-webpack-plugin@5.3.10(webpack@5.89.0): + /terser-webpack-plugin@5.3.10(webpack@5.95.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -21137,7 +21125,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.33.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /terser@4.8.1: @@ -21431,7 +21419,7 @@ packages: yargs-parser: 21.1.1 dev: false - /ts-loader@8.4.0(typescript@5.4.5)(webpack@5.89.0): + /ts-loader@8.4.0(typescript@5.4.5)(webpack@5.95.0): resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} engines: {node: '>=10.0.0'} peerDependencies: @@ -21444,7 +21432,7 @@ packages: micromatch: 4.0.8 semver: 7.6.3 typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /ts-node-dev@2.0.0(@types/node@20.14.12)(typescript@5.4.5): @@ -22047,7 +22035,7 @@ packages: webpack: 4.47.0 dev: false - /url-loader@4.1.1(webpack@5.89.0): + /url-loader@4.1.1(webpack@5.95.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -22060,7 +22048,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false /url-parse@1.5.10: @@ -22386,7 +22374,7 @@ packages: - utf-8-validate dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -22404,9 +22392,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.89.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.95.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -22415,13 +22403,13 @@ packages: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) webpack-merge: 5.10.0 dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -22439,9 +22427,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.89.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.89.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.95.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.95.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -22450,7 +22438,7 @@ packages: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 webpack-merge: 5.10.0 dev: false @@ -22469,7 +22457,7 @@ packages: webpack-log: 2.0.0 dev: false - /webpack-dev-middleware@4.3.0(webpack@5.89.0): + /webpack-dev-middleware@4.3.0(webpack@5.95.0): resolution: {integrity: sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==} engines: {node: '>= v10.23.3'} peerDependencies: @@ -22481,10 +22469,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-middleware@5.3.4(webpack@5.89.0): + /webpack-dev-middleware@5.3.4(webpack@5.95.0): resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -22495,10 +22483,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-middleware@6.1.3(webpack@5.89.0): + /webpack-dev-middleware@6.1.3(webpack@5.95.0): resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -22512,10 +22500,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) dev: false - /webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.89.0): + /webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.95.0): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} hasBin: true @@ -22556,9 +22544,9 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-middleware: 5.3.4(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-middleware: 5.3.4(webpack@5.95.0) ws: 8.18.0 transitivePeerDependencies: - bufferutil @@ -22670,8 +22658,8 @@ packages: webpack-sources: 1.4.3 dev: false - /webpack@5.89.0(webpack-cli@5.1.4): - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + /webpack@5.95.0(webpack-cli@5.1.4): + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -22680,13 +22668,12 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) + acorn-import-attributes: 1.9.5(acorn@8.12.1) browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 @@ -22701,9 +22688,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -23292,7 +23279,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-4sw2BTx1bM8cgvv/sXg8UgAghPXn9R44pQuxv3OWh+1nI2a1iT8PImgzcSh2cLNlAvTuA59ZWGrK8MQ03Jut8Q==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-xkEjTDCwxXNqzhs5cQJfaYhkO22cuFFVsB6ae7m1Q4+gzL2NigF5thTH1rq4IkuPqD8+Nyj4vMNi/9yZ5FGeiA==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23318,11 +23305,11 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23335,7 +23322,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23353,15 +23340,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23386,7 +23373,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-ResRFMEF8IjXn2nac+lZ/c5cmBJ5nRGzBO0C8SvUVPuctQ4JFOTkyJQsZp8x3tk5vNMU9XsYhTCCCQ+0Ki1+bg==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-O3XpBwdFTA9piUp7l+w5ofG4HylhCYz5AxfgB0tg0xo6wjpYzNujuS6EYeI38nbGRJYWQQpHWqoL/GteLEvpTA==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23412,11 +23399,11 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23429,7 +23416,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) follow-redirects: 1.15.6 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23447,15 +23434,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23480,7 +23467,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-Ono6VledUKmh8KCRqFz9Yi/1Bt+9isnSfvN7eDYtkT9+x9+cX5Qk4HO1Af1X0xBWPugrDeDEqlqTfGjADJP6TQ==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-rOgsmY3OaW8nPsFEIg8QumP1Y3D1pFkOlHq50IFjmtMf836AzD9wTAOovzZE0ipNrkfqm+UIMvW2fugzobPYow==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23507,12 +23494,12 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23524,7 +23511,7 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23540,15 +23527,15 @@ packages: rimraf: 2.7.1 shake.js: 1.2.2 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) + url-loader: 4.1.1(webpack@5.95.0) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23662,7 +23649,7 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-PTwgOIsKm+pxowxvEmJtqGibQPwhSl2MGQhE8nnIyb0M/DzFtcr/oOR84JzcBVLHbIkCHsw9DOZ/1U6aVKUnPw==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-BO2h5pyCOaZvGxIcBk8UqdcYoEQIxqPw18WTyDYoaasW0bZr+PgJRsW5xfSXcrIGyvApBSPH91gZ/m8Xv46Q6Q==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: @@ -23685,11 +23672,11 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) axios: 1.7.7 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 cpx: 1.5.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) @@ -23702,7 +23689,7 @@ packages: eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) form-data: 4.0.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 jest: 29.7.0(@types/node@20.14.12)(ts-node@10.9.2) @@ -23718,14 +23705,14 @@ packages: reselect: 4.1.8 rimraf: 2.7.1 shake.js: 1.2.2 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 - url-loader: 4.1.1(webpack@5.89.0) - webpack: 5.89.0(webpack-cli@5.1.4) + url-loader: 4.1.1(webpack@5.95.0) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23751,13 +23738,13 @@ packages: dev: false file:projects/check-treeshaking.tgz: - resolution: {integrity: sha512-CufJZqS9KCqCPSm025txt+KU8AIjFyyhmNhFew/1ZdxQFEJutewvfUUhMtvkIXIw9/+74F57b1EuJDCfixKBDw==, tarball: file:projects/check-treeshaking.tgz} + resolution: {integrity: sha512-iV4X5YAAetQAokCj++hUabQTDtKXWdPrz63kYd2e05Rul1MGPXJtoXs9iTREIx7dd0J7YncslmLK128vs+RX/w==, tarball: file:projects/check-treeshaking.tgz} name: '@rush-temp/check-treeshaking' version: 0.0.0 dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) eslint-plugin-header: 3.1.1(eslint@8.57.1) @@ -23765,8 +23752,8 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) prettier: 3.3.2 rimraf: 2.7.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) transitivePeerDependencies: - '@swc/core' - '@types/eslint' @@ -23902,7 +23889,7 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-jUf7zw9bAjglFzMS5Z2LI1hkIE4xh4gc9GuAWLIbMWY6N+IUEaR2svlZ9jrf3UAakPfF6ww7iAAigVXgLuk3tQ==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-tF4PxzaCAQYhUgLwoq0FJWS4ryaXkzXGXzEPrmsTis1KQGRlW/rGQ5/pwccFIuNUOSY5qLahMWc0AkMJZ74pCA==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: @@ -23918,9 +23905,9 @@ packages: '@types/uuid': 9.0.8 '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23933,7 +23920,7 @@ packages: eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.3.2) eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 prettier: 3.3.2 @@ -23941,13 +23928,13 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rimraf: 2.7.1 - style-loader: 2.0.0(webpack@5.89.0) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -23991,7 +23978,7 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-LbVteqhoFR1NOEpDbMawqbHX7c90/f/0y7NVHkdeN1XJGm6vYMXOwzCojpxVrndFzI+rJiwq+zMJ635GI3rFFQ==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-2X52TzlPhHgSgjqYiywEgrDahh95kviOqS3MPvqP770/ztap7rpufA6OPr4AYZ2MR2upiW4er5qf3dzAW4w34w==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: @@ -24008,7 +23995,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 cpx: 1.5.0 cross-env: 7.0.3 @@ -24029,7 +24016,7 @@ packages: rollup: 4.22.4 ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' @@ -24046,7 +24033,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-jKtXNHFS2LcBFYuuud0kSCbjESvbJRFsM7lNSKtifdsk1oaghEKyDyFc1hjl2MPUe2ME9Zpcsih9Rt8WUcJcjg==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-kaIjjmJHswDEYD56q8HBMAg8+Z5HXIg3x/gfUx+Nx8xGpGPmKHWYEXFGLtLomcB/9DzvKPJn3oUw0AAXRCBZLw==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24080,7 +24067,7 @@ packages: '@vitejs/plugin-react': 4.2.1 ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 @@ -24133,7 +24120,7 @@ packages: typescript: 5.4.5 use-debounce: 10.0.3(react@18.3.1) uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' @@ -24160,7 +24147,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-wN4szO6GjqFMdwCMZuypd0yqAdps3JhUCL5JtRv81Ew85/mHZ/vfKBCyBvoh1W31b9noBmfvFuo1bPMTGTe4yA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-WBzDsoHgNTiW1KOIoystcAvyeS66BWn5tmGMM/7jksbbZrOPPIPRHz68sekAWM5H9gHn5Enw/b63vD/2o8+dsA==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24199,15 +24186,15 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-to-clipboard: 3.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 cpx: 1.5.0 cross-env: 7.0.3 - css-loader: 4.3.0(webpack@5.89.0) + css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 env-cmd: 10.1.0 eslint: 8.57.1 @@ -24222,7 +24209,7 @@ packages: events: 3.3.0 express: 4.21.0 fs-extra: 10.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) husky: 8.0.3 if-env: 1.0.4 immer: 10.1.1 @@ -24246,16 +24233,16 @@ packages: rollup: 4.22.4 shell-quote: 1.8.1 source-map-explorer: 2.5.3 - style-loader: 2.0.0(webpack@5.89.0) + style-loader: 2.0.0(webpack@5.95.0) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) type-fest: 4.26.1 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.89.0) - webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.2)(webpack@5.95.0) + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.95.0) yargs: 17.7.2 transitivePeerDependencies: - '@jest/transform' @@ -24303,7 +24290,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-eaWS+znddP8JnaIkqGlS3KGHIOSKzV6okXaZRgN1QNyr9D6UaG8KLXdmYVAaNlj9FDbRynNQejFsefbbv78KWQ==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-Y9MBnPx6QIrFX6PGDdnc74tFvrrNeLHCw/a6EgBVKLyW1Wxtrcw4L+bxt+rBcc7zX+x/uFbO5nCQkM8vR0bnbw==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24319,13 +24306,13 @@ packages: '@types/node': 20.14.12 '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) cpx: 1.5.0 dotenv: 10.0.0 env-cmd: 10.1.0 - html-webpack-plugin: 5.6.0(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.95.0) http: 0.0.1-security http-server: 14.1.1 if-env: 1.0.4 @@ -24334,9 +24321,9 @@ packages: rimraf: 2.7.1 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -24360,7 +24347,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-v2xlkTIWmP6f3zBdpps48CDCA88b8Ss8DBI/Lwy0+tZB+v3aPlmy2u9/7211I4OtwwxDBBbu74wwQrvgoUKenQ==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-RRBOspSTENjL7npMGcfzUY6PgL0Cex/qjdedVdaRHxdKBVUHr025aybXp8mZqTj6GICKv53YRC8bUz+jBvmgCg==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24369,7 +24356,7 @@ packages: '@azure/communication-identity': 1.3.1 '@azure/communication-rooms': 1.1.0 '@azure/storage-blob': 12.25.0 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.89.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.95.0) '@types/cookie-parser': 1.4.7 '@types/copy-webpack-plugin': 6.4.3 '@types/cors': 2.8.17 @@ -24384,7 +24371,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) cookie-parser: 1.4.6 - copy-webpack-plugin: 11.0.0(webpack@5.89.0) + copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 cpx: 1.5.0 debug: 2.6.9 @@ -24409,12 +24396,12 @@ packages: rimraf: 2.7.1 supertest: 6.3.4 ts-jest: 29.2.5(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) ts-node-dev: 2.0.0(@types/node@20.14.12)(typescript@5.4.5) typescript: 5.4.5 - webpack: 5.89.0(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.89.0) + webpack: 5.95.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack@5.95.0) webpack-node-externals: 3.0.0 transitivePeerDependencies: - '@babel/core' @@ -24443,7 +24430,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-GKcCWIvWAIkx/fmgTOiVjsEr0yzPQhvXrRhIEuFZgaXXwsdrgZ9K7/sifJR1mF5VqamXjzKAmTwAqVWr1etf7w==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-cO22/N9bTBU+GPAJHPdwGcqkQ8NUzzOu5jvH0DLnj0j9TGjgSeoYnCcbd2Lospa3JruU4txGoUnza4fGeN6prQ==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -24465,10 +24452,10 @@ packages: '@microsoft/applicationinsights-web': 2.8.18(tslib@2.7.0) '@storybook/addon-actions': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/addon-controls': 6.5.16(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) - '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) - '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-docs': 6.5.16(@babel/core@7.25.2)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) + '@storybook/addon-essentials': 6.5.16(@babel/core@7.25.2)(@storybook/builder-webpack5@6.5.14)(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addon-links': 6.5.16(react-dom@18.3.1)(react@18.3.1) - '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.89.0) + '@storybook/addon-storyshots': 6.5.16(@storybook/builder-webpack5@6.5.14)(@storybook/manager-webpack5@6.5.16)(@storybook/react@6.5.16)(eslint@8.57.1)(jest@29.7.0)(preact@10.24.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5)(webpack@5.95.0) '@storybook/addons': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/api': 6.5.16(react-dom@18.3.1)(react@18.3.1) '@storybook/builder-webpack5': 6.5.14(eslint@8.57.1)(react-dom@18.3.1)(react@18.3.1)(typescript@5.4.5) @@ -24490,7 +24477,7 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 @@ -24517,7 +24504,7 @@ packages: preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) - raw-loader: 4.0.2(webpack@5.89.0) + raw-loader: 4.0.2(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 @@ -24534,7 +24521,7 @@ packages: tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@angular/core' - '@angular/platform-browser-dynamic' @@ -24584,7 +24571,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-V/p+XtSSzUiYezZ7koKHOCxw43TsztPnISWcsh3YurSV3BU6H12NcpcL88i/3PCJAQbgv6XSF5B0AiPyTlFmug==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-r62SOlyUmuOfYXc0e0BtlZQBQvwT2pChl+HK4o/JY3j14p1IwR9efTww8eF/Vqg37YY4nYvMHRRe9lKnMtiRuQ==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: @@ -24609,7 +24596,7 @@ packages: '@storybook/addon-docs': 8.3.3(storybook@8.3.3) '@storybook/addon-essentials': 8.3.3(storybook@8.3.3) '@storybook/addon-links': 8.3.3(react@18.3.1)(storybook@8.3.3) - '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.89.0) + '@storybook/addon-webpack5-compiler-babel': 3.0.3(webpack@5.95.0) '@storybook/builder-webpack5': 8.3.3(storybook@8.3.3)(typescript@5.4.5) '@storybook/components': 8.3.3(storybook@8.3.3) '@storybook/core-events': 8.3.3(storybook@8.3.3) @@ -24633,7 +24620,7 @@ packages: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) ajv: 8.17.1 babel-jest: 29.7.0(@babel/core@7.25.2) - babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.89.0) + babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) browserslist: 4.24.0 concurrently: 5.3.0 copy-to-clipboard: 3.3.3 @@ -24659,7 +24646,7 @@ packages: preact: 10.24.1 prettier: 3.3.2 pretty-quick: 4.0.0(prettier@3.3.2) - raw-loader: 4.0.2(webpack@5.89.0) + raw-loader: 4.0.2(webpack@5.95.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-is: 18.3.1 @@ -24673,13 +24660,13 @@ packages: storybook: 8.3.3 styled-components: 5.3.11(@babel/core@7.25.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1) ts-jest: 29.2.5(@babel/core@7.25.2)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.4.5) - ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.89.0) + ts-loader: 8.4.0(typescript@5.4.5)(webpack@5.95.0) ts-node: 10.9.2(@types/node@20.14.12)(typescript@5.4.5) tsconfig-paths-webpack-plugin: 4.1.0 tslib: 2.7.0 typescript: 5.4.5 uuid: 9.0.1 - webpack: 5.89.0(webpack-cli@5.1.4) + webpack: 5.95.0(webpack-cli@5.1.4) transitivePeerDependencies: - '@jest/transform' - '@jest/types' diff --git a/packages/fake-backends/package.json b/packages/fake-backends/package.json index b1928044b06..e8d926655c9 100644 --- a/packages/fake-backends/package.json +++ b/packages/fake-backends/package.json @@ -66,6 +66,6 @@ "rollup": "^4.21.2", "ts-jest": "^29.1.5", "typescript": "5.4.5", - "webpack": "5.89.0" + "webpack": "5.95.0" } } \ No newline at end of file diff --git a/packages/react-components/package.json b/packages/react-components/package.json index b726e419b56..294b8c56e1a 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -127,6 +127,6 @@ "ts-node": "^10.9.2", "type-fest": "^4.14.0", "typescript": "5.4.5", - "webpack": "5.89.0" + "webpack": "5.95.0" } } \ No newline at end of file diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 130d3a69ea8..1265630560b 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -112,7 +112,7 @@ "core-js": "^3.34.0", "cpx": "^1.5.0", "cross-env": "^7.0.3", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "dotenv": "^10.0.0", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", @@ -153,7 +153,7 @@ "typescript": "5.4.5", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2", - "webpack": "5.89.0", + "webpack": "5.95.0", "yargs": "^17.7.2" } } \ No newline at end of file diff --git a/packages/storybook/package.json b/packages/storybook/package.json index ba1dc9a2d0f..3d082cce111 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -111,7 +111,7 @@ "ts-jest": "^29.1.5", "ts-node": "^10.9.2", "typescript": "5.4.5", - "webpack": "5.89.0" + "webpack": "5.95.0" }, "resolutions": { "tocbot": "4.25.0" diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 7af454b4508..794c43aa589 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -116,6 +116,6 @@ "ts-loader": "^8.0.12", "ts-node": "^10.9.2", "typescript": "5.4.5", - "webpack": "5.89.0" + "webpack": "5.95.0" } } \ No newline at end of file diff --git a/samples/CallWithChat/package.json b/samples/CallWithChat/package.json index 7f356fd85a3..6a3035fe054 100644 --- a/samples/CallWithChat/package.json +++ b/samples/CallWithChat/package.json @@ -76,7 +76,7 @@ "copyfiles": "^2.4.1", "cpx": "^1.5.0", "cross-env": "^7.0.3", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", @@ -101,7 +101,7 @@ "ts-loader": "^8.0.12", "typescript": "5.4.5", "url-loader": "^4.1.1", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2", "webpack-bundle-analyzer": "^4.5.0", diff --git a/samples/Calling/package.json b/samples/Calling/package.json index d628d883268..946008c30b2 100644 --- a/samples/Calling/package.json +++ b/samples/Calling/package.json @@ -76,7 +76,7 @@ "concurrently": "^5.3.0", "copyfiles": "^2.4.1", "cpx": "^1.5.0", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-react-app": "^6.0.0", @@ -103,7 +103,7 @@ "url-loader": "^4.1.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-bundle-analyzer": "^4.5.0" } } \ No newline at end of file diff --git a/samples/CallingStateful/package.json b/samples/CallingStateful/package.json index a4f02ebb44e..467e0a3cb64 100644 --- a/samples/CallingStateful/package.json +++ b/samples/CallingStateful/package.json @@ -76,7 +76,7 @@ "concurrently": "^5.3.0", "copyfiles": "^2.4.1", "cpx": "^1.5.0", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-react-app": "^6.0.0", @@ -103,7 +103,7 @@ "url-loader": "^4.1.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-bundle-analyzer": "^4.5.0" } } \ No newline at end of file diff --git a/samples/Chat/package.json b/samples/Chat/package.json index c2cde1792d6..e2c1fe63cef 100644 --- a/samples/Chat/package.json +++ b/samples/Chat/package.json @@ -69,7 +69,7 @@ "concurrently": "^5.3.0", "copyfiles": "^2.4.1", "cpx": "^1.5.0", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-react-app": "^6.0.0", @@ -96,7 +96,7 @@ "url-loader": "^4.1.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-bundle-analyzer": "^4.5.0", "@babel/cli": "^7.24.8" } diff --git a/samples/ComponentExamples/package.json b/samples/ComponentExamples/package.json index e20e26e7238..a6709408f3f 100644 --- a/samples/ComponentExamples/package.json +++ b/samples/ComponentExamples/package.json @@ -45,7 +45,7 @@ "@typescript-eslint/parser": "^7.14.1", "babel-loader": "8.1.0", "concurrently": "^5.3.0", - "css-loader": "^4.3.0", + "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", @@ -66,7 +66,7 @@ "style-loader": "^2.0.0", "ts-loader": "^8.0.12", "typescript": "5.4.5", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "4.15.2" } diff --git a/samples/Server/package.json b/samples/Server/package.json index 79d05001453..f294af14c53 100644 --- a/samples/Server/package.json +++ b/samples/Server/package.json @@ -74,7 +74,7 @@ "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0", "typescript": "5.4.5", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" } diff --git a/samples/StaticHtmlComposites/package.json b/samples/StaticHtmlComposites/package.json index 7e9ca9f554d..f9c1355694b 100644 --- a/samples/StaticHtmlComposites/package.json +++ b/samples/StaticHtmlComposites/package.json @@ -51,7 +51,7 @@ "if-env": "^1.0.4", "rimraf": "^2.6.2", "typescript": "5.4.5", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-cli": "^5.1.4", "webpack-bundle-analyzer": "^4.5.0", "cpx": "^1.5.0", diff --git a/tools/check-treeshaking/package.json b/tools/check-treeshaking/package.json index ca3d9885a1e..d5db85e47a1 100644 --- a/tools/check-treeshaking/package.json +++ b/tools/check-treeshaking/package.json @@ -40,7 +40,7 @@ "eslint-plugin-import": "^2.29.0", "prettier": "3.3.2", "rimraf": "^2.6.2", - "webpack": "5.89.0", + "webpack": "5.95.0", "webpack-cli": "^5.1.4" } } \ No newline at end of file From bddd3436bdfb764a77f7289fff725e3699579382 Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:41:53 -0700 Subject: [PATCH 50/58] [SB8] inbound calling fix page Meta import and links (#5254) * fix page * fix links * Update packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx Co-authored-by: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> --------- Signed-off-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Co-authored-by: JoshuaLai <9044372+JoshuaLai@users.noreply.github.com> --- .../stories/Concepts/InboundCalling/Docs.mdx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx b/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx index aafdd396d9b..82bbf7edadc 100644 --- a/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx +++ b/packages/storybook8/stories/Concepts/InboundCalling/Docs.mdx @@ -1,9 +1,8 @@ -import { Meta, Source } from '@storybook/react'; +import { Meta, Source } from '@storybook/addon-docs'; +import InboundCallingSource from '!!raw-loader!./snippets/IncomingCallStackPropsExample.snippet.tsx'; -import InboundCallingSource from '!!raw-loader!./snippets/IncomingCallStackPropsExample.snippet.tsx'; - # Inbound Calling Azure Communication Services UI Library is adding support for Inbound Calling. With this new feature, users will @@ -16,13 +15,13 @@ at once. In any scenario, when your users are logged in, you are able to connect ## Incorporating Inbound Calling into your Experience Currently the UI library exports a series of components like the [Video -Gallery](./?path=/docs/ui-components-videogallery--video-gallery) or -[CallControls](./?path=/docs/ui-components-controlbar--control-bar) that allow you to build a Video calling -experience that you can join through our [stateful client](./?path=/docs/quickstarts-statefulcallclient--page). +Gallery](./?path=/docs/components-video-gallery--docs) or +[CallControls](./?path=/docs/components-controlbar-control-bar--docs) that allow you to build a Video calling +experience that you can join through our [stateful client](./?path=/docs/stateful-client-get-started-call--docs). With the introduction of these components, we are also allowing you to attach to your experience a way to have the calls come to you through these new react components. We are adding this capability with the new -[IncomingCallStack](./?path=/docs/ui-components-internal-inboundcalling-incomingcallstack--incoming-call-stack) and -[IncomingCallNotification](./?path=/docs/ui-components-internal-inboundcalling-incomingcallnotification--incoming-call-notification) Component. +[IncomingCallStack](./?path=/docs/components-incomingcallnotification-incomingcallstack--docs) and +[IncomingCallNotification](./?path=/docs/components-incomingcallnotification-incoming-call-notification--docs) Component. These new components will allow you to accept the call, accept with video, or reject the call. Accepting will bring you straight into the call. The following code is a snippet of how you can incorporate the Inbound Calling feature into your experience: From ba2bfdfbb026f55adb84709cf4a634f7ce4e8ac2 Mon Sep 17 00:00:00 2001 From: mgamis-msft <79475487+mgamis-msft@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:56:11 -0700 Subject: [PATCH 51/58] Add Welsh to storybook (#5248) * Add Welsh to storybook * remove test.only --- .../react-components/src/components/VideoGallery.test.tsx | 2 +- packages/storybook/stories/Localization.stories.mdx | 7 ++++++- packages/storybook/stories/locales.ts | 7 ++++++- packages/storybook8/stories/Concepts/Localization/Docs.mdx | 7 ++++++- packages/storybook8/stories/locales.ts | 7 ++++++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/packages/react-components/src/components/VideoGallery.test.tsx b/packages/react-components/src/components/VideoGallery.test.tsx index 327abb93b8d..34ad1eea9e5 100644 --- a/packages/react-components/src/components/VideoGallery.test.tsx +++ b/packages/react-components/src/components/VideoGallery.test.tsx @@ -766,7 +766,7 @@ describe('VideoGallery with vertical overflow gallery tests', () => { }); }); -test.only('should render screenshare component and local user video tile when local user is alone', () => { +test('should render screenshare component and local user video tile when local user is alone', () => { const localParticipant = createLocalParticipant({ videoStream: { isAvailable: true, renderElement: createVideoDivElement() } }); diff --git a/packages/storybook/stories/Localization.stories.mdx b/packages/storybook/stories/Localization.stories.mdx index 8eb3b32ca85..19b2b889783 100644 --- a/packages/storybook/stories/Localization.stories.mdx +++ b/packages/storybook/stories/Localization.stories.mdx @@ -67,7 +67,7 @@ composite locale from below and pass it as the `locale` prop of your `ChatCompos COMPOSITE_LOCALE_EN_US - English (British) + English (GB) COMPONENT_LOCALE_EN_GB COMPOSITE_LOCALE_EN_GB @@ -81,6 +81,11 @@ composite locale from below and pass it as the `locale` prop of your `ChatCompos COMPONENT_LOCALE_CS_CZ COMPOSITE_LOCALE_CS_CZ + + Welsh (GB) + COMPONENT_LOCALE_CY_GB + COMPOSITE_LOCALE_CY_GB + German (Germany) COMPONENT_LOCALE_DE_DE diff --git a/packages/storybook/stories/locales.ts b/packages/storybook/stories/locales.ts index b313a1c83ec..7dfe746cd58 100644 --- a/packages/storybook/stories/locales.ts +++ b/packages/storybook/stories/locales.ts @@ -7,6 +7,7 @@ import { COMPONENT_LOCALE_EN_GB, COMPONENT_LOCALE_AR_SA, COMPONENT_LOCALE_CS_CZ, + COMPONENT_LOCALE_CY_GB, COMPONENT_LOCALE_DE_DE, COMPONENT_LOCALE_ES_ES, COMPONENT_LOCALE_FI_FI, @@ -34,7 +35,7 @@ export const LOCALES: RecordCOMPOSITE_LOCALE_EN_US - English (British) + English (GB) COMPONENT_LOCALE_EN_GB COMPOSITE_LOCALE_EN_GB @@ -75,6 +75,11 @@ composite locale from below and pass it as the `locale` prop of your `ChatCompos COMPONENT_LOCALE_CS_CZ COMPOSITE_LOCALE_CS_CZ + + Welsh (GB) + COMPONENT_LOCALE_CY_GB + COMPOSITE_LOCALE_CY_GB + German (Germany) COMPONENT_LOCALE_DE_DE diff --git a/packages/storybook8/stories/locales.ts b/packages/storybook8/stories/locales.ts index b313a1c83ec..7dfe746cd58 100644 --- a/packages/storybook8/stories/locales.ts +++ b/packages/storybook8/stories/locales.ts @@ -7,6 +7,7 @@ import { COMPONENT_LOCALE_EN_GB, COMPONENT_LOCALE_AR_SA, COMPONENT_LOCALE_CS_CZ, + COMPONENT_LOCALE_CY_GB, COMPONENT_LOCALE_DE_DE, COMPONENT_LOCALE_ES_ES, COMPONENT_LOCALE_FI_FI, @@ -34,7 +35,7 @@ export const LOCALES: Record Date: Fri, 4 Oct 2024 13:15:49 -0700 Subject: [PATCH 52/58] Enable `noUncheckedIndexedAccess` in StatefulCallClient and Calling-Component-Bindings (#5242) --- ...-5c97ff3e-4d23-4829-82ed-3e7e068595f4.json | 9 ++ common/config/tsc/tsconfig.json | 3 +- packages/acs-ui-common/src/dataConversion.ts | 7 +- .../src/baseSelectors.ts | 6 +- .../src/callControlSelectors.ts | 2 +- ...getRemoteParticipantsExcludingConsumers.ts | 2 +- .../src/utils/callUtils.ts | 2 +- .../src/BreakoutRoomsSubscriber.ts | 2 +- .../src/CallAgentDeclarative.test.ts | 8 +- .../src/CallContext.ts | 52 ++++++--- .../src/Converter.test.ts | 34 +++--- .../src/DeviceManager.test.ts | 14 +-- .../src/DeviceManagerDeclarative.ts | 103 ++++++++++-------- .../src/StatefulCallClient.test.ts | 53 ++++++--- .../src/StreamUtils.test.ts | 6 +- .../src/UserFacingDiagnosticsSubscriber.ts | 2 +- .../chat-component-bindings/tsconfig.json | 1 + .../tsconfig.preprocess.json | 1 + packages/chat-stateful-client/tsconfig.json | 1 + .../tsconfig.preprocess.json | 1 + packages/communication-react/tsconfig.json | 1 + .../tsconfig.preprocess.json | 1 + packages/fake-backends/tsconfig.json | 1 + .../fake-backends/tsconfig.preprocess.json | 1 + ...MessageComponentAsRichTextEditBox.test.tsx | 6 +- .../src/components/MessageThread.test.tsx | 6 +- .../RichTextEditor/RichTextEditor.test.tsx | 2 +- .../RichTextEditor/RichTextSendBox.test.tsx | 4 +- .../src/theming/generateTheme.ts | 14 ++- packages/react-components/tsconfig.json | 1 + .../react-components/tsconfig.preprocess.json | 1 + .../ChatComposite/ChatComposite.test.tsx | 2 +- .../tests/browser/common/utils.ts | 2 +- packages/react-composites/tsconfig.json | 1 + .../react-composites/tsconfig.preprocess.json | 1 + packages/storybook/tsconfig.json | 1 + packages/storybook8/tsconfig.json | 1 + samples/CallWithChat/tsconfig.json | 1 + samples/CallWithChat/tsconfig.preprocess.json | 1 + samples/Calling/tsconfig.json | 1 + samples/Calling/tsconfig.preprocess.json | 1 + samples/CallingStateful/tsconfig.json | 1 + .../CallingStateful/tsconfig.preprocess.json | 1 + samples/Chat/tsconfig.json | 1 + samples/Chat/tsconfig.preprocess.json | 1 + samples/ComponentExamples/tsconfig.json | 1 + 46 files changed, 231 insertions(+), 133 deletions(-) create mode 100644 change/@azure-communication-react-5c97ff3e-4d23-4829-82ed-3e7e068595f4.json diff --git a/change/@azure-communication-react-5c97ff3e-4d23-4829-82ed-3e7e068595f4.json b/change/@azure-communication-react-5c97ff3e-4d23-4829-82ed-3e7e068595f4.json new file mode 100644 index 00000000000..9f397c5bd63 --- /dev/null +++ b/change/@azure-communication-react-5c97ff3e-4d23-4829-82ed-3e7e068595f4.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "", + "comment": "Enable noUncheckedIndexedAccess in statefulcallclient and calling bindings", + "packageName": "@azure/communication-react", + "email": "2684369+JamesBurnside@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/common/config/tsc/tsconfig.json b/common/config/tsc/tsconfig.json index 4c20f2c7406..fc45ec95f9b 100644 --- a/common/config/tsc/tsconfig.json +++ b/common/config/tsc/tsconfig.json @@ -25,6 +25,7 @@ "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, "isolatedModules": true, - "moduleResolution": "node" + "moduleResolution": "node", + "noUncheckedIndexedAccess": true } } \ No newline at end of file diff --git a/packages/acs-ui-common/src/dataConversion.ts b/packages/acs-ui-common/src/dataConversion.ts index 4a5de2d2cd6..8471286c14b 100644 --- a/packages/acs-ui-common/src/dataConversion.ts +++ b/packages/acs-ui-common/src/dataConversion.ts @@ -7,7 +7,12 @@ * @internal */ export const _base64ToBlob = (dataURI: string): Blob => { - const byteString = atob(dataURI.split(',')[1]); + const str = dataURI.split(',')[1]; + if (!str) { + throw new Error('Invalid base64 string'); + } + + const byteString = atob(str); const arrayBuffer = new ArrayBuffer(byteString.length); const uint8Array = new Uint8Array(arrayBuffer); diff --git a/packages/calling-component-bindings/src/baseSelectors.ts b/packages/calling-component-bindings/src/baseSelectors.ts index 06102088086..de909d97609 100644 --- a/packages/calling-component-bindings/src/baseSelectors.ts +++ b/packages/calling-component-bindings/src/baseSelectors.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import { DominantSpeakersInfo } from '@azure/communication-calling'; +import { CallState, DominantSpeakersInfo } from '@azure/communication-calling'; /* @conditional-compile-remove(breakout-rooms) */ import { BreakoutRoom } from '@azure/communication-calling'; import { ParticipantCapabilities } from '@azure/communication-calling'; @@ -189,7 +189,7 @@ export const getDiagnostics = ( /** * @private */ -export const getCallState = (state: CallClientState, props: CallingBaseSelectorProps): string => +export const getCallState = (state: CallClientState, props: CallingBaseSelectorProps): CallState | undefined => state.calls[props.callId]?.state; /** @@ -212,7 +212,7 @@ export const getParticipantCount = (state: CallClientState, props: CallingBaseSe /* @conditional-compile-remove(acs-close-captions) */ /** @private */ -export const getCaptionsKind = (state: CallClientState, props: CallingBaseSelectorProps): CaptionsKind => { +export const getCaptionsKind = (state: CallClientState, props: CallingBaseSelectorProps): CaptionsKind | undefined => { return state.calls[props.callId]?.captionsFeature.captionsKind; }; diff --git a/packages/calling-component-bindings/src/callControlSelectors.ts b/packages/calling-component-bindings/src/callControlSelectors.ts index 7bf223feafc..b17cf3b16da 100644 --- a/packages/calling-component-bindings/src/callControlSelectors.ts +++ b/packages/calling-component-bindings/src/callControlSelectors.ts @@ -187,7 +187,7 @@ export const screenShareButtonSelector: ScreenShareButtonSelector = reselect.cre (capabilities?.shareScreen.isPresent === false && capabilities?.shareScreen.reason !== 'NotInitialized') || role === 'Consumer' || role === 'Attendee'; - disabled = disabled || ['InLobby', 'Connecting', 'LocalHold'].includes(callState); + disabled = disabled || ['InLobby', 'Connecting', 'LocalHold'].includes(callState ?? 'None'); return { checked: isScreenSharingOn, disabled diff --git a/packages/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.ts b/packages/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.ts index 41388ea21d0..67f3cb83d96 100644 --- a/packages/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.ts +++ b/packages/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.ts @@ -20,7 +20,7 @@ export const getRemoteParticipantsExcludingConsumers = createSelector( { const newRemoteParticipants = { ...remoteParticipants }; Object.keys(newRemoteParticipants).forEach((k) => { - if (newRemoteParticipants[k].role === 'Consumer') { + if (newRemoteParticipants[k]?.role === 'Consumer') { delete newRemoteParticipants[k]; } }); diff --git a/packages/calling-component-bindings/src/utils/callUtils.ts b/packages/calling-component-bindings/src/utils/callUtils.ts index add5af74ea6..7e9bb76734a 100644 --- a/packages/calling-component-bindings/src/utils/callUtils.ts +++ b/packages/calling-component-bindings/src/utils/callUtils.ts @@ -59,7 +59,7 @@ export const _isInLobbyOrConnecting = (callStatus: CallStatus | undefined): bool export const _isPreviewOn = (deviceManager: DeviceManagerState): boolean => { // TODO: we should take in a LocalVideoStream that developer wants to use as their 'Preview' view. We should also // handle cases where 'Preview' view is in progress and not necessary completed. - return deviceManager.unparentedViews.length > 0 && deviceManager.unparentedViews[0].view !== undefined; + return deviceManager.unparentedViews[0]?.view !== undefined; }; /** diff --git a/packages/calling-stateful-client/src/BreakoutRoomsSubscriber.ts b/packages/calling-stateful-client/src/BreakoutRoomsSubscriber.ts index 5ed1e8ace34..eecba1d069c 100644 --- a/packages/calling-stateful-client/src/BreakoutRoomsSubscriber.ts +++ b/packages/calling-stateful-client/src/BreakoutRoomsSubscriber.ts @@ -132,7 +132,7 @@ export class BreakoutRoomsSubscriber { // If assigned breakout room has a display name, set the display name for its call state. const assignedBreakoutRoomDisplayName = - this._context.getState().calls[this._callIdRef.callId].breakoutRooms?.assignedBreakoutRoom?.displayName; + this._context.getState().calls[this._callIdRef.callId]?.breakoutRooms?.assignedBreakoutRoom?.displayName; if (assignedBreakoutRoomDisplayName) { this._context.setBreakoutRoomDisplayName(call.id, assignedBreakoutRoomDisplayName); } diff --git a/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts b/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts index 1ba9ac8c560..5bc9182de87 100644 --- a/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts +++ b/packages/calling-stateful-client/src/CallAgentDeclarative.test.ts @@ -259,8 +259,8 @@ describe('declarative call agent', () => { expect(Object.keys(context.getState().calls).length).toBe(0); expect(Object.keys(context.getState().callsEnded).length).toBe(1); - expect(context.getState().callsEnded[mockCallId].callEndReason?.code).toBe(1); - expect(context.getState().callsEnded[mockCallId].endTime).toBeTruthy(); + expect(context.getState().callsEnded[mockCallId]?.callEndReason?.code).toBe(1); + expect(context.getState().callsEnded[mockCallId]?.endTime).toBeTruthy(); }); test('should move incoming call to incomingCallEnded when incoming call is ended and add endTime', async () => { @@ -283,8 +283,8 @@ describe('declarative call agent', () => { expect(Object.keys(context.getState().incomingCalls).length).toBe(0); expect(Object.keys(context.getState().incomingCallsEnded).length).toBe(1); - expect(context.getState().incomingCallsEnded[mockCallId].callEndReason?.code).toBe(1); - expect(context.getState().incomingCallsEnded[mockCallId].endTime).toBeTruthy(); + expect(context.getState().incomingCallsEnded[mockCallId]?.callEndReason?.code).toBe(1); + expect(context.getState().incomingCallsEnded[mockCallId]?.endTime).toBeTruthy(); }); test('should make sure that callsEnded not exceed max length', async () => { diff --git a/packages/calling-stateful-client/src/CallContext.ts b/packages/calling-stateful-client/src/CallContext.ts index fd01055115e..fd1f8e5a3f2 100644 --- a/packages/calling-stateful-client/src/CallContext.ts +++ b/packages/calling-stateful-client/src/CallContext.ts @@ -219,7 +219,10 @@ export class CallContext { // Performance note: This loop should run only once because the number of entries // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness. while (Object.keys(draft.callsEnded).length >= MAX_CALL_HISTORY_LENGTH) { - delete draft.callsEnded[findOldestCallEnded(draft.callsEnded)]; + const oldestCall = findOldestCallEnded(draft.callsEnded); + if (oldestCall) { + delete draft.callsEnded[oldestCall]; + } } draft.callsEnded[latestCallId] = call; } @@ -531,6 +534,11 @@ export class CallContext { if (participantKey === toFlatCommunicationIdentifier(this._state.userId)) { call.localParticipantReaction = newReactionState; + } else if (!participant) { + // Warn if we can't find the participant in the call but we are trying to set their reaction state to a new reaction. + if (reactionMessage !== null) { + console.warn(`Participant ${participantKey} not found in call ${callId}. Cannot set reaction state.`); + } } else { participant.reactionState = newReactionState; } @@ -577,7 +585,7 @@ export class CallContext { viewAttendeeNames.reason === 'MeetingRestricted' ) { call.hideAttendeeNames = true; - } else { + } else if (call) { call.hideAttendeeNames = false; } } @@ -961,7 +969,10 @@ export class CallContext { // Performance note: This loop should run only once because the number of entries // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness. while (Object.keys(draft.incomingCallsEnded).length >= MAX_CALL_HISTORY_LENGTH) { - delete draft.incomingCallsEnded[findOldestCallEnded(draft.incomingCallsEnded)]; + const oldestCall = findOldestCallEnded(draft.incomingCallsEnded); + if (oldestCall) { + delete draft.incomingCallsEnded[oldestCall]; + } } draft.incomingCallsEnded[callId] = call; } @@ -1053,11 +1064,11 @@ export class CallContext { videoEffects: LocalVideoStreamVideoEffectsState ): void { this.modifyState((draft: CallClientState) => { - const foundIndex = draft.deviceManager.unparentedViews.findIndex( + const view = draft.deviceManager.unparentedViews.find( (stream) => stream.mediaStreamType === localVideoStream.mediaStreamType ); - if (foundIndex !== -1) { - draft.deviceManager.unparentedViews[foundIndex].videoEffects = videoEffects; + if (view) { + view.videoEffects = videoEffects; } }); } @@ -1076,23 +1087,27 @@ export class CallContext { captions.push(newCaption); } // if the last caption is final, then push the new one in - else if (captions[captions.length - 1].resultType === 'Final') { + else if (captions[captions.length - 1]?.resultType === 'Final') { captions.push(newCaption); } // if the last caption is Partial, then check if the speaker is the same as the new caption, if so, update the last caption else { + const lastCaption = captions[captions.length - 1]; + if ( - toFlatCommunicationIdentifier( - captions[captions.length - 1].speaker.identifier as CommunicationIdentifierKind - ) === toFlatCommunicationIdentifier(newCaption.speaker.identifier as CommunicationIdentifierKind) + lastCaption && + lastCaption.speaker.identifier && + newCaption.speaker.identifier && + toFlatCommunicationIdentifier(lastCaption.speaker.identifier) === + toFlatCommunicationIdentifier(newCaption.speaker.identifier) ) { captions[captions.length - 1] = newCaption; } // if different speaker, ignore the interjector until the current speaker finishes // edge case: if we dont receive the final caption from the current speaker for 5 secs, we turn the current speaker caption to final and push in the new interjector - else { - if (Date.now() - captions[captions.length - 1].timestamp.getTime() > 5000) { - captions[captions.length - 1].resultType = 'Final'; + else if (lastCaption) { + if (Date.now() - lastCaption.timestamp.getTime() > 5000) { + lastCaption.resultType = 'Final'; captions.push(newCaption); } } @@ -1313,12 +1328,19 @@ const toCallError = (target: CallErrorTarget, error: unknown): CallError => { return new CallError(target, new Error(error as string)); }; -const findOldestCallEnded = (calls: { [key: string]: { endTime?: Date } }): string => { +const findOldestCallEnded = (calls: { [key: string]: { endTime?: Date } }): string | undefined => { const callEntries = Object.entries(calls); - let [oldestCallId, oldestCall] = callEntries[0]; + const firstCallEntry = callEntries[0]; + + if (!firstCallEntry) { + return undefined; // no calls exist + } + + let [oldestCallId, oldestCall] = firstCallEntry; if (oldestCall.endTime === undefined) { return oldestCallId; } + for (const [callId, call] of callEntries.slice(1)) { if (call.endTime === undefined) { return callId; diff --git a/packages/calling-stateful-client/src/Converter.test.ts b/packages/calling-stateful-client/src/Converter.test.ts index 670fc9ac69f..c6fa940e25c 100644 --- a/packages/calling-stateful-client/src/Converter.test.ts +++ b/packages/calling-stateful-client/src/Converter.test.ts @@ -26,9 +26,9 @@ describe('Verify convert of TeamsMeetingAudioConferencingDetails to ConferencePh ] }); expect(phoneInfo.length).toBe(1); - expect(phoneInfo[0].phoneNumber).toBe('1234567890'); - expect(phoneInfo[0].conferenceId).toBe('123'); - expect(phoneInfo[0].isTollFree).toBe(false); + expect(phoneInfo[0]?.phoneNumber).toBe('1234567890'); + expect(phoneInfo[0]?.conferenceId).toBe('123'); + expect(phoneInfo[0]?.isTollFree).toBe(false); }); test('Phone number with country code and city has to contains all fields', async () => { @@ -45,11 +45,11 @@ describe('Verify convert of TeamsMeetingAudioConferencingDetails to ConferencePh ] }); expect(phoneInfo.length).toBe(1); - expect(phoneInfo[0].phoneNumber).toBe('1234567890'); - expect(phoneInfo[0].conferenceId).toBe('123'); - expect(phoneInfo[0].isTollFree).toBe(false); - expect(phoneInfo[0].country).toBe('US'); - expect(phoneInfo[0].city).toBe('Redmond'); + expect(phoneInfo[0]?.phoneNumber).toBe('1234567890'); + expect(phoneInfo[0]?.conferenceId).toBe('123'); + expect(phoneInfo[0]?.isTollFree).toBe(false); + expect(phoneInfo[0]?.country).toBe('US'); + expect(phoneInfo[0]?.city).toBe('Redmond'); }); test('Toll free phone number has to be marked as toll free', async () => { @@ -64,7 +64,7 @@ describe('Verify convert of TeamsMeetingAudioConferencingDetails to ConferencePh ] }); expect(phoneInfo.length).toBe(1); - expect(phoneInfo[0].isTollFree).toBe(true); + expect(phoneInfo[0]?.isTollFree).toBe(true); }); test('Toll free phone number info with multiple numbers', async () => { @@ -84,10 +84,10 @@ describe('Verify convert of TeamsMeetingAudioConferencingDetails to ConferencePh ] }); expect(phoneInfo.length).toBe(2); - expect(phoneInfo[0].isTollFree).toBe(true); - expect(phoneInfo[0].phoneNumber).toBe('1234567890'); - expect(phoneInfo[1].isTollFree).toBe(true); - expect(phoneInfo[1].phoneNumber).toBe('0987654321'); + expect(phoneInfo[0]?.isTollFree).toBe(true); + expect(phoneInfo[0]?.phoneNumber).toBe('1234567890'); + expect(phoneInfo[1]?.isTollFree).toBe(true); + expect(phoneInfo[1]?.phoneNumber).toBe('0987654321'); }); test('Details with two phone numbers has to export both', async () => { @@ -105,9 +105,9 @@ describe('Verify convert of TeamsMeetingAudioConferencingDetails to ConferencePh ] }); expect(phoneInfo.length).toBe(2); - expect(phoneInfo[0].isTollFree).toBe(false); - expect(phoneInfo[0].phoneNumber).toBe('0987654321'); - expect(phoneInfo[1].isTollFree).toBe(true); - expect(phoneInfo[1].phoneNumber).toBe('1234567890'); + expect(phoneInfo[0]?.isTollFree).toBe(false); + expect(phoneInfo[0]?.phoneNumber).toBe('0987654321'); + expect(phoneInfo[1]?.isTollFree).toBe(true); + expect(phoneInfo[1]?.phoneNumber).toBe('1234567890'); }); }); diff --git a/packages/calling-stateful-client/src/DeviceManager.test.ts b/packages/calling-stateful-client/src/DeviceManager.test.ts index 29f1d6b53c8..8750f04995a 100644 --- a/packages/calling-stateful-client/src/DeviceManager.test.ts +++ b/packages/calling-stateful-client/src/DeviceManager.test.ts @@ -33,10 +33,10 @@ describe('device manager', () => { const cameras = await (await client.getDeviceManager()).getCameras(); expect(cameras.length).toBe(1); - expect(cameras[0].name).toBe('camera'); + expect(cameras[0]?.name).toBe('camera'); expect(client.getState().deviceManager.cameras.length).toBe(1); - expect(client.getState().deviceManager.cameras[0].name).toBe('camera'); + expect(client.getState().deviceManager.cameras[0]?.name).toBe('camera'); }); test('should detect videoDevicesUpdated and update cameras in state using deviceManager', async () => { @@ -47,7 +47,7 @@ describe('device manager', () => { manager.emit('videoDevicesUpdated', {}); expect(await waitWithBreakCondition(() => client.getState().deviceManager.cameras.length === 1)).toBe(true); - expect(client.getState().deviceManager.cameras[0].name).toBe('camera'); + expect(client.getState().deviceManager.cameras[0]?.name).toBe('camera'); }); test('should proxy getMicrophones and update microphones in state', async () => { @@ -57,10 +57,10 @@ describe('device manager', () => { const microphones = await (await client.getDeviceManager()).getMicrophones(); expect(microphones.length).toBe(1); - expect(microphones[0].name).toBe('microphone'); + expect(microphones[0]?.name).toBe('microphone'); expect(client.getState().deviceManager.microphones.length).toBe(1); - expect(client.getState().deviceManager.microphones[0].name).toBe('microphone'); + expect(client.getState().deviceManager.microphones[0]?.name).toBe('microphone'); }); test('should proxy selectMicrophone and update selectedMicrophone in state', async () => { @@ -95,10 +95,10 @@ describe('device manager', () => { const speakers = await (await client.getDeviceManager()).getSpeakers(); expect(speakers.length).toBe(1); - expect(speakers[0].name).toBe('speaker'); + expect(speakers[0]?.name).toBe('speaker'); expect(client.getState().deviceManager.speakers.length).toBe(1); - expect(client.getState().deviceManager.speakers[0].name).toBe('speaker'); + expect(client.getState().deviceManager.speakers[0]?.name).toBe('speaker'); }); test('should proxy selectSpeaker and update selectedSpeaker in state', async () => { diff --git a/packages/calling-stateful-client/src/DeviceManagerDeclarative.ts b/packages/calling-stateful-client/src/DeviceManagerDeclarative.ts index 00ab3565080..3b774a728aa 100644 --- a/packages/calling-stateful-client/src/DeviceManagerDeclarative.ts +++ b/packages/calling-stateful-client/src/DeviceManagerDeclarative.ts @@ -65,24 +65,29 @@ class ProxyDeviceManager implements ProxyHandler { this._deviceManager.on('selectedSpeakerChanged', this.selectedSpeakerChanged); // Subscribe to browser camera permissions changes - try { - navigator.permissions.query({ name: 'camera' as PermissionName }).then((cameraPermissions): void => { - cameraPermissions.addEventListener('change', this.permissionsApiStateChangeHandler); - }); - } catch (e) { - console.info('Could not subscribe to Permissions API Camera changed events, API is not supported by browser', e); - } + if (navigator.permissions) { + try { + navigator.permissions.query({ name: 'camera' as PermissionName }).then((cameraPermissions): void => { + cameraPermissions.addEventListener('change', this.permissionsApiStateChangeHandler); + }); + } catch (e) { + console.info( + 'Could not subscribe to Permissions API Camera changed events, API is not supported by browser', + e + ); + } - // Subscribe to browser microphone permissions changes - try { - navigator.permissions.query({ name: 'microphone' as PermissionName }).then((micPermissions): void => { - micPermissions.addEventListener('change', this.permissionsApiStateChangeHandler); - }); - } catch (e) { - console.info( - 'Could not subscribe to Permissions API Microphone changed events, API is not supported by browser', - e - ); + // Subscribe to browser microphone permissions changes + try { + navigator.permissions.query({ name: 'microphone' as PermissionName }).then((micPermissions): void => { + micPermissions.addEventListener('change', this.permissionsApiStateChangeHandler); + }); + } catch (e) { + console.info( + 'Could not subscribe to Permissions API Microphone changed events, API is not supported by browser', + e + ); + } } }; @@ -95,28 +100,30 @@ class ProxyDeviceManager implements ProxyHandler { this._deviceManager.off('selectedMicrophoneChanged', this.selectedMicrophoneChanged); this._deviceManager.off('selectedSpeakerChanged', this.selectedSpeakerChanged); - // Unsubscribe from browser camera permissions changes - try { - navigator.permissions.query({ name: 'camera' as PermissionName }).then((cameraPermissions): void => { - cameraPermissions.removeEventListener('change', this.permissionsApiStateChangeHandler); - }); - } catch (e) { - console.info( - 'Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', - e - ); - } + if (navigator.permissions) { + // Unsubscribe from browser camera permissions changes + try { + navigator.permissions.query({ name: 'camera' as PermissionName }).then((cameraPermissions): void => { + cameraPermissions.removeEventListener('change', this.permissionsApiStateChangeHandler); + }); + } catch (e) { + console.info( + 'Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', + e + ); + } - // Unsubscribe from browser microphone permissions changes - try { - navigator.permissions.query({ name: 'microphone' as PermissionName }).then((micPermissions): void => { - micPermissions.removeEventListener('change', this.permissionsApiStateChangeHandler); - }); - } catch (e) { - console.info( - 'Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', - e - ); + // Unsubscribe from browser microphone permissions changes + try { + navigator.permissions.query({ name: 'microphone' as PermissionName }).then((micPermissions): void => { + micPermissions.removeEventListener('change', this.permissionsApiStateChangeHandler); + }); + } catch (e) { + console.info( + 'Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', + e + ); + } } }; @@ -165,16 +172,18 @@ class ProxyDeviceManager implements ProxyHandler { // information about the device permission state, but is not supported yet in Firefox or Android WebView. // Note: It also has the limitation where it cannot detect if the device is blocked by the Operating System // permissions. - try { - const [cameraPermissions, micPermissions] = await Promise.all([ - navigator.permissions.query({ name: 'camera' as PermissionName }), - navigator.permissions.query({ name: 'microphone' as PermissionName }) - ]); + if (navigator.permissions) { + try { + const [cameraPermissions, micPermissions] = await Promise.all([ + navigator.permissions.query({ name: 'camera' as PermissionName }), + navigator.permissions.query({ name: 'microphone' as PermissionName }) + ]); - hasCameraPermission = cameraPermissions.state === 'granted'; - hasMicPermission = micPermissions.state === 'granted'; - } catch (e) { - console.info('Permissions API is not supported by browser', e); + hasCameraPermission = cameraPermissions.state === 'granted'; + hasMicPermission = micPermissions.state === 'granted'; + } catch (e) { + console.info('Permissions API is not supported by browser', e); + } } this._context.setDeviceManagerDeviceAccess({ diff --git a/packages/calling-stateful-client/src/StatefulCallClient.test.ts b/packages/calling-stateful-client/src/StatefulCallClient.test.ts index 8d6393a7203..54cab7de930 100644 --- a/packages/calling-stateful-client/src/StatefulCallClient.test.ts +++ b/packages/calling-stateful-client/src/StatefulCallClient.test.ts @@ -288,17 +288,24 @@ describe('Stateful call client', () => { test('should update local video stream with createView and disposeView', async () => { const { client, callId } = await prepareCallWithLocalVideoStream(); - const localVideoStream = client.getState().calls[callId]?.localVideoStreams[0]; - expect(localVideoStream).toBeDefined(); + const intiallocalVideoStream = client.getState().calls[callId]?.localVideoStreams[0]; + if (!intiallocalVideoStream) { + throw new Error('Local video stream is not defined'); + } - await client.createView(callId, undefined, localVideoStream); + await client.createView(callId, undefined, intiallocalVideoStream); expect( - await waitWithBreakCondition(() => client.getState().calls[callId]?.localVideoStreams[0].view !== undefined) + await waitWithBreakCondition(() => client.getState().calls[callId]?.localVideoStreams[0]?.view !== undefined) ).toBe(true); - client.disposeView(callId, undefined, localVideoStream); + const updatedLocalVideoStream = client.getState().calls[callId]?.localVideoStreams[0]; + if (!updatedLocalVideoStream) { + throw new Error('Local video stream is not defined'); + } + + client.disposeView(callId, undefined, updatedLocalVideoStream); expect( - await waitWithBreakCondition(() => client.getState().calls[callId]?.localVideoStreams[0].view === undefined) + await waitWithBreakCondition(() => client.getState().calls[callId]?.localVideoStreams[0]?.view === undefined) ).toBe(true); }); @@ -308,7 +315,10 @@ describe('Stateful call client', () => { const remoteVideoStream = client.getState().calls[callId]?.remoteParticipants[participantKey]?.videoStreams[streamId]; - expect(remoteVideoStream).toBeDefined(); + + if (!remoteVideoStream) { + throw new Error('Local video stream is not defined'); + } await client.createView(callId, participant.identifier, remoteVideoStream); expect( @@ -341,10 +351,10 @@ describe('Stateful call client', () => { agent.testHelperPopCall(); + const localVideoStream = client.getState().calls[callId]?.localVideoStreams[0]; + // Expect all views to be removed. - expect( - await waitWithBreakCondition(() => client.getState().calls[callId]?.localVideoStreams[0].view === undefined) - ).toBe(true); + expect(await waitWithBreakCondition(() => localVideoStream?.view === undefined)).toBe(true); expect( await waitWithBreakCondition( () => @@ -497,7 +507,9 @@ describe('Stateful call client', () => { const { client, callId } = await prepareCallWithFeatures( createMockApiFeatures(new Map([[Features.Recording, recording]])) ); - expect(await waitWithBreakCondition(() => client.getState().calls[callId]?.recording.isRecordingActive)).toBe(true); + expect(await waitWithBreakCondition(() => !!client.getState().calls[callId]?.recording.isRecordingActive)).toBe( + true + ); recording.isRecordingActive = false; recording.emitter.emit('isRecordingActiveChanged'); @@ -512,7 +524,7 @@ describe('Stateful call client', () => { createMockApiFeatures(new Map([[Features.Transcription, transcription]])) ); expect( - await waitWithBreakCondition(() => client.getState().calls[callId]?.transcription.isTranscriptionActive) + await waitWithBreakCondition(() => !!client.getState().calls[callId]?.transcription.isTranscriptionActive) ).toBe(true); transcription.isTranscriptionActive = false; @@ -543,11 +555,11 @@ describe('Stateful call client', () => { // Once the call ends, expect that call state is no longer updated. recording.isRecordingActive = false; recording.emitter.emit('isRecordingActiveChanged'); - expect(callEnded.recording.isRecordingActive).toBe(true); + expect(callEnded?.recording.isRecordingActive).toBe(true); transcription.isTranscriptionActive = false; transcription.emitter.emit('isTranscriptionActiveChanged'); - expect(callEnded.transcription.isTranscriptionActive).toBe(true); + expect(callEnded?.transcription.isTranscriptionActive).toBe(true); }); }); @@ -596,7 +608,10 @@ describe('errors should be reported correctly from Call when', () => { }; const call = agent.calls[0]; - expect(call).toBeDefined(); + + if (!call) { + throw new Error('Call is not defined'); + } { const listener = new StateChangeListener(client); @@ -622,7 +637,9 @@ describe('errors should be reported correctly from Call when', () => { }; const call = agent.calls[0]; - expect(call).toBeDefined(); + if (!call) { + throw new Error('Call is not defined'); + } { const listener = new StateChangeListener(client); @@ -652,7 +669,9 @@ describe('errors should be reported correctly from Call when', () => { }; const call = agent.calls[0]; - expect(call).toBeDefined(); + if (!call) { + throw new Error('Call is not defined'); + } { const listener = new StateChangeListener(client); diff --git a/packages/calling-stateful-client/src/StreamUtils.test.ts b/packages/calling-stateful-client/src/StreamUtils.test.ts index 95662c0418c..9cab07ffaaa 100644 --- a/packages/calling-stateful-client/src/StreamUtils.test.ts +++ b/packages/calling-stateful-client/src/StreamUtils.test.ts @@ -232,7 +232,7 @@ describe('stream utils', () => { expect(internalContext.getLocalRenderInfo(mockCallId, 'Video')?.stream).toBeDefined(); expect(internalContext.getLocalRenderInfo(mockCallId, 'Video')?.renderer).toBeDefined(); expect(internalContext.getLocalRenderInfo(mockCallId, 'Video')?.status).toBe('Rendered'); - expect(context.getState().calls[mockCallId]?.localVideoStreams[0].view).toBeDefined(); + expect(context.getState().calls[mockCallId]?.localVideoStreams[0]?.view).toBeDefined(); }); test('cleans up state and stop rendering when disposeView is called on remote stream', async () => { @@ -461,7 +461,7 @@ describe('stream utils', () => { const views = context.getState().deviceManager.unparentedViews; expect(views.length).toBe(1); - expect(views[0].view).toBeDefined(); + expect(views[0]?.view).toBeDefined(); }); test('is able to render LocalVideoStream not tied to a call and stop rendering it by reference find', async () => { @@ -496,7 +496,7 @@ describe('stream utils', () => { const views = context.getState().deviceManager.unparentedViews; expect(views.length).toBe(1); - expect(views[0].view).toBeDefined(); + expect(views[0]?.view).toBeDefined(); }); test('context state correctly has startVideo error when unparentedView throws an error creating a video stream', async () => { diff --git a/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts b/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts index fe7493e07ce..56b49a46c68 100644 --- a/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts +++ b/packages/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts @@ -74,8 +74,8 @@ export class UserFacingDiagnosticsSubscriber { for (const diagnostic of args.diagnostics) { const { remoteParticipant: _, rawId, ...participantDiagnostic } = diagnostic; const participant = call.remoteParticipants[rawId]; - participant.diagnostics = participant.diagnostics || {}; if (participant) { + participant.diagnostics = participant.diagnostics || {}; participant.diagnostics[participantDiagnostic.diagnostic] = participantDiagnostic; } } diff --git a/packages/chat-component-bindings/tsconfig.json b/packages/chat-component-bindings/tsconfig.json index d5a295196bc..a5603f22917 100644 --- a/packages/chat-component-bindings/tsconfig.json +++ b/packages/chat-component-bindings/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm" }, "typeRoots": ["./node_modules/@types"], diff --git a/packages/chat-component-bindings/tsconfig.preprocess.json b/packages/chat-component-bindings/tsconfig.preprocess.json index 27383c414a8..07db92718b6 100644 --- a/packages/chat-component-bindings/tsconfig.preprocess.json +++ b/packages/chat-component-bindings/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocessed", "noImplicitAny": false, "outDir": "./dist/dist-esm" diff --git a/packages/chat-stateful-client/tsconfig.json b/packages/chat-stateful-client/tsconfig.json index d5a295196bc..a5603f22917 100644 --- a/packages/chat-stateful-client/tsconfig.json +++ b/packages/chat-stateful-client/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm" }, "typeRoots": ["./node_modules/@types"], diff --git a/packages/chat-stateful-client/tsconfig.preprocess.json b/packages/chat-stateful-client/tsconfig.preprocess.json index 1c2dedf69ad..c785322f6c5 100644 --- a/packages/chat-stateful-client/tsconfig.preprocess.json +++ b/packages/chat-stateful-client/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocessed", "outDir": "./dist/dist-esm" }, diff --git a/packages/communication-react/tsconfig.json b/packages/communication-react/tsconfig.json index 74b8a7ac74d..cf271cb6ac6 100644 --- a/packages/communication-react/tsconfig.json +++ b/packages/communication-react/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, "baseUrl": "./src", "outDir": "./dist/dist-esm", "paths": { diff --git a/packages/communication-react/tsconfig.preprocess.json b/packages/communication-react/tsconfig.preprocess.json index 99343e09106..fa7d0a40569 100644 --- a/packages/communication-react/tsconfig.preprocess.json +++ b/packages/communication-react/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocess-dist", "outDir": "./dist/dist-esm", "paths": { diff --git a/packages/fake-backends/tsconfig.json b/packages/fake-backends/tsconfig.json index d5a295196bc..a5603f22917 100644 --- a/packages/fake-backends/tsconfig.json +++ b/packages/fake-backends/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm" }, "typeRoots": ["./node_modules/@types"], diff --git a/packages/fake-backends/tsconfig.preprocess.json b/packages/fake-backends/tsconfig.preprocess.json index 1c2dedf69ad..c785322f6c5 100644 --- a/packages/fake-backends/tsconfig.preprocess.json +++ b/packages/fake-backends/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocessed", "outDir": "./dist/dist-esm" }, diff --git a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.test.tsx b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.test.tsx index dc6df61a2b4..9c22ed467d9 100644 --- a/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.test.tsx +++ b/packages/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.test.tsx @@ -84,7 +84,7 @@ describe('ChatMessageComponentAsRichTextEditBox tests', () => { const cancelButton = screen.queryByTestId(cancelButtonTitle); if (cancelButton === null) { - fail('Cancel button not found'); + throw new Error('Cancel button not found'); } await userEvent.click(cancelButton); @@ -97,7 +97,7 @@ describe('ChatMessageComponentAsRichTextEditBox tests', () => { // fix for an issue when contentEditable is not set to RoosterJS for tests editorDiv?.setAttribute('contentEditable', 'true'); if (editorDiv === null) { - fail('Editor div not found'); + throw new Error('Editor div not found'); } await userEvent.click(editorDiv); await waitFor(async () => { @@ -107,7 +107,7 @@ describe('ChatMessageComponentAsRichTextEditBox tests', () => { const submitButton = screen.queryByTestId(submitButtonTitle); if (submitButton === null) { - fail('Submit button not found'); + throw new Error('Submit button not found'); } fireEvent.click(submitButton); await modifyInlineImagesInContentString('

', []); diff --git a/packages/react-components/src/components/MessageThread.test.tsx b/packages/react-components/src/components/MessageThread.test.tsx index bb29c2630d8..332e8660d56 100644 --- a/packages/react-components/src/components/MessageThread.test.tsx +++ b/packages/react-components/src/components/MessageThread.test.tsx @@ -391,7 +391,7 @@ describe('Message should display Mention correctly', () => { // Find message bubble does not contain mention yet const messageBubble = screen.queryByTestId('chat-composite-message'); if (!messageBubble) { - fail('Failed to find chat message bubble'); + throw new Error('Failed to find chat message bubble'); } expect(messageBubble.innerHTML).not.toContain(user1Name); expect(messageBubble.innerHTML).not.toContain(MSFT_MENTION); @@ -399,7 +399,7 @@ describe('Message should display Mention correctly', () => { // Click on ... button to trigger context menu const menuButton = screen.queryByTestId('chat-composite-message-action-icon'); if (!menuButton) { - fail('Failed to find "More" action button'); + throw new Error('Failed to find "More" action button'); } fireEvent.click(menuButton); @@ -454,7 +454,7 @@ describe('Message should display Mention correctly', () => { // After re-render with edited message, verify content includes mentions html tag const messageBubbleAfterRerender = screen.queryByTestId('chat-composite-message'); if (!messageBubbleAfterRerender) { - fail('Failed to find "More" action button after rerender'); + throw new Error('Failed to find "More" action button after rerender'); } expect(messageBubbleAfterRerender.innerHTML).toContain(user1Name); expect(messageBubbleAfterRerender.innerHTML).toContain(MSFT_MENTION); diff --git a/packages/react-components/src/components/RichTextEditor/RichTextEditor.test.tsx b/packages/react-components/src/components/RichTextEditor/RichTextEditor.test.tsx index 486417d07ce..de543df55d5 100644 --- a/packages/react-components/src/components/RichTextEditor/RichTextEditor.test.tsx +++ b/packages/react-components/src/components/RichTextEditor/RichTextEditor.test.tsx @@ -106,7 +106,7 @@ describe('RichTextEditor should be shown correctly', () => { // fix for an issue when contentEditable is not set to RoosterJS for tests editorDiv?.setAttribute('contentEditable', 'true'); if (editorDiv === null) { - fail('Editor div not found'); + throw new Error('Editor div not found'); } await userEvent.click(editorDiv); await waitFor(async () => { diff --git a/packages/react-components/src/components/RichTextEditor/RichTextSendBox.test.tsx b/packages/react-components/src/components/RichTextEditor/RichTextSendBox.test.tsx index f5149b9bd0d..6d13b9676ff 100644 --- a/packages/react-components/src/components/RichTextEditor/RichTextSendBox.test.tsx +++ b/packages/react-components/src/components/RichTextEditor/RichTextSendBox.test.tsx @@ -65,7 +65,7 @@ describe('RichTextSendBox should only call onSendMessage when there is content a // fix for an issue when contentEditable is not set to RoosterJS for tests editorDiv?.setAttribute('contentEditable', 'true'); if (editorDiv === null) { - fail('Editor div not found'); + throw new Error('Editor div not found'); } // Find and click the send button const sendButton = await screen.findByRole('button', { @@ -98,7 +98,7 @@ describe('RichTextSendBox should return text correctly', () => { // fix for an issue when contentEditable is not set to RoosterJS for tests editorDiv?.setAttribute('contentEditable', 'true'); if (editorDiv === null) { - fail('Editor div not found'); + throw new Error('Editor div not found'); } await userEvent.click(editorDiv); await waitFor(async () => { diff --git a/packages/react-components/src/theming/generateTheme.ts b/packages/react-components/src/theming/generateTheme.ts index 1fd10a2267a..e68f6540892 100644 --- a/packages/react-components/src/theming/generateTheme.ts +++ b/packages/react-components/src/theming/generateTheme.ts @@ -33,8 +33,18 @@ export const _generateTheme = (accentColor: string, variant: 'light' | 'dark'): // For usage, see: https://github.com/microsoft/fluentui/blob/88efc19c9513db18cb5b7c63fa0f47ba496755a2/packages/react/src/components/ThemeGenerator/ThemeGenerator.ts const themeRules = themeRulesStandardCreator(); ThemeGenerator.insureSlots(themeRules, isDark); - ThemeGenerator.setSlot(themeRules[BaseSlots[BaseSlots.primaryColor]], primaryColor, isDark, true, true); - ThemeGenerator.setSlot(themeRules[BaseSlots[BaseSlots.backgroundColor]], backgroundColor, isDark, true, true); + + const primaryColorSlot = themeRules[BaseSlots[BaseSlots.primaryColor]]; + if (!primaryColorSlot) { + throw new Error('Primary color slot not found'); + } + ThemeGenerator.setSlot(primaryColorSlot, primaryColor, isDark, true, true); + + const backgroundColorSlot = themeRules[BaseSlots[BaseSlots.backgroundColor]]; + if (!backgroundColorSlot) { + throw new Error('Background color slot not found'); + } + ThemeGenerator.setSlot(backgroundColorSlot, backgroundColor, isDark, true, true); // There is a bug in fluentv8 theme generator that causes the foregroundColor to be generated incorrectly: https://github.com/microsoft/fluentui/issues/29853. // Ideally we could do: ThemeGenerator.setSlot(themeRules[BaseSlots[foregroundColor]], colors.textColor, isDark, true, true); diff --git a/packages/react-components/tsconfig.json b/packages/react-components/tsconfig.json index 30d8bffd151..b10db17e72c 100644 --- a/packages/react-components/tsconfig.json +++ b/packages/react-components/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm" }, "typeRoots": ["./node_modules/@types", "./@types"], diff --git a/packages/react-components/tsconfig.preprocess.json b/packages/react-components/tsconfig.preprocess.json index d768a3541f2..654d670a79d 100644 --- a/packages/react-components/tsconfig.preprocess.json +++ b/packages/react-components/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocessed", "outDir": "./dist/dist-esm" }, diff --git a/packages/react-composites/src/composites/ChatComposite/ChatComposite.test.tsx b/packages/react-composites/src/composites/ChatComposite/ChatComposite.test.tsx index 4b4341189e6..f9e750841cc 100644 --- a/packages/react-composites/src/composites/ChatComposite/ChatComposite.test.tsx +++ b/packages/react-composites/src/composites/ChatComposite/ChatComposite.test.tsx @@ -184,7 +184,7 @@ describe('ChatComposite - text only mode', () => { const onPasteFunction = onPaste as (event: { content: DocumentFragment }) => void; expect(onPasteFunction).toBe(removeImageTags); } else { - fail('onPaste is undefined'); + throw new Error('onPaste is undefined'); } }); diff --git a/packages/react-composites/tests/browser/common/utils.ts b/packages/react-composites/tests/browser/common/utils.ts index 21761ae0127..e715a3876ed 100644 --- a/packages/react-composites/tests/browser/common/utils.ts +++ b/packages/react-composites/tests/browser/common/utils.ts @@ -648,7 +648,7 @@ export const dragToRight = async (page: Page, selector: string): Promise = const boundingBox = await handle.boundingBox(); if (!boundingBox) { page.screenshot({ path: `test-results/failure-screenshot-${generateGUID()}.png` }); - fail(`Bounding box for selector '${selector}' could not be found.`); + throw new Error(`Bounding box for selector '${selector}' could not be found.`); } await screenshotOnFailure( page, diff --git a/packages/react-composites/tsconfig.json b/packages/react-composites/tsconfig.json index d5a295196bc..a5603f22917 100644 --- a/packages/react-composites/tsconfig.json +++ b/packages/react-composites/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm" }, "typeRoots": ["./node_modules/@types"], diff --git a/packages/react-composites/tsconfig.preprocess.json b/packages/react-composites/tsconfig.preprocess.json index 1c2dedf69ad..c785322f6c5 100644 --- a/packages/react-composites/tsconfig.preprocess.json +++ b/packages/react-composites/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "baseUrl": "./preprocessed", "outDir": "./dist/dist-esm" }, diff --git a/packages/storybook/tsconfig.json b/packages/storybook/tsconfig.json index 3788e9ee093..02431198e97 100644 --- a/packages/storybook/tsconfig.json +++ b/packages/storybook/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { "outDir": "./dist", + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "paths": { "@azure/communication-react": ["../communication-react/src"], "@internal/acs-ui-common": ["../acs-ui-common/src"], diff --git a/packages/storybook8/tsconfig.json b/packages/storybook8/tsconfig.json index 6a6189c0202..ad6302f0159 100644 --- a/packages/storybook8/tsconfig.json +++ b/packages/storybook8/tsconfig.json @@ -2,6 +2,7 @@ "baseUrl": ".", "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist", "paths": { "@azure/communication-react": ["../communication-react/src"], diff --git a/samples/CallWithChat/tsconfig.json b/samples/CallWithChat/tsconfig.json index c2773a3d155..7e307a767a5 100644 --- a/samples/CallWithChat/tsconfig.json +++ b/samples/CallWithChat/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./src", "paths": { diff --git a/samples/CallWithChat/tsconfig.preprocess.json b/samples/CallWithChat/tsconfig.preprocess.json index 634765b9e8e..4b25b5bbc42 100644 --- a/samples/CallWithChat/tsconfig.preprocess.json +++ b/samples/CallWithChat/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./preprocessed" }, diff --git a/samples/Calling/tsconfig.json b/samples/Calling/tsconfig.json index c2773a3d155..7e307a767a5 100644 --- a/samples/Calling/tsconfig.json +++ b/samples/Calling/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./src", "paths": { diff --git a/samples/Calling/tsconfig.preprocess.json b/samples/Calling/tsconfig.preprocess.json index 634765b9e8e..4b25b5bbc42 100644 --- a/samples/Calling/tsconfig.preprocess.json +++ b/samples/Calling/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./preprocessed" }, diff --git a/samples/CallingStateful/tsconfig.json b/samples/CallingStateful/tsconfig.json index c2773a3d155..7e307a767a5 100644 --- a/samples/CallingStateful/tsconfig.json +++ b/samples/CallingStateful/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./src", "paths": { diff --git a/samples/CallingStateful/tsconfig.preprocess.json b/samples/CallingStateful/tsconfig.preprocess.json index 634765b9e8e..4b25b5bbc42 100644 --- a/samples/CallingStateful/tsconfig.preprocess.json +++ b/samples/CallingStateful/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./preprocessed" }, diff --git a/samples/Chat/tsconfig.json b/samples/Chat/tsconfig.json index c2773a3d155..7e307a767a5 100644 --- a/samples/Chat/tsconfig.json +++ b/samples/Chat/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./src", "paths": { diff --git a/samples/Chat/tsconfig.preprocess.json b/samples/Chat/tsconfig.preprocess.json index 634765b9e8e..4b25b5bbc42 100644 --- a/samples/Chat/tsconfig.preprocess.json +++ b/samples/Chat/tsconfig.preprocess.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./preprocessed" }, diff --git a/samples/ComponentExamples/tsconfig.json b/samples/ComponentExamples/tsconfig.json index cc330924f2b..4daf4cb6ddd 100644 --- a/samples/ComponentExamples/tsconfig.json +++ b/samples/ComponentExamples/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../common/config/tsc/tsconfig.json", "compilerOptions": { + "noUncheckedIndexedAccess": false, // todo: turn this to true when instances have been fixed "outDir": "./dist/dist-esm", "baseUrl": "./src", "paths": { From 241fcf99f041fdd8657876b9d4af153e5174cd9c Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:34:21 -0700 Subject: [PATCH 53/58] Update from cpx to cpy (dependabot fixes) (#5235) --- common/config/rush/pnpm-lock.yaml | 498 +++++++--------- .../rush/variants/stable/pnpm-lock.yaml | 560 ++++++++---------- packages/acs-ui-common/package.json | 4 +- .../acs-ui-javascript-loaders/package.json | 4 +- .../calling-component-bindings/package.json | 4 +- packages/calling-stateful-client/package.json | 4 +- packages/chat-component-bindings/package.json | 4 +- packages/chat-stateful-client/package.json | 4 +- packages/communication-react/package.json | 8 +- packages/fake-backends/package.json | 4 +- packages/react-components/package.json | 4 +- .../localization/locales/cy-GB/strings.json | 2 +- packages/react-composites/package.json | 4 +- .../localization/locales/cy-GB/strings.json | 2 +- samples/CallWithChat/package.json | 6 +- samples/Calling/package.json | 6 +- samples/CallingStateful/package.json | 6 +- samples/Chat/package.json | 6 +- samples/Server/package.json | 4 +- samples/StaticHtmlComposites/package.json | 4 +- 20 files changed, 520 insertions(+), 618 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 4ed5b730d25..aa1ba36150d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -5508,6 +5508,11 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: false + /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -9237,6 +9242,14 @@ packages: indent-string: 4.0.0 dev: false + /aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: false + /airbnb-js-shims@2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} dependencies: @@ -9278,8 +9291,10 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1: + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9433,13 +9448,6 @@ packages: entities: 2.2.0 dev: false - /anymatch@1.3.2: - resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} - dependencies: - micromatch: 2.3.11 - normalize-path: 2.1.1 - dev: false - /anymatch@2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -9522,13 +9530,6 @@ packages: engines: {node: '>= 0.4'} dev: false - /arr-diff@2.0.0: - resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - dev: false - /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} @@ -9607,11 +9608,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /array-unique@0.2.1: - resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} - engines: {node: '>=0.10.0'} - dev: false - /array-unique@0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} @@ -9716,6 +9712,11 @@ packages: engines: {node: '>=8'} dev: false + /arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + dev: false + /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false @@ -9765,7 +9766,9 @@ packages: /async-each@1.0.6: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} + requiresBuild: true dev: false + optional: true /async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -10167,7 +10170,9 @@ packages: /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: false + optional: true /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -10259,15 +10264,6 @@ packages: balanced-match: 1.0.2 dev: false - /braces@1.8.5: - resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} - engines: {node: '>=0.10.0'} - dependencies: - expand-range: 1.8.2 - preserve: 0.2.0 - repeat-element: 1.1.4 - dev: false - /braces@2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -10674,21 +10670,6 @@ packages: engines: {node: '>= 16'} dev: false - /chokidar@1.7.0: - resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} - dependencies: - anymatch: 1.3.2 - async-each: 1.0.6 - glob-parent: 2.0.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 2.0.1 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - optionalDependencies: - fsevents: 1.2.13 - dev: false - /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} requiresBuild: true @@ -10787,6 +10768,13 @@ packages: engines: {node: '>=6'} dev: false + /clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: false + /cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} @@ -11118,6 +11106,14 @@ packages: engines: {node: '>=0.10.0'} dev: false + /copy-file@11.0.0: + resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==} + engines: {node: '>=18'} + dependencies: + graceful-fs: 4.2.11 + p-event: 6.0.1 + dev: false + /copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: @@ -11229,6 +11225,15 @@ packages: typescript: 5.4.5 dev: false + /cp-file@10.0.0: + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} + dependencies: + graceful-fs: 4.2.11 + nested-error-stacks: 2.1.1 + p-event: 5.0.1 + dev: false + /cp-file@7.0.0: resolution: {integrity: sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==} engines: {node: '>=8'} @@ -11239,21 +11244,39 @@ packages: p-event: 4.2.0 dev: false - /cpx@1.5.0: - resolution: {integrity: sha512-jHTjZhsbg9xWgsP2vuNW2jnnzBX+p4T+vNI9Lbjzs1n4KhOfa22bQppiFYLsWQKd8TzmL5aSP/Me3yfsCwXbDA==} + /cpy-cli@5.0.0: + resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} + engines: {node: '>=16'} hasBin: true dependencies: - babel-runtime: 6.26.0 - chokidar: 1.7.0 - duplexer: 0.1.2 - glob: 7.2.3 - glob2base: 0.0.12 - minimatch: 3.1.2 - mkdirp: 0.5.6 - resolve: 1.22.8 - safe-buffer: 5.2.1 - shell-quote: 1.8.1 - subarg: 1.0.0 + cpy: 10.1.0 + meow: 12.1.1 + dev: false + + /cpy@10.1.0: + resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} + engines: {node: '>=16'} + dependencies: + arrify: 3.0.0 + cp-file: 10.0.0 + globby: 13.2.2 + junk: 4.0.1 + micromatch: 4.0.8 + nested-error-stacks: 2.1.1 + p-filter: 3.0.0 + p-map: 6.0.0 + dev: false + + /cpy@11.1.0: + resolution: {integrity: sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==} + engines: {node: '>=18'} + dependencies: + copy-file: 11.0.0 + globby: 14.0.2 + junk: 4.0.1 + micromatch: 4.0.8 + p-filter: 4.1.0 + p-map: 7.0.2 dev: false /cpy@8.1.2: @@ -12956,13 +12979,6 @@ packages: engines: {node: '>= 0.8.0'} dev: false - /expand-brackets@0.1.5: - resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} - engines: {node: '>=0.10.0'} - dependencies: - is-posix-bracket: 0.1.1 - dev: false - /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -12976,13 +12992,6 @@ packages: to-regex: 3.0.2 dev: false - /expand-range@1.8.2: - resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} - engines: {node: '>=0.10.0'} - dependencies: - fill-range: 2.2.4 - dev: false - /expand-tilde@1.2.2: resolution: {integrity: sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==} engines: {node: '>=0.10.0'} @@ -13073,13 +13082,6 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - /extglob@0.3.2: - resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: false - /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -13235,22 +13237,6 @@ packages: minimatch: 5.1.6 dev: false - /filename-regex@2.0.1: - resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} - engines: {node: '>=0.10.0'} - dev: false - - /fill-range@2.2.4: - resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 3.1.1 - repeat-element: 1.1.4 - repeat-string: 1.6.1 - dev: false - /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -13316,10 +13302,6 @@ packages: resolve-dir: 0.1.1 dev: false - /find-index@0.1.1: - resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} - dev: false - /find-pkg@0.1.2: resolution: {integrity: sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==} engines: {node: '>=0.10.0'} @@ -13442,13 +13424,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /for-own@0.1.5: - resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - dev: false - /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -13824,20 +13799,6 @@ packages: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false - /glob-base@0.3.0: - resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} - engines: {node: '>=0.10.0'} - dependencies: - glob-parent: 2.0.0 - is-glob: 2.0.1 - dev: false - - /glob-parent@2.0.0: - resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} - dependencies: - is-glob: 2.0.1 - dev: false - /glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: @@ -13877,13 +13838,6 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false - /glob2base@0.0.12: - resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} - engines: {node: '>= 0.10'} - dependencies: - find-index: 0.1.1 - dev: false - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -13992,6 +13946,18 @@ packages: slash: 4.0.0 dev: false + /globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.2 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: false + /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14692,6 +14658,11 @@ packages: engines: {node: '>=8'} dev: false + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: false + /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: false @@ -14831,9 +14802,11 @@ packages: /is-binary-path@1.0.1: resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: binary-extensions: 1.13.1 dev: false + optional: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -14933,18 +14906,6 @@ packages: is-window: 1.0.2 dev: false - /is-dotfile@1.0.3: - resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} - engines: {node: '>=0.10.0'} - dev: false - - /is-equal-shallow@0.1.3: - resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} - engines: {node: '>=0.10.0'} - dependencies: - is-primitive: 2.0.0 - dev: false - /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -14957,11 +14918,6 @@ packages: is-plain-object: 2.0.4 dev: false - /is-extglob@1.0.0: - resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} - engines: {node: '>=0.10.0'} - dev: false - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -15006,13 +14962,6 @@ packages: has-tostringtag: 1.0.2 dev: false - /is-glob@2.0.1: - resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: false - /is-glob@3.1.0: resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} @@ -15048,13 +14997,6 @@ packages: has-tostringtag: 1.0.2 dev: false - /is-number@2.1.0: - resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: false - /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -15062,11 +15004,6 @@ packages: kind-of: 3.2.2 dev: false - /is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - dev: false - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -15109,20 +15046,10 @@ packages: engines: {node: '>=0.10.0'} dev: false - /is-posix-bracket@0.1.1: - resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} - engines: {node: '>=0.10.0'} - dev: false - /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: false - /is-primitive@2.0.0: - resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} - engines: {node: '>=0.10.0'} - dev: false - /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -16318,6 +16245,11 @@ packages: engines: {node: '>=8'} dev: false + /junk@4.0.1: + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} + dev: false + /jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} dev: false @@ -16673,10 +16605,6 @@ packages: react: 18.3.1 dev: false - /math-random@1.0.4: - resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - dev: false - /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: @@ -16908,6 +16836,11 @@ packages: readable-stream: 2.3.8 dev: false + /meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + dev: false + /meow@3.7.0: resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} engines: {node: '>=0.10.0'} @@ -17208,25 +17141,6 @@ packages: - supports-color dev: false - /micromatch@2.3.11: - resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 2.0.0 - array-unique: 0.2.1 - braces: 1.8.5 - expand-brackets: 0.1.5 - extglob: 0.3.2 - filename-regex: 2.0.1 - is-extglob: 1.0.0 - is-glob: 2.0.1 - kind-of: 3.2.2 - normalize-path: 2.1.1 - object.omit: 2.0.1 - parse-glob: 3.0.4 - regex-cache: 0.4.4 - dev: false - /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -17850,14 +17764,6 @@ packages: es-abstract: 1.23.3 dev: false - /object.omit@2.0.1: - resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 0.1.5 - is-extendable: 0.1.1 - dev: false - /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} @@ -17976,6 +17882,20 @@ packages: p-timeout: 3.2.0 dev: false + /p-event@5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-timeout: 5.1.0 + dev: false + + /p-event@6.0.1: + resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} + engines: {node: '>=16.17'} + dependencies: + p-timeout: 6.1.2 + dev: false + /p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -17983,6 +17903,20 @@ packages: p-map: 2.1.0 dev: false + /p-filter@3.0.0: + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-map: 5.5.0 + dev: false + + /p-filter@4.1.0: + resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} + engines: {node: '>=18'} + dependencies: + p-map: 7.0.2 + dev: false + /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -18056,6 +17990,23 @@ packages: aggregate-error: 3.1.0 dev: false + /p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + dependencies: + aggregate-error: 4.0.1 + dev: false + + /p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} + dev: false + + /p-map@7.0.2: + resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} + engines: {node: '>=18'} + dev: false + /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -18071,6 +18022,16 @@ packages: p-finally: 1.0.0 dev: false + /p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + dev: false + + /p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + dev: false + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -18135,16 +18096,6 @@ packages: is-hexadecimal: 1.0.4 dev: false - /parse-glob@3.0.4: - resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} - engines: {node: '>=0.10.0'} - dependencies: - glob-base: 0.3.0 - is-dotfile: 1.0.3 - is-extglob: 1.0.0 - is-glob: 2.0.1 - dev: false - /parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -18305,6 +18256,11 @@ packages: engines: {node: '>=8'} dev: false + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: false + /path@0.12.7: resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} dependencies: @@ -18627,11 +18583,6 @@ packages: engines: {node: '>= 0.8.0'} dev: false - /preserve@0.2.0: - resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} - engines: {node: '>=0.10.0'} - dev: false - /prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -18896,15 +18847,6 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: false - /randomatic@3.1.1: - resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} - engines: {node: '>= 0.10.0'} - dependencies: - is-number: 4.0.0 - kind-of: 6.0.3 - math-random: 1.0.4 - dev: false - /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -19270,11 +19212,13 @@ packages: /readdirp@2.2.1: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} + requiresBuild: true dependencies: graceful-fs: 4.2.11 micromatch: 3.1.10 readable-stream: 2.3.8 dev: false + optional: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -19371,13 +19315,6 @@ packages: '@babel/runtime': 7.25.6 dev: false - /regex-cache@0.4.4: - resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-equal-shallow: 0.1.3 - dev: false - /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -20021,7 +19958,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -20952,12 +20889,6 @@ packages: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} dev: false - /subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - dependencies: - minimist: 1.2.8 - dev: false - /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -21840,6 +21771,11 @@ packages: engines: {node: '>=4'} dev: false + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: false + /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: @@ -23159,7 +23095,7 @@ packages: dev: false file:projects/acs-ui-common.tgz: - resolution: {integrity: sha512-+j53f4pQARMblkGIOqzOS1hAhqHYuiHQJrGwwtivuBSKrboNP2b0veDx+I9ePfzTrnOOXhK1L+hQ3BD97/IbuA==, tarball: file:projects/acs-ui-common.tgz} + resolution: {integrity: sha512-y2QamaOKh8GwOkl2Y0nZANT2Ood/iunpf6PNWRnlX2bilc5aWXTSTX4hhUhl5tNAxf0UK32f9Ct7CxVLw3sK3g==, tarball: file:projects/acs-ui-common.tgz} name: '@rush-temp/acs-ui-common' version: 0.0.0 dependencies: @@ -23172,7 +23108,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23203,7 +23140,7 @@ packages: dev: false file:projects/acs-ui-javascript-loaders.tgz: - resolution: {integrity: sha512-pWTuuUa9soKSTVE+e9wtoUatgVO0Qhx7L1Bv8/xXryaQ+SQO4SSQmuIAOzBxcC+6aLCzO/ArZ/PV+N5IKk/vhQ==, tarball: file:projects/acs-ui-javascript-loaders.tgz} + resolution: {integrity: sha512-Lky2hBpB1qHS48VzpAgmIze6FaHMvWK3sZEyZQo0LdO44ont+saGMb1bQvj1YcByZPmG+a3yZs4l1SGdKg9EUA==, tarball: file:projects/acs-ui-javascript-loaders.tgz} name: '@rush-temp/acs-ui-javascript-loaders' version: 0.0.0 dependencies: @@ -23218,7 +23155,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23250,7 +23188,7 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-U7frD7yCWkKdAMJCmYYQlwOz38hiNqNWA0ScWgKv0uj8Ul57+U4PbrrK2GNFY8DNCx+lQ3aHvKpjMbpRrFhWjw==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-I2PRXfCfy4nA8vmBvrX5lO80xGoK5rgSQFREo3rP/+7vtxiuUuKCJ7uXVi36pS1aJc0wH8xy5MMNZk6g3ja+8w==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: @@ -23264,7 +23202,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23297,7 +23236,7 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-wugXNq3CG9liAdByIUNCOzdHb5Bymx/Q+od/ZiMJwM8+MaljMoDqxTnp4yC25GP1/6e00qxn5LmHKe3htlgTJw==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-GcbarSj04jAAvJHMsprSNk1rGE/I6in0DvqaZDxWBD4TTa7ffRefU2EYv5xZSdQoCI4LIMzJYq5cvLJOagULIg==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: @@ -23313,7 +23252,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23345,7 +23285,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-xkEjTDCwxXNqzhs5cQJfaYhkO22cuFFVsB6ae7m1Q4+gzL2NigF5thTH1rq4IkuPqD8+Nyj4vMNi/9yZ5FGeiA==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-BlPohbxoEnnAPj4sx2677ZXIfsSrU6M0j+0NVas0bxYfwrJLmLZcsoifZjSpijwG1LRY3czuFAUJgiZUt00i2A==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23374,7 +23314,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23439,7 +23380,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-O3XpBwdFTA9piUp7l+w5ofG4HylhCYz5AxfgB0tg0xo6wjpYzNujuS6EYeI38nbGRJYWQQpHWqoL/GteLEvpTA==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-ytzphojhPz7PXcagN5uLeffnSuY0O00GcKFQc0vcK8Jh8aPvItTqTUv877w3vN7b6X5by2L7oyzKSQ1YZbOyKQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23468,7 +23409,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23533,7 +23475,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-rOgsmY3OaW8nPsFEIg8QumP1Y3D1pFkOlHq50IFjmtMf836AzD9wTAOovzZE0ipNrkfqm+UIMvW2fugzobPYow==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-YNozY5DF0i9ViIWNPrbUSjjdc56a2w3gfzYmLAxcQgnCjLQeZMwDgpyoUWUf/jCOLTYUWWRiCbzithOFSMa/8w==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23563,7 +23505,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23626,7 +23569,7 @@ packages: dev: false file:projects/chat-component-bindings.tgz: - resolution: {integrity: sha512-zLh8siLw3MEqy1fG70DY6opQx0Vg44n8P7oMNstRKCgAUmoitbG8eR56wkzY+QW5JFRaaROLFe3lyj87/tRsDA==, tarball: file:projects/chat-component-bindings.tgz} + resolution: {integrity: sha512-y5Rdy0JOQeUgvaVYl/iPqsiEuvFJF2XsiVfd9XoOs2MuE46WArJpNuev5sCjMiwoz5LU/RsS5m14F2JrZqf3QQ==, tarball: file:projects/chat-component-bindings.tgz} name: '@rush-temp/chat-component-bindings' version: 0.0.0 dependencies: @@ -23638,7 +23581,8 @@ packages: '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23667,7 +23611,7 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-5v38UEJnMLYqVF0eSRViK9WaoKen1XwQd5XYI6uoPCr1C/VvK32isrNqofG6+G5A6nPh2oyy/8SF7KOVa2lpIw==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-U9IIdbfrZ64iHE6Uc0GBPKF5/fT+l8lJKhHD31R7AEd5SEAjue0lFE8iNcxVzgSO1I6AkpmdDzKTvNDEF0o6Vw==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: @@ -23685,7 +23629,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23718,7 +23663,7 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-BO2h5pyCOaZvGxIcBk8UqdcYoEQIxqPw18WTyDYoaasW0bZr+PgJRsW5xfSXcrIGyvApBSPH91gZ/m8Xv46Q6Q==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-uOtT6GKsqCjkjGU0GcBYcJ+GksTCJm3x3fgFJR4Ham8BHzSa7iRmL8RMLVuY9WpagddaKklRRIycLfi+D228CQ==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: @@ -23744,7 +23689,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23853,7 +23799,7 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-ccetroalYQyg1VfC99v6Ec4tJpHkdtIlvWHRhIzaqimoqjEOimagwxZEOxSzG7ID6MRqDchxiFvXRGikZGONOQ==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-CgOKa0/ZT3/SmjZsJUd9oJRrWcMXaFkoXw95RKStP4r0xE26DoYDsARYRi368w/hhb4PtWfMyyt8WdnvZonWiQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: @@ -23893,7 +23839,8 @@ packages: ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 @@ -24049,7 +23996,7 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-2X52TzlPhHgSgjqYiywEgrDahh95kviOqS3MPvqP770/ztap7rpufA6OPr4AYZ2MR2upiW4er5qf3dzAW4w34w==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-VNhAUKctn50wKDaEAyNrYyuPH1d26tmNQHkO3oFbSUoFmGWm+2LT6sbhpx3OvkLb5AyrGRHeBX7F/COh3ZTlUg==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: @@ -24068,7 +24015,8 @@ packages: babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -24105,7 +24053,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-kaIjjmJHswDEYD56q8HBMAg8+Z5HXIg3x/gfUx+Nx8xGpGPmKHWYEXFGLtLomcB/9DzvKPJn3oUw0AAXRCBZLw==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-4rrymW5DfnW46j7OEsJVNaLjdTAXKsZGbl8rn/dJt9S92nVO2lRc2UsnD2vJzh0/GB0LXs7gVzb8nHJATFJ3tA==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24144,7 +24092,8 @@ packages: copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 core-js: 3.38.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 @@ -24219,7 +24168,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-WBzDsoHgNTiW1KOIoystcAvyeS66BWn5tmGMM/7jksbbZrOPPIPRHz68sekAWM5H9gHn5Enw/b63vD/2o8+dsA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-hpq+L1fGu32hMN5JXSlDCrApjfF3Qkq92/JGaBJv8wKfHkIooL12Ivbzd3qd6HXtd3aT4sLq8iJYhJP6KV7exg==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24264,7 +24213,8 @@ packages: copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 @@ -24363,7 +24313,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-Y9MBnPx6QIrFX6PGDdnc74tFvrrNeLHCw/a6EgBVKLyW1Wxtrcw4L+bxt+rBcc7zX+x/uFbO5nCQkM8vR0bnbw==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-5uleqr+Z6e8NsOQrjPdngu4CTDBd9abCGyMv8sU5AFp5gNwqB5KhV7O2m6Y9BtQtIDrI515U37KB88W55Dp6AQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24382,7 +24332,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-webpack-plugin: 11.0.0(webpack@5.95.0) - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 dotenv: 10.0.0 env-cmd: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.95.0) @@ -24421,7 +24372,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-RRBOspSTENjL7npMGcfzUY6PgL0Cex/qjdedVdaRHxdKBVUHr025aybXp8mZqTj6GICKv53YRC8bUz+jBvmgCg==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-cBSzr8K2sROROuunn3zJTbBuC7Xh0APy18IWbW3MEGP60vTxKOXpfLQEtQv1XUo5NIOZSKsAtLZrctZj1UZ0Vw==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24447,7 +24398,8 @@ packages: cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 debug: 2.6.9 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index 31ee759d620..8ecfe8a27cf 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -4437,7 +4437,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 22.7.1 jest-mock: 29.7.0 dev: false @@ -4464,7 +4464,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.14.12 + '@types/node': 22.7.1 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4607,7 +4607,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: false @@ -5465,6 +5465,11 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: false + /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -8073,26 +8078,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 5.0.0 - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/cookie-parser@1.4.7: @@ -8160,7 +8165,7 @@ packages: /@types/express-serve-static-core@4.19.6: resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8169,7 +8174,7 @@ packages: /@types/express-serve-static-core@5.0.0: resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8188,14 +8193,14 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/graceful-fs@4.1.9: @@ -8235,7 +8240,7 @@ packages: /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/is-function@1.0.3: @@ -8281,7 +8286,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false @@ -8349,14 +8354,14 @@ packages: /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 form-data: 4.0.0 dev: false /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/node@16.18.110: @@ -8382,7 +8387,7 @@ packages: /@types/npmlog@4.1.6: resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/parse-json@4.0.2: @@ -8448,7 +8453,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/serve-index@1.9.4: @@ -8461,14 +8466,14 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/send': 0.17.4 dev: false /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/source-list-map@0.1.6: @@ -8492,7 +8497,7 @@ packages: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 20.14.12 + '@types/node': 22.7.1 form-data: 4.0.0 dev: false @@ -8535,7 +8540,7 @@ packages: /@types/wait-on@5.3.4: resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/webpack-env@1.18.5: @@ -8557,7 +8562,7 @@ packages: /@types/webpack-sources@3.2.3: resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/source-list-map': 0.1.6 source-map: 0.7.4 dev: false @@ -8565,7 +8570,7 @@ packages: /@types/webpack@4.41.39: resolution: {integrity: sha512-otxUJvoi6FbBq/64gGH34eblpKLgdi+gf08GaAh8Bx6So0ZZic028Ev/SUxD22gbthMKCkeeiXEat1kHLDJfYg==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -8576,7 +8581,7 @@ packages: /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 dev: false /@types/yargs-parser@21.0.3: @@ -9188,6 +9193,14 @@ packages: indent-string: 4.0.0 dev: false + /aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: false + /airbnb-js-shims@2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} dependencies: @@ -9384,13 +9397,6 @@ packages: entities: 2.2.0 dev: false - /anymatch@1.3.2: - resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} - dependencies: - micromatch: 2.3.11 - normalize-path: 2.1.1 - dev: false - /anymatch@2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -9473,13 +9479,6 @@ packages: engines: {node: '>= 0.4'} dev: false - /arr-diff@2.0.0: - resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - dev: false - /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} @@ -9558,11 +9557,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /array-unique@0.2.1: - resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} - engines: {node: '>=0.10.0'} - dev: false - /array-unique@0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} @@ -9667,6 +9661,11 @@ packages: engines: {node: '>=8'} dev: false + /arrify@3.0.0: + resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} + engines: {node: '>=12'} + dev: false + /asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false @@ -9716,7 +9715,9 @@ packages: /async-each@1.0.6: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} + requiresBuild: true dev: false + optional: true /async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -10118,7 +10119,9 @@ packages: /binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: false + optional: true /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -10210,15 +10213,6 @@ packages: balanced-match: 1.0.2 dev: false - /braces@1.8.5: - resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} - engines: {node: '>=0.10.0'} - dependencies: - expand-range: 1.8.2 - preserve: 0.2.0 - repeat-element: 1.1.4 - dev: false - /braces@2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -10625,21 +10619,6 @@ packages: engines: {node: '>= 16'} dev: false - /chokidar@1.7.0: - resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} - dependencies: - anymatch: 1.3.2 - async-each: 1.0.6 - glob-parent: 2.0.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 2.0.1 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - optionalDependencies: - fsevents: 1.2.13 - dev: false - /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} requiresBuild: true @@ -10738,6 +10717,13 @@ packages: engines: {node: '>=6'} dev: false + /clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: false + /cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} @@ -11069,6 +11055,14 @@ packages: engines: {node: '>=0.10.0'} dev: false + /copy-file@11.0.0: + resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==} + engines: {node: '>=18'} + dependencies: + graceful-fs: 4.2.11 + p-event: 6.0.1 + dev: false + /copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: @@ -11180,6 +11174,15 @@ packages: typescript: 5.4.5 dev: false + /cp-file@10.0.0: + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} + dependencies: + graceful-fs: 4.2.11 + nested-error-stacks: 2.1.1 + p-event: 5.0.1 + dev: false + /cp-file@7.0.0: resolution: {integrity: sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==} engines: {node: '>=8'} @@ -11190,21 +11193,39 @@ packages: p-event: 4.2.0 dev: false - /cpx@1.5.0: - resolution: {integrity: sha512-jHTjZhsbg9xWgsP2vuNW2jnnzBX+p4T+vNI9Lbjzs1n4KhOfa22bQppiFYLsWQKd8TzmL5aSP/Me3yfsCwXbDA==} + /cpy-cli@5.0.0: + resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} + engines: {node: '>=16'} hasBin: true dependencies: - babel-runtime: 6.26.0 - chokidar: 1.7.0 - duplexer: 0.1.2 - glob: 7.2.3 - glob2base: 0.0.12 - minimatch: 3.1.2 - mkdirp: 0.5.6 - resolve: 1.22.8 - safe-buffer: 5.2.1 - shell-quote: 1.8.1 - subarg: 1.0.0 + cpy: 10.1.0 + meow: 12.1.1 + dev: false + + /cpy@10.1.0: + resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} + engines: {node: '>=16'} + dependencies: + arrify: 3.0.0 + cp-file: 10.0.0 + globby: 13.2.2 + junk: 4.0.1 + micromatch: 4.0.8 + nested-error-stacks: 2.1.1 + p-filter: 3.0.0 + p-map: 6.0.0 + dev: false + + /cpy@11.1.0: + resolution: {integrity: sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==} + engines: {node: '>=18'} + dependencies: + copy-file: 11.0.0 + globby: 14.0.2 + junk: 4.0.1 + micromatch: 4.0.8 + p-filter: 4.1.0 + p-map: 7.0.2 dev: false /cpy@8.1.2: @@ -12907,13 +12928,6 @@ packages: engines: {node: '>= 0.8.0'} dev: false - /expand-brackets@0.1.5: - resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} - engines: {node: '>=0.10.0'} - dependencies: - is-posix-bracket: 0.1.1 - dev: false - /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -12927,13 +12941,6 @@ packages: to-regex: 3.0.2 dev: false - /expand-range@1.8.2: - resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} - engines: {node: '>=0.10.0'} - dependencies: - fill-range: 2.2.4 - dev: false - /expand-tilde@1.2.2: resolution: {integrity: sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==} engines: {node: '>=0.10.0'} @@ -13024,13 +13031,6 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - /extglob@0.3.2: - resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: false - /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -13186,22 +13186,6 @@ packages: minimatch: 5.1.6 dev: false - /filename-regex@2.0.1: - resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} - engines: {node: '>=0.10.0'} - dev: false - - /fill-range@2.2.4: - resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 3.1.1 - repeat-element: 1.1.4 - repeat-string: 1.6.1 - dev: false - /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -13267,10 +13251,6 @@ packages: resolve-dir: 0.1.1 dev: false - /find-index@0.1.1: - resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} - dev: false - /find-pkg@0.1.2: resolution: {integrity: sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==} engines: {node: '>=0.10.0'} @@ -13393,13 +13373,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /for-own@0.1.5: - resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - dev: false - /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -13775,20 +13748,6 @@ packages: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false - /glob-base@0.3.0: - resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} - engines: {node: '>=0.10.0'} - dependencies: - glob-parent: 2.0.0 - is-glob: 2.0.1 - dev: false - - /glob-parent@2.0.0: - resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} - dependencies: - is-glob: 2.0.1 - dev: false - /glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: @@ -13828,13 +13787,6 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false - /glob2base@0.0.12: - resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} - engines: {node: '>= 0.10'} - dependencies: - find-index: 0.1.1 - dev: false - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -13943,6 +13895,18 @@ packages: slash: 4.0.0 dev: false + /globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.2 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: false + /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14643,6 +14607,11 @@ packages: engines: {node: '>=8'} dev: false + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: false + /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: false @@ -14782,9 +14751,11 @@ packages: /is-binary-path@1.0.1: resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} engines: {node: '>=0.10.0'} + requiresBuild: true dependencies: binary-extensions: 1.13.1 dev: false + optional: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -14884,18 +14855,6 @@ packages: is-window: 1.0.2 dev: false - /is-dotfile@1.0.3: - resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} - engines: {node: '>=0.10.0'} - dev: false - - /is-equal-shallow@0.1.3: - resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} - engines: {node: '>=0.10.0'} - dependencies: - is-primitive: 2.0.0 - dev: false - /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -14908,11 +14867,6 @@ packages: is-plain-object: 2.0.4 dev: false - /is-extglob@1.0.0: - resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} - engines: {node: '>=0.10.0'} - dev: false - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -14957,13 +14911,6 @@ packages: has-tostringtag: 1.0.2 dev: false - /is-glob@2.0.1: - resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 1.0.0 - dev: false - /is-glob@3.1.0: resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} @@ -14999,13 +14946,6 @@ packages: has-tostringtag: 1.0.2 dev: false - /is-number@2.1.0: - resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: false - /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -15013,11 +14953,6 @@ packages: kind-of: 3.2.2 dev: false - /is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - dev: false - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -15060,20 +14995,10 @@ packages: engines: {node: '>=0.10.0'} dev: false - /is-posix-bracket@0.1.1: - resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} - engines: {node: '>=0.10.0'} - dev: false - /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: false - /is-primitive@2.0.0: - resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} - engines: {node: '>=0.10.0'} - dev: false - /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -15381,7 +15306,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 22.7.1 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -15580,7 +15505,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 22.7.1 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -15610,7 +15535,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.9 - '@types/node': 20.14.12 + '@types/node': 22.7.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -15717,7 +15642,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 22.7.1 jest-util: 29.7.0 dev: false @@ -15844,7 +15769,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.12 + '@types/node': 22.7.1 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -15904,7 +15829,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 graceful-fs: 4.2.11 dev: false @@ -15972,7 +15897,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 20.14.12 + '@types/node': 22.7.1 chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 @@ -16037,7 +15962,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -16046,7 +15971,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -16055,7 +15980,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.14.12 + '@types/node': 22.7.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16269,6 +16194,11 @@ packages: engines: {node: '>=8'} dev: false + /junk@4.0.1: + resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} + engines: {node: '>=12.20'} + dev: false + /jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} dev: false @@ -16624,10 +16554,6 @@ packages: react: 18.3.1 dev: false - /math-random@1.0.4: - resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} - dev: false - /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: @@ -16859,6 +16785,11 @@ packages: readable-stream: 2.3.8 dev: false + /meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + dev: false + /meow@3.7.0: resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==} engines: {node: '>=0.10.0'} @@ -17159,25 +17090,6 @@ packages: - supports-color dev: false - /micromatch@2.3.11: - resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 2.0.0 - array-unique: 0.2.1 - braces: 1.8.5 - expand-brackets: 0.1.5 - extglob: 0.3.2 - filename-regex: 2.0.1 - is-extglob: 1.0.0 - is-glob: 2.0.1 - kind-of: 3.2.2 - normalize-path: 2.1.1 - object.omit: 2.0.1 - parse-glob: 3.0.4 - regex-cache: 0.4.4 - dev: false - /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -17801,14 +17713,6 @@ packages: es-abstract: 1.23.3 dev: false - /object.omit@2.0.1: - resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 0.1.5 - is-extendable: 0.1.1 - dev: false - /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} @@ -17927,6 +17831,20 @@ packages: p-timeout: 3.2.0 dev: false + /p-event@5.0.1: + resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-timeout: 5.1.0 + dev: false + + /p-event@6.0.1: + resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} + engines: {node: '>=16.17'} + dependencies: + p-timeout: 6.1.2 + dev: false + /p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -17934,6 +17852,20 @@ packages: p-map: 2.1.0 dev: false + /p-filter@3.0.0: + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-map: 5.5.0 + dev: false + + /p-filter@4.1.0: + resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} + engines: {node: '>=18'} + dependencies: + p-map: 7.0.2 + dev: false + /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -18007,6 +17939,23 @@ packages: aggregate-error: 3.1.0 dev: false + /p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + dependencies: + aggregate-error: 4.0.1 + dev: false + + /p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} + dev: false + + /p-map@7.0.2: + resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} + engines: {node: '>=18'} + dev: false + /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -18022,6 +17971,16 @@ packages: p-finally: 1.0.0 dev: false + /p-timeout@5.1.0: + resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} + engines: {node: '>=12'} + dev: false + + /p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + dev: false + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -18086,16 +18045,6 @@ packages: is-hexadecimal: 1.0.4 dev: false - /parse-glob@3.0.4: - resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} - engines: {node: '>=0.10.0'} - dependencies: - glob-base: 0.3.0 - is-dotfile: 1.0.3 - is-extglob: 1.0.0 - is-glob: 2.0.1 - dev: false - /parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -18256,6 +18205,11 @@ packages: engines: {node: '>=8'} dev: false + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: false + /path@0.12.7: resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} dependencies: @@ -18578,11 +18532,6 @@ packages: engines: {node: '>= 0.8.0'} dev: false - /preserve@0.2.0: - resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} - engines: {node: '>=0.10.0'} - dev: false - /prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -18847,15 +18796,6 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: false - /randomatic@3.1.1: - resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} - engines: {node: '>= 0.10.0'} - dependencies: - is-number: 4.0.0 - kind-of: 6.0.3 - math-random: 1.0.4 - dev: false - /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -19221,11 +19161,13 @@ packages: /readdirp@2.2.1: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} + requiresBuild: true dependencies: graceful-fs: 4.2.11 micromatch: 3.1.10 readable-stream: 2.3.8 dev: false + optional: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -19322,13 +19264,6 @@ packages: '@babel/runtime': 7.25.6 dev: false - /regex-cache@0.4.4: - resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-equal-shallow: 0.1.3 - dev: false - /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -20899,12 +20834,6 @@ packages: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} dev: false - /subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} - dependencies: - minimist: 1.2.8 - dev: false - /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -21787,6 +21716,11 @@ packages: engines: {node: '>=4'} dev: false + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: false + /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: @@ -23093,7 +23027,7 @@ packages: dev: false file:projects/acs-ui-common.tgz: - resolution: {integrity: sha512-+j53f4pQARMblkGIOqzOS1hAhqHYuiHQJrGwwtivuBSKrboNP2b0veDx+I9ePfzTrnOOXhK1L+hQ3BD97/IbuA==, tarball: file:projects/acs-ui-common.tgz} + resolution: {integrity: sha512-y2QamaOKh8GwOkl2Y0nZANT2Ood/iunpf6PNWRnlX2bilc5aWXTSTX4hhUhl5tNAxf0UK32f9Ct7CxVLw3sK3g==, tarball: file:projects/acs-ui-common.tgz} name: '@rush-temp/acs-ui-common' version: 0.0.0 dependencies: @@ -23106,7 +23040,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23137,7 +23072,7 @@ packages: dev: false file:projects/acs-ui-javascript-loaders.tgz: - resolution: {integrity: sha512-pWTuuUa9soKSTVE+e9wtoUatgVO0Qhx7L1Bv8/xXryaQ+SQO4SSQmuIAOzBxcC+6aLCzO/ArZ/PV+N5IKk/vhQ==, tarball: file:projects/acs-ui-javascript-loaders.tgz} + resolution: {integrity: sha512-Lky2hBpB1qHS48VzpAgmIze6FaHMvWK3sZEyZQo0LdO44ont+saGMb1bQvj1YcByZPmG+a3yZs4l1SGdKg9EUA==, tarball: file:projects/acs-ui-javascript-loaders.tgz} name: '@rush-temp/acs-ui-javascript-loaders' version: 0.0.0 dependencies: @@ -23152,7 +23087,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23184,7 +23120,7 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-U7frD7yCWkKdAMJCmYYQlwOz38hiNqNWA0ScWgKv0uj8Ul57+U4PbrrK2GNFY8DNCx+lQ3aHvKpjMbpRrFhWjw==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-I2PRXfCfy4nA8vmBvrX5lO80xGoK5rgSQFREo3rP/+7vtxiuUuKCJ7uXVi36pS1aJc0wH8xy5MMNZk6g3ja+8w==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: @@ -23198,7 +23134,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23231,7 +23168,7 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-wugXNq3CG9liAdByIUNCOzdHb5Bymx/Q+od/ZiMJwM8+MaljMoDqxTnp4yC25GP1/6e00qxn5LmHKe3htlgTJw==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-GcbarSj04jAAvJHMsprSNk1rGE/I6in0DvqaZDxWBD4TTa7ffRefU2EYv5xZSdQoCI4LIMzJYq5cvLJOagULIg==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: @@ -23247,7 +23184,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23279,7 +23217,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-xkEjTDCwxXNqzhs5cQJfaYhkO22cuFFVsB6ae7m1Q4+gzL2NigF5thTH1rq4IkuPqD8+Nyj4vMNi/9yZ5FGeiA==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-BlPohbxoEnnAPj4sx2677ZXIfsSrU6M0j+0NVas0bxYfwrJLmLZcsoifZjSpijwG1LRY3czuFAUJgiZUt00i2A==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23308,7 +23246,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23373,7 +23312,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-O3XpBwdFTA9piUp7l+w5ofG4HylhCYz5AxfgB0tg0xo6wjpYzNujuS6EYeI38nbGRJYWQQpHWqoL/GteLEvpTA==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-ytzphojhPz7PXcagN5uLeffnSuY0O00GcKFQc0vcK8Jh8aPvItTqTUv877w3vN7b6X5by2L7oyzKSQ1YZbOyKQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23402,7 +23341,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23467,7 +23407,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-rOgsmY3OaW8nPsFEIg8QumP1Y3D1pFkOlHq50IFjmtMf836AzD9wTAOovzZE0ipNrkfqm+UIMvW2fugzobPYow==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-YNozY5DF0i9ViIWNPrbUSjjdc56a2w3gfzYmLAxcQgnCjLQeZMwDgpyoUWUf/jCOLTYUWWRiCbzithOFSMa/8w==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23497,7 +23437,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23559,7 +23500,7 @@ packages: dev: false file:projects/chat-component-bindings.tgz: - resolution: {integrity: sha512-zLh8siLw3MEqy1fG70DY6opQx0Vg44n8P7oMNstRKCgAUmoitbG8eR56wkzY+QW5JFRaaROLFe3lyj87/tRsDA==, tarball: file:projects/chat-component-bindings.tgz} + resolution: {integrity: sha512-y5Rdy0JOQeUgvaVYl/iPqsiEuvFJF2XsiVfd9XoOs2MuE46WArJpNuev5sCjMiwoz5LU/RsS5m14F2JrZqf3QQ==, tarball: file:projects/chat-component-bindings.tgz} name: '@rush-temp/chat-component-bindings' version: 0.0.0 dependencies: @@ -23571,7 +23512,8 @@ packages: '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23599,7 +23541,7 @@ packages: dev: false file:projects/chat-stateful-client.tgz: - resolution: {integrity: sha512-5v38UEJnMLYqVF0eSRViK9WaoKen1XwQd5XYI6uoPCr1C/VvK32isrNqofG6+G5A6nPh2oyy/8SF7KOVa2lpIw==, tarball: file:projects/chat-stateful-client.tgz} + resolution: {integrity: sha512-U9IIdbfrZ64iHE6Uc0GBPKF5/fT+l8lJKhHD31R7AEd5SEAjue0lFE8iNcxVzgSO1I6AkpmdDzKTvNDEF0o6Vw==, tarball: file:projects/chat-stateful-client.tgz} name: '@rush-temp/chat-stateful-client' version: 0.0.0 dependencies: @@ -23617,7 +23559,8 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -23649,7 +23592,7 @@ packages: dev: false file:projects/chat.tgz: - resolution: {integrity: sha512-BO2h5pyCOaZvGxIcBk8UqdcYoEQIxqPw18WTyDYoaasW0bZr+PgJRsW5xfSXcrIGyvApBSPH91gZ/m8Xv46Q6Q==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-uOtT6GKsqCjkjGU0GcBYcJ+GksTCJm3x3fgFJR4Ham8BHzSa7iRmL8RMLVuY9WpagddaKklRRIycLfi+D228CQ==, tarball: file:projects/chat.tgz} name: '@rush-temp/chat' version: 0.0.0 dependencies: @@ -23675,7 +23618,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 eslint: 8.57.1 @@ -23784,7 +23728,7 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-ccetroalYQyg1VfC99v6Ec4tJpHkdtIlvWHRhIzaqimoqjEOimagwxZEOxSzG7ID6MRqDchxiFvXRGikZGONOQ==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-CgOKa0/ZT3/SmjZsJUd9oJRrWcMXaFkoXw95RKStP4r0xE26DoYDsARYRi368w/hhb4PtWfMyyt8WdnvZonWiQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: @@ -23824,7 +23768,8 @@ packages: ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 @@ -23978,7 +23923,7 @@ packages: dev: false file:projects/fake-backends.tgz: - resolution: {integrity: sha512-2X52TzlPhHgSgjqYiywEgrDahh95kviOqS3MPvqP770/ztap7rpufA6OPr4AYZ2MR2upiW4er5qf3dzAW4w34w==, tarball: file:projects/fake-backends.tgz} + resolution: {integrity: sha512-VNhAUKctn50wKDaEAyNrYyuPH1d26tmNQHkO3oFbSUoFmGWm+2LT6sbhpx3OvkLb5AyrGRHeBX7F/COh3ZTlUg==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' version: 0.0.0 dependencies: @@ -23997,7 +23942,8 @@ packages: babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 eslint: 8.57.1 @@ -24033,7 +23979,7 @@ packages: dev: false file:projects/react-components.tgz: - resolution: {integrity: sha512-kaIjjmJHswDEYD56q8HBMAg8+Z5HXIg3x/gfUx+Nx8xGpGPmKHWYEXFGLtLomcB/9DzvKPJn3oUw0AAXRCBZLw==, tarball: file:projects/react-components.tgz} + resolution: {integrity: sha512-4rrymW5DfnW46j7OEsJVNaLjdTAXKsZGbl8rn/dJt9S92nVO2lRc2UsnD2vJzh0/GB0LXs7gVzb8nHJATFJ3tA==, tarball: file:projects/react-components.tgz} name: '@rush-temp/react-components' version: 0.0.0 dependencies: @@ -24072,7 +24018,8 @@ packages: copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 core-js: 3.38.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 env-cmd: 10.1.0 @@ -24147,7 +24094,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-WBzDsoHgNTiW1KOIoystcAvyeS66BWn5tmGMM/7jksbbZrOPPIPRHz68sekAWM5H9gHn5Enw/b63vD/2o8+dsA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-hpq+L1fGu32hMN5JXSlDCrApjfF3Qkq92/JGaBJv8wKfHkIooL12Ivbzd3qd6HXtd3aT4sLq8iJYhJP6KV7exg==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24192,7 +24139,8 @@ packages: copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) dotenv: 10.0.0 @@ -24290,7 +24238,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-Y9MBnPx6QIrFX6PGDdnc74tFvrrNeLHCw/a6EgBVKLyW1Wxtrcw4L+bxt+rBcc7zX+x/uFbO5nCQkM8vR0bnbw==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-5uleqr+Z6e8NsOQrjPdngu4CTDBd9abCGyMv8sU5AFp5gNwqB5KhV7O2m6Y9BtQtIDrI515U37KB88W55Dp6AQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24309,7 +24257,8 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-webpack-plugin: 11.0.0(webpack@5.95.0) - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 dotenv: 10.0.0 env-cmd: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.95.0) @@ -24347,7 +24296,7 @@ packages: dev: false file:projects/server.tgz: - resolution: {integrity: sha512-RRBOspSTENjL7npMGcfzUY6PgL0Cex/qjdedVdaRHxdKBVUHr025aybXp8mZqTj6GICKv53YRC8bUz+jBvmgCg==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-cBSzr8K2sROROuunn3zJTbBuC7Xh0APy18IWbW3MEGP60vTxKOXpfLQEtQv1XUo5NIOZSKsAtLZrctZj1UZ0Vw==, tarball: file:projects/server.tgz} name: '@rush-temp/server' version: 0.0.0 dependencies: @@ -24373,7 +24322,8 @@ packages: cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 - cpx: 1.5.0 + cpy: 11.1.0 + cpy-cli: 5.0.0 debug: 2.6.9 eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) diff --git a/packages/acs-ui-common/package.json b/packages/acs-ui-common/package.json index 733e38ffd62..82fa086e056 100644 --- a/packages/acs-ui-common/package.json +++ b/packages/acs-ui-common/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --silent --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", @@ -44,7 +44,7 @@ "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/acs-ui-javascript-loaders/package.json b/packages/acs-ui-javascript-loaders/package.json index 65fe079fc65..59041a16bc4 100644 --- a/packages/acs-ui-javascript-loaders/package.json +++ b/packages/acs-ui-javascript-loaders/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", @@ -50,7 +50,7 @@ "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/calling-component-bindings/package.json b/packages/calling-component-bindings/package.json index 0a1b8136fc1..82b9f25ff47 100644 --- a/packages/calling-component-bindings/package.json +++ b/packages/calling-component-bindings/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --silent --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", @@ -53,7 +53,7 @@ "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/calling-stateful-client/package.json b/packages/calling-stateful-client/package.json index 5d45b6d5a99..8ff6973cedc 100644 --- a/packages/calling-stateful-client/package.json +++ b/packages/calling-stateful-client/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --silent --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", @@ -49,7 +49,7 @@ "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/chat-component-bindings/package.json b/packages/chat-component-bindings/package.json index a787c7ccb63..3a369c0d19b 100644 --- a/packages/chat-component-bindings/package.json +++ b/packages/chat-component-bindings/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --silent --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test:ci-coverage": "rushx _by-flavor \"rushx _test:by-flavor --coverage\"", @@ -48,7 +48,7 @@ "@types/jest": "^29.5.11", "@types/react": "18.3.3", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/chat-stateful-client/package.json b/packages/chat-stateful-client/package.json index 45166ff32b7..8e8529dd7e5 100644 --- a/packages/chat-stateful-client/package.json +++ b/packages/chat-stateful-client/package.json @@ -11,7 +11,7 @@ "build:cjs": "rollup -c --silent --failAfterWarnings", "build:watch": "rushx build", "clean": "rimraf dist && rimraf preprocessed", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", @@ -51,7 +51,7 @@ "@typescript-eslint/parser": "^7.14.1", "@types/node": "^20.14.12", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/communication-react/package.json b/packages/communication-react/package.json index 06ce40c16f2..fec38b847bf 100644 --- a/packages/communication-react/package.json +++ b/packages/communication-react/package.json @@ -77,9 +77,9 @@ } }, "scripts": { - "copy-original": "cpx \"../*/src/**\" ./preprocess-dist && renamer --find src --replace preprocessed ./preprocess-dist/**/*", + "copy-original": "cpy '../*/src/**' ./preprocess-dist && renamer --find src --replace preprocessed ./preprocess-dist/**/*", "preprocess": "babel ../*/src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", - "copy-preprocess": "cpx \"../*/preprocessed/**\" ./preprocess-dist && renamer --find preprocessed --replace src ./preprocess-dist/**/*", + "copy-preprocess": "cpy '../*/preprocessed/**' ./preprocess-dist && renamer --find preprocessed --replace src ./preprocess-dist/**/*", "build:test": "tspc", "build": "rushx check-deps && rushx _by-flavor \"rushx _build:by-flavor\"", "build:cjs": "rollup -c --silent", @@ -101,7 +101,7 @@ "lint:quiet": "rushx lint -- --quiet", "postpack": "copyfiles -E \"./*.tgz\" release", "check-breaking-change": "tsc --project breaking-change-check/tsconfig.json --strict --noEmit --allowSyntheticDefaultImports", - "copy-api-snapshot": "cpx \"./dist/communication-react.d.ts\" \"./breaking-change-check/snapshots/\"", + "copy-api-snapshot": "cpy './dist/communication-react.d.ts' ./breaking-change-check/snapshots/", "_if-preprocess": "if-env COMMUNICATION_REACT_FLAVOR=stable || if-env COMMUNICATION_REACT_FLAVOR=beta-release", "_if-beta": "if-env COMMUNICATION_REACT_FLAVOR=beta || if-env COMMUNICATION_REACT_FLAVOR=beta-release", "_api-extractor:by-flavor": "if-env COMMUNICATION_REACT_FLAVOR=stable && api-extractor run -c api-extractor.stable.json --local || (rushx _if-beta && api-extractor run --local)", @@ -141,7 +141,7 @@ "@typescript-eslint/parser": "^7.14.1", "ajv": "^8.17.1", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/fake-backends/package.json b/packages/fake-backends/package.json index e8d926655c9..2ecde643806 100644 --- a/packages/fake-backends/package.json +++ b/packages/fake-backends/package.json @@ -13,7 +13,7 @@ "clean": "rimraf dist && rimraf preprocessed", "test": "rushx _by-flavor \"rushx _test:by-flavor\"", "test:ci-coverage": "echo skip", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "test:coverage": "npm run test -- --coverage", @@ -50,7 +50,7 @@ "babel-jest": "^29.5.0", "babel-loader": "8.1.0", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/react-components/package.json b/packages/react-components/package.json index 294b8c56e1a..bae4b4362ef 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -18,7 +18,7 @@ "test:ci-coverage": "rushx _by-flavor \"rushx _test:by-flavor --coverage\"", "test:coverage": "rushx _by-flavor \"rushx _test:by-flavor --coverage --coverageReporters=lcov\"", "snapshot:update": "rushx test -- --update-snapshot", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "lint": "eslint --max-warnings 0 \"*/**/*.{ts,tsx}\"", @@ -92,7 +92,7 @@ "concurrently": "^5.3.0", "copyfiles": "^2.4.1", "core-js": "^3.34.0", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/packages/react-components/src/localization/locales/cy-GB/strings.json b/packages/react-components/src/localization/locales/cy-GB/strings.json index 62d0cc40d33..103c6d20658 100644 --- a/packages/react-components/src/localization/locales/cy-GB/strings.json +++ b/packages/react-components/src/localization/locales/cy-GB/strings.json @@ -667,4 +667,4 @@ "incomingCallNotificationAccceptWithVideoButtonLabel": "Derbyn gyda Fideo", "incomingCallNotificationDismissButtonAriaLabel": "Diystyru" } -} \ No newline at end of file +} diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 1265630560b..1728bd356aa 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -32,7 +32,7 @@ "test:e2e:chat:update": "node ./scripts/runBrowserTests.mjs -u -c chat", "test:e2e:callwithchat:update": "node ./scripts/runBrowserTests.mjs -u -c callWithChat", "snapshot:update": "rushx test -- --update-snapshot", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative && rimraf ../preprocessed", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "lint": "eslint --max-warnings 0 \"*/**/*.{ts,tsx}\"", @@ -110,7 +110,7 @@ "copyfiles": "^2.4.1", "copy-webpack-plugin": "^11.0.0", "core-js": "^3.34.0", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "css-loader": "^7.1.2", "dotenv": "^10.0.0", diff --git a/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json b/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json index 67c840b461e..16f85e62149 100644 --- a/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json +++ b/packages/react-composites/src/composites/localization/locales/cy-GB/strings.json @@ -408,4 +408,4 @@ "breakoutRoomChatPaneTitle": "Sgwrs y Cyfarfod Ymylol", "chatContentSpinnerLabel": "Wrthi'n llwytho..." } -} \ No newline at end of file +} diff --git a/samples/CallWithChat/package.json b/samples/CallWithChat/package.json index 6a3035fe054..9624fdc3f66 100644 --- a/samples/CallWithChat/package.json +++ b/samples/CallWithChat/package.json @@ -15,8 +15,8 @@ "test": "", "test:ci-coverage": "echo skip", "test:stable": "echo skip", - "port:sample": "rushx preprocess:stable-flavor && cpx \"./preprocessed/**\" sample-dist/src && cpx \"./Media/**\" sample-dist/Media && cpx \"./public/**\" sample-dist/public", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", + "port:sample": "rushx preprocess:stable-flavor && cpy './preprocessed/**' sample-dist/src && cpy './Media/**' sample-dist/Media && cpy './public/**' sample-dist/public", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", "preprocess:stable-flavor": "rushx _stable-flavor \"rushx preprocess && rushx lint:fix && rushx prettier\"", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", @@ -74,7 +74,7 @@ "babel-loader": "8.1.0", "concurrently": "^5.3.0", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "cross-env": "^7.0.3", "css-loader": "^7.1.2", "env-cmd": "^10.1.0", diff --git a/samples/Calling/package.json b/samples/Calling/package.json index 946008c30b2..fc662b774bb 100644 --- a/samples/Calling/package.json +++ b/samples/Calling/package.json @@ -13,8 +13,8 @@ "start:prod": "node dist/server.js", "test": "", "test:ci-coverage": "echo skip", - "port:sample": "rushx preprocess:stable-flavor && cpx \"./preprocessed/**\" sample-dist/src && cpx \"./Media/**\" sample-dist/Media && cpx \"./public/**\" sample-dist/public", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", + "port:sample": "rushx preprocess:stable-flavor && cpy './preprocessed/**' sample-dist/src && cpy './Media/**' sample-dist/Media && cpy './public/**' sample-dist/public", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", "preprocess:stable-flavor": "rushx _stable-flavor \"rushx preprocess && rushx lint:fix && rushx prettier\"", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", @@ -75,7 +75,7 @@ "babel-loader": "8.1.0", "concurrently": "^5.3.0", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/samples/CallingStateful/package.json b/samples/CallingStateful/package.json index 467e0a3cb64..938634bdda9 100644 --- a/samples/CallingStateful/package.json +++ b/samples/CallingStateful/package.json @@ -13,8 +13,8 @@ "start:prod": "node dist/server.js", "test": "", "test:ci-coverage": "echo skip", - "port:sample": "rushx preprocess:stable-flavor && cpx \"./preprocessed/**\" sample-dist/src && cpx \"./Media/**\" sample-dist/Media && cpx \"./public/**\" sample-dist/public", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", + "port:sample": "rushx preprocess:stable-flavor && cpy './preprocessed/**' sample-dist/src && cpy './Media/**' sample-dist/Media && cpy './public/**' sample-dist/public", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", "preprocess:stable-flavor": "rushx _stable-flavor \"rushx preprocess && rushx lint:fix && rushx prettier\"", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", @@ -75,7 +75,7 @@ "babel-loader": "8.1.0", "concurrently": "^5.3.0", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/samples/Chat/package.json b/samples/Chat/package.json index e2c1fe63cef..35bccf225ed 100644 --- a/samples/Chat/package.json +++ b/samples/Chat/package.json @@ -13,8 +13,8 @@ "start:prod": "node dist/server.js", "test": "echo skip", "test:ci-coverage": "echo skip", - "port:sample": "rushx preprocess:stable-flavor && cpx \"./preprocessed/**\" sample-dist/src && cpx \"./Media/**\" sample-dist/Media && cpx \"./public/**\" sample-dist/public", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", + "port:sample": "rushx preprocess:stable-flavor && cpy './preprocessed/**' sample-dist/src && cpy './Media/**' sample-dist/Media && cpy './public/**' sample-dist/public", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", "preprocess:stable-flavor": "rushx _stable-flavor \"rushx preprocess && rushx lint:fix && rushx prettier\"", "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", @@ -68,7 +68,7 @@ "babel-loader": "8.1.0", "concurrently": "^5.3.0", "copyfiles": "^2.4.1", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "css-loader": "^7.1.2", "env-cmd": "^10.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/samples/Server/package.json b/samples/Server/package.json index f294af14c53..6d8d345ed1a 100644 --- a/samples/Server/package.json +++ b/samples/Server/package.json @@ -8,7 +8,7 @@ "build:stable": "echo skip", "clean": "rimraf dist", "migrate:appsettings": "node -e \"require('fs').copyFile('appsettings.json.sample', 'sample-dist/appsettings.json', function(e) { if (e) console.log(e); })\"", - "port:sample": "cpx \"./dist/**\" sample-dist/dist && cpx \"./bin/**\" sample-dist/bin && cpx \"./src/**\" sample-dist/src && rushx migrate:appsettings", + "port:sample": "cpy './dist/**' sample-dist/dist && cpy './bin/**' sample-dist/bin && cpy './src/**' sample-dist/src && rushx migrate:appsettings", "start": "ts-node ./bin/www", "start:dev": "ts-node-dev ./bin/www", "start:debug": "node --inspect=9229 -r ts-node/register ./bin/www", @@ -54,7 +54,7 @@ "@typescript-eslint/eslint-plugin": "^7.14.1", "@typescript-eslint/parser": "^7.14.1", "copy-webpack-plugin": "^11.0.0", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-flowtype": "^8.0.3", diff --git a/samples/StaticHtmlComposites/package.json b/samples/StaticHtmlComposites/package.json index f9c1355694b..892d6f62bef 100644 --- a/samples/StaticHtmlComposites/package.json +++ b/samples/StaticHtmlComposites/package.json @@ -13,7 +13,7 @@ "update:snapshot": "playwright test tests --update-snapshots", "lint": "echo skip", "lint:fix": "echo skip", - "preprocess": "cpx \"./src/**\" ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", + "preprocess": "cpy './src/**' ./preprocessed && babel ./src --out-dir ../preprocessed --extensions \".ts,.tsx\" --keep-file-extension --config-file ./.babelrc.js --relative", "preprocess:stable-flavor": "rushx _stable-flavor \"rushx preprocess && rushx lint:fix && rushx prettier\"", "prettier": "", "prettier:check": "", @@ -54,7 +54,7 @@ "webpack": "5.95.0", "webpack-cli": "^5.1.4", "webpack-bundle-analyzer": "^4.5.0", - "cpx": "^1.5.0", + "cpy-cli": "^5.0.0", "@babel/cli": "^7.24.8" } } \ No newline at end of file From a85bf3ab33959ac7e05c6e8c115d738c4e22280b Mon Sep 17 00:00:00 2001 From: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:00:29 -0700 Subject: [PATCH 54/58] [SDK] update calling SDK (#5258) * update calling SDK * update lock --- common/config/rush/common-versions.json | 4 +- common/config/rush/pnpm-lock.yaml | 412 ++++++++++++------ .../calling-component-bindings/package.json | 4 +- packages/calling-stateful-client/package.json | 4 +- packages/communication-react/package.json | 4 +- packages/react-composites/package.json | 2 +- packages/storybook/package.json | 2 +- packages/storybook8/package.json | 2 +- samples/CallWithChat/package.json | 2 +- samples/Calling/package.json | 2 +- samples/CallingStateful/package.json | 2 +- samples/ComponentExamples/package.json | 2 +- samples/StaticHtmlComposites/package.json | 2 +- samples/tests/package.json | 2 +- 14 files changed, 306 insertions(+), 140 deletions(-) diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index e7b70c0e26b..58ad5f9a72a 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -24,7 +24,7 @@ * instead of the latest version. */ // "some-library": "1.2.3" - "@azure/communication-calling": "1.29.1-beta.2", + "@azure/communication-calling": "1.30.1-beta.1", "@azure/communication-common": "2.3.0", "@azure/communication-chat": "1.6.0-beta.3", "@azure/communication-signaling": "1.0.0-beta.27", @@ -55,7 +55,7 @@ * This design avoids unnecessary churn in this file. */ "allowedAlternativeVersions": { - "@azure/communication-calling": ["1.29.1-beta.2"], + "@azure/communication-calling": ["1.30.1-beta.1"], "@azure/communication-common": ["2.3.0"], "@azure/communication-chat": ["1.6.0-beta.3"], "@azure/communication-signaling": ["1.0.0-beta.27"], diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index aa1ba36150d..041e12cdb2f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@azure/communication-calling': - specifier: 1.29.1-beta.2 - version: 1.29.1-beta.2 + specifier: 1.30.1-beta.1 + version: 1.30.1-beta.1 '@azure/communication-chat': specifier: 1.6.0-beta.3 version: 1.6.0-beta.3 @@ -139,8 +139,8 @@ packages: events: 3.3.0 dev: false - /@azure/communication-calling@1.29.1-beta.2: - resolution: {integrity: sha512-0W/hcGLZhLXguRNz9cIftA0qCRE/pYBJH+t9HU6X6U+1TZfjHX+uHHOKX7PNAMHOqe1bZmdEW8Jc8PtYIyChkg==} + /@azure/communication-calling@1.30.1-beta.1: + resolution: {integrity: sha512-vGb2qCn6MWv2npLAYGHelhRXcT8knHiA1Gx/zuoBjJ55lkwMicI1TphUeyMfZMNyfEewbhNf/3WLUVz7rhgoGg==} dependencies: '@azure/communication-common': 2.3.0 '@azure/logger': 1.1.4 @@ -5508,11 +5508,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: false - /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -9291,10 +9286,8 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1(ajv@8.17.1): + /ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9448,6 +9441,13 @@ packages: entities: 2.2.0 dev: false + /anymatch@1.3.2: + resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} + dependencies: + micromatch: 2.3.11 + normalize-path: 2.1.1 + dev: false + /anymatch@2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -9530,6 +9530,13 @@ packages: engines: {node: '>= 0.4'} dev: false + /arr-diff@2.0.0: + resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + dev: false + /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} @@ -9608,6 +9615,11 @@ packages: engines: {node: '>=0.10.0'} dev: false + /array-unique@0.2.1: + resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} + engines: {node: '>=0.10.0'} + dev: false + /array-unique@0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} @@ -9768,7 +9780,6 @@ packages: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} requiresBuild: true dev: false - optional: true /async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -10172,7 +10183,6 @@ packages: engines: {node: '>=0.10.0'} requiresBuild: true dev: false - optional: true /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -10264,6 +10274,15 @@ packages: balanced-match: 1.0.2 dev: false + /braces@1.8.5: + resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} + engines: {node: '>=0.10.0'} + dependencies: + expand-range: 1.8.2 + preserve: 0.2.0 + repeat-element: 1.1.4 + dev: false + /braces@2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -10670,6 +10689,21 @@ packages: engines: {node: '>= 16'} dev: false + /chokidar@1.7.0: + resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} + dependencies: + anymatch: 1.3.2 + async-each: 1.0.6 + glob-parent: 2.0.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 2.0.1 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + optionalDependencies: + fsevents: 1.2.13 + dev: false + /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} requiresBuild: true @@ -11106,14 +11140,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /copy-file@11.0.0: - resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==} - engines: {node: '>=18'} - dependencies: - graceful-fs: 4.2.11 - p-event: 6.0.1 - dev: false - /copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: @@ -11244,6 +11270,23 @@ packages: p-event: 4.2.0 dev: false + /cpx@1.5.0: + resolution: {integrity: sha512-jHTjZhsbg9xWgsP2vuNW2jnnzBX+p4T+vNI9Lbjzs1n4KhOfa22bQppiFYLsWQKd8TzmL5aSP/Me3yfsCwXbDA==} + hasBin: true + dependencies: + babel-runtime: 6.26.0 + chokidar: 1.7.0 + duplexer: 0.1.2 + glob: 7.2.3 + glob2base: 0.0.12 + minimatch: 3.1.2 + mkdirp: 0.5.6 + resolve: 1.22.8 + safe-buffer: 5.2.1 + shell-quote: 1.8.1 + subarg: 1.0.0 + dev: false + /cpy-cli@5.0.0: resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} engines: {node: '>=16'} @@ -11267,18 +11310,6 @@ packages: p-map: 6.0.0 dev: false - /cpy@11.1.0: - resolution: {integrity: sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==} - engines: {node: '>=18'} - dependencies: - copy-file: 11.0.0 - globby: 14.0.2 - junk: 4.0.1 - micromatch: 4.0.8 - p-filter: 4.1.0 - p-map: 7.0.2 - dev: false - /cpy@8.1.2: resolution: {integrity: sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==} engines: {node: '>=8'} @@ -12979,6 +13010,13 @@ packages: engines: {node: '>= 0.8.0'} dev: false + /expand-brackets@0.1.5: + resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} + engines: {node: '>=0.10.0'} + dependencies: + is-posix-bracket: 0.1.1 + dev: false + /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -12992,6 +13030,13 @@ packages: to-regex: 3.0.2 dev: false + /expand-range@1.8.2: + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} + dependencies: + fill-range: 2.2.4 + dev: false + /expand-tilde@1.2.2: resolution: {integrity: sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==} engines: {node: '>=0.10.0'} @@ -13082,6 +13127,13 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false + /extglob@0.3.2: + resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 1.0.0 + dev: false + /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -13237,6 +13289,22 @@ packages: minimatch: 5.1.6 dev: false + /filename-regex@2.0.1: + resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} + engines: {node: '>=0.10.0'} + dev: false + + /fill-range@2.2.4: + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 3.1.1 + repeat-element: 1.1.4 + repeat-string: 1.6.1 + dev: false + /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -13302,6 +13370,10 @@ packages: resolve-dir: 0.1.1 dev: false + /find-index@0.1.1: + resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} + dev: false + /find-pkg@0.1.2: resolution: {integrity: sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==} engines: {node: '>=0.10.0'} @@ -13424,6 +13496,13 @@ packages: engines: {node: '>=0.10.0'} dev: false + /for-own@0.1.5: + resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + dev: false + /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -13799,6 +13878,20 @@ packages: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false + /glob-base@0.3.0: + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + dev: false + + /glob-parent@2.0.0: + resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} + dependencies: + is-glob: 2.0.1 + dev: false + /glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: @@ -13838,6 +13931,13 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false + /glob2base@0.0.12: + resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} + engines: {node: '>= 0.10'} + dependencies: + find-index: 0.1.1 + dev: false + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -13946,18 +14046,6 @@ packages: slash: 4.0.0 dev: false - /globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.2 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: false - /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14806,7 +14894,6 @@ packages: dependencies: binary-extensions: 1.13.1 dev: false - optional: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -14906,6 +14993,18 @@ packages: is-window: 1.0.2 dev: false + /is-dotfile@1.0.3: + resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} + engines: {node: '>=0.10.0'} + dev: false + + /is-equal-shallow@0.1.3: + resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} + engines: {node: '>=0.10.0'} + dependencies: + is-primitive: 2.0.0 + dev: false + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -14918,6 +15017,11 @@ packages: is-plain-object: 2.0.4 dev: false + /is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -14962,6 +15066,13 @@ packages: has-tostringtag: 1.0.2 dev: false + /is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 1.0.0 + dev: false + /is-glob@3.1.0: resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} @@ -14997,6 +15108,13 @@ packages: has-tostringtag: 1.0.2 dev: false + /is-number@2.1.0: + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: false + /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -15004,6 +15122,11 @@ packages: kind-of: 3.2.2 dev: false + /is-number@4.0.0: + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} + dev: false + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -15046,10 +15169,20 @@ packages: engines: {node: '>=0.10.0'} dev: false + /is-posix-bracket@0.1.1: + resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} + engines: {node: '>=0.10.0'} + dev: false + /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: false + /is-primitive@2.0.0: + resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} + engines: {node: '>=0.10.0'} + dev: false + /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -16605,6 +16738,10 @@ packages: react: 18.3.1 dev: false + /math-random@1.0.4: + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + dev: false + /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: @@ -17141,6 +17278,25 @@ packages: - supports-color dev: false + /micromatch@2.3.11: + resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 2.0.0 + array-unique: 0.2.1 + braces: 1.8.5 + expand-brackets: 0.1.5 + extglob: 0.3.2 + filename-regex: 2.0.1 + is-extglob: 1.0.0 + is-glob: 2.0.1 + kind-of: 3.2.2 + normalize-path: 2.1.1 + object.omit: 2.0.1 + parse-glob: 3.0.4 + regex-cache: 0.4.4 + dev: false + /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -17764,6 +17920,14 @@ packages: es-abstract: 1.23.3 dev: false + /object.omit@2.0.1: + resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} + engines: {node: '>=0.10.0'} + dependencies: + for-own: 0.1.5 + is-extendable: 0.1.1 + dev: false + /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} @@ -17889,13 +18053,6 @@ packages: p-timeout: 5.1.0 dev: false - /p-event@6.0.1: - resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} - engines: {node: '>=16.17'} - dependencies: - p-timeout: 6.1.2 - dev: false - /p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -17910,13 +18067,6 @@ packages: p-map: 5.5.0 dev: false - /p-filter@4.1.0: - resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} - engines: {node: '>=18'} - dependencies: - p-map: 7.0.2 - dev: false - /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -18002,11 +18152,6 @@ packages: engines: {node: '>=16'} dev: false - /p-map@7.0.2: - resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} - engines: {node: '>=18'} - dev: false - /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -18027,11 +18172,6 @@ packages: engines: {node: '>=12'} dev: false - /p-timeout@6.1.2: - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} - engines: {node: '>=14.16'} - dev: false - /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -18096,6 +18236,16 @@ packages: is-hexadecimal: 1.0.4 dev: false + /parse-glob@3.0.4: + resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + engines: {node: '>=0.10.0'} + dependencies: + glob-base: 0.3.0 + is-dotfile: 1.0.3 + is-extglob: 1.0.0 + is-glob: 2.0.1 + dev: false + /parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -18256,11 +18406,6 @@ packages: engines: {node: '>=8'} dev: false - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: false - /path@0.12.7: resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} dependencies: @@ -18583,6 +18728,11 @@ packages: engines: {node: '>= 0.8.0'} dev: false + /preserve@0.2.0: + resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} + engines: {node: '>=0.10.0'} + dev: false + /prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -18847,6 +18997,15 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: false + /randomatic@3.1.1: + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} + dependencies: + is-number: 4.0.0 + kind-of: 6.0.3 + math-random: 1.0.4 + dev: false + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -19218,7 +19377,6 @@ packages: micromatch: 3.1.10 readable-stream: 2.3.8 dev: false - optional: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -19315,6 +19473,13 @@ packages: '@babel/runtime': 7.25.6 dev: false + /regex-cache@0.4.4: + resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-equal-shallow: 0.1.3 + dev: false + /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -19958,7 +20123,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) + ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -20889,6 +21054,12 @@ packages: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} dev: false + /subarg@1.0.0: + resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + dependencies: + minimist: 1.2.8 + dev: false + /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -21771,11 +21942,6 @@ packages: engines: {node: '>=4'} dev: false - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: false - /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: @@ -23108,7 +23274,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23155,7 +23321,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23188,11 +23354,11 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-I2PRXfCfy4nA8vmBvrX5lO80xGoK5rgSQFREo3rP/+7vtxiuUuKCJ7uXVi36pS1aJc0wH8xy5MMNZk6g3ja+8w==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-9V000/5AerQJelu6HbFZC0BZbzqivoUwDjidW00WbXQiLExVKRBQHtRxbC/hTnjYzCAead3V2bF34ImxGHgy8A==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-calling-effects': 1.1.1 '@azure/communication-common': 2.3.1 '@babel/cli': 7.25.6(@babel/core@7.25.2) @@ -23202,7 +23368,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23236,11 +23402,11 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-GcbarSj04jAAvJHMsprSNk1rGE/I6in0DvqaZDxWBD4TTa7ffRefU2EYv5xZSdQoCI4LIMzJYq5cvLJOagULIg==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-gqUnadQPQy8WvJr1uhSQmQz4fZZUHBtdVPr4X92DTf9LtxmLQWQg6d88bhWSlR47wWdp93pAM5XqGJZbIYYR+w==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-common': 2.3.1 '@azure/core-auth': 1.8.0 '@azure/logger': 1.1.4 @@ -23252,7 +23418,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23285,12 +23451,12 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-BlPohbxoEnnAPj4sx2677ZXIfsSrU6M0j+0NVas0bxYfwrJLmLZcsoifZjSpijwG1LRY3czuFAUJgiZUt00i2A==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-S4nVTeBpt0aGj2EcD9aIxqPoiSYD17GVYAsDNf4JG6J3CbvWEAphC/KsDjc/lrOF/0b7J5Oq8ELcWTddSW7Sew==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 '@azure/logger': 1.1.4 @@ -23314,7 +23480,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23380,12 +23546,12 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-ytzphojhPz7PXcagN5uLeffnSuY0O00GcKFQc0vcK8Jh8aPvItTqTUv877w3vN7b6X5by2L7oyzKSQ1YZbOyKQ==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-sD/wT+xfuu/PwJbW15nAk4AF0by/6BS3uh7vlJe6jasnVZc02pQygbEdSvz1Jg6TzqqlOUod8cgsW3Wnd75pDQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 '@azure/logger': 1.1.4 @@ -23409,7 +23575,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23475,12 +23641,12 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-YNozY5DF0i9ViIWNPrbUSjjdc56a2w3gfzYmLAxcQgnCjLQeZMwDgpyoUWUf/jCOLTYUWWRiCbzithOFSMa/8w==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-/FjlhHJJrtYDH22tt1/tnvnK+OaJJhiJs9bYC6tnKGnHutBPsmvqJVGHkjY77GfxGiJzt7zSoixGZqRzSlTjtA==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: '@azure/abort-controller': 1.1.0 - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 @@ -23505,7 +23671,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) @@ -23581,7 +23747,7 @@ packages: '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23629,7 +23795,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23689,7 +23855,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23799,11 +23965,11 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-CgOKa0/ZT3/SmjZsJUd9oJRrWcMXaFkoXw95RKStP4r0xE26DoYDsARYRi368w/hhb4PtWfMyyt8WdnvZonWiQ==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-TB7GFbn+rpQGgM+d0thuja1hVvo/0+OdLQ63RGAmQjiL8+OOL4Zt9DxnA8naikljvLBaIig/Wa943Ocl7XvWaQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 @@ -23839,7 +24005,7 @@ packages: ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 @@ -23906,11 +24072,11 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-tF4PxzaCAQYhUgLwoq0FJWS4ryaXkzXGXzEPrmsTis1KQGRlW/rGQ5/pwccFIuNUOSY5qLahMWc0AkMJZ74pCA==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-khxEG5nq0EP+Ctk6YK49PY2hQYr9JXNFU8YB5LNYe3XuxUmn9GehH18iX7mUgDBaQh3W/XmOIVMEooukHCaH3g==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 @@ -24015,7 +24181,7 @@ packages: babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -24092,7 +24258,7 @@ packages: copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 core-js: 3.38.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 @@ -24168,11 +24334,11 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-hpq+L1fGu32hMN5JXSlDCrApjfF3Qkq92/JGaBJv8wKfHkIooL12Ivbzd3qd6HXtd3aT4sLq8iJYhJP6KV7exg==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-GPu8CE10xsJl06p8Ekydn4vTDkQb/wVKPZKUK40Fqe5ekrFrkqMism+DLn9aVCiJWOIErpZFax9QHmZBfkxGew==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-calling-effects': 1.1.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 @@ -24213,7 +24379,7 @@ packages: copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) @@ -24288,11 +24454,11 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-RWMgkZCfwGQIYYXzYae8XN2bHANtrqlkQUrjsJf4AyLlziRy0PV9KH3iRJcZGlndIPj+ZPSpwk0yCxjnuwtCZg==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-xVIoN0C2O55xi1Q++GeYW2fgZMGsg1HmF+W/aJn9hPlTo9+++KItT5FsvLbvHFsmWgsyDmUouRDloKhR43SPvQ==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 @@ -24313,11 +24479,11 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-5uleqr+Z6e8NsOQrjPdngu4CTDBd9abCGyMv8sU5AFp5gNwqB5KhV7O2m6Y9BtQtIDrI515U37KB88W55Dp6AQ==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-ypcL7PLARv7OhHpqUPqwdDpCnPdhBZkTfWj+J1gZYpV7zVxuJ+13LYoyxgRNXS0K03bxAj1+ZwpAfDing7VRpQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 @@ -24332,7 +24498,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-webpack-plugin: 11.0.0(webpack@5.95.0) - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 dotenv: 10.0.0 env-cmd: 10.1.0 @@ -24398,7 +24564,7 @@ packages: cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 debug: 2.6.9 eslint: 8.57.1 @@ -24456,11 +24622,11 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-cO22/N9bTBU+GPAJHPdwGcqkQ8NUzzOu5jvH0DLnj0j9TGjgSeoYnCcbd2Lospa3JruU4txGoUnza4fGeN6prQ==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-Bs85HZXQRY9v7m1bYwtguQBI5WyiKCqKHRv+nyaOKGoiiYpU1uXyn6dlWzXAsfmtcPJU3KAIe9IcvpX7WEVErw==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 @@ -24597,11 +24763,11 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-r62SOlyUmuOfYXc0e0BtlZQBQvwT2pChl+HK4o/JY3j14p1IwR9efTww8eF/Vqg37YY4nYvMHRRe9lKnMtiRuQ==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-YXT67mEfcd+GHUFUSrzwehVyArWB5v5/NrmYXZRth8gE7WyZknDD0+yx7mpgx/PtPcMtEKPtD0iGiD6GwvQC1g==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: - '@azure/communication-calling': 1.29.1-beta.2 + '@azure/communication-calling': 1.30.1-beta.1 '@azure/communication-chat': 1.6.0-beta.3 '@azure/communication-common': 2.3.1 '@azure/communication-identity': 1.3.1 diff --git a/packages/calling-component-bindings/package.json b/packages/calling-component-bindings/package.json index 82b9f25ff47..bc56b926cc3 100644 --- a/packages/calling-component-bindings/package.json +++ b/packages/calling-component-bindings/package.json @@ -38,13 +38,13 @@ "reselect": "^4.0.0" }, "peerDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-calling-effects": "1.1.1-beta.1 || ^1.1.0", "@types/react": ">=16.8.0 <19.0.0", "react": ">=16.8.0 <19.0.0" }, "devDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-calling-effects": "1.1.1-beta.1 || ^1.1.0", "@babel/cli": "^7.24.8", "@babel/core": "^7.25.2", diff --git a/packages/calling-stateful-client/package.json b/packages/calling-stateful-client/package.json index 8ff6973cedc..cb6aa69bb5c 100644 --- a/packages/calling-stateful-client/package.json +++ b/packages/calling-stateful-client/package.json @@ -37,10 +37,10 @@ "immer": "10.1.1" }, "peerDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4" + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4" }, "devDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/core-auth": "^1.7.2", "@babel/cli": "^7.24.8", "@babel/core": "^7.25.2", diff --git a/packages/communication-react/package.json b/packages/communication-react/package.json index fec38b847bf..31b98eccb94 100644 --- a/packages/communication-react/package.json +++ b/packages/communication-react/package.json @@ -55,7 +55,7 @@ "uuid": "^9.0.0" }, "peerDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-calling-effects": "1.0.1", "@azure/communication-chat": "1.6.0-beta.3 || >=1.5.2", "@types/react": ">=16.8.0 <19.0.0", @@ -111,7 +111,7 @@ "_by-flavor": "rushx _current-flavor && env-cmd -f ../../common/config/env/.env --use-shell" }, "devDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-calling-effects": "1.1.1-beta.1 || ^1.1.0", "@azure/core-auth": "^1.7.2", "@babel/cli": "^7.24.8", diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 1728bd356aa..3d62212de35 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -72,7 +72,7 @@ "nanoid": "3.3.6" }, "peerDependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-calling-effects": "1.1.1-beta.1 || ^1.1.0", "@azure/communication-chat": "1.6.0-beta.3 || >=1.5.2", "@types/react": ">=16.8.0 <19.0.0", diff --git a/packages/storybook/package.json b/packages/storybook/package.json index 3d082cce111..d79ffc785f1 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -20,7 +20,7 @@ }, "license": "MIT", "dependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", diff --git a/packages/storybook8/package.json b/packages/storybook8/package.json index 794c43aa589..9596250700f 100644 --- a/packages/storybook8/package.json +++ b/packages/storybook8/package.json @@ -21,7 +21,7 @@ }, "license": "MIT", "dependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", diff --git a/samples/CallWithChat/package.json b/samples/CallWithChat/package.json index 9624fdc3f66..f73a872bdd7 100644 --- a/samples/CallWithChat/package.json +++ b/samples/CallWithChat/package.json @@ -35,7 +35,7 @@ "dependencies": { "@azure/abort-controller": "^1.1.0", "@azure/communication-identity": "^1.3.0", - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-common": "^2.3.1", diff --git a/samples/Calling/package.json b/samples/Calling/package.json index fc662b774bb..5494329d0f0 100644 --- a/samples/Calling/package.json +++ b/samples/Calling/package.json @@ -34,7 +34,7 @@ "@azure/abort-controller": "^1.1.0", "@azure/communication-identity": "^1.3.0", "@azure/communication-react": "1.20.0-beta.0", - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", "@babel/preset-react": "^7.12.7", diff --git a/samples/CallingStateful/package.json b/samples/CallingStateful/package.json index 938634bdda9..6bfa67ac6e7 100644 --- a/samples/CallingStateful/package.json +++ b/samples/CallingStateful/package.json @@ -34,7 +34,7 @@ "@azure/abort-controller": "^1.1.0", "@azure/communication-identity": "^1.3.0", "@azure/communication-react": "1.20.0-beta.0", - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-common": "^2.3.1", "@azure/logger": "^1.0.4", "@babel/preset-react": "^7.12.7", diff --git a/samples/ComponentExamples/package.json b/samples/ComponentExamples/package.json index a6709408f3f..0ed835ac7ee 100644 --- a/samples/ComponentExamples/package.json +++ b/samples/ComponentExamples/package.json @@ -24,7 +24,7 @@ }, "license": "MIT", "dependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "@azure/communication-identity": "^1.3.0", diff --git a/samples/StaticHtmlComposites/package.json b/samples/StaticHtmlComposites/package.json index 892d6f62bef..b851951a372 100644 --- a/samples/StaticHtmlComposites/package.json +++ b/samples/StaticHtmlComposites/package.json @@ -25,7 +25,7 @@ "dependencies": { "@azure/communication-react": "1.20.0-beta.0", "@azure/communication-common": "^2.3.1", - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@fluentui/react": "^8.120.0", "react": "18.3.1", diff --git a/samples/tests/package.json b/samples/tests/package.json index f9d3ef9d01f..79e8989ba53 100644 --- a/samples/tests/package.json +++ b/samples/tests/package.json @@ -21,7 +21,7 @@ }, "license": "MIT", "dependencies": { - "@azure/communication-calling": "1.29.1-beta.2 || ^1.28.4", + "@azure/communication-calling": "1.30.1-beta.1 || ^1.28.4", "@azure/communication-chat": "1.6.0-beta.3 || ^1.5.2", "@azure/communication-common": "^2.3.1", "uuid": "^9.0.0", From 7f07249b3f0e0ebbb3b67ba5d7da32dfe9a0eecc Mon Sep 17 00:00:00 2001 From: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:13:17 -0700 Subject: [PATCH 55/58] Add eslint rule to guard against improper usage of `adapter.getState()` (#5236) --- common/config/rush/pnpm-lock.yaml | 21 +- .../rush/variants/stable/pnpm-lock.yaml | 439 +++++++++++++----- packages/react-composites/.eslintrc.js | 10 +- packages/react-composites/package.json | 1 + rush.json | 5 + tools/custom-eslint-rules/index.js | 8 + tools/custom-eslint-rules/package.json | 26 ++ tools/custom-eslint-rules/readme.md | 5 + .../custom-eslint-rules/rules/no-getstate.js | 60 +++ 9 files changed, 443 insertions(+), 132 deletions(-) create mode 100644 tools/custom-eslint-rules/index.js create mode 100644 tools/custom-eslint-rules/package.json create mode 100644 tools/custom-eslint-rules/readme.md create mode 100644 tools/custom-eslint-rules/rules/no-getstate.js diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 041e12cdb2f..6cf4f508e08 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -62,6 +62,9 @@ dependencies: '@rush-temp/config': specifier: file:./projects/config.tgz version: file:projects/config.tgz + '@rush-temp/eslint-plugin-custom-rules': + specifier: file:./projects/eslint-plugin-custom-rules.tgz + version: file:projects/eslint-plugin-custom-rules.tgz '@rush-temp/fake-backends': specifier: file:./projects/fake-backends.tgz version: file:projects/fake-backends.tgz @@ -9286,8 +9289,10 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1: + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -20123,7 +20128,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -24161,6 +24166,16 @@ packages: - encoding dev: false + file:projects/eslint-plugin-custom-rules.tgz: + resolution: {integrity: sha512-x1AbWT3cjJ6u8SMkv+SYREtmC1+YqIqGPHzFWKVrDOQdY95rNB26uZOPE/rPqKpx2Cm/5WlrxrXorb90V7cKcQ==, tarball: file:projects/eslint-plugin-custom-rules.tgz} + name: '@rush-temp/eslint-plugin-custom-rules' + version: 0.0.0 + dependencies: + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + dev: false + file:projects/fake-backends.tgz: resolution: {integrity: sha512-VNhAUKctn50wKDaEAyNrYyuPH1d26tmNQHkO3oFbSUoFmGWm+2LT6sbhpx3OvkLb5AyrGRHeBX7F/COh3ZTlUg==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' @@ -24334,7 +24349,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-GPu8CE10xsJl06p8Ekydn4vTDkQb/wVKPZKUK40Fqe5ekrFrkqMism+DLn9aVCiJWOIErpZFax9QHmZBfkxGew==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-a0Ap8NRw/wDmo4GgWtp+VQPhW82TAXfM+wpdBJ+d3oLMQ1tai7UADWuXlCv6Yc8uby2TS5mbqyxgPgzJpR1WJg==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index 8ecfe8a27cf..f92b47a7c6d 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -62,6 +62,9 @@ dependencies: '@rush-temp/config': specifier: file:./projects/config.tgz version: file:projects/config.tgz + '@rush-temp/eslint-plugin-custom-rules': + specifier: file:./projects/eslint-plugin-custom-rules.tgz + version: file:projects/eslint-plugin-custom-rules.tgz '@rush-temp/fake-backends': specifier: file:./projects/fake-backends.tgz version: file:projects/fake-backends.tgz @@ -4437,7 +4440,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.1 + '@types/node': 20.14.12 jest-mock: 29.7.0 dev: false @@ -4464,7 +4467,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.7.1 + '@types/node': 20.14.12 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4607,7 +4610,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: false @@ -5465,11 +5468,6 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: false - /@sinonjs/commons@3.0.1: resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: @@ -8078,26 +8076,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 5.0.0 - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/cookie-parser@1.4.7: @@ -8165,7 +8163,7 @@ packages: /@types/express-serve-static-core@4.19.6: resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8174,7 +8172,7 @@ packages: /@types/express-serve-static-core@5.0.0: resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8193,14 +8191,14 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/graceful-fs@4.1.9: @@ -8240,7 +8238,7 @@ packages: /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/is-function@1.0.3: @@ -8286,7 +8284,7 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false @@ -8354,14 +8352,14 @@ packages: /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 form-data: 4.0.0 dev: false /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/node@16.18.110: @@ -8387,7 +8385,7 @@ packages: /@types/npmlog@4.1.6: resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/parse-json@4.0.2: @@ -8453,7 +8451,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/serve-index@1.9.4: @@ -8466,14 +8464,14 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/send': 0.17.4 dev: false /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/source-list-map@0.1.6: @@ -8497,7 +8495,7 @@ packages: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 22.7.1 + '@types/node': 20.14.12 form-data: 4.0.0 dev: false @@ -8540,7 +8538,7 @@ packages: /@types/wait-on@5.3.4: resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/webpack-env@1.18.5: @@ -8562,7 +8560,7 @@ packages: /@types/webpack-sources@3.2.3: resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/source-list-map': 0.1.6 source-map: 0.7.4 dev: false @@ -8570,7 +8568,7 @@ packages: /@types/webpack@4.41.39: resolution: {integrity: sha512-otxUJvoi6FbBq/64gGH34eblpKLgdi+gf08GaAh8Bx6So0ZZic028Ev/SUxD22gbthMKCkeeiXEat1kHLDJfYg==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -8581,7 +8579,7 @@ packages: /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 dev: false /@types/yargs-parser@21.0.3: @@ -9242,8 +9240,10 @@ packages: ajv: 6.12.6 dev: false - /ajv-formats@2.1.1: + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9397,6 +9397,13 @@ packages: entities: 2.2.0 dev: false + /anymatch@1.3.2: + resolution: {integrity: sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==} + dependencies: + micromatch: 2.3.11 + normalize-path: 2.1.1 + dev: false + /anymatch@2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -9479,6 +9486,13 @@ packages: engines: {node: '>= 0.4'} dev: false + /arr-diff@2.0.0: + resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + dev: false + /arr-diff@4.0.0: resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} engines: {node: '>=0.10.0'} @@ -9557,6 +9571,11 @@ packages: engines: {node: '>=0.10.0'} dev: false + /array-unique@0.2.1: + resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} + engines: {node: '>=0.10.0'} + dev: false + /array-unique@0.3.2: resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} engines: {node: '>=0.10.0'} @@ -9717,7 +9736,6 @@ packages: resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} requiresBuild: true dev: false - optional: true /async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -10121,7 +10139,6 @@ packages: engines: {node: '>=0.10.0'} requiresBuild: true dev: false - optional: true /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -10213,6 +10230,15 @@ packages: balanced-match: 1.0.2 dev: false + /braces@1.8.5: + resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} + engines: {node: '>=0.10.0'} + dependencies: + expand-range: 1.8.2 + preserve: 0.2.0 + repeat-element: 1.1.4 + dev: false + /braces@2.3.2: resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -10619,6 +10645,21 @@ packages: engines: {node: '>= 16'} dev: false + /chokidar@1.7.0: + resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==} + dependencies: + anymatch: 1.3.2 + async-each: 1.0.6 + glob-parent: 2.0.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 2.0.1 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + optionalDependencies: + fsevents: 1.2.13 + dev: false + /chokidar@2.1.8: resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} requiresBuild: true @@ -11055,14 +11096,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /copy-file@11.0.0: - resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==} - engines: {node: '>=18'} - dependencies: - graceful-fs: 4.2.11 - p-event: 6.0.1 - dev: false - /copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: @@ -11193,6 +11226,23 @@ packages: p-event: 4.2.0 dev: false + /cpx@1.5.0: + resolution: {integrity: sha512-jHTjZhsbg9xWgsP2vuNW2jnnzBX+p4T+vNI9Lbjzs1n4KhOfa22bQppiFYLsWQKd8TzmL5aSP/Me3yfsCwXbDA==} + hasBin: true + dependencies: + babel-runtime: 6.26.0 + chokidar: 1.7.0 + duplexer: 0.1.2 + glob: 7.2.3 + glob2base: 0.0.12 + minimatch: 3.1.2 + mkdirp: 0.5.6 + resolve: 1.22.8 + safe-buffer: 5.2.1 + shell-quote: 1.8.1 + subarg: 1.0.0 + dev: false + /cpy-cli@5.0.0: resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} engines: {node: '>=16'} @@ -11216,18 +11266,6 @@ packages: p-map: 6.0.0 dev: false - /cpy@11.1.0: - resolution: {integrity: sha512-QGHetPSSuprVs+lJmMDcivvrBwTKASzXQ5qxFvRC2RFESjjod71bDvFvhxTjDgkNjrrb72AI6JPjfYwxrIy33A==} - engines: {node: '>=18'} - dependencies: - copy-file: 11.0.0 - globby: 14.0.2 - junk: 4.0.1 - micromatch: 4.0.8 - p-filter: 4.1.0 - p-map: 7.0.2 - dev: false - /cpy@8.1.2: resolution: {integrity: sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==} engines: {node: '>=8'} @@ -12928,6 +12966,13 @@ packages: engines: {node: '>= 0.8.0'} dev: false + /expand-brackets@0.1.5: + resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} + engines: {node: '>=0.10.0'} + dependencies: + is-posix-bracket: 0.1.1 + dev: false + /expand-brackets@2.1.4: resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -12941,6 +12986,13 @@ packages: to-regex: 3.0.2 dev: false + /expand-range@1.8.2: + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} + dependencies: + fill-range: 2.2.4 + dev: false + /expand-tilde@1.2.2: resolution: {integrity: sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==} engines: {node: '>=0.10.0'} @@ -13031,6 +13083,13 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false + /extglob@0.3.2: + resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 1.0.0 + dev: false + /extglob@2.0.4: resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -13186,6 +13245,22 @@ packages: minimatch: 5.1.6 dev: false + /filename-regex@2.0.1: + resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} + engines: {node: '>=0.10.0'} + dev: false + + /fill-range@2.2.4: + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 3.1.1 + repeat-element: 1.1.4 + repeat-string: 1.6.1 + dev: false + /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -13251,6 +13326,10 @@ packages: resolve-dir: 0.1.1 dev: false + /find-index@0.1.1: + resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} + dev: false + /find-pkg@0.1.2: resolution: {integrity: sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==} engines: {node: '>=0.10.0'} @@ -13373,6 +13452,13 @@ packages: engines: {node: '>=0.10.0'} dev: false + /for-own@0.1.5: + resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + dev: false + /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -13748,6 +13834,20 @@ packages: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} dev: false + /glob-base@0.3.0: + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + dev: false + + /glob-parent@2.0.0: + resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} + dependencies: + is-glob: 2.0.1 + dev: false + /glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} dependencies: @@ -13787,6 +13887,13 @@ packages: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: false + /glob2base@0.0.12: + resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} + engines: {node: '>= 0.10'} + dependencies: + find-index: 0.1.1 + dev: false + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -13895,18 +14002,6 @@ packages: slash: 4.0.0 dev: false - /globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.2 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: false - /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} engines: {node: '>=6'} @@ -14755,7 +14850,6 @@ packages: dependencies: binary-extensions: 1.13.1 dev: false - optional: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -14855,6 +14949,18 @@ packages: is-window: 1.0.2 dev: false + /is-dotfile@1.0.3: + resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} + engines: {node: '>=0.10.0'} + dev: false + + /is-equal-shallow@0.1.3: + resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} + engines: {node: '>=0.10.0'} + dependencies: + is-primitive: 2.0.0 + dev: false + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -14867,6 +14973,11 @@ packages: is-plain-object: 2.0.4 dev: false + /is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + dev: false + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -14911,6 +15022,13 @@ packages: has-tostringtag: 1.0.2 dev: false + /is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 1.0.0 + dev: false + /is-glob@3.1.0: resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} engines: {node: '>=0.10.0'} @@ -14946,6 +15064,13 @@ packages: has-tostringtag: 1.0.2 dev: false + /is-number@2.1.0: + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: false + /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -14953,6 +15078,11 @@ packages: kind-of: 3.2.2 dev: false + /is-number@4.0.0: + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} + dev: false + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -14995,10 +15125,20 @@ packages: engines: {node: '>=0.10.0'} dev: false + /is-posix-bracket@0.1.1: + resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} + engines: {node: '>=0.10.0'} + dev: false + /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: false + /is-primitive@2.0.0: + resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} + engines: {node: '>=0.10.0'} + dev: false + /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -15306,7 +15446,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.1 + '@types/node': 20.14.12 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -15505,7 +15645,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.1 + '@types/node': 20.14.12 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -15535,7 +15675,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.9 - '@types/node': 22.7.1 + '@types/node': 20.14.12 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -15642,7 +15782,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.1 + '@types/node': 20.14.12 jest-util: 29.7.0 dev: false @@ -15769,7 +15909,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.1 + '@types/node': 20.14.12 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -15829,7 +15969,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 graceful-fs: 4.2.11 dev: false @@ -15897,7 +16037,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 22.7.1 + '@types/node': 20.14.12 chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 @@ -15962,7 +16102,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -15971,7 +16111,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -15980,7 +16120,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 22.7.1 + '@types/node': 20.14.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16554,6 +16694,10 @@ packages: react: 18.3.1 dev: false + /math-random@1.0.4: + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + dev: false + /md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: @@ -17090,6 +17234,25 @@ packages: - supports-color dev: false + /micromatch@2.3.11: + resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 2.0.0 + array-unique: 0.2.1 + braces: 1.8.5 + expand-brackets: 0.1.5 + extglob: 0.3.2 + filename-regex: 2.0.1 + is-extglob: 1.0.0 + is-glob: 2.0.1 + kind-of: 3.2.2 + normalize-path: 2.1.1 + object.omit: 2.0.1 + parse-glob: 3.0.4 + regex-cache: 0.4.4 + dev: false + /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -17713,6 +17876,14 @@ packages: es-abstract: 1.23.3 dev: false + /object.omit@2.0.1: + resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} + engines: {node: '>=0.10.0'} + dependencies: + for-own: 0.1.5 + is-extendable: 0.1.1 + dev: false + /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} engines: {node: '>=0.10.0'} @@ -17838,13 +18009,6 @@ packages: p-timeout: 5.1.0 dev: false - /p-event@6.0.1: - resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} - engines: {node: '>=16.17'} - dependencies: - p-timeout: 6.1.2 - dev: false - /p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -17859,13 +18023,6 @@ packages: p-map: 5.5.0 dev: false - /p-filter@4.1.0: - resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} - engines: {node: '>=18'} - dependencies: - p-map: 7.0.2 - dev: false - /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} @@ -17951,11 +18108,6 @@ packages: engines: {node: '>=16'} dev: false - /p-map@7.0.2: - resolution: {integrity: sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==} - engines: {node: '>=18'} - dev: false - /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -17976,11 +18128,6 @@ packages: engines: {node: '>=12'} dev: false - /p-timeout@6.1.2: - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} - engines: {node: '>=14.16'} - dev: false - /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -18045,6 +18192,16 @@ packages: is-hexadecimal: 1.0.4 dev: false + /parse-glob@3.0.4: + resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + engines: {node: '>=0.10.0'} + dependencies: + glob-base: 0.3.0 + is-dotfile: 1.0.3 + is-extglob: 1.0.0 + is-glob: 2.0.1 + dev: false + /parse-json@2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -18205,11 +18362,6 @@ packages: engines: {node: '>=8'} dev: false - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: false - /path@0.12.7: resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} dependencies: @@ -18532,6 +18684,11 @@ packages: engines: {node: '>= 0.8.0'} dev: false + /preserve@0.2.0: + resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} + engines: {node: '>=0.10.0'} + dev: false + /prettier-linter-helpers@1.0.0: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} @@ -18796,6 +18953,15 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: false + /randomatic@3.1.1: + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} + dependencies: + is-number: 4.0.0 + kind-of: 6.0.3 + math-random: 1.0.4 + dev: false + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -19167,7 +19333,6 @@ packages: micromatch: 3.1.10 readable-stream: 2.3.8 dev: false - optional: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -19264,6 +19429,13 @@ packages: '@babel/runtime': 7.25.6 dev: false + /regex-cache@0.4.4: + resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-equal-shallow: 0.1.3 + dev: false + /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -19903,7 +20075,7 @@ packages: dependencies: '@types/json-schema': 7.0.15 ajv: 8.17.1 - ajv-formats: 2.1.1 + ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) dev: false @@ -20834,6 +21006,12 @@ packages: resolution: {integrity: sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==} dev: false + /subarg@1.0.0: + resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + dependencies: + minimist: 1.2.8 + dev: false + /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -21716,11 +21894,6 @@ packages: engines: {node: '>=4'} dev: false - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: false - /unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} dependencies: @@ -23040,7 +23213,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23087,7 +23260,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23134,7 +23307,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23184,7 +23357,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23246,7 +23419,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23341,7 +23514,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23437,7 +23610,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) @@ -23512,7 +23685,7 @@ packages: '@types/jest': 29.5.13 '@types/react': 18.3.3 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23559,7 +23732,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.4.5) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -23618,7 +23791,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 css-loader: 7.1.2(webpack@5.95.0) env-cmd: 10.1.0 @@ -23768,7 +23941,7 @@ packages: ajv: 8.17.1 copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 @@ -23922,6 +24095,16 @@ packages: - encoding dev: false + file:projects/eslint-plugin-custom-rules.tgz: + resolution: {integrity: sha512-x1AbWT3cjJ6u8SMkv+SYREtmC1+YqIqGPHzFWKVrDOQdY95rNB26uZOPE/rPqKpx2Cm/5WlrxrXorb90V7cKcQ==, tarball: file:projects/eslint-plugin-custom-rules.tgz} + name: '@rush-temp/eslint-plugin-custom-rules' + version: 0.0.0 + dependencies: + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + dev: false + file:projects/fake-backends.tgz: resolution: {integrity: sha512-VNhAUKctn50wKDaEAyNrYyuPH1d26tmNQHkO3oFbSUoFmGWm+2LT6sbhpx3OvkLb5AyrGRHeBX7F/COh3ZTlUg==, tarball: file:projects/fake-backends.tgz} name: '@rush-temp/fake-backends' @@ -23942,7 +24125,7 @@ packages: babel-jest: 29.7.0(@babel/core@7.25.2) babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) copyfiles: 2.4.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 env-cmd: 10.1.0 @@ -24018,7 +24201,7 @@ packages: copy-to-clipboard: 3.3.3 copyfiles: 2.4.1 core-js: 3.38.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 dompurify: 3.1.6 @@ -24094,7 +24277,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-hpq+L1fGu32hMN5JXSlDCrApjfF3Qkq92/JGaBJv8wKfHkIooL12Ivbzd3qd6HXtd3aT4sLq8iJYhJP6KV7exg==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-buS+ebIpmnfW5+K6dOBI2pHfUeJk/cX25gbCkAWrvC2ziDRONFUDOoDTD9ShNQ5OF3go7gM0ZfDpFJK7PkD/oA==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24139,7 +24322,7 @@ packages: copy-webpack-plugin: 11.0.0(webpack@5.95.0) copyfiles: 2.4.1 core-js: 3.38.1 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 cross-env: 7.0.3 css-loader: 7.1.2(webpack@5.95.0) @@ -24257,7 +24440,7 @@ packages: babel-loader: 8.1.0(@babel/core@7.25.2)(webpack@5.95.0) concurrently: 5.3.0 copy-webpack-plugin: 11.0.0(webpack@5.95.0) - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 dotenv: 10.0.0 env-cmd: 10.1.0 @@ -24322,7 +24505,7 @@ packages: cookie-parser: 1.4.6 copy-webpack-plugin: 11.0.0(webpack@5.95.0) cors: 2.8.5 - cpy: 11.1.0 + cpx: 1.5.0 cpy-cli: 5.0.0 debug: 2.6.9 eslint: 8.57.1 diff --git a/packages/react-composites/.eslintrc.js b/packages/react-composites/.eslintrc.js index 0c1762c141f..20eb52d8e0e 100644 --- a/packages/react-composites/.eslintrc.js +++ b/packages/react-composites/.eslintrc.js @@ -1,5 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. + module.exports = { env: { browser: true, @@ -14,7 +15,7 @@ module.exports = { 'plugin:react-hooks/recommended' ], parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'header', 'jsdoc'], + plugins: ['@typescript-eslint', 'header', 'jsdoc', '@internal/custom-rules'], parserOptions: { ecmaFeatures: { jsx: true @@ -23,6 +24,7 @@ module.exports = { sourceType: 'module' }, rules: { + '@internal/custom-rules/no-getstate': 'off', // TODO: CHANGE TO ERROR ONCE INSTANCES ARE FIXED '@typescript-eslint/explicit-function-return-type': [ 'warn', { @@ -105,6 +107,12 @@ module.exports = { rules: { 'jsdoc/require-jsdoc': 'off' } + }, + { + files: ['*.test.ts', 'AzureCommunicationCallAdapter.ts'], + rules: { + '@internal/custom-rules/no-getstate': 'off' + } } ] }; diff --git a/packages/react-composites/package.json b/packages/react-composites/package.json index 3d62212de35..9723decb7b9 100644 --- a/packages/react-composites/package.json +++ b/packages/react-composites/package.json @@ -85,6 +85,7 @@ "@babel/cli": "^7.24.8", "@babel/core": "^7.25.2", "@babel/preset-env": "7.23.9", + "@internal/eslint-plugin-custom-rules": "0.1.0", "@internal/fake-backends": "1.20.0-beta.0", "@microsoft/api-documenter": "~7.25.9", "@microsoft/api-extractor": "~7.47.4", diff --git a/rush.json b/rush.json index 0428fea6025..5dcf8b29a87 100644 --- a/rush.json +++ b/rush.json @@ -139,6 +139,11 @@ "packageName": "@internal/fake-backends", "projectFolder": "packages/fake-backends", "reviewCategory": "tools" + }, + { + "packageName": "@internal/eslint-plugin-custom-rules", + "projectFolder": "tools/custom-eslint-rules", + "reviewCategory": "tools" } ] } diff --git a/tools/custom-eslint-rules/index.js b/tools/custom-eslint-rules/index.js new file mode 100644 index 00000000000..5778997314f --- /dev/null +++ b/tools/custom-eslint-rules/index.js @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +module.exports = { + rules: { + 'no-getstate': require('./rules/no-getstate') + } +}; diff --git a/tools/custom-eslint-rules/package.json b/tools/custom-eslint-rules/package.json new file mode 100644 index 00000000000..416b8251704 --- /dev/null +++ b/tools/custom-eslint-rules/package.json @@ -0,0 +1,26 @@ +{ + "name": "@internal/eslint-plugin-custom-rules", + "version": "0.1.0", + "private": "true", + "description": "Custom eslint rules for the project", + "scripts": { + "clean": "echo skip", + "build": "echo skip", + "build:watch": "echo skip", + "build:stable": "echo skip", + "prettier": "prettier --no-error-on-unmatched-pattern --write --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", + "prettier:check": "prettier --no-error-on-unmatched-pattern --check --config ../../.prettierrc --ignore-path=../../.prettierignore \"**/*.js\" \"**/*.jsx\" \"**/*.ts\" \"**/*.tsx\"", + "test": "echo skip", + "test:ci-coverage": "echo skip", + "test:stable": "echo skip", + "test:coverage": "echo skip", + "lint": "echo skip", + "lint:fix": "echo skip", + "lint:quiet": "echo skip" + }, + "dependencies": { + }, + "devDependencies": { + "eslint": "^8.57.0" + } +} \ No newline at end of file diff --git a/tools/custom-eslint-rules/readme.md b/tools/custom-eslint-rules/readme.md new file mode 100644 index 00000000000..4b47a799131 --- /dev/null +++ b/tools/custom-eslint-rules/readme.md @@ -0,0 +1,5 @@ +# custom-eslint-rules + +A package to contain custom ESLint rules that can be applied and enforced across all packlets in the repo. + +These are rules that pply to development within this repo and are not best practices to apply external projects. diff --git a/tools/custom-eslint-rules/rules/no-getstate.js b/tools/custom-eslint-rules/rules/no-getstate.js new file mode 100644 index 00000000000..46f9e0e972c --- /dev/null +++ b/tools/custom-eslint-rules/rules/no-getstate.js @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +module.exports = { + meta: { + type: 'problem', + docs: { + description: 'Disallow the use of adapter.getState()', + category: 'Best Practices', + recommended: true + }, + messages: { + 'no-getstate': + 'The use of `adapter.getState()` is disallowed in react functional components and react hooks. Use `useSelector` instead.' + }, + schema: [] + }, + create: function (context) { + const isReactComponent = (node) => { + // Check if the function is a React functional component + return ( + node.type === 'FunctionDeclaration' || + node.type === 'ArrowFunctionExpression' || + (node.type === 'FunctionExpression' && + context + .getScope() + .variables.some((variable) => variable.defs.some((def) => def.node === node && def.name === 'default'))) + ); + }; + + const isHook = (node) => { + // Check if the call is a React Hook (e.g., useEffect, useState) + return node.type === 'CallExpression' && node.callee.type === 'Identifier' && node.callee.name.startsWith('use'); + }; + + return { + CallExpression: function (node) { + // Check if the node is in a React component or hook context + const parent = context + .getAncestors() + .reverse() + .find((ancestor) => { + return isReactComponent(ancestor) || isHook(ancestor); + }); + + if ( + parent && + node.callee.type === 'MemberExpression' && + node.callee.object.name === 'adapter' && + node.callee.property.name === 'getState' + ) { + context.report({ + node: node, + messageId: 'no-getstate' + }); + } + } + }; + } +}; From 25a4b5f918cf5d856bd653c39b5a0c211a8bd3fb Mon Sep 17 00:00:00 2001 From: mgamis-msft <79475487+mgamis-msft@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:29:15 -0700 Subject: [PATCH 56/58] Add aria label for video effects pane (#5196) * Add accessible name to video effects pane * Change files * also add aria label to video effects pane in call * fix string * update stable api * update beta api --- ...ation-react-361438b2-fe57-42c6-979e-621cddbf7602.json | 9 +++++++++ ...ation-react-361438b2-fe57-42c6-979e-621cddbf7602.json | 9 +++++++++ .../review/beta/communication-react.api.md | 1 + .../review/stable/communication-react.api.md | 1 + .../src/composites/CallComposite/Strings.tsx | 5 +++++ .../CallComposite/components/CallArrangement.tsx | 3 ++- .../CallComposite/components/SidePane/SidePane.tsx | 5 +++++ .../composites/CallComposite/pages/ConfigurationPage.tsx | 1 + .../composites/localization/locales/en-US/strings.json | 1 + 9 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 change-beta/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json create mode 100644 change/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json diff --git a/change-beta/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json b/change-beta/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json new file mode 100644 index 00000000000..2e2fcf736b0 --- /dev/null +++ b/change-beta/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "improvement", + "workstream": "Accessibility", + "comment": "Add accessible name to video effects pane", + "packageName": "@azure/communication-react", + "email": "79475487+mgamis-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json b/change/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json new file mode 100644 index 00000000000..2e2fcf736b0 --- /dev/null +++ b/change/@azure-communication-react-361438b2-fe57-42c6-979e-621cddbf7602.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "improvement", + "workstream": "Accessibility", + "comment": "Add accessible name to video effects pane", + "packageName": "@azure/communication-react", + "email": "79475487+mgamis-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/communication-react/review/beta/communication-react.api.md b/packages/communication-react/review/beta/communication-react.api.md index f267e028ada..6215014dad8 100644 --- a/packages/communication-react/review/beta/communication-react.api.md +++ b/packages/communication-react/review/beta/communication-react.api.md @@ -988,6 +988,7 @@ export interface CallCompositeStrings { unnamedParticipantString: string; unpinParticipantMenuItemAriaLabel: string; unpinParticipantMenuLabel: string; + videoEffectsPaneAriaLabel: string; videoEffectsPaneBackgroundSelectionTitle: string; videoEffectsPaneTitle: string; } diff --git a/packages/communication-react/review/stable/communication-react.api.md b/packages/communication-react/review/stable/communication-react.api.md index 7b33eb991ca..754a6564c9b 100644 --- a/packages/communication-react/review/stable/communication-react.api.md +++ b/packages/communication-react/review/stable/communication-react.api.md @@ -777,6 +777,7 @@ export interface CallCompositeStrings { unnamedParticipantString: string; unpinParticipantMenuItemAriaLabel: string; unpinParticipantMenuLabel: string; + videoEffectsPaneAriaLabel: string; videoEffectsPaneBackgroundSelectionTitle: string; videoEffectsPaneTitle: string; } diff --git a/packages/react-composites/src/composites/CallComposite/Strings.tsx b/packages/react-composites/src/composites/CallComposite/Strings.tsx index 6c80be61051..10a6912979f 100644 --- a/packages/react-composites/src/composites/CallComposite/Strings.tsx +++ b/packages/react-composites/src/composites/CallComposite/Strings.tsx @@ -361,6 +361,11 @@ export interface CallCompositeStrings { */ videoEffectsPaneBackgroundSelectionTitle: string; + /** + * Aria label for video effects pane + */ + videoEffectsPaneAriaLabel: string; + /** * Label for the button to open effects */ diff --git a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx index 06e5d0eb99b..0b62426811f 100644 --- a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx @@ -395,7 +395,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency; - const { openVideoEffectsPane } = useVideoEffectsPane( + const { openVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane( props.updateSidePaneRenderer, props.mobileView, props.latestErrors as ActiveErrorMessage[], @@ -644,6 +644,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { onChatButtonClicked={props.mobileChatTabHeader?.onClick} disableChatButton={props.mobileChatTabHeader?.disabled} showAddPeopleButton={!!props.callControlProps.callInvitationURL} + ariaLabel={isVideoEffectsPaneOpen ? locale.strings.call.videoEffectsPaneAriaLabel : undefined} /> {props.mobileView && ( { return ( customWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`} > Date: Fri, 4 Oct 2024 15:11:44 -0700 Subject: [PATCH 57/58] Turn on no-getstate eslint rule and apply fixes (#5239) Signed-off-by: James Burnside <2684369+JamesBurnside@users.noreply.github.com> Co-authored-by: vhuseinova-msft <98852890+vhuseinova-msft@users.noreply.github.com> --- ...-dd7317f8-5a22-4eb5-accb-0f9de6a60bc2.json | 9 +++ .../rush/variants/stable/pnpm-lock.yaml | 24 +++--- packages/react-composites/.eslintrc.js | 12 ++- .../CallComposite/CallComposite.tsx | 18 +++-- .../components/CallArrangement.tsx | 20 +++-- .../CallComposite/components/CallControls.tsx | 55 +++++++------ .../components/LocalDeviceSettings.tsx | 14 ++-- .../CallComposite/components/MediaGallery.tsx | 9 +-- .../components/SidePane/usePeoplePane.tsx | 11 ++- .../SidePane/useVideoEffectsPane.tsx | 7 +- .../components/buttons/Camera.tsx | 13 ++-- .../components/buttons/Devices.tsx | 6 +- .../components/buttons/Microphone.tsx | 20 ++--- .../components/buttons/ScreenShare.tsx | 11 ++- .../CallComposite/hooks/useHandlers.ts | 4 +- .../CallComposite/pages/ConfigurationPage.tsx | 20 +++-- .../CallComposite/pages/DtmfDialpadPage.tsx | 18 ++--- .../CallComposite/selectors/baseSelectors.ts | 46 ++++++++++- .../composites/ChatComposite/ChatScreen.tsx | 78 +++++++++---------- .../ChatComposite/selectors/baseSelectors.ts | 22 +++++- .../common/ModalLocalAndRemotePIP.tsx | 5 +- .../composites/common/PeoplePaneContent.tsx | 16 ++-- .../composites/common/VideoEffectsPane.tsx | 14 +++- 23 files changed, 284 insertions(+), 168 deletions(-) create mode 100644 change/@azure-communication-react-dd7317f8-5a22-4eb5-accb-0f9de6a60bc2.json diff --git a/change/@azure-communication-react-dd7317f8-5a22-4eb5-accb-0f9de6a60bc2.json b/change/@azure-communication-react-dd7317f8-5a22-4eb5-accb-0f9de6a60bc2.json new file mode 100644 index 00000000000..71bb387e5d3 --- /dev/null +++ b/change/@azure-communication-react-dd7317f8-5a22-4eb5-accb-0f9de6a60bc2.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "", + "comment": "Ensure components re-render when adapter state changes by using useSelector instead of adapter.getState", + "packageName": "@azure/communication-react", + "email": "2684369+JamesBurnside@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/common/config/rush/variants/stable/pnpm-lock.yaml b/common/config/rush/variants/stable/pnpm-lock.yaml index f92b47a7c6d..5a2e1efdb1e 100644 --- a/common/config/rush/variants/stable/pnpm-lock.yaml +++ b/common/config/rush/variants/stable/pnpm-lock.yaml @@ -23293,7 +23293,7 @@ packages: dev: false file:projects/calling-component-bindings.tgz: - resolution: {integrity: sha512-I2PRXfCfy4nA8vmBvrX5lO80xGoK5rgSQFREo3rP/+7vtxiuUuKCJ7uXVi36pS1aJc0wH8xy5MMNZk6g3ja+8w==, tarball: file:projects/calling-component-bindings.tgz} + resolution: {integrity: sha512-9V000/5AerQJelu6HbFZC0BZbzqivoUwDjidW00WbXQiLExVKRBQHtRxbC/hTnjYzCAead3V2bF34ImxGHgy8A==, tarball: file:projects/calling-component-bindings.tgz} name: '@rush-temp/calling-component-bindings' version: 0.0.0 dependencies: @@ -23341,7 +23341,7 @@ packages: dev: false file:projects/calling-stateful-client.tgz: - resolution: {integrity: sha512-GcbarSj04jAAvJHMsprSNk1rGE/I6in0DvqaZDxWBD4TTa7ffRefU2EYv5xZSdQoCI4LIMzJYq5cvLJOagULIg==, tarball: file:projects/calling-stateful-client.tgz} + resolution: {integrity: sha512-gqUnadQPQy8WvJr1uhSQmQz4fZZUHBtdVPr4X92DTf9LtxmLQWQg6d88bhWSlR47wWdp93pAM5XqGJZbIYYR+w==, tarball: file:projects/calling-stateful-client.tgz} name: '@rush-temp/calling-stateful-client' version: 0.0.0 dependencies: @@ -23390,7 +23390,7 @@ packages: dev: false file:projects/calling.tgz: - resolution: {integrity: sha512-BlPohbxoEnnAPj4sx2677ZXIfsSrU6M0j+0NVas0bxYfwrJLmLZcsoifZjSpijwG1LRY3czuFAUJgiZUt00i2A==, tarball: file:projects/calling.tgz} + resolution: {integrity: sha512-S4nVTeBpt0aGj2EcD9aIxqPoiSYD17GVYAsDNf4JG6J3CbvWEAphC/KsDjc/lrOF/0b7J5Oq8ELcWTddSW7Sew==, tarball: file:projects/calling.tgz} name: '@rush-temp/calling' version: 0.0.0 dependencies: @@ -23485,7 +23485,7 @@ packages: dev: false file:projects/callingstateful.tgz: - resolution: {integrity: sha512-ytzphojhPz7PXcagN5uLeffnSuY0O00GcKFQc0vcK8Jh8aPvItTqTUv877w3vN7b6X5by2L7oyzKSQ1YZbOyKQ==, tarball: file:projects/callingstateful.tgz} + resolution: {integrity: sha512-sD/wT+xfuu/PwJbW15nAk4AF0by/6BS3uh7vlJe6jasnVZc02pQygbEdSvz1Jg6TzqqlOUod8cgsW3Wnd75pDQ==, tarball: file:projects/callingstateful.tgz} name: '@rush-temp/callingstateful' version: 0.0.0 dependencies: @@ -23580,7 +23580,7 @@ packages: dev: false file:projects/callwithchat.tgz: - resolution: {integrity: sha512-YNozY5DF0i9ViIWNPrbUSjjdc56a2w3gfzYmLAxcQgnCjLQeZMwDgpyoUWUf/jCOLTYUWWRiCbzithOFSMa/8w==, tarball: file:projects/callwithchat.tgz} + resolution: {integrity: sha512-/FjlhHJJrtYDH22tt1/tnvnK+OaJJhiJs9bYC6tnKGnHutBPsmvqJVGHkjY77GfxGiJzt7zSoixGZqRzSlTjtA==, tarball: file:projects/callwithchat.tgz} name: '@rush-temp/callwithchat' version: 0.0.0 dependencies: @@ -23901,7 +23901,7 @@ packages: dev: false file:projects/communication-react.tgz: - resolution: {integrity: sha512-CgOKa0/ZT3/SmjZsJUd9oJRrWcMXaFkoXw95RKStP4r0xE26DoYDsARYRi368w/hhb4PtWfMyyt8WdnvZonWiQ==, tarball: file:projects/communication-react.tgz} + resolution: {integrity: sha512-TB7GFbn+rpQGgM+d0thuja1hVvo/0+OdLQ63RGAmQjiL8+OOL4Zt9DxnA8naikljvLBaIig/Wa943Ocl7XvWaQ==, tarball: file:projects/communication-react.tgz} name: '@rush-temp/communication-react' version: 0.0.0 dependencies: @@ -24007,7 +24007,7 @@ packages: dev: false file:projects/component-examples.tgz: - resolution: {integrity: sha512-tF4PxzaCAQYhUgLwoq0FJWS4ryaXkzXGXzEPrmsTis1KQGRlW/rGQ5/pwccFIuNUOSY5qLahMWc0AkMJZ74pCA==, tarball: file:projects/component-examples.tgz} + resolution: {integrity: sha512-khxEG5nq0EP+Ctk6YK49PY2hQYr9JXNFU8YB5LNYe3XuxUmn9GehH18iX7mUgDBaQh3W/XmOIVMEooukHCaH3g==, tarball: file:projects/component-examples.tgz} name: '@rush-temp/component-examples' version: 0.0.0 dependencies: @@ -24277,7 +24277,7 @@ packages: dev: false file:projects/react-composites.tgz: - resolution: {integrity: sha512-buS+ebIpmnfW5+K6dOBI2pHfUeJk/cX25gbCkAWrvC2ziDRONFUDOoDTD9ShNQ5OF3go7gM0ZfDpFJK7PkD/oA==, tarball: file:projects/react-composites.tgz} + resolution: {integrity: sha512-a0Ap8NRw/wDmo4GgWtp+VQPhW82TAXfM+wpdBJ+d3oLMQ1tai7UADWuXlCv6Yc8uby2TS5mbqyxgPgzJpR1WJg==, tarball: file:projects/react-composites.tgz} name: '@rush-temp/react-composites' version: 0.0.0 dependencies: @@ -24397,7 +24397,7 @@ packages: dev: false file:projects/sample-automation-tests.tgz: - resolution: {integrity: sha512-RWMgkZCfwGQIYYXzYae8XN2bHANtrqlkQUrjsJf4AyLlziRy0PV9KH3iRJcZGlndIPj+ZPSpwk0yCxjnuwtCZg==, tarball: file:projects/sample-automation-tests.tgz} + resolution: {integrity: sha512-xVIoN0C2O55xi1Q++GeYW2fgZMGsg1HmF+W/aJn9hPlTo9+++KItT5FsvLbvHFsmWgsyDmUouRDloKhR43SPvQ==, tarball: file:projects/sample-automation-tests.tgz} name: '@rush-temp/sample-automation-tests' version: 0.0.0 dependencies: @@ -24421,7 +24421,7 @@ packages: dev: false file:projects/sample-static-html-composites.tgz: - resolution: {integrity: sha512-5uleqr+Z6e8NsOQrjPdngu4CTDBd9abCGyMv8sU5AFp5gNwqB5KhV7O2m6Y9BtQtIDrI515U37KB88W55Dp6AQ==, tarball: file:projects/sample-static-html-composites.tgz} + resolution: {integrity: sha512-ypcL7PLARv7OhHpqUPqwdDpCnPdhBZkTfWj+J1gZYpV7zVxuJ+13LYoyxgRNXS0K03bxAj1+ZwpAfDing7VRpQ==, tarball: file:projects/sample-static-html-composites.tgz} name: '@rush-temp/sample-static-html-composites' version: 0.0.0 dependencies: @@ -24563,7 +24563,7 @@ packages: dev: false file:projects/storybook.tgz: - resolution: {integrity: sha512-cO22/N9bTBU+GPAJHPdwGcqkQ8NUzzOu5jvH0DLnj0j9TGjgSeoYnCcbd2Lospa3JruU4txGoUnza4fGeN6prQ==, tarball: file:projects/storybook.tgz} + resolution: {integrity: sha512-Bs85HZXQRY9v7m1bYwtguQBI5WyiKCqKHRv+nyaOKGoiiYpU1uXyn6dlWzXAsfmtcPJU3KAIe9IcvpX7WEVErw==, tarball: file:projects/storybook.tgz} name: '@rush-temp/storybook' version: 0.0.0 dependencies: @@ -24704,7 +24704,7 @@ packages: dev: false file:projects/storybook8.tgz: - resolution: {integrity: sha512-r62SOlyUmuOfYXc0e0BtlZQBQvwT2pChl+HK4o/JY3j14p1IwR9efTww8eF/Vqg37YY4nYvMHRRe9lKnMtiRuQ==, tarball: file:projects/storybook8.tgz} + resolution: {integrity: sha512-YXT67mEfcd+GHUFUSrzwehVyArWB5v5/NrmYXZRth8gE7WyZknDD0+yx7mpgx/PtPcMtEKPtD0iGiD6GwvQC1g==, tarball: file:projects/storybook8.tgz} name: '@rush-temp/storybook8' version: 0.0.0 dependencies: diff --git a/packages/react-composites/.eslintrc.js b/packages/react-composites/.eslintrc.js index 20eb52d8e0e..2f0eb8fd49a 100644 --- a/packages/react-composites/.eslintrc.js +++ b/packages/react-composites/.eslintrc.js @@ -24,7 +24,7 @@ module.exports = { sourceType: 'module' }, rules: { - '@internal/custom-rules/no-getstate': 'off', // TODO: CHANGE TO ERROR ONCE INSTANCES ARE FIXED + '@internal/custom-rules/no-getstate': 'error', '@typescript-eslint/explicit-function-return-type': [ 'warn', { @@ -109,7 +109,15 @@ module.exports = { } }, { - files: ['*.test.ts', 'AzureCommunicationCallAdapter.ts'], + files: [ + 'tests/**/*', + '*.test.ts', + 'AzureCommunicationCallAdapter.ts', + 'AzureCommunicationCallWithChatAdapter.ts', + 'AzureCommunicationChatAdapter.ts', + 'useAdaptedSelector.ts', + 'useHandlers.ts' + ], rules: { '@internal/custom-rules/no-getstate': 'off' } diff --git a/packages/react-composites/src/composites/CallComposite/CallComposite.tsx b/packages/react-composites/src/composites/CallComposite/CallComposite.tsx index 8104eb4efcb..17f527f4863 100644 --- a/packages/react-composites/src/composites/CallComposite/CallComposite.tsx +++ b/packages/react-composites/src/composites/CallComposite/CallComposite.tsx @@ -23,7 +23,9 @@ import { CallPage } from './pages/CallPage'; import { ConfigurationPage } from './pages/ConfigurationPage'; import { NoticePage } from './pages/NoticePage'; import { useSelector } from './hooks/useSelector'; -import { getEndedCall, getPage, getTargetCallees } from './selectors/baseSelectors'; +import { getAlternateCallerId, getEndedCall, getPage, getRole, getTargetCallees } from './selectors/baseSelectors'; +/* @conditional-compile-remove(unsupported-browser) */ +import { getEnvironmentInfo } from './selectors/baseSelectors'; import { LobbyPage } from './pages/LobbyPage'; import { TransferPage } from './pages/TransferPage'; import { @@ -362,11 +364,11 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { const hasCameras = camerasCount > 0; const hasMicrophones = microphonesCount > 0; + const role = useSelector(getRole); + useEffect(() => { (async () => { - const constrain = getQueryOptions({ - role: adapter.getState().call?.role - }); + const constrain = getQueryOptions({ role }); /* @conditional-compile-remove(call-readiness) */ { constrain.audio = props.options?.deviceChecks?.microphone === 'doNotPrompt' ? false : constrain.audio; @@ -379,6 +381,7 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { })(); }, [ adapter, + role, /* @conditional-compile-remove(call-readiness) */ props.options?.deviceChecks, // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call @@ -527,7 +530,7 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { const callees = useSelector(getTargetCallees) as StartCallIdentifier[]; const locale = useLocale(); const palette = useTheme().palette; - const alternateCallerId = adapter.getState().alternateCallerId; + const alternateCallerId = useSelector(getAlternateCallerId); const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]); let pageElement: JSX.Element | undefined; const [pinnedParticipants, setPinnedParticipants] = useState([]); @@ -731,6 +734,9 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { useEndedCallConsoleErrors(endedCall); + /* @conditional-compile-remove(unsupported-browser) */ + const environmentInfo = useSelector(getEnvironmentInfo); + /* @conditional-compile-remove(unsupported-browser) */ switch (page) { case 'unsupportedEnvironment': @@ -740,7 +746,7 @@ const MainScreen = (props: MainScreenProps): JSX.Element => { /* @conditional-compile-remove(unsupported-browser) */ } diff --git a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx index 0b62426811f..64cc383e26b 100644 --- a/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/CallArrangement.tsx @@ -45,7 +45,14 @@ import { useSelector } from '../hooks/useSelector'; import { callStatusSelector } from '../selectors/callStatusSelector'; import { CallControlOptions } from '../types/CallControlOptions'; import { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer'; -import { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors'; +import { + getCapabilites, + getIsTeamsMeeting, + getReactionResources, + getRemoteParticipants, + getRole, + getVideoEffectsDependency +} from '../selectors/baseSelectors'; import { getPage } from '../selectors/baseSelectors'; import { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors'; import { drawerContainerStyles } from '../styles/CallComposite.styles'; @@ -210,7 +217,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { ); const locale = useLocale(); - const role = adapter.getState().call?.role; + const role = useSelector(getRole); const videoGalleryProps = usePropsFor(VideoGallery); /* @conditional-compile-remove(soft-mute) */ const muteAllHandlers = useHandlers(MoreDrawer); @@ -294,8 +301,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { setPromptProps ); - const canRemoveSpotlight = - adapter.getState().call?.capabilitiesFeature?.capabilities.removeParticipantsSpotlight.isPresent; + const canRemoveSpotlight = useSelector(getCapabilites)?.removeParticipantsSpotlight.isPresent; const stopAllSpotlight = useMemo( () => (canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined), [canRemoveSpotlight, adapter] @@ -393,7 +399,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { }; }, [isMobileWithActivePane, props.mobileView]); - const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency; + const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency); const { openVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane( props.updateSidePaneRenderer, @@ -495,6 +501,8 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { ? (latestNotifications ?? []).filter((notification) => notification.type !== 'assignedBreakoutRoomOpenedPromptJoin') : latestNotifications; + const reactionResources = useSelector(getReactionResources); + return (
@@ -573,7 +581,7 @@ export const CallArrangement = (props: CallArrangementProps): JSX.Element => { userSetGalleryLayout={props.userSetGalleryLayout} onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} - reactionResources={adapter.getState().reactions} + reactionResources={reactionResources} onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked} /> diff --git a/packages/react-composites/src/composites/CallComposite/components/CallControls.tsx b/packages/react-composites/src/composites/CallComposite/components/CallControls.tsx index 93d883e39f4..6dd1d397658 100644 --- a/packages/react-composites/src/composites/CallComposite/components/CallControls.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/CallControls.tsx @@ -23,10 +23,10 @@ import { useLocale } from '../../localization'; import { MoreButton } from '../../common/MoreButton'; import { usePropsFor } from '../hooks/usePropsFor'; import { buttonFlyoutIncreasedSizeStyles } from '../styles/Buttons.styles'; +/* @conditional-compile-remove(DNS) */ import { useAdapter } from '../adapter/CallAdapterProvider'; import { isDisabled } from '../utils'; import { callControlsContainerStyles } from '../styles/CallPage.styles'; -import { CommonCallAdapter } from '../adapter'; import { RaiseHand } from './buttons/RaiseHand'; import { RaiseHandButton, RaiseHandButtonProps } from '@internal/react-components'; import { _generateDefaultDeviceMenuProps } from '@internal/react-components'; @@ -42,6 +42,15 @@ import { capabilitySelector } from '../../CallComposite/selectors/capabilitySele import { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector'; /* @conditional-compile-remove(DNS) */ import { _isSafari } from '../../CallComposite/utils'; +import { getIsRoomsCall, getReactionResources, getRole } from '../selectors/baseSelectors'; +/* @conditional-compile-remove(calling-environment-info) */ +import { getEnvironmentInfo } from '../selectors/baseSelectors'; +/* @conditional-compile-remove(DNS) */ +import { + getDeepNoiseSuppresionEffectsDependency, + getDeepNoiseSuppresionIsOnByDefault, + getHideDeepNoiseSupressionButton +} from '../selectors/baseSelectors'; /** * @private @@ -89,41 +98,43 @@ export const CallControls = (props: CallControlsProps & ContainerRectProps): JSX [props.isMobile, props.options] ); - const adapter = useAdapter(); - const localeStrings = useLocale(); /* @conditional-compile-remove(DNS) */ const [isDeepNoiseSuppressionOn, setDeepNoiseSuppressionOn] = useState(false); + /* @conditional-compile-remove(DNS) */ + const adapter = useAdapter(); /* @conditional-compile-remove(DNS) */ const startDeepNoiseSuppression = useCallback(async () => { await adapter.startNoiseSuppressionEffect(); }, [adapter]); + /* @conditional-compile-remove(DNS) */ + const deepNoiseSuppresionEffectsDependency = useSelector(getDeepNoiseSuppresionEffectsDependency); + /* @conditional-compile-remove(DNS) */ + const deepNoiseSuppressionOnByDefault = useSelector(getDeepNoiseSuppresionIsOnByDefault); /* @conditional-compile-remove(DNS) */ useEffect(() => { - if ( - adapter.getState().onResolveDeepNoiseSuppressionDependency && - adapter.getState().deepNoiseSuppressionOnByDefault - ) { + if (deepNoiseSuppresionEffectsDependency && deepNoiseSuppressionOnByDefault) { startDeepNoiseSuppression(); setDeepNoiseSuppressionOn(true); } - }, [adapter, startDeepNoiseSuppression]); + }, [deepNoiseSuppresionEffectsDependency, deepNoiseSuppressionOnByDefault, startDeepNoiseSuppression]); /* @conditional-compile-remove(DNS) */ - const environmentInfo = adapter.getState().environmentInfo; + const environmentInfo = useSelector(getEnvironmentInfo); /* @conditional-compile-remove(DNS) */ const isSafari = _isSafari(environmentInfo); /* @conditional-compile-remove(DNS) */ - const showNoiseSuppressionButton = - adapter.getState().onResolveDeepNoiseSuppressionDependency && - !adapter.getState().hideDeepNoiseSuppressionButton && + const hideDeepNoiseSuppressionButton = useSelector(getHideDeepNoiseSupressionButton); + /* @conditional-compile-remove(DNS) */ + const showNoiseSuppressionButton = !!( + deepNoiseSuppresionEffectsDependency && + !hideDeepNoiseSuppressionButton && !isSafari - ? true - : false; + ); /* @conditional-compile-remove(DNS) */ const onClickNoiseSuppression = useCallback(async () => { @@ -197,6 +208,8 @@ export const CallControls = (props: CallControlsProps & ContainerRectProps): JSX numberOfButtons++; } + const isRoomsCall = useSelector(getIsRoomsCall); + const moreButtonContextualMenuItems = (): IContextualMenuItem[] => { const items: IContextualMenuItem[] = []; @@ -218,7 +231,7 @@ export const CallControls = (props: CallControlsProps & ContainerRectProps): JSX }); } - if (!isRoomsCallTrampoline(adapter)) { + if (!isRoomsCall) { items.push({ key: 'holdButtonKey', text: localeStrings.component.strings.holdButton.tooltipOffContent, @@ -267,12 +280,11 @@ export const CallControls = (props: CallControlsProps & ContainerRectProps): JSX showMoreButton = isEnabled(options?.moreButton); } - const reactionResources = adapter.getState().reactions; + const reactionResources = useSelector(getReactionResources); const raiseHandButtonIsEnabled = isEnabled(options?.raiseHandButton); let showRaiseHandButtonInControlBar = raiseHandButtonIsEnabled; - const role = adapter.getState().call?.role; - const hideRaiseHandButtonInRoomsCall = - adapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role); + const role = useSelector(getRole); + const hideRaiseHandButtonInRoomsCall = isRoomsCall && role && ['Consumer', 'Unknown'].includes(role); if (showRaiseHandButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) { numberOfButtons++; } else { @@ -470,8 +482,3 @@ export const CallControls = (props: CallControlsProps & ContainerRectProps): JSX }; const isEnabled = (option: unknown): boolean => option !== false; - -/** @private */ -export const isRoomsCallTrampoline = (adapter: CommonCallAdapter): boolean => { - return adapter.getState().isRoomsCall; -}; diff --git a/packages/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx b/packages/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx index 6cf239f69fe..b3050e13a44 100644 --- a/packages/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx @@ -26,6 +26,10 @@ import { useHandlers } from '../hooks/useHandlers'; import { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles'; import { effectsButtonStyles } from '../styles/CallConfiguration.styles'; +import { useSelector } from '../hooks/useSelector'; +import { getRole, getVideoEffectsDependency } from '../selectors/baseSelectors'; +/* @conditional-compile-remove(calling-environment-info) */ +import { getEnvironmentInfo } from '../selectors/baseSelectors'; type iconType = 'Camera' | 'Microphone' | 'Speaker'; @@ -103,14 +107,14 @@ export const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element const locale = useLocale(); const adapter = useAdapter(); - const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency; + const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency); const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder; const cameraLabel = locale.strings.call.cameraLabel; const soundLabel = locale.strings.call.soundLabel; const noSpeakersLabel = locale.strings.call.noSpeakersLabel; const noCameraLabel = locale.strings.call.noCamerasLabel; const noMicLabel = locale.strings.call.noMicrophonesLabel; - const role = adapter.getState().call?.role; + const role = useSelector(getRole); const cameraPermissionGranted = props.cameraPermissionGranted; const micPermissionGranted = props.microphonePermissionGranted; @@ -137,9 +141,9 @@ export const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element const hasCameras = props.cameras.length > 0; const hasMicrophones = props.microphones.length > 0; const hasSpeakers = props.speakers.length > 0; - /* @conditional-compile-remove(unsupported-browser) */ + /* @conditional-compile-remove(calling-environment-info) */ const isSafariWithNoSpeakers = - adapter.getState().environmentInfo?.environment.browser.toLowerCase() === 'safari' && !hasSpeakers; + useSelector(getEnvironmentInfo)?.environment.browser.toLowerCase() === 'safari' && !hasSpeakers; const cameraGrantedDropdown = ( { - /* @conditional-compile-remove(unsupported-browser) */ + /* @conditional-compile-remove(calling-environment-info) */ if (isSafariWithNoSpeakers) { return <>; } diff --git a/packages/react-composites/src/composites/CallComposite/components/MediaGallery.tsx b/packages/react-composites/src/composites/CallComposite/components/MediaGallery.tsx index 08f7a7b6f9f..2d8fbcdc50d 100644 --- a/packages/react-composites/src/composites/CallComposite/components/MediaGallery.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/MediaGallery.tsx @@ -24,10 +24,10 @@ import { _formatString } from '@internal/acs-ui-common'; import { useParticipantChangedAnnouncement } from '../utils/MediaGalleryUtils'; import { RemoteVideoTileMenuOptions } from '../CallComposite'; import { LocalVideoTileOptions } from '../CallComposite'; -import { useAdapter } from '../adapter/CallAdapterProvider'; import { PromptProps } from './Prompt'; import { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt } from '../utils/spotlightUtils'; import { VideoTilesOptions } from '@internal/react-components'; +import { getIsRoomsCall, getReactionResources, getRole } from '../selectors/baseSelectors'; const VideoGalleryStyles = { root: { @@ -90,15 +90,14 @@ export const MediaGallery = (props: MediaGalleryProps): JSX.Element => { const cameraSwitcherCallback = useHandlers(LocalVideoCameraCycleButton); const announcerString = useParticipantChangedAnnouncement(); - const adapter = useAdapter(); - const userRole = adapter.getState().call?.role; - const isRoomsCall = adapter.getState().isRoomsCall; + const userRole = useSelector(getRole); + const isRoomsCall = useSelector(getIsRoomsCall); const containerRef = useRef(null); const containerWidth = _useContainerWidth(containerRef); const containerHeight = _useContainerHeight(containerRef); const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0; - const reactionResources = adapter.getState().reactions; + const reactionResources = useSelector(getReactionResources); const layoutBasedOnTilePosition: VideoGalleryLayout = getVideoGalleryLayoutBasedOnLocalOptions( (props.localVideoTileOptions as LocalVideoTileOptions)?.position diff --git a/packages/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.tsx b/packages/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.tsx index a055643b0d6..6a91be7ec6a 100644 --- a/packages/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.tsx @@ -9,11 +9,11 @@ import { useLocale } from '../../../localization'; import { ParticipantMenuItemsCallback, _DrawerMenuItemProps } from '@internal/react-components'; import { AvatarPersonaDataCallback } from '../../../common/AvatarPersona'; import { IButton, IContextualMenuProps, IContextualMenuItem } from '@fluentui/react'; +import { useSelector } from '../../hooks/useSelector'; +import { getAlternateCallerId, getRole } from '../../selectors/baseSelectors'; /* @conditional-compile-remove(soft-mute) */ import { getRemoteParticipants } from '../../selectors/baseSelectors'; /* @conditional-compile-remove(soft-mute) */ -import { useSelector } from '../../hooks/useSelector'; -/* @conditional-compile-remove(soft-mute) */ import { Prompt } from '../Prompt'; const PEOPLE_SIDE_PANE_ID = 'people'; @@ -322,6 +322,9 @@ export const usePeoplePane = (props: { ] ); + const role = useSelector(getRole); + const alternateCallerId = useSelector(getAlternateCallerId); + const onRenderContent = useCallback((): JSX.Element => { return ( <> @@ -344,6 +347,8 @@ export const usePeoplePane = (props: { setParticipantActioned={setParticipantActioned} participantListHeadingMoreButtonProps={sidePaneHeaderMenuProps} pinnedParticipants={pinnedParticipants} + role={role} + alternateCallerId={alternateCallerId} /> ); @@ -356,6 +361,8 @@ export const usePeoplePane = (props: { setParticipantActioned, sidePaneHeaderMenuProps, pinnedParticipants, + role, + alternateCallerId, /* @conditional-compile-remove(soft-mute) */ showMuteAllPrompt, /* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt, /* @conditional-compile-remove(soft-mute) */ muteAllPromptLabels, diff --git a/packages/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.tsx b/packages/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.tsx index edae767fd65..927659683c2 100644 --- a/packages/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.tsx @@ -9,6 +9,8 @@ import { useLocale } from '../../../localization'; import { VideoEffectsPaneContent } from '../../../common/VideoEffectsPane'; import { ActiveErrorMessage } from '@internal/react-components'; import { IButton } from '@fluentui/react'; +import { useSelector } from '../../hooks/useSelector'; +import { getVideoBackgroundImages } from '../../selectors/baseSelectors'; /** @private */ export const VIDEO_EFFECTS_SIDE_PANE_ID = 'videoeffects'; @@ -54,6 +56,8 @@ export const useVideoEffectsPane = ( const latestVideoEffectError = latestErrors.find((error) => error.type === 'unableToStartVideoEffect'); const updateFocusHandle = useMemo(() => createRef<{ focus: () => void }>(), []); + const backgroundImages = useSelector(getVideoBackgroundImages); + const onRenderContent = useCallback((): JSX.Element => { return ( ); - }, [latestVideoEffectError, onDismissError, updateFocusHandle]); + }, [latestVideoEffectError, onDismissError, updateFocusHandle, backgroundImages]); const sidePaneRenderer: SidePaneRenderer = useMemo( () => ({ diff --git a/packages/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx b/packages/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx index 021c10d6404..639565ce4ae 100644 --- a/packages/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx @@ -8,8 +8,9 @@ import React, { useMemo } from 'react'; import { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions'; import { usePropsFor } from '../../hooks/usePropsFor'; import { concatButtonBaseStyles } from '../../styles/Buttons.styles'; -import { useAdapter } from '../../adapter/CallAdapterProvider'; import { IButton } from '@fluentui/react'; +import { useSelector } from '../../hooks/useSelector'; +import { getCapabilites, getIsRoomsCall, getRole } from '../../selectors/baseSelectors'; /** * @private @@ -26,10 +27,10 @@ export const Camera = (props: { }): JSX.Element => { const cameraButtonProps = usePropsFor(CameraButton); const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]); - const adapter = useAdapter(); - const isRoomsCall = adapter.getState().isRoomsCall; + const isRoomsCall = useSelector(getIsRoomsCall); + const role = useSelector(getRole); - const turnVideoOnCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.turnVideoOn; + const turnVideoOnCapability = useSelector(getCapabilites)?.turnVideoOn; return ( <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonCameraProhibited'} /> diff --git a/packages/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx b/packages/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx index 9bd449a086f..c26493dc13e 100644 --- a/packages/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx @@ -9,8 +9,9 @@ import { concatButtonBaseStyles, devicesButtonWithIncreasedTouchTargets } from ' import { CompositeLocale, useLocale } from '../../../localization'; import { _HighContrastAwareIcon } from '@internal/react-components'; import { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions'; -import { useAdapter } from '../../adapter/CallAdapterProvider'; import { ParticipantRole } from '@azure/communication-calling'; +import { useSelector } from '../../hooks/useSelector'; +import { getRole } from '../../selectors/baseSelectors'; /** @private */ export const Devices = (props: { @@ -20,8 +21,7 @@ export const Devices = (props: { disabled?: boolean; }): JSX.Element => { const devicesButtonProps = usePropsFor(DevicesButton); - const adapter = useAdapter(); - const role: ParticipantRole = adapter.getState().call?.role ?? 'Unknown'; + const role: ParticipantRole = useSelector(getRole) ?? 'Unknown'; const augmentedDeviceButtonProps = useMemo( () => ({ diff --git a/packages/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx b/packages/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx index b4d1c2057a6..021f9516d90 100644 --- a/packages/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx @@ -9,9 +9,14 @@ import React, { useMemo } from 'react'; import { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions'; import { usePropsFor } from '../../hooks/usePropsFor'; import { useSelector } from '../../hooks/useSelector'; -import { getCallStatus, getLocalMicrophoneEnabled } from '../../selectors/baseSelectors'; +import { + getCallStatus, + getCapabilites, + getIsRoomsCall, + getLocalMicrophoneEnabled, + getRole +} from '../../selectors/baseSelectors'; import { concatButtonBaseStyles } from '../../styles/Buttons.styles'; -import { useAdapter } from '../../adapter/CallAdapterProvider'; /** * @private @@ -32,10 +37,9 @@ export const Microphone = (props: { const microphoneButtonProps = usePropsFor(MicrophoneButton); const callStatus = useSelector(getCallStatus); const isLocalMicrophoneEnabled = useSelector(getLocalMicrophoneEnabled); - const adapter = useAdapter(); - const isRoomsCall = adapter.getState().isRoomsCall; - - const unmuteMicCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.unmuteMic; + const isRoomsCall = useSelector(getIsRoomsCall); + const role = useSelector(getRole); + const unmuteMicCapability = useSelector(getCapabilites)?.unmuteMic; /** * When call is in connecting state, microphone button should be disabled. @@ -62,9 +66,7 @@ export const Microphone = (props: { disableTooltip={props.disableTooltip} styles={styles} enableDeviceSelectionMenu={props.splitButtonsForDeviceSelection} - disabled={ - microphoneButtonProps.disabled || props.disabled || (isRoomsCall && adapter.getState().call?.role === 'Unknown') - } + disabled={microphoneButtonProps.disabled || props.disabled || !!(isRoomsCall && role === 'Unknown')} onRenderOffIcon={ unmuteMicCapability && !unmuteMicCapability.isPresent ? () => <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonMicProhibited'} /> diff --git a/packages/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx b/packages/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx index e76afe7c915..e62a6099f08 100644 --- a/packages/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx +++ b/packages/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx @@ -6,7 +6,8 @@ import React, { useMemo } from 'react'; import { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions'; import { usePropsFor } from '../../hooks/usePropsFor'; import { concatButtonBaseStyles } from '../../styles/Buttons.styles'; -import { useAdapter } from '../../adapter/CallAdapterProvider'; +import { getIsRoomsCall, getRole } from '../../selectors/baseSelectors'; +import { useSelector } from '../../hooks/useSelector'; /** @private */ export const ScreenShare = (props: { @@ -18,8 +19,8 @@ export const ScreenShare = (props: { }): JSX.Element => { const screenShareButtonProps = usePropsFor(ScreenShareButton); const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]); - const adapter = useAdapter(); - const isRoomsCall = adapter.getState().isRoomsCall; + const isRoomsCall = useSelector(getIsRoomsCall); + const role = useSelector(getRole); const screenShareButtonDisabled = (): boolean => { return screenShareButtonProps?.disabled ?? isDisabled(props.option); @@ -31,9 +32,7 @@ export const ScreenShare = (props: { data-ui-id="call-composite-screenshare-button" {...screenShareButtonProps} showLabel={props.displayType !== 'compact'} - disabled={ - screenShareButtonDisabled() || props.disabled || (isRoomsCall && adapter.getState().call?.role === 'Unknown') - } + disabled={screenShareButtonDisabled() || props.disabled || !!(isRoomsCall && role === 'Unknown')} styles={styles} /> ); diff --git a/packages/react-composites/src/composites/CallComposite/hooks/useHandlers.ts b/packages/react-composites/src/composites/CallComposite/hooks/useHandlers.ts index 3408557882b..878a6af325a 100644 --- a/packages/react-composites/src/composites/CallComposite/hooks/useHandlers.ts +++ b/packages/react-composites/src/composites/CallComposite/hooks/useHandlers.ts @@ -27,6 +27,8 @@ import { PhoneNumberIdentifier } from '@azure/communication-common'; import { _toCommunicationIdentifier } from '@internal/acs-ui-common'; +import { useSelector } from './useSelector'; +import { getCapabilites } from '../selectors/baseSelectors'; type AdapterCommonCallingHandlers = Omit; @@ -40,7 +42,7 @@ export const useHandlers = ( ): Pick> & Partial<_ComponentCallingHandlers> => { const adapter = useAdapter(); - const capabilities = adapter.getState().call?.capabilitiesFeature?.capabilities; + const capabilities = useSelector(getCapabilites); return createCompositeHandlers(adapter, capabilities); }; diff --git a/packages/react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx b/packages/react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx index c200c872cdb..7fad4b19b20 100644 --- a/packages/react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx +++ b/packages/react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx @@ -41,7 +41,6 @@ import { import { useLocale } from '../../localization'; import { bannerNotificationStyles } from '../styles/CallPage.styles'; import { usePropsFor } from '../hooks/usePropsFor'; -import { useAdapter } from '../adapter/CallAdapterProvider'; /* @conditional-compile-remove(call-readiness) */ import { DeviceCheckOptions } from '../CallComposite'; import { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorBar'; @@ -61,6 +60,11 @@ import { localVideoSelector } from '../../CallComposite/selectors/localVideoStre import { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar'; import { SvgWithWordWrapping } from '../components/SvgWithWordWrapping'; import { EnvironmentInfo } from '@azure/communication-calling'; +import { getMicrophones, getRole } from '../selectors/baseSelectors'; +/* @conditional-compile-remove(unsupported-browser) */ +import { getEnvironmentInfo } from '../selectors/baseSelectors'; +/* @conditional-compile-remove(call-readiness) */ +import { getCameras } from '../selectors/baseSelectors'; /** * @private @@ -120,13 +124,12 @@ export const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => getDevicePermissionState(setVideoState, setAudioState); const errorBarProps = usePropsFor(ErrorBar); - const adapter = useAdapter(); - const deviceState = adapter.getState().devices; + const microphones = useSelector(getMicrophones); /* @conditional-compile-remove(unsupported-browser) */ - const environmentInfo = adapter.getState().environmentInfo; + const environmentInfo = useSelector(getEnvironmentInfo); - let disableStartCallButton = !microphonePermissionGranted || deviceState.microphones?.length === 0; - const role = adapter.getState().call?.role; + let disableStartCallButton = !microphonePermissionGranted || microphones?.length === 0; + const role = useSelector(getRole); const isCameraOn = useSelector(localVideoSelector).isAvailable; @@ -149,6 +152,9 @@ export const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => disableStartCallButton = false; } + /* @conditional-compile-remove(call-readiness) */ + const cameras = useSelector(getCameras); + /* @conditional-compile-remove(call-readiness) */ // Overrides role permissions if CallCompositeOptions deviceChecks are set if (deviceChecks) { @@ -158,7 +164,7 @@ export const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => ) { disableStartCallButton = false; } else if (deviceChecks.camera === 'required') { - disableStartCallButton = !cameraPermissionGranted || deviceState.cameras?.length === 0; + disableStartCallButton = !cameraPermissionGranted || cameras?.length === 0; } } diff --git a/packages/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx b/packages/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx index 31bce78efeb..7025c9d3abd 100644 --- a/packages/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx +++ b/packages/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx @@ -7,15 +7,14 @@ import { CallCompositeOptions } from '../CallComposite'; import { SidePaneRenderer } from '../components/SidePane/SidePaneProvider'; import { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar'; import React, { useEffect, useMemo, useState } from 'react'; -import { useAdapter } from '../adapter/CallAdapterProvider'; -import { CommonCallAdapter } from '../adapter'; import { Stack, Text, useTheme } from '@fluentui/react'; import { getReadableTime } from '../utils/timerUtils'; import { DtmfDialpadContentTimerStyles } from '../styles/DtmfDialpadPage.styles'; import { RemoteParticipantState } from '@internal/calling-stateful-client'; import { isPhoneNumberIdentifier } from '@azure/communication-common'; import { useSelector } from '../hooks/useSelector'; -import { getStartTime } from '../selectors/baseSelectors'; +import { getRemoteParticipants, getStartTime, getTargetCallees } from '../selectors/baseSelectors'; +import { useAdapter } from '../adapter/CallAdapterProvider'; /** * @internal @@ -37,17 +36,15 @@ export interface DialpadPageProps { interface DialpadPageContentProps { mobileView: boolean; - adapter: CommonCallAdapter; compositeAudioContext?: AudioContext; } const DtmfDialpadPageContent = (props: DialpadPageContentProps): JSX.Element => { - const { adapter } = props; - const adapterState = adapter.getState(); const theme = useTheme(); + const targetCallees = useSelector(getTargetCallees); + const remoteParticipants = useSelector(getRemoteParticipants); - const calleeId = adapterState.targetCallees?.[0]; - const remoteParticipants = adapterState.call?.remoteParticipants; + const calleeId = targetCallees?.[0]; let calleeName; if (remoteParticipants) { @@ -59,6 +56,7 @@ const DtmfDialpadPageContent = (props: DialpadPageContentProps): JSX.Element => } } + const adapter = useAdapter(); return ( @@ -103,7 +101,5 @@ const DtmfDialerContentTimer = (): JSX.Element => { * @internal */ export const DtmfDialpadPage = (props: DialpadPageProps): JSX.Element => { - const adapter = useAdapter(); - - return ; + return ; }; diff --git a/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts b/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts index 7304e95129c..4626f3f8f6e 100644 --- a/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts +++ b/packages/react-composites/src/composites/CallComposite/selectors/baseSelectors.ts @@ -22,10 +22,17 @@ import { import { CaptionsInfo } from '@internal/calling-stateful-client'; import { ConferencePhoneInfo } from '@internal/calling-stateful-client'; import { SpotlightedParticipant } from '@azure/communication-calling'; -import { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter'; +import { CallAdapterState, CallCompositePage, VideoBackgroundImage } from '../adapter/CallAdapter'; import { VideoBackgroundEffect } from '../adapter/CallAdapter'; -import { _isInCall, _isPreviewOn, _dominantSpeakersWithFlatId } from '@internal/calling-component-bindings'; +import { + _isInCall, + _isPreviewOn, + _dominantSpeakersWithFlatId, + VideoBackgroundEffectsDependency +} from '@internal/calling-component-bindings'; +/* @conditional-compile-remove(DNS) */ +import { DeepNoiseSuppressionEffectDependency } from '@internal/calling-component-bindings'; import { AdapterErrors } from '../../common/adapters'; /* @conditional-compile-remove(breakout-rooms) */ import { AdapterNotifications } from '../../common/adapters'; @@ -33,6 +40,7 @@ import { RaisedHandState } from '@internal/calling-stateful-client'; import { CommunicationIdentifier } from '@azure/communication-common'; /* @conditional-compile-remove(acs-close-captions) */ import { CaptionsKind } from '@azure/communication-calling'; +import { ReactionResources } from '@internal/react-components'; /** * @private @@ -269,3 +277,37 @@ export const getBreakoutRoomDisplayName = (state: CallAdapterState): string | un * @private */ export const getLatestNotifications = (state: CallAdapterState): AdapterNotifications => state.latestNotifications; + +/** @private */ +export const getVideoEffectsDependency = ( + state: CallAdapterState +): (() => Promise) | undefined => state.onResolveVideoEffectDependency; + +/* @conditional-compile-remove(DNS) */ +/** @private */ +export const getDeepNoiseSuppresionEffectsDependency = ( + state: CallAdapterState +): (() => Promise) | undefined => state.onResolveDeepNoiseSuppressionDependency; + +/* @conditional-compile-remove(DNS) */ +/** @private */ +export const getDeepNoiseSuppresionIsOnByDefault = (state: CallAdapterState): boolean | undefined => + state.deepNoiseSuppressionOnByDefault; + +/* @conditional-compile-remove(DNS) */ +/** @private */ +export const getHideDeepNoiseSupressionButton = (state: CallAdapterState): boolean | undefined => + state.hideDeepNoiseSuppressionButton; + +/** @private */ +export const getReactionResources = (state: CallAdapterState): ReactionResources | undefined => state.reactions; + +/** @private */ +export const getAlternateCallerId = (state: CallAdapterState): string | undefined => state.alternateCallerId; + +/** @private */ +export const getIsRoomsCall = (state: CallAdapterState): boolean => state.isRoomsCall; + +/** @private */ +export const getVideoBackgroundImages = (state: CallAdapterState): VideoBackgroundImage[] | undefined => + state.videoBackgroundImages; diff --git a/packages/react-composites/src/composites/ChatComposite/ChatScreen.tsx b/packages/react-composites/src/composites/ChatComposite/ChatScreen.tsx index fc9d454a21e..ab9b5887a13 100644 --- a/packages/react-composites/src/composites/ChatComposite/ChatScreen.tsx +++ b/packages/react-composites/src/composites/ChatComposite/ChatScreen.tsx @@ -53,7 +53,7 @@ import { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar'; import { _AttachmentDownloadCards } from '@internal/react-components'; import { ImageOverlay } from '@internal/react-components'; import { InlineImage } from '@internal/react-components'; -import { ResourceFetchResult } from '@internal/chat-stateful-client'; +import { ChatMessageWithStatus, ResourceFetchResult } from '@internal/chat-stateful-client'; /* @conditional-compile-remove(file-sharing-acs) */ import { AttachmentOptions } from '@internal/react-components'; /* @conditional-compile-remove(file-sharing-acs) */ @@ -77,8 +77,6 @@ import { updateContentStringWithUploadedInlineImages } from './ImageUpload/ImageUploadUtils'; /* @conditional-compile-remove(rich-text-editor-image-upload) */ -import type { ChatAdapterState } from './adapter/ChatAdapter'; -/* @conditional-compile-remove(rich-text-editor-image-upload) */ import { isMicrosoftTeamsUserIdentifier } from '@azure/communication-common'; /* @conditional-compile-remove(rich-text-editor-image-upload) */ import { SEND_BOX_UPLOADS_KEY_VALUE, _DEFAULT_INLINE_IMAGE_FILE_NAME } from '../common/constants'; @@ -86,6 +84,10 @@ import { SEND_BOX_UPLOADS_KEY_VALUE, _DEFAULT_INLINE_IMAGE_FILE_NAME } from '../ import { ImageUploadReducer } from './ImageUpload/ImageUploadReducer'; /* @conditional-compile-remove(rich-text-editor-image-upload) */ import { useLocale } from '../localization'; +import { useSelector } from './hooks/useSelector'; +import { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors'; +/* @conditional-compile-remove(rich-text-editor-image-upload) */ +import { getCreatedBy, getTextOnlyChat } from './selectors/baseSelectors'; /** * @private @@ -151,31 +153,16 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { const localeStrings = useLocale().strings; /* @conditional-compile-remove(rich-text-editor-image-upload) */ - const [textOnlyChat, setTextOnlyChat] = useState(false); + const textOnlyChat = !!useSelector(getTextOnlyChat); /* @conditional-compile-remove(rich-text-editor-image-upload) */ - const [isACSChat, setIsACSChat] = useState(false); + const createdBy = useSelector(getCreatedBy); + /* @conditional-compile-remove(rich-text-editor-image-upload) */ + const isACSChat = createdBy && !isMicrosoftTeamsUserIdentifier(createdBy); /* @conditional-compile-remove(rich-text-editor-image-upload) */ const [editBoxInlineImageUploads, handleEditBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined); /* @conditional-compile-remove(rich-text-editor-image-upload) */ const [sendBoxInlineImageUploads, handleSendBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined); - /* @conditional-compile-remove(rich-text-editor-image-upload) */ - useEffect(() => { - const updateChatState = (newState: ChatAdapterState): void => { - setTextOnlyChat(newState.thread.properties?.messagingPolicy?.textOnlyChat === true); - if (newState.thread.properties?.createdBy) { - setIsACSChat(!isMicrosoftTeamsUserIdentifier(newState.thread.properties?.createdBy)); - } - }; - // set initial state for textOnlyChat and isACSChat - updateChatState(adapter.getState()); - - adapter.onStateChange(updateChatState); - return () => { - adapter.offStateChange(updateChatState); - }; - }, [adapter]); - useEffect(() => { // Initial data should be always fetched by the composite(or external caller) instead of the adapter const fetchData: () => Promise = async () => { @@ -202,28 +189,37 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { const headerProps = useAdaptedSelector(getHeaderProps); const errorBarProps = usePropsFor(ErrorBar); + const overlayImageItemRef = React.useRef(overlayImageItem); + overlayImageItemRef.current = overlayImageItem; + const adapterChatMessages = useSelector(getChatMessages); useEffect(() => { - if (overlayImageItem === undefined) { + if (overlayImageItemRef.current === undefined) { return; } - const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId]; + const message: ChatMessageWithStatus | undefined = adapterChatMessages[overlayImageItemRef.current.messageId]; if (message === undefined) { return; } const resourceCache = message.resourceCache; - if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) { - const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]); - if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) { + if ( + overlayImageItemRef.current.imageSrc === '' && + resourceCache && + resourceCache[overlayImageItemRef.current.imageUrl] + ) { + const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItemRef.current.imageUrl]); + if ( + fullSizeImageSrc === undefined || + fullSizeImageSrc === '' || + overlayImageItemRef.current.imageSrc === fullSizeImageSrc + ) { return; } setOverlayImageItem({ - ...overlayImageItem, + ...overlayImageItemRef.current, imageSrc: fullSizeImageSrc }); } - // Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop. - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [messageThreadProps.messages]); + }, [adapterChatMessages]); const getResourceSourceUrl = (result: ResourceFetchResult): string => { let src = ''; @@ -266,7 +262,8 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { return Object.assign({}, styles?.sendBox); }, [styles?.sendBox]); - const userId = toFlatCommunicationIdentifier(adapter.getState().userId); + const userIdObject = useSelector(getUserId); + const userId = toFlatCommunicationIdentifier(userIdObject); /* @conditional-compile-remove(file-sharing-acs) */ const setKeyboardFocusAfterFileSelection = useCallback(() => { @@ -348,9 +345,10 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { [attachmentOptions?.downloadOptions?.actionsForAttachment] ); + const threadId = useSelector(getThreadId); const onInlineImageClicked = useCallback( (attachmentId: string, messageId: string) => { - const message = adapter.getState().thread.chatMessages[messageId]; + const message: ChatMessageWithStatus | undefined = adapterChatMessages[messageId]; const inlinedImages = message.content?.attachments?.filter((attachment) => { return attachment.attachmentType === 'image' && attachment.id === attachmentId; }); @@ -369,8 +367,8 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { imageSrc = getResourceSourceUrl(resourceCache[attachment.url]); } else { adapter.downloadResourceToCache({ - threadId: adapter.getState().thread.threadId, - messageId: messageId, + threadId, + messageId, resourceUrl: attachment.url }); } @@ -397,12 +395,12 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { setIsImageOverlayOpen(true); setOverlayImageItem(overlayImage); }, - [adapter, onRenderAvatarCallback, userId] + [adapter, adapterChatMessages, onRenderAvatarCallback, userId, threadId] ); const onRenderInlineImage = useCallback( (inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => { - const message = adapter.getState().thread.chatMessages[inlineImage.messageId]; + const message = adapterChatMessages[inlineImage.messageId]; const attachment = message?.content?.attachments?.find( (attachment) => attachment.id === inlineImage.imageAttributes.id ); @@ -439,7 +437,7 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { ); }, - [adapter, onInlineImageClicked] + [adapterChatMessages, onInlineImageClicked] ); const inlineImageOptions = useMemo(() => { @@ -582,7 +580,7 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { /* @conditional-compile-remove(rich-text-editor-composite-support) */ const richTextEditorOptions = useMemo(() => { /* @conditional-compile-remove(rich-text-editor-image-upload) */ - const onPasteCallback = isACSChat || textOnlyChat ? removeImageTags : undefined; + const onPasteCallback = !!isACSChat || textOnlyChat ? removeImageTags : undefined; return options?.richTextEditor ? { /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste: onPasteCallback @@ -756,7 +754,7 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => { setOverlayImageItem(undefined); setIsImageOverlayOpen(false); adapter.removeResourceFromCache({ - threadId: adapter.getState().thread.threadId, + threadId, messageId: overlayImageItem.messageId, resourceUrl: overlayImageItem.imageUrl }); diff --git a/packages/react-composites/src/composites/ChatComposite/selectors/baseSelectors.ts b/packages/react-composites/src/composites/ChatComposite/selectors/baseSelectors.ts index a47597dda72..b6dfc13d10c 100644 --- a/packages/react-composites/src/composites/ChatComposite/selectors/baseSelectors.ts +++ b/packages/react-composites/src/composites/ChatComposite/selectors/baseSelectors.ts @@ -3,8 +3,24 @@ import { CommunicationIdentifierKind } from '@azure/communication-common'; import { ChatAdapterState } from '../adapter/ChatAdapter'; +import { ChatMessageWithStatus } from '@internal/chat-stateful-client'; -/** - * @private - */ +/** @private */ export const getUserId = (state: ChatAdapterState): CommunicationIdentifierKind => state.userId; + +/** @private */ +export const getThreadId = (state: ChatAdapterState): string => state.thread.threadId; + +/** @private */ +export const getChatMessages = (state: ChatAdapterState): { [key: string]: ChatMessageWithStatus } => + state.thread.chatMessages; + +/* @conditional-compile-remove(rich-text-editor-image-upload) */ +/** @private */ +export const getTextOnlyChat = (state: ChatAdapterState): boolean | undefined => + state.thread.properties?.messagingPolicy?.textOnlyChat; + +/* @conditional-compile-remove(rich-text-editor-image-upload) */ +/** @private */ +export const getCreatedBy = (state: ChatAdapterState): CommunicationIdentifierKind | undefined => + state.thread.properties?.createdBy; diff --git a/packages/react-composites/src/composites/common/ModalLocalAndRemotePIP.tsx b/packages/react-composites/src/composites/common/ModalLocalAndRemotePIP.tsx index bf3a424c8aa..aa7f8889865 100644 --- a/packages/react-composites/src/composites/common/ModalLocalAndRemotePIP.tsx +++ b/packages/react-composites/src/composites/common/ModalLocalAndRemotePIP.tsx @@ -15,8 +15,8 @@ import { modalStyle, PIPContainerStyle } from './styles/ModalLocalAndRemotePIP.styles'; -import { useAdapter } from '../CallComposite/adapter/CallAdapterProvider'; import { useLocale } from '../localization'; +import { getRole } from '../CallComposite/selectors/baseSelectors'; /** * Drag options for Modal in {@link ModalLocalAndRemotePIP} component @@ -54,8 +54,7 @@ export const ModalLocalAndRemotePIP = (props: { }): JSX.Element | null => { const rootStyles = props.hidden ? hiddenStyle : PIPContainerStyle; - const adapter = useAdapter(); - const role = adapter.getState().call?.role; + const role = useSelector(getRole); const locale = useLocale(); diff --git a/packages/react-composites/src/composites/common/PeoplePaneContent.tsx b/packages/react-composites/src/composites/common/PeoplePaneContent.tsx index 5f15c239edd..6ecfd16f546 100644 --- a/packages/react-composites/src/composites/common/PeoplePaneContent.tsx +++ b/packages/react-composites/src/composites/common/PeoplePaneContent.tsx @@ -17,11 +17,10 @@ import { ParticipantListWithHeading } from '../common/ParticipantContainer'; import { peoplePaneContainerTokens } from '../common/styles/ParticipantContainer.styles'; import { participantListContainerStyles, peoplePaneContainerStyle } from './styles/PeoplePaneContent.styles'; import { convertContextualMenuItemToDrawerMenuItem } from './ConvertContextualMenuItemToDrawerMenuItem'; -import { CommonCallAdapter } from '../CallComposite'; import { CallCompositeStrings } from '../CallComposite'; import { AddPeopleButton } from './AddPeopleButton'; import { PhoneNumberIdentifier } from '@azure/communication-common'; -import { AddPhoneNumberOptions } from '@azure/communication-calling'; +import { AddPhoneNumberOptions, ParticipantRole } from '@azure/communication-calling'; import { useAdapter } from '../CallComposite/adapter/CallAdapterProvider'; import { useLocale } from '../localization'; @@ -37,6 +36,8 @@ export const PeoplePaneContent = (props: { mobileView?: boolean; participantListHeadingMoreButtonProps?: IContextualMenuProps; pinnedParticipants?: string[]; + role: ParticipantRole | undefined; + alternateCallerId: string | undefined; }): JSX.Element => { const { inviteLink, @@ -70,10 +71,8 @@ export const PeoplePaneContent = (props: { [adapter] ); - const alternateCallerId = adapter.getState().alternateCallerId; - const participantListDefaultProps = usePropsFor(ParticipantList); - const removeButtonAllowed = canRemoveParticipants(adapter); + const removeButtonAllowed = canRemoveParticipants(props.role); const setDrawerMenuItemsForParticipant: (participant?: ParticipantListParticipant) => void = useMemo(() => { return (participant?: ParticipantListParticipant) => { if (participant) { @@ -158,7 +157,7 @@ export const PeoplePaneContent = (props: { participantList={participantList} strings={strings} onAddParticipant={addParticipantToCall} - alternateCallerId={alternateCallerId} + alternateCallerId={props.alternateCallerId} /> ); @@ -171,7 +170,7 @@ export const PeoplePaneContent = (props: { participantList={participantList} strings={strings} onAddParticipant={addParticipantToCall} - alternateCallerId={alternateCallerId} + alternateCallerId={props.alternateCallerId} /> ); }; @@ -210,12 +209,11 @@ const createDefaultContextualMenuItems = ( return menuItems; }; -const canRemoveParticipants = (adapter: CommonCallAdapter): boolean => { +const canRemoveParticipants = (role: ParticipantRole | undefined): boolean => { // TODO: We should be using the removeParticipant capability here but there is an SDK bug for Rooms where a // Presenter's removeParticipant capability is {isPresent: false, reason: 'CapabilityNotApplicableForTheCallType'}. // But a Presenter in Rooms should be able to remove participants according to the following documentation // https://learn.microsoft.com/en-us/azure/communication-services/concepts/rooms/room-concept#predefined-participant-roles-and-permissions - const role = adapter.getState().call?.role; const canRemove = role === 'Presenter' || role === 'Unknown' || role === undefined; return canRemove; }; diff --git a/packages/react-composites/src/composites/common/VideoEffectsPane.tsx b/packages/react-composites/src/composites/common/VideoEffectsPane.tsx index b21ea3da4db..85b9397082d 100644 --- a/packages/react-composites/src/composites/common/VideoEffectsPane.tsx +++ b/packages/react-composites/src/composites/common/VideoEffectsPane.tsx @@ -40,6 +40,7 @@ export const VideoEffectsPaneContent = (props: { updateFocusHandle: React.RefObject<{ focus: () => void; }>; + backgroundImages: VideoBackgroundImage[] | undefined; }): JSX.Element => { const { onDismissError, activeVideoEffectError, activeVideoEffectChange } = props; @@ -74,10 +75,9 @@ export const VideoEffectsPaneContent = (props: { } } ]; - const videoEffectImages = adapter.getState().videoBackgroundImages; - if (videoEffectImages) { - videoEffectImages.forEach((img: VideoBackgroundImage) => { + if (props.backgroundImages) { + props.backgroundImages.forEach((img: VideoBackgroundImage) => { videoEffects.push({ itemKey: img.key, backgroundProps: { @@ -90,7 +90,13 @@ export const VideoEffectsPaneContent = (props: { }); } return videoEffects; - }, [strings, adapter]); + }, [ + strings.removeBackgroundEffectButtonLabel, + strings.removeBackgroundTooltip, + strings.blurBackgroundEffectButtonLabel, + strings.blurBackgroundTooltip, + props.backgroundImages + ]); const onEffectChange = useCallback( async (effectKey: string) => { From 410d3ea937aa990e339e74899f42305048c7696b Mon Sep 17 00:00:00 2001 From: Patrick Latter <73612854+palatter@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:49:56 -0700 Subject: [PATCH 58/58] Enable rich editor by default (#5262) --- samples/CallWithChat/src/app/views/HomeScreen.tsx | 2 +- samples/Chat/src/app/App.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/CallWithChat/src/app/views/HomeScreen.tsx b/samples/CallWithChat/src/app/views/HomeScreen.tsx index 15013869854..14883a8bc22 100644 --- a/samples/CallWithChat/src/app/views/HomeScreen.tsx +++ b/samples/CallWithChat/src/app/views/HomeScreen.tsx @@ -63,7 +63,7 @@ export const HomeScreen = (props: HomeScreenProps): JSX.Element => { ]; /* @conditional-compile-remove(rich-text-editor-composite-support) */ - const [isRichTextEditorEnabled, setIsRichTextEditorEnabled] = useState(false); + const [isRichTextEditorEnabled, setIsRichTextEditorEnabled] = useState(true); // Get display name from local storage if available const defaultDisplayName = localStorageAvailable ? getDisplayNameFromLocalStorage() : null; diff --git a/samples/Chat/src/app/App.tsx b/samples/Chat/src/app/App.tsx index f8520269014..a4882ce8e35 100644 --- a/samples/Chat/src/app/App.tsx +++ b/samples/Chat/src/app/App.tsx @@ -34,7 +34,7 @@ export default (): JSX.Element => { const [threadId, setThreadId] = useState(''); const [endpointUrl, setEndpointUrl] = useState(''); /* @conditional-compile-remove(rich-text-editor-composite-support) */ - const [isRichTextEditorEnabled, setIsRichTextEditorEnabled] = useState(false); + const [isRichTextEditorEnabled, setIsRichTextEditorEnabled] = useState(true); const renderPage = (): JSX.Element => { switch (page) {

dapR`2{^ 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 z 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%0Ae06)T;Lw&USndVcD5Q8!-7Xk5r5O$I8)%m_xP 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%0D-&HT<8y1{FcvHf>YGXPy5?B|+8o6!KjpP24 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 a{O9Lk&|nEgQqtXbomanm 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%0AToXVAt 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≫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 From 5a704d883eafff7dfd06518c692550db2f37e46f Mon Sep 17 00:00:00 2001 From: mgamis-msft <79475487+mgamis-msft@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:04:06 -0700 Subject: [PATCH 43/58] Fix runtime error when starting screenshare alone in a call (#5240) * Fix runtime error when starting screenshare alone in a call * Change files * add unit test --------- Co-authored-by: Donald McEachern <94866715+dmceachernmsft@users.noreply.github.com> --- ...-a33f45ab-78c2-4cc2-bc1d-426376fad0cc.json | 9 +++++ .../src/components/HorizontalGallery.tsx | 2 +- .../src/components/LocalVideoTile.tsx | 1 + .../src/components/VerticalGallery.tsx | 2 +- .../src/components/VideoGallery.test.tsx | 36 +++++++++++++++++++ .../ScrollableHorizontalGallery.tsx | 2 +- 6 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 change/@azure-communication-react-a33f45ab-78c2-4cc2-bc1d-426376fad0cc.json diff --git a/change/@azure-communication-react-a33f45ab-78c2-4cc2-bc1d-426376fad0cc.json b/change/@azure-communication-react-a33f45ab-78c2-4cc2-bc1d-426376fad0cc.json new file mode 100644 index 00000000000..e3dba273231 --- /dev/null +++ b/change/@azure-communication-react-a33f45ab-78c2-4cc2-bc1d-426376fad0cc.json @@ -0,0 +1,9 @@ +{ + "type": "patch", + "area": "fix", + "workstream": "Video tile rendering", + "comment": "Fix runtime error when starting screenshare alone in a call", + "packageName": "@azure/communication-react", + "email": "79475487+mgamis-msft@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/src/components/HorizontalGallery.tsx b/packages/react-components/src/components/HorizontalGallery.tsx index e7f284f7ee4..61acfdfa478 100644 --- a/packages/react-components/src/components/HorizontalGallery.tsx +++ b/packages/react-components/src/components/HorizontalGallery.tsx @@ -68,7 +68,7 @@ export const HorizontalGallery = (props: HorizontalGalleryProps): JSX.Element => useEffect(() => { if (onFetchTilesToRender && indexesArray) { - onFetchTilesToRender(indexesArray[page]); + onFetchTilesToRender(indexesArray[page] ?? []); } }, [indexesArray, onFetchTilesToRender, page]); diff --git a/packages/react-components/src/components/LocalVideoTile.tsx b/packages/react-components/src/components/LocalVideoTile.tsx index 7561f542257..851818c5a2f 100644 --- a/packages/react-components/src/components/LocalVideoTile.tsx +++ b/packages/react-components/src/components/LocalVideoTile.tsx @@ -236,6 +236,7 @@ export const _LocalVideoTile = React.memo( return ( diff --git a/packages/react-components/src/components/VerticalGallery.tsx b/packages/react-components/src/components/VerticalGallery.tsx index 175153a3052..8398a1b2b29 100644 --- a/packages/react-components/src/components/VerticalGallery.tsx +++ b/packages/react-components/src/components/VerticalGallery.tsx @@ -108,7 +108,7 @@ export const VerticalGallery = (props: VerticalGalleryProps): JSX.Element => { useEffect(() => { if (onFetchTilesToRender && indexesArray) { - onFetchTilesToRender(indexesArray[page - 1]); + onFetchTilesToRender(indexesArray[page - 1] ?? []); } }, [indexesArray, onFetchTilesToRender, page]); diff --git a/packages/react-components/src/components/VideoGallery.test.tsx b/packages/react-components/src/components/VideoGallery.test.tsx index 435a47bd3ac..327abb93b8d 100644 --- a/packages/react-components/src/components/VideoGallery.test.tsx +++ b/packages/react-components/src/components/VideoGallery.test.tsx @@ -766,8 +766,44 @@ describe('VideoGallery with vertical overflow gallery tests', () => { }); }); +test.only('should render screenshare component and local user video tile when local user is alone', () => { + const localParticipant = createLocalParticipant({ + videoStream: { isAvailable: true, renderElement: createVideoDivElement() } + }); + + const videoGalleryProps: VideoGalleryProps = { + layout: 'floatingLocalVideo', + localParticipant, + overflowGalleryPosition: 'verticalRight' + }; + const { rerender, container } = render(); + (localParticipant.isScreenSharingOn = true), + (localParticipant.screenShareStream = { + isAvailable: true, + renderElement: createRemoteScreenShareVideoDivElement() + }); + rerender(); + + const videoGalleryTiles = getTiles(container); + // Should have 2 tiles in video gallery: local video tile and local screenshare tile + expect(videoGalleryTiles.length).toBe(2); + expect(getDisplayName(videoGalleryTiles[0])).toBe('You'); + expect(tileIsVideo(videoGalleryTiles[0])).toBe(true); + expect(getDisplayName(videoGalleryTiles[1])).toBe('Local Participant'); + expect(tileIsVideo(videoGalleryTiles[1])).toBe(true); + + const localVideoTile = getLocalVideoTile(container); + if (!localVideoTile) { + throw Error('Local video tile not found'); + } + expect(getDisplayName(localVideoTile)).toBe('You'); + expect(tileIsVideo(localVideoTile)).toBe(true); +}); + const getFloatingLocalVideoModal = (root: Element | null): Element | null => root?.querySelector('[data-ui-id="floating-local-video-host"]') ?? null; +const getLocalVideoTile = (root: Element | null): Element | null => + root?.querySelector('[data-ui-id="local-video-tile"]') ?? null; const getGridLayout = (root: Element | null): Element | null => root?.querySelector('[data-ui-id="grid-layout"]') ?? null; diff --git a/packages/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.tsx b/packages/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.tsx index 455f21c06bf..abaeb1ffa29 100644 --- a/packages/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.tsx +++ b/packages/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.tsx @@ -23,7 +23,7 @@ export const ScrollableHorizontalGallery = (props: { useEffect(() => { const indexesArray = [...Array(horizontalGalleryElements?.length).keys()]; if (onFetchTilesToRender && indexesArray) { - onFetchTilesToRender(indexesArray); + onFetchTilesToRender(indexesArray ?? []); } }, [onFetchTilesToRender, horizontalGalleryElements?.length]); From fb1a211b4181e10fe807af2514e162429fa3f07c Mon Sep 17 00:00:00 2001 From: edwardlee-msft Date: Thu, 3 Oct 2024 14:24:06 -0700 Subject: [PATCH 44/58] [bugfix][storybookv8] Use image of local screenshare for Videogallery screenshare presenter view (#5237) * Update storybook v8 videogallery screenshare presenter view with proper presentation of new screenshare view * Linter --- ...eo-gallery-screensharing-from-presenter.png | Bin 0 -> 589266 bytes .../Components/VideoGallery/index.stories.tsx | 2 +- .../snippets/VideoGalleryImages.tsx | 11 +++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 packages/storybook8/public/images/video-gallery-screensharing-from-presenter.png create mode 100644 packages/storybook8/stories/Components/VideoGallery/snippets/VideoGalleryImages.tsx diff --git a/packages/storybook8/public/images/video-gallery-screensharing-from-presenter.png b/packages/storybook8/public/images/video-gallery-screensharing-from-presenter.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d8b20a92ae6fe8e3f82b2022089b6e9b61f8d9 GIT binary patch literal 589266 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 r##8O7pa*|Z8PyUO1W>U)4oJPsV|K;iM! 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

dapR`2{^ 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 z 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%0Ae06)T;Lw&USndVcD5Q8!-7Xk5r5O$I8)%m_xP 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%0D-&HT<8y1{FcvHf>YGXPy5?B|+8o6!KjpP24 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 a{O9Lk&|nEgQqtXbomanm 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%0AToXVAt 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≫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 diff --git a/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/error-bar-when-camera-freezes-Desktop-Chrome-linux.png b/packages/react-composites/tests/browser/snapshots/stable/tests/browser/call/hermetic/UserFacingDiagnostics.test.ts-snapshots/error-bar-when-camera-freezes-Desktop-Chrome-linux.png index 951e7b9385929cc551a4881fe15899285afe323a..e82a57946df36704dbf2d4cfd6038658b2fff2e2 100644 GIT binary patch literal 29081 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