From 0466641d3290d2ec794e0f753fb4ea87f32c93b6 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Thu, 29 Aug 2024 20:14:00 +0100 Subject: [PATCH 01/67] Add example styling on datawrapper graphics This is an example of the kind of role-independent styling I would like to do on datawrapper graphics, by matching on the URL of the interactive element. --- .../InteractiveBlockComponent.importable.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index 43a3d2b33d..0accef8527 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -99,10 +99,12 @@ const wrapperStyle = ({ format, role, loaded, + url, }: { format: ArticleFormat; role: RoleType; loaded: boolean; + url?: string; }) => css` ${format.theme === ArticleSpecial.Labs ? textSans17 : article17} background-color: ${themePalette('--interactive-block-background')}; @@ -110,6 +112,14 @@ const wrapperStyle = ({ position: relative; display: flex; flex-direction: column; + ${url?.match( + /^https?:\/\/interactive\.guim\.co\.uk\/datawrapper(-test)?\/embed/, + ) + ? ` + border-top: 1px solid #dcdcdc; + padding-top: 8px; + ` + : ''} `; const placeholderLinkStyle = css` @@ -304,7 +314,7 @@ export const InteractiveBlockComponent = ({ isMainMedia ? mainMediaFigureStyles : defaultRoleStyles(role, format), - wrapperStyle({ format, role, loaded }), + wrapperStyle({ format, role, loaded, url }), ]} className={interactiveLegacyFigureClasses( 'model.dotcomrendering.pageElements.InteractiveBlockElement', From 371e3bfd067ae3c9854855d8f1b88ee0c35258b7 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Thu, 5 Sep 2024 16:01:58 +0100 Subject: [PATCH 02/67] Add role-dependent styling This is an example of the kind of role-dependent styling I would like to make for datawrapper graphics. --- dotcom-rendering/src/components/Figure.tsx | 259 +++++++++--------- .../InteractiveBlockComponent.importable.tsx | 24 +- 2 files changed, 148 insertions(+), 135 deletions(-) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index e313ea29db..1a47be197f 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -14,152 +14,155 @@ type Props = { isTimeline?: boolean; }; -const roleCss = { - inline: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - `, +const roleCss = (isDatawrapperGraphic: boolean) => { + return { + inline: css` + margin-top: ${space[3]}px; + margin-bottom: ${space[3]}px; + `, - supporting: css` - clear: left; - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - ${from.tablet} { - position: relative; - float: left; - width: 300px; - margin-right: 20px; - line-height: 0; - margin-top: ${space[2]}px; - } - ${from.leftCol} { - margin-left: -160px; - } - ${from.wide} { - width: 380px; - margin-left: -240px; - } - `, - - immersive: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - ${until.tablet} { - margin-left: -20px; - margin-right: -20px; - } - ${until.mobileLandscape} { - margin-left: -10px; - margin-right: -10px; - } - ${from.tablet} { - margin-left: -20px; - margin-right: -100px; - } - ${from.desktop} { - margin-left: -20px; - margin-right: -340px; - } - ${from.leftCol} { - margin-left: -160px; - margin-right: -320px; - } - ${from.wide} { - margin-left: -240px; - margin-right: -400px; - } - `, + supporting: css` + clear: left; + margin-top: ${space[3]}px; + margin-bottom: ${isDatawrapperGraphic ? space[5] : space[3]}px; + ${from.tablet} { + position: relative; + float: left; + width: 300px; + margin-right: 20px; + line-height: 0; + margin-top: ${space[2]}px; + } + ${from.leftCol} { + margin-left: -160px; + } + ${from.wide} { + width: 380px; + margin-left: -240px; + } + `, - showcase: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - position: relative; - ${from.leftCol} { - margin-left: -160px; - } - ${from.wide} { - margin-left: -240px; - } - `, + immersive: css` + margin-top: ${space[3]}px; + margin-bottom: ${space[3]}px; + ${until.tablet} { + margin-left: -20px; + margin-right: -20px; + } + ${until.mobileLandscape} { + margin-left: -10px; + margin-right: -10px; + } + ${from.tablet} { + margin-left: -20px; + margin-right: -100px; + } + ${from.desktop} { + margin-left: -20px; + margin-right: -340px; + } + ${from.leftCol} { + margin-left: -160px; + margin-right: -320px; + } + ${from.wide} { + margin-left: -240px; + margin-right: -400px; + } + `, - thumbnail: css` - margin-top: ${space[2]}px; - margin-bottom: ${space[2]}px; - float: left; - clear: left; - width: 120px; - margin-right: 20px; - ${from.tablet} { - width: 140px; - } - ${from.wide} { - margin-left: -240px; - } - ${from.leftCol} { + showcase: css` + margin-top: ${space[3]}px; + margin-bottom: ${space[3]}px; position: relative; - margin-left: -160px; - } - `, + ${from.leftCol} { + margin-left: -160px; + } + ${from.wide} { + margin-left: -240px; + } + `, - // This is a special use case where we want RichLinks to appear wider when in the left col - richLink: css` - margin-bottom: ${space[1]}px; - float: left; - clear: left; - width: 8.75rem; - margin-right: 20px; + thumbnail: css` + margin-top: ${space[2]}px; + margin-bottom: ${space[2]}px; + float: left; + clear: left; + width: 120px; + margin-right: 20px; + ${from.tablet} { + width: 140px; + } + ${from.wide} { + margin-left: -240px; + } + ${from.leftCol} { + position: relative; + margin-left: -160px; + } + `, - /* + // This is a special use case where we want RichLinks to appear wider when in the left col + richLink: css` + margin-bottom: ${space[1]}px; + float: left; + clear: left; + width: 8.75rem; + margin-right: 20px; + + /* Acts as until.mobileMedium but accounts for font scaling. On small screens and/or at certain font sizes, the RichLink will change to a full width version */ - @media (max-width: 23.4rem) { - width: 100%; - box-sizing: border-box; + @media (max-width: 23.4rem) { + width: 100%; + box-sizing: border-box; - img, - .avatar { - display: none; + img, + .avatar { + display: none; + } } - } - ${from.tablet} { - width: 140px; - } - ${from.leftCol} { - position: relative; - margin-left: -160px; - width: 140px; - } - ${from.wide} { - margin-left: -240px; - width: 220px; - } - `, + ${from.tablet} { + width: 140px; + } + ${from.leftCol} { + position: relative; + margin-left: -160px; + width: 140px; + } + ${from.wide} { + margin-left: -240px; + width: 220px; + } + `, - halfWidth: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - width: 50%; - float: left; - clear: left; - margin-right: 16px; - `, + halfWidth: css` + margin-top: ${space[3]}px; + margin-bottom: ${space[3]}px; + width: 50%; + float: left; + clear: left; + margin-right: 16px; + `, + }; }; // Used for vast majority of layouts. export const defaultRoleStyles = ( role: RoleType | 'richLink', format: ArticleFormat, + isDatawrapperGraphic: boolean, isTimeline = false, ) => { switch (role) { case 'inline': - return roleCss.inline; + return roleCss(isDatawrapperGraphic).inline; case 'supporting': - return roleCss.supporting; + return roleCss(isDatawrapperGraphic).supporting; case 'immersive': - return roleCss.immersive; + return roleCss(isDatawrapperGraphic).immersive; case 'showcase': if (isTimeline) { return css` @@ -175,28 +178,28 @@ export const defaultRoleStyles = ( } `; } - return roleCss.showcase; + return roleCss(isDatawrapperGraphic).showcase; case 'thumbnail': switch (format.design) { case ArticleDesign.LiveBlog: case ArticleDesign.DeadBlog: // In blogs we don't want to use negative left margins return css` - ${roleCss.thumbnail} + ${roleCss(isDatawrapperGraphic).thumbnail} /* It's important we use the media query here to ensure we override the default values */ ${from.leftCol} { margin-left: 0px; } `; default: - return roleCss.thumbnail; + return roleCss(isDatawrapperGraphic).thumbnail; } case 'richLink': - return roleCss.richLink; + return roleCss(isDatawrapperGraphic).richLink; case 'halfWidth': - return roleCss.halfWidth; + return roleCss(isDatawrapperGraphic).halfWidth; default: - return roleCss.inline; + return roleCss(isDatawrapperGraphic).inline; } }; @@ -230,7 +233,7 @@ export const Figure = ({ return (
css` ${format.theme === ArticleSpecial.Labs ? textSans17 : article17} background-color: ${themePalette('--interactive-block-background')}; @@ -112,9 +112,7 @@ const wrapperStyle = ({ position: relative; display: flex; flex-direction: column; - ${url?.match( - /^https?:\/\/interactive\.guim\.co\.uk\/datawrapper(-test)?\/embed/, - ) + ${isDatawrapperGraphic ? ` border-top: 1px solid #dcdcdc; padding-top: 8px; @@ -305,6 +303,13 @@ export const InteractiveBlockComponent = ({ } }, [loaded]); + const isDatawrapperGraphic = + url == undefined + ? false + : /^https?:\/\/interactive\.guim\.co\.uk\/datawrapper(-test)?\/embed/.test( + url, + ); + return ( <>
Date: Thu, 5 Sep 2024 17:38:49 +0100 Subject: [PATCH 03/67] Readme: use relative link to docs Relative links work well locally in text editors and on github, whereas an absolute link like this can be mildly frustrating when following from a text editor. --- dotcom-rendering/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotcom-rendering/README.md b/dotcom-rendering/README.md index 3b6f002b8d..f58d8defcf 100644 --- a/dotcom-rendering/README.md +++ b/dotcom-rendering/README.md @@ -110,7 +110,7 @@ If you get lint errors, you can attempt to automatically fix them with: $ make fix ``` -See [the makefile](https://github.com/guardian/dotcom-rendering/blob/main/dotcom-rendering/makefile) for the full list. +See [the makefile](./makefile) for the full list. [Read about testing tools and testing strategy](docs/testing.md). From 929a8ebc5ac225976c61a2d4ad7c0b3fb067aa20 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Tue, 1 Oct 2024 16:33:00 +0100 Subject: [PATCH 04/67] Add 32px top margin to Datawrapper embeds This 32px margin collapses with the existing 16px paragraph spacing. What about breakpoints? (Should I be using spacing constants? Probably) --- .../src/components/InteractiveBlockComponent.importable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index 0de2c4934c..e208428764 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -116,6 +116,7 @@ const wrapperStyle = ({ ? ` border-top: 1px solid #dcdcdc; padding-top: 8px; + margin-top: 32px; ` : ''} `; From 03896325a3ec134a32769c31761f6d0851be6b7f Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Tue, 1 Oct 2024 16:52:27 +0100 Subject: [PATCH 05/67] Add 32px bottom margin to Datawrapper graphics --- .../src/components/InteractiveBlockComponent.importable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index e208428764..c3145cf3bd 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -117,6 +117,7 @@ const wrapperStyle = ({ border-top: 1px solid #dcdcdc; padding-top: 8px; margin-top: 32px; + margin-bottom: 32px; ` : ''} `; From b50397568687a7cff5a2305761ffb49fdbbc4394 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Tue, 1 Oct 2024 17:39:58 +0100 Subject: [PATCH 06/67] Apply Datawrapper spacing only for some roles --- dotcom-rendering/src/components/Figure.tsx | 8 ++++---- .../components/InteractiveBlockComponent.importable.tsx | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index 1a47be197f..e63636f0bf 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -17,8 +17,8 @@ type Props = { const roleCss = (isDatawrapperGraphic: boolean) => { return { inline: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; + margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; `, supporting: css` @@ -72,8 +72,8 @@ const roleCss = (isDatawrapperGraphic: boolean) => { `, showcase: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; + margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; position: relative; ${from.leftCol} { margin-left: -160px; diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index c3145cf3bd..0de2c4934c 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -116,8 +116,6 @@ const wrapperStyle = ({ ? ` border-top: 1px solid #dcdcdc; padding-top: 8px; - margin-top: 32px; - margin-bottom: 32px; ` : ''} `; From 2c05a335d0beab1a7060f10e478c76bf8b1e0039 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Mon, 21 Oct 2024 15:28:41 +0100 Subject: [PATCH 07/67] Use palette colour for top border MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This palette colour both matches the hex colour I had manually used, and seems like the most appropriate “border” colour listed in the file. Hopefully it’s a good choice: I must remember to ask in the PR. Also, looking at this has reminded me that I should check how my styling looks in dark mode! --- .../src/components/InteractiveBlockComponent.importable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index 0de2c4934c..938d5823e3 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -114,7 +114,7 @@ const wrapperStyle = ({ flex-direction: column; ${isDatawrapperGraphic ? ` - border-top: 1px solid #dcdcdc; + border-top: 1px solid ${themePalette('--branding-border')}; padding-top: 8px; ` : ''} From cbe7ee9fa0f4842d3516cc2070ad110953acebc4 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Mon, 21 Oct 2024 15:31:11 +0100 Subject: [PATCH 08/67] Add bottom border for some roles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For roles which move the graphics across the border on the side, we’d like to add a bottom border to avoid the odd reappearance of the side border after the graphic. --- dotcom-rendering/src/components/Figure.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index e63636f0bf..d7783d1ad7 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -1,6 +1,7 @@ import { css } from '@emotion/react'; import { from, space, until } from '@guardian/source/foundations'; import { ArticleDesign, type ArticleFormat } from '../lib/articleFormat'; +import { palette as themePalette } from '../palette'; import type { FEElement, RoleType } from '../types/content'; type Props = { @@ -25,6 +26,12 @@ const roleCss = (isDatawrapperGraphic: boolean) => { clear: left; margin-top: ${space[3]}px; margin-bottom: ${isDatawrapperGraphic ? space[5] : space[3]}px; + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} + ${from.tablet} { position: relative; float: left; @@ -45,6 +52,12 @@ const roleCss = (isDatawrapperGraphic: boolean) => { immersive: css` margin-top: ${space[3]}px; margin-bottom: ${space[3]}px; + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} + ${until.tablet} { margin-left: -20px; margin-right: -20px; @@ -75,6 +88,12 @@ const roleCss = (isDatawrapperGraphic: boolean) => { margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; position: relative; + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} + ${from.leftCol} { margin-left: -160px; } From 100db8cf0b216f19116b6b8d3d1bb1996727bf80 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Mon, 21 Oct 2024 17:05:34 +0100 Subject: [PATCH 09/67] Add padding inside bottom border --- dotcom-rendering/src/components/Figure.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index d7783d1ad7..99ff46602d 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -29,7 +29,9 @@ const roleCss = (isDatawrapperGraphic: boolean) => { ${isDatawrapperGraphic ? `border-bottom: 1px solid ${themePalette( '--branding-border', - )};` + )}; + padding-bottom: ${space[4]}px; + ` : ''} ${from.tablet} { @@ -55,7 +57,9 @@ const roleCss = (isDatawrapperGraphic: boolean) => { ${isDatawrapperGraphic ? `border-bottom: 1px solid ${themePalette( '--branding-border', - )};` + )}; + padding-bottom: ${space[4]}px; + ` : ''} ${until.tablet} { @@ -91,7 +95,9 @@ const roleCss = (isDatawrapperGraphic: boolean) => { ${isDatawrapperGraphic ? `border-bottom: 1px solid ${themePalette( '--branding-border', - )};` + )}; + padding-bottom: ${space[4]}px; + ` : ''} ${from.leftCol} { From b98fac7cd763fa163ad510810fc743b37115e435 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Mon, 21 Oct 2024 17:05:55 +0100 Subject: [PATCH 10/67] Use space value for padding inside top border --- .../src/components/InteractiveBlockComponent.importable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx index 938d5823e3..466a94d4ed 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.importable.tsx @@ -115,7 +115,7 @@ const wrapperStyle = ({ ${isDatawrapperGraphic ? ` border-top: 1px solid ${themePalette('--branding-border')}; - padding-top: 8px; + padding-top: ${space[2]}px; ` : ''} `; From c9e77584638f40fbc36b304f213d469f44a469dd Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Mon, 21 Oct 2024 17:22:51 +0100 Subject: [PATCH 11/67] Keep large margins for supporting on mobile These margins were too small: the request from the visuals team is that they be 32px. --- dotcom-rendering/src/components/Figure.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index 99ff46602d..cbbd31560e 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -24,8 +24,8 @@ const roleCss = (isDatawrapperGraphic: boolean) => { supporting: css` clear: left; - margin-top: ${space[3]}px; - margin-bottom: ${isDatawrapperGraphic ? space[5] : space[3]}px; + margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; ${isDatawrapperGraphic ? `border-bottom: 1px solid ${themePalette( '--branding-border', @@ -41,6 +41,7 @@ const roleCss = (isDatawrapperGraphic: boolean) => { margin-right: 20px; line-height: 0; margin-top: ${space[2]}px; + ${isDatawrapperGraphic ? `margin-bottom: ${space[5]}px;` : ''} } ${from.leftCol} { margin-left: -160px; From 8d36c3ce07f288ac2c836e20edfbc50523b395a7 Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Tue, 22 Oct 2024 16:58:11 +0100 Subject: [PATCH 12/67] Add Datawrapper embed stories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’ve added a story with a Datawrapper embed for each role, to have an easy way to look at the styling. I’ve also tweaked the Wrapper used in the InteractiveBlockComponent stories to match that used in the Figure stories. Since the layouts are similar, I think this should be fine? --- .../InteractiveBlockComponent.stories.tsx | 153 ++++++++++++++++-- 1 file changed, 144 insertions(+), 9 deletions(-) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx index fe50199fd4..4a34a82cec 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx @@ -1,9 +1,13 @@ -import { css } from '@emotion/react'; import type { StoryObj } from '@storybook/react'; import type { StoryProps } from '../../.storybook/decorators/splitThemeDecorator'; import { splitTheme } from '../../.storybook/decorators/splitThemeDecorator'; import { ArticleDesign, ArticleDisplay, Pillar } from '../lib/articleFormat'; +import { ArticleContainer } from './ArticleContainer'; +import { Flex } from './Flex'; import { InteractiveBlockComponent } from './InteractiveBlockComponent.importable'; +import { LeftColumn } from './LeftColumn'; +import { RightColumn } from './RightColumn'; +import { Section } from './Section'; import { TextBlockComponent } from './TextBlockComponent'; export default { @@ -26,14 +30,25 @@ const SomeText = () => ( ); const Wrapper = ({ children }: { children: React.ReactNode }) => ( -
- {children} -
+
+ + + <> + + + {children} + + + <> + + +
); const defaultFormat = { @@ -159,3 +174,123 @@ NonBootJs.storyName = 'Non-boot.js interactive element'; NonBootJs.decorators = [ splitTheme([defaultFormat], { orientation: 'vertical' }), ]; + +export const DatawrapperInline = ({ format }: StoryProps) => { + return ( + + + + + + + + + ); +}; +DatawrapperInline.storyName = 'Datawrapper Inline role'; +DatawrapperInline.decorators = [ + splitTheme([defaultFormat], { orientation: 'vertical' }), +]; + +export const DatawrapperSupporting = ({ format }: StoryProps) => { + return ( + + + + + + + + + ); +}; +DatawrapperSupporting.storyName = 'Datawrapper Supporting role'; +DatawrapperSupporting.decorators = [ + splitTheme([defaultFormat], { orientation: 'vertical' }), +]; + +export const DatawrapperShowcase = ({ format }: StoryProps) => { + return ( + + + + + + + + + ); +}; +DatawrapperShowcase.storyName = 'Datawrapper Showcase role'; +DatawrapperShowcase.decorators = [ + splitTheme([defaultFormat], { orientation: 'vertical' }), +]; + +export const DatawrapperThumbnail = ({ format }: StoryProps) => { + return ( + + + + + + + + + ); +}; +DatawrapperThumbnail.storyName = 'Datawrapper Thumbnail role'; +DatawrapperThumbnail.decorators = [ + splitTheme([defaultFormat], { orientation: 'vertical' }), +]; + +export const DatawrapperImmersive = ({ format }: StoryProps) => { + return ( + + + + + + + + + ); +}; +DatawrapperImmersive.storyName = 'Datawrapper Immersive role'; +DatawrapperImmersive.decorators = [ + splitTheme([defaultFormat], { orientation: 'vertical' }), +]; From 9b2cb8885110016164aae7779a380f778810c65d Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Wed, 23 Oct 2024 16:20:25 +0100 Subject: [PATCH 13/67] Update padding after review by visuals team I had misunderstood some of the desired padding, and accidentally included the bottom border even at mobile breakpoints. Now the top and bottom margins are the same in the mobile breakpoint for supporting, inline, showcase, and immersive roles, for datawrapper graphics. --- dotcom-rendering/src/components/Figure.tsx | 62 +++++++++++----------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/dotcom-rendering/src/components/Figure.tsx b/dotcom-rendering/src/components/Figure.tsx index cbbd31560e..a14e447d3c 100644 --- a/dotcom-rendering/src/components/Figure.tsx +++ b/dotcom-rendering/src/components/Figure.tsx @@ -18,21 +18,14 @@ type Props = { const roleCss = (isDatawrapperGraphic: boolean) => { return { inline: css` - margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; - margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; + margin-top: ${space[isDatawrapperGraphic ? 6 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 6 : 3]}px; `, supporting: css` clear: left; - margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; - margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; - ${isDatawrapperGraphic - ? `border-bottom: 1px solid ${themePalette( - '--branding-border', - )}; - padding-bottom: ${space[4]}px; - ` - : ''} + margin-top: ${space[isDatawrapperGraphic ? 6 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 6 : 3]}px; ${from.tablet} { position: relative; @@ -41,10 +34,17 @@ const roleCss = (isDatawrapperGraphic: boolean) => { margin-right: 20px; line-height: 0; margin-top: ${space[2]}px; - ${isDatawrapperGraphic ? `margin-bottom: ${space[5]}px;` : ''} } ${from.leftCol} { margin-left: -160px; + + ${isDatawrapperGraphic ? `margin-bottom: ${space[2]}px;` : ''} + ${isDatawrapperGraphic ? `padding-bottom: ${space[4]}px;` : ''} + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} } ${from.wide} { width: 380px; @@ -53,15 +53,8 @@ const roleCss = (isDatawrapperGraphic: boolean) => { `, immersive: css` - margin-top: ${space[3]}px; - margin-bottom: ${space[3]}px; - ${isDatawrapperGraphic - ? `border-bottom: 1px solid ${themePalette( - '--branding-border', - )}; - padding-bottom: ${space[4]}px; - ` - : ''} + margin-top: ${space[isDatawrapperGraphic ? 6 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 6 : 3]}px; ${until.tablet} { margin-left: -20px; @@ -82,6 +75,14 @@ const roleCss = (isDatawrapperGraphic: boolean) => { ${from.leftCol} { margin-left: -160px; margin-right: -320px; + + ${isDatawrapperGraphic ? `margin-bottom: ${space[4]}px;` : ''} + ${isDatawrapperGraphic ? `padding-bottom: ${space[4]}px;` : ''} + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} } ${from.wide} { margin-left: -240px; @@ -90,19 +91,20 @@ const roleCss = (isDatawrapperGraphic: boolean) => { `, showcase: css` - margin-top: ${space[isDatawrapperGraphic ? 8 : 3]}px; - margin-bottom: ${space[isDatawrapperGraphic ? 8 : 3]}px; + margin-top: ${space[isDatawrapperGraphic ? 6 : 3]}px; + margin-bottom: ${space[isDatawrapperGraphic ? 6 : 3]}px; position: relative; - ${isDatawrapperGraphic - ? `border-bottom: 1px solid ${themePalette( - '--branding-border', - )}; - padding-bottom: ${space[4]}px; - ` - : ''} ${from.leftCol} { margin-left: -160px; + + ${isDatawrapperGraphic ? `margin-bottom: ${space[4]}px;` : ''} + ${isDatawrapperGraphic ? `padding-bottom: ${space[4]}px;` : ''} + ${isDatawrapperGraphic + ? `border-bottom: 1px solid ${themePalette( + '--branding-border', + )};` + : ''} } ${from.wide} { margin-left: -240px; From 4fc5a2f2c9fb45869668a3b1aaabae739cb68a26 Mon Sep 17 00:00:00 2001 From: DanielCliftonGuardian <110032454+DanielCliftonGuardian@users.noreply.github.com> Date: Thu, 24 Oct 2024 09:50:00 +0100 Subject: [PATCH 14/67] Filter the filter from AMP --- dotcom-rendering/src/components/Elements.amp.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/Elements.amp.tsx b/dotcom-rendering/src/components/Elements.amp.tsx index de24f1e403..ec766ba697 100644 --- a/dotcom-rendering/src/components/Elements.amp.tsx +++ b/dotcom-rendering/src/components/Elements.amp.tsx @@ -99,7 +99,13 @@ export const isAmpSupported = ({ if (!hasAmpInteractiveTag) return false; } - if (tags.some((tag) => tag.id === 'type/video')) { + if ( + tags.some( + (tag) => + tag.id === 'type/video' || + tag.id === 'thefilter/series/the-filter', + ) + ) { return false; } From 0ded2918ff46fa53752527608baa65f7519706d2 Mon Sep 17 00:00:00 2001 From: Daniel Clifton <110032454+DanielCliftonGuardian@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:57:05 +0100 Subject: [PATCH 15/67] Revert "Bump the webpack group across 1 directory with 3 updates (#12577)" This reverts commit 121bcdd71684bea3f04eb55c309feb3820a4c657. --- apps-rendering/package.json | 6 +- dotcom-rendering/package.json | 4 +- pnpm-lock.yaml | 900 +++++++++++++++++----------------- 3 files changed, 459 insertions(+), 451 deletions(-) diff --git a/apps-rendering/package.json b/apps-rendering/package.json index a8e4472cd8..155d52a043 100644 --- a/apps-rendering/package.json +++ b/apps-rendering/package.json @@ -86,7 +86,7 @@ "eslint-plugin-jsx-a11y": "6.7.1", "eslint-plugin-react": "7.33.2", "express": "4.21.0", - "html-webpack-plugin": "5.6.2", + "html-webpack-plugin": "5.6.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jsdom": "16.7.0", @@ -103,9 +103,9 @@ "tslib": "2.6.2", "tsx": "4.6.2", "typescript": "5.5.3", - "webpack": "5.95.0", + "webpack": "5.94.0", "webpack-cli": "5.1.4", - "webpack-dev-server": "5.1.0", + "webpack-dev-server": "5.0.4", "webpack-manifest-plugin": "5.0.0", "whatwg-fetch": "3.6.19", "winston": "3.11.0", diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index d6143863fb..270a208605 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -190,12 +190,12 @@ "unified": "11.0.5", "valibot": "0.28.1", "web-vitals": "4.2.3", - "webpack": "5.95.0", + "webpack": "5.94.0", "webpack-assets-manifest": "5.2.1", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "5.1.4", "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.1.0", + "webpack-dev-server": "5.0.4", "webpack-hot-middleware": "2.26.1", "webpack-hot-server-middleware": "0.6.1", "webpack-manifest-plugin": "5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e394162f8..17b53efa9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,7 +39,7 @@ importers: version: 3.621.0 '@aws-sdk/credential-providers': specifier: 3.621.0 - version: 3.621.0(@aws-sdk/client-sso-oidc@3.675.0) + version: 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) '@babel/core': specifier: 7.25.8 version: 7.25.8 @@ -102,7 +102,7 @@ importers: version: 8.2.9(storybook@8.2.9) '@storybook/addon-webpack5-compiler-babel': specifier: 3.0.3 - version: 3.0.3(webpack@5.95.0) + version: 3.0.3(webpack@5.94.0) '@storybook/components': specifier: 8.2.9 version: 8.2.9(storybook@8.2.9) @@ -165,7 +165,7 @@ importers: version: 2.100.0(constructs@10.3.0) babel-loader: specifier: 9.2.1 - version: 9.2.1(@babel/core@7.25.8)(webpack@5.95.0) + version: 9.2.1(@babel/core@7.25.8)(webpack@5.94.0) buffer: specifier: 6.0.3 version: 6.0.3 @@ -197,8 +197,8 @@ importers: specifier: 4.21.0 version: 4.21.0 html-webpack-plugin: - specifier: 5.6.2 - version: 5.6.2(webpack@5.95.0) + specifier: 5.6.0 + version: 5.6.0(webpack@5.94.0) jest: specifier: 29.7.0 version: 29.7.0(@types/node@18.18.14) @@ -237,7 +237,7 @@ importers: version: 29.1.2(@babel/core@7.25.8)(esbuild@0.18.20)(jest@29.7.0)(typescript@5.5.3) ts-loader: specifier: 9.5.1 - version: 9.5.1(typescript@5.5.3)(webpack@5.95.0) + version: 9.5.1(typescript@5.5.3)(webpack@5.94.0) tslib: specifier: 2.6.2 version: 2.6.2 @@ -248,17 +248,17 @@ importers: specifier: 5.5.3 version: 5.5.3 webpack: - specifier: 5.95.0 - version: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) + version: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-dev-server: - specifier: 5.1.0 - version: 5.1.0(webpack-cli@5.1.4)(webpack@5.95.0) + specifier: 5.0.4 + version: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) webpack-manifest-plugin: specifier: 5.0.0 - version: 5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.95.0) + version: 5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.94.0) whatwg-fetch: specifier: 3.6.19 version: 3.6.19 @@ -393,7 +393,7 @@ importers: version: 8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9) '@storybook/addon-webpack5-compiler-swc': specifier: 1.0.5 - version: 1.0.5(webpack@5.95.0) + version: 1.0.5(webpack@5.94.0) '@storybook/components': specifier: 8.2.9 version: 8.2.9(storybook@8.2.9) @@ -555,7 +555,7 @@ importers: version: 2.100.0(constructs@10.3.0) babel-loader: specifier: 9.2.1 - version: 9.2.1(@babel/core@7.25.8)(webpack@5.95.0) + version: 9.2.1(@babel/core@7.25.8)(webpack@5.94.0) babel-plugin-polyfill-corejs3: specifier: 0.10.6 version: 0.10.6(@babel/core@7.25.8) @@ -591,7 +591,7 @@ importers: version: 11.0.0 css-loader: specifier: 7.1.2 - version: 7.1.2(webpack@5.95.0) + version: 7.1.2(webpack@5.94.0) curlyquotes: specifier: 1.5.5 version: 1.5.5 @@ -741,7 +741,7 @@ importers: version: 14.0.0(stylelint@16.5.0) swc-loader: specifier: 0.2.6 - version: 0.2.6(@swc/core@1.7.26)(webpack@5.95.0) + version: 0.2.6(@swc/core@1.7.26)(webpack@5.94.0) swr: specifier: 1.3.0 version: 1.3.0(react@18.3.1) @@ -756,7 +756,7 @@ importers: version: 2.0.0 ts-loader: specifier: 9.5.1 - version: 9.5.1(typescript@5.5.3)(webpack@5.95.0) + version: 9.5.1(typescript@5.5.3)(webpack@5.94.0) ts-unused-exports: specifier: 10.1.0 version: 10.1.0(typescript@5.5.3) @@ -785,32 +785,32 @@ importers: specifier: 4.2.3 version: 4.2.3 webpack: - specifier: 5.95.0 - version: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + specifier: 5.94.0 + version: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-assets-manifest: specifier: 5.2.1 - version: 5.2.1(webpack@5.95.0) + version: 5.2.1(webpack@5.94.0) webpack-bundle-analyzer: specifier: 4.10.2 version: 4.10.2 webpack-cli: specifier: 5.1.4 - version: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.1.0)(webpack@5.95.0) + version: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-dev-middleware: specifier: 7.4.2 - version: 7.4.2(webpack@5.95.0) + version: 7.4.2(webpack@5.94.0) webpack-dev-server: - specifier: 5.1.0 - version: 5.1.0(webpack-cli@5.1.4)(webpack@5.95.0) + specifier: 5.0.4 + version: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) webpack-hot-middleware: specifier: 2.26.1 version: 2.26.1 webpack-hot-server-middleware: specifier: 0.6.1 - version: 0.6.1(webpack@5.95.0) + version: 0.6.1(webpack@5.94.0) webpack-manifest-plugin: specifier: 5.0.0 - version: 5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.95.0) + version: 5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.94.0) webpack-merge: specifier: 6.0.1 version: 6.0.1 @@ -1094,17 +1094,17 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-4kEcaa2P/BFz+xy5tagbtzM08gbjHXyYqW+n6SJuUFK7N6bZNnA4cu1hVgHcqOqk8Dbwv7fiseGT0x3Hhqjwqg==} + /@aws-sdk/client-sso-oidc@3.670.0(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-4qDK2L36Q4J1lfemaHHd9ZxqKRaos3STp44qPAHf/8QyX6Uk5sXgZNVO2yWM7SIEtVKwwBh/fZAsdBkGPBfZcw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.675.0 + '@aws-sdk/client-sts': ^3.670.0 dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-sts': 3.621.0 '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-node': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-node': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/middleware-host-header': 3.667.0 '@aws-sdk/middleware-logger': 3.667.0 '@aws-sdk/middleware-recursion-detection': 3.667.0 @@ -1112,32 +1112,32 @@ packages: '@aws-sdk/region-config-resolver': 3.667.0 '@aws-sdk/types': 3.667.0 '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 + '@aws-sdk/util-user-agent-browser': 3.670.0 '@aws-sdk/util-user-agent-node': 3.669.0 - '@smithy/config-resolver': 3.0.10 - '@smithy/core': 2.5.1 + '@smithy/config-resolver': 3.0.9 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/hash-node': 3.0.8 - '@smithy/invalid-dependency': 3.0.8 - '@smithy/middleware-content-length': 3.0.10 - '@smithy/middleware-endpoint': 3.2.1 - '@smithy/middleware-retry': 3.0.25 - '@smithy/middleware-serde': 3.0.8 - '@smithy/middleware-stack': 3.0.8 - '@smithy/node-config-provider': 3.1.9 - '@smithy/node-http-handler': 3.2.5 - '@smithy/protocol-http': 4.1.5 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 - '@smithy/url-parser': 3.0.8 + '@smithy/hash-node': 3.0.7 + '@smithy/invalid-dependency': 3.0.7 + '@smithy/middleware-content-length': 3.0.9 + '@smithy/middleware-endpoint': 3.1.4 + '@smithy/middleware-retry': 3.0.23 + '@smithy/middleware-serde': 3.0.7 + '@smithy/middleware-stack': 3.0.7 + '@smithy/node-config-provider': 3.1.8 + '@smithy/node-http-handler': 3.2.4 + '@smithy/protocol-http': 4.1.4 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 + '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.25 - '@smithy/util-defaults-mode-node': 3.0.25 - '@smithy/util-endpoints': 2.1.4 - '@smithy/util-middleware': 3.0.8 - '@smithy/util-retry': 3.0.8 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 + '@smithy/util-endpoints': 2.1.3 + '@smithy/util-middleware': 3.0.7 + '@smithy/util-retry': 3.0.7 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 transitivePeerDependencies: @@ -1190,8 +1190,8 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso@3.675.0: - resolution: {integrity: sha512-2goBCEr4acZJ1YJ69eWPTsIfZUbO7enog+lBA5kZShDiwovqzwYSHSlf6OGz4ETs2xT1n7n+QfKY0p+TluTfEw==} + /@aws-sdk/client-sso@3.670.0: + resolution: {integrity: sha512-J+oz6uSsDvk4pimMDnKJb1wsV216zTrejvMTIL4RhUD1QPIVVOpteTdUShcjZUIZnkcJZGI+cym/SFK0kuzTpg==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 5.2.0 @@ -1204,32 +1204,32 @@ packages: '@aws-sdk/region-config-resolver': 3.667.0 '@aws-sdk/types': 3.667.0 '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 + '@aws-sdk/util-user-agent-browser': 3.670.0 '@aws-sdk/util-user-agent-node': 3.669.0 - '@smithy/config-resolver': 3.0.10 - '@smithy/core': 2.5.1 + '@smithy/config-resolver': 3.0.9 + '@smithy/core': 2.4.8 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/hash-node': 3.0.8 - '@smithy/invalid-dependency': 3.0.8 - '@smithy/middleware-content-length': 3.0.10 - '@smithy/middleware-endpoint': 3.2.1 - '@smithy/middleware-retry': 3.0.25 - '@smithy/middleware-serde': 3.0.8 - '@smithy/middleware-stack': 3.0.8 - '@smithy/node-config-provider': 3.1.9 - '@smithy/node-http-handler': 3.2.5 - '@smithy/protocol-http': 4.1.5 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 - '@smithy/url-parser': 3.0.8 + '@smithy/hash-node': 3.0.7 + '@smithy/invalid-dependency': 3.0.7 + '@smithy/middleware-content-length': 3.0.9 + '@smithy/middleware-endpoint': 3.1.4 + '@smithy/middleware-retry': 3.0.23 + '@smithy/middleware-serde': 3.0.7 + '@smithy/middleware-stack': 3.0.7 + '@smithy/node-config-provider': 3.1.8 + '@smithy/node-http-handler': 3.2.4 + '@smithy/protocol-http': 4.1.4 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 + '@smithy/url-parser': 3.0.7 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.25 - '@smithy/util-defaults-mode-node': 3.0.25 - '@smithy/util-endpoints': 2.1.4 - '@smithy/util-middleware': 3.0.8 - '@smithy/util-retry': 3.0.8 + '@smithy/util-defaults-mode-browser': 3.0.23 + '@smithy/util-defaults-mode-node': 3.0.23 + '@smithy/util-endpoints': 2.1.3 + '@smithy/util-middleware': 3.0.7 + '@smithy/util-retry': 3.0.7 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 transitivePeerDependencies: @@ -1304,14 +1304,14 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/core': 2.5.1 - '@smithy/node-config-provider': 3.1.9 - '@smithy/property-provider': 3.1.8 - '@smithy/protocol-http': 4.1.5 - '@smithy/signature-v4': 4.2.1 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 - '@smithy/util-middleware': 3.0.8 + '@smithy/core': 2.4.8 + '@smithy/node-config-provider': 3.1.8 + '@smithy/property-provider': 3.1.7 + '@smithy/protocol-http': 4.1.4 + '@smithy/signature-v4': 4.2.0 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 + '@smithy/util-middleware': 3.0.7 fast-xml-parser: 4.4.1 tslib: 2.6.2 dev: false @@ -1345,8 +1345,8 @@ packages: dependencies: '@aws-sdk/core': 3.667.0 '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1372,12 +1372,12 @@ packages: '@aws-sdk/core': 3.667.0 '@aws-sdk/types': 3.667.0 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/node-http-handler': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/protocol-http': 4.1.5 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 - '@smithy/util-stream': 3.2.1 + '@smithy/node-http-handler': 3.2.4 + '@smithy/property-provider': 3.1.7 + '@smithy/protocol-http': 4.1.4 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 + '@smithy/util-stream': 3.1.9 tslib: 2.6.2 dev: false @@ -1404,7 +1404,7 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0): + /@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): resolution: {integrity: sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==} engines: {node: '>=16.0.0'} peerDependencies: @@ -1414,7 +1414,7 @@ packages: '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1427,24 +1427,24 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-ini@3.675.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-kCBlC6grpbpCvgowk9T4JHZxJ88VfN0r77bDZClcadFRAKQ8UHyO02zhgFCfUdnU1lNv1mr3ngEcGN7XzJlYWA==} + /@aws-sdk/credential-provider-ini@3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-TB1gacUj75leaTt2JsCTzygDSIk4ksv9uZoR7VenlgFPRktyOeT+fapwIVBeB2Qg7b9uxAY2K5XkKstDZyBEEw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.675.0 + '@aws-sdk/client-sts': ^3.670.0 dependencies: '@aws-sdk/client-sts': 3.621.0 '@aws-sdk/core': 3.667.0 '@aws-sdk/credential-provider-env': 3.667.0 '@aws-sdk/credential-provider-http': 3.667.0 '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/credential-provider-sso': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.667.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/credential-provider-imds': 3.2.4 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1473,15 +1473,15 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0): + /@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): resolution: {integrity: sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 - '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1495,21 +1495,21 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.675.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-VO1WVZCDmAYu4sY/6qIBzdm5vJTxLhWKJWvL5kVFfSe8WiNNoHlTqYYUK9vAm/JYpIgFLTefPbIc5W4MK7o6Pg==} + /@aws-sdk/credential-provider-node@3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-zwNrRYzubk4CaZ7zebeDhxsm8QtNWkbGKopZPOaZSnd5uqUGRcmx4ccVRngWUK68XDP44aEUWC8iU5Pc7btpHQ==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.667.0 '@aws-sdk/credential-provider-http': 3.667.0 - '@aws-sdk/credential-provider-ini': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-ini': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/credential-provider-sso': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.667.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/credential-provider-imds': 3.2.4 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1534,9 +1534,9 @@ packages: dependencies: '@aws-sdk/core': 3.667.0 '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1556,12 +1556,12 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.675.0): + /@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.670.0): resolution: {integrity: sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/client-sso': 3.621.0 - '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -1572,17 +1572,17 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-sso@3.675.0(@aws-sdk/client-sso-oidc@3.675.0): - resolution: {integrity: sha512-p/EE2c0ebSgRhg1Fe1OH2+xNl7j1P4DTc7kZy1mX1NJ72fkqnGgBuf1vk5J9RmiRpbauPNMlm+xohjkGS7iodA==} + /@aws-sdk/credential-provider-sso@3.670.0(@aws-sdk/client-sso-oidc@3.670.0): + resolution: {integrity: sha512-5PkA8BOy4q57Vhe9AESoHKZ7vjRbElNPKjXA4qC01xY+DitClRFz4O3B9sMzFp0PHlz9nDVSXXKgq0yzF/nAag==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-sso': 3.675.0 + '@aws-sdk/client-sso': 3.670.0 '@aws-sdk/core': 3.667.0 - '@aws-sdk/token-providers': 3.667.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/token-providers': 3.667.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1611,12 +1611,12 @@ packages: '@aws-sdk/client-sts': 3.621.0 '@aws-sdk/core': 3.667.0 '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-providers@3.621.0(@aws-sdk/client-sso-oidc@3.675.0): + /@aws-sdk/credential-providers@3.621.0(@aws-sdk/client-sso-oidc@3.670.0): resolution: {integrity: sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==} engines: {node: '>=16.0.0'} dependencies: @@ -1626,10 +1626,10 @@ packages: '@aws-sdk/credential-provider-cognito-identity': 3.621.0 '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 - '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.675.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1656,8 +1656,8 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1675,7 +1675,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1694,8 +1694,8 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1717,9 +1717,9 @@ packages: '@aws-sdk/core': 3.667.0 '@aws-sdk/types': 3.667.0 '@aws-sdk/util-endpoints': 3.667.0 - '@smithy/core': 2.5.1 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/core': 2.4.8 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1740,10 +1740,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/node-config-provider': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/node-config-provider': 3.1.8 + '@smithy/types': 3.5.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.8 + '@smithy/util-middleware': 3.0.7 tslib: 2.6.2 dev: false @@ -1761,13 +1761,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.675.0): + /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.670.0): resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.614.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.675.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/client-sso-oidc': 3.670.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -1775,17 +1775,17 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.667.0(@aws-sdk/client-sso-oidc@3.675.0): + /@aws-sdk/token-providers@3.667.0(@aws-sdk/client-sso-oidc@3.670.0): resolution: {integrity: sha512-ZecJlG8p6D4UTYlBHwOWX6nknVtw/OBJ3yPXTSajBjhUlj9lE2xvejI8gl4rqkyLXk7z3bki+KR4tATbMaM9yg==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.667.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.675.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/client-sso-oidc': 3.670.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1801,7 +1801,7 @@ packages: resolution: {integrity: sha512-gYq0xCsqFfQaSL/yT1Gl1vIUjtsg7d7RhnUfsXaHt8xTxOKRTdH9GjbesBjXOzgOvB0W0vfssfreSNGFlOOMJg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1820,8 +1820,8 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.6.0 - '@smithy/util-endpoints': 2.1.4 + '@smithy/types': 3.5.0 + '@smithy/util-endpoints': 2.1.3 tslib: 2.6.2 dev: false @@ -1841,11 +1841,11 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-browser@3.675.0: - resolution: {integrity: sha512-HW4vGfRiX54RLcsYjLuAhcBBJ6lRVEZd7njfGpAwBB9s7BH8t48vrpYbyA5XbbqbTvXfYBnugQCUw9HWjEa1ww==} + /@aws-sdk/util-user-agent-browser@3.670.0: + resolution: {integrity: sha512-iRynWWazqEcCKwGMcQcywKTDLdLvqts1Yx474U64I9OKQXXwhOwhXbF5CAPSRta86lkVNAVYJa/0Bsv45pNn1A==} dependencies: '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 bowser: 2.11.0 tslib: 2.6.2 dev: false @@ -1876,8 +1876,8 @@ packages: dependencies: '@aws-sdk/middleware-user-agent': 3.669.0 '@aws-sdk/types': 3.667.0 - '@smithy/node-config-provider': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/node-config-provider': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -1886,7 +1886,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.25.7 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /@babel/code-frame@7.25.7: @@ -2164,7 +2164,7 @@ packages: '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /@babel/parser@7.25.8: @@ -3387,7 +3387,7 @@ packages: outdent: 0.5.0 p-limit: 2.3.0 package-manager-detector: 0.2.0 - picocolors: 1.1.1 + picocolors: 1.1.0 resolve-from: 5.0.0 semver: 7.5.4 spawndamnit: 2.0.0 @@ -3417,7 +3417,7 @@ packages: dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.1 + picocolors: 1.1.0 semver: 7.5.4 dev: false @@ -3449,7 +3449,7 @@ packages: /@changesets/logger@0.1.1: resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} dependencies: - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /@changesets/parse@0.4.0: @@ -3477,7 +3477,7 @@ packages: '@changesets/types': 6.0.0 fs-extra: 7.0.1 p-filter: 2.1.0 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /@changesets/should-skip-package@0.1.1: @@ -4700,7 +4700,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.8 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -4856,7 +4856,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.8 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -5247,33 +5247,33 @@ packages: tslib: 2.6.2 dev: false - /@smithy/abort-controller@3.1.6: - resolution: {integrity: sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==} + /@smithy/abort-controller@3.1.5: + resolution: {integrity: sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false - /@smithy/config-resolver@3.0.10: - resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==} + /@smithy/config-resolver@3.0.5: + resolution: {integrity: sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/node-config-provider': 3.1.4 + '@smithy/types': 3.3.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.8 + '@smithy/util-middleware': 3.0.3 tslib: 2.6.2 dev: false - /@smithy/config-resolver@3.0.5: - resolution: {integrity: sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==} + /@smithy/config-resolver@3.0.9: + resolution: {integrity: sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.4 - '@smithy/types': 3.3.0 + '@smithy/node-config-provider': 3.1.8 + '@smithy/types': 3.5.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.3 + '@smithy/util-middleware': 3.0.7 tslib: 2.6.2 dev: false @@ -5291,16 +5291,18 @@ packages: tslib: 2.6.2 dev: false - /@smithy/core@2.5.1: - resolution: {integrity: sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==} + /@smithy/core@2.4.8: + resolution: {integrity: sha512-x4qWk7p/a4dcf7Vxb2MODIf4OIcqNbK182WxRvZ/3oKPrf/6Fdic5sSElhO1UtXpWKBazWfqg0ZEK9xN1DsuHA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-serde': 3.0.8 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/middleware-endpoint': 3.1.4 + '@smithy/middleware-retry': 3.0.23 + '@smithy/middleware-serde': 3.0.7 + '@smithy/protocol-http': 4.1.4 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.8 - '@smithy/util-stream': 3.2.1 + '@smithy/util-middleware': 3.0.7 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 dev: false @@ -5316,14 +5318,14 @@ packages: tslib: 2.6.2 dev: false - /@smithy/credential-provider-imds@3.2.5: - resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==} + /@smithy/credential-provider-imds@3.2.4: + resolution: {integrity: sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.9 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.6.0 - '@smithy/url-parser': 3.0.8 + '@smithy/node-config-provider': 3.1.8 + '@smithy/property-provider': 3.1.7 + '@smithy/types': 3.5.0 + '@smithy/url-parser': 3.0.7 tslib: 2.6.2 dev: false @@ -5340,19 +5342,9 @@ packages: /@smithy/fetch-http-handler@3.2.9: resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==} dependencies: - '@smithy/protocol-http': 4.1.5 - '@smithy/querystring-builder': 3.0.8 - '@smithy/types': 3.6.0 - '@smithy/util-base64': 3.0.0 - tslib: 2.6.2 - dev: false - - /@smithy/fetch-http-handler@4.0.0: - resolution: {integrity: sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==} - dependencies: - '@smithy/protocol-http': 4.1.5 - '@smithy/querystring-builder': 3.0.8 - '@smithy/types': 3.6.0 + '@smithy/protocol-http': 4.1.4 + '@smithy/querystring-builder': 3.0.7 + '@smithy/types': 3.5.0 '@smithy/util-base64': 3.0.0 tslib: 2.6.2 dev: false @@ -5367,11 +5359,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/hash-node@3.0.8: - resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==} + /@smithy/hash-node@3.0.7: + resolution: {integrity: sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 @@ -5384,10 +5376,10 @@ packages: tslib: 2.6.2 dev: false - /@smithy/invalid-dependency@3.0.8: - resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==} + /@smithy/invalid-dependency@3.0.7: + resolution: {integrity: sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA==} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5420,21 +5412,21 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@3.0.10: - resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==} + /@smithy/middleware-content-length@3.0.5: + resolution: {integrity: sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/protocol-http': 4.1.0 + '@smithy/types': 3.3.0 tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@3.0.5: - resolution: {integrity: sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==} + /@smithy/middleware-content-length@3.0.9: + resolution: {integrity: sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 4.1.0 - '@smithy/types': 3.3.0 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5451,17 +5443,16 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-endpoint@3.2.1: - resolution: {integrity: sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==} + /@smithy/middleware-endpoint@3.1.4: + resolution: {integrity: sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/core': 2.5.1 - '@smithy/middleware-serde': 3.0.8 - '@smithy/node-config-provider': 3.1.9 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 - '@smithy/url-parser': 3.0.8 - '@smithy/util-middleware': 3.0.8 + '@smithy/middleware-serde': 3.0.7 + '@smithy/node-config-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 + '@smithy/url-parser': 3.0.7 + '@smithy/util-middleware': 3.0.7 tslib: 2.6.2 dev: false @@ -5480,17 +5471,17 @@ packages: uuid: 9.0.1 dev: false - /@smithy/middleware-retry@3.0.25: - resolution: {integrity: sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==} + /@smithy/middleware-retry@3.0.23: + resolution: {integrity: sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.9 - '@smithy/protocol-http': 4.1.5 - '@smithy/service-error-classification': 3.0.8 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 - '@smithy/util-middleware': 3.0.8 - '@smithy/util-retry': 3.0.8 + '@smithy/node-config-provider': 3.1.8 + '@smithy/protocol-http': 4.1.4 + '@smithy/service-error-classification': 3.0.7 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 + '@smithy/util-middleware': 3.0.7 + '@smithy/util-retry': 3.0.7 tslib: 2.6.2 uuid: 9.0.1 dev: false @@ -5503,11 +5494,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-serde@3.0.8: - resolution: {integrity: sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==} + /@smithy/middleware-serde@3.0.7: + resolution: {integrity: sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5519,11 +5510,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-stack@3.0.8: - resolution: {integrity: sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==} + /@smithy/middleware-stack@3.0.7: + resolution: {integrity: sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5537,13 +5528,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/node-config-provider@3.1.9: - resolution: {integrity: sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==} + /@smithy/node-config-provider@3.1.8: + resolution: {integrity: sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5558,14 +5549,14 @@ packages: tslib: 2.6.2 dev: false - /@smithy/node-http-handler@3.2.5: - resolution: {integrity: sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==} + /@smithy/node-http-handler@3.2.4: + resolution: {integrity: sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/abort-controller': 3.1.6 - '@smithy/protocol-http': 4.1.5 - '@smithy/querystring-builder': 3.0.8 - '@smithy/types': 3.6.0 + '@smithy/abort-controller': 3.1.5 + '@smithy/protocol-http': 4.1.4 + '@smithy/querystring-builder': 3.0.7 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5585,11 +5576,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/property-provider@3.1.8: - resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==} + /@smithy/property-provider@3.1.7: + resolution: {integrity: sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5601,11 +5592,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/protocol-http@4.1.5: - resolution: {integrity: sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==} + /@smithy/protocol-http@4.1.4: + resolution: {integrity: sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5618,11 +5609,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/querystring-builder@3.0.8: - resolution: {integrity: sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==} + /@smithy/querystring-builder@3.0.7: + resolution: {integrity: sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 '@smithy/util-uri-escape': 3.0.0 tslib: 2.6.2 dev: false @@ -5635,11 +5626,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/querystring-parser@3.0.8: - resolution: {integrity: sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==} + /@smithy/querystring-parser@3.0.7: + resolution: {integrity: sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5650,11 +5641,11 @@ packages: '@smithy/types': 3.3.0 dev: false - /@smithy/service-error-classification@3.0.8: - resolution: {integrity: sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==} + /@smithy/service-error-classification@3.0.7: + resolution: {integrity: sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 dev: false /@smithy/shared-ini-file-loader@3.1.4: @@ -5665,11 +5656,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/shared-ini-file-loader@3.1.9: - resolution: {integrity: sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==} + /@smithy/shared-ini-file-loader@3.1.8: + resolution: {integrity: sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5687,15 +5678,15 @@ packages: tslib: 2.6.2 dev: false - /@smithy/signature-v4@4.2.1: - resolution: {integrity: sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==} + /@smithy/signature-v4@4.2.0: + resolution: {integrity: sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ==} engines: {node: '>=16.0.0'} dependencies: '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.8 + '@smithy/util-middleware': 3.0.7 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 @@ -5713,16 +5704,15 @@ packages: tslib: 2.6.2 dev: false - /@smithy/smithy-client@3.4.2: - resolution: {integrity: sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==} + /@smithy/smithy-client@3.4.0: + resolution: {integrity: sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/core': 2.5.1 - '@smithy/middleware-endpoint': 3.2.1 - '@smithy/middleware-stack': 3.0.8 - '@smithy/protocol-http': 4.1.5 - '@smithy/types': 3.6.0 - '@smithy/util-stream': 3.2.1 + '@smithy/middleware-endpoint': 3.1.4 + '@smithy/middleware-stack': 3.0.7 + '@smithy/protocol-http': 4.1.4 + '@smithy/types': 3.5.0 + '@smithy/util-stream': 3.1.9 tslib: 2.6.2 dev: false @@ -5740,8 +5730,8 @@ packages: tslib: 2.6.2 dev: false - /@smithy/types@3.6.0: - resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==} + /@smithy/types@3.5.0: + resolution: {integrity: sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==} engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 @@ -5755,11 +5745,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/url-parser@3.0.8: - resolution: {integrity: sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==} + /@smithy/url-parser@3.0.7: + resolution: {integrity: sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==} dependencies: - '@smithy/querystring-parser': 3.0.8 - '@smithy/types': 3.6.0 + '@smithy/querystring-parser': 3.0.7 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5819,13 +5809,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-browser@3.0.25: - resolution: {integrity: sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==} + /@smithy/util-defaults-mode-browser@3.0.23: + resolution: {integrity: sha512-Y07qslyRtXDP/C5aWKqxTPBl4YxplEELG3xRrz2dnAQ6Lq/FgNrcKWmV561nNaZmFH+EzeGOX3ZRMbU8p1T6Nw==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/property-provider': 3.1.8 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 + '@smithy/property-provider': 3.1.7 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 bowser: 2.11.0 tslib: 2.6.2 dev: false @@ -5843,16 +5833,16 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-node@3.0.25: - resolution: {integrity: sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==} + /@smithy/util-defaults-mode-node@3.0.23: + resolution: {integrity: sha512-9Y4WH7f0vnDGuHUa4lGX9e2p+sMwODibsceSV6rfkZOvMC+BY3StB2LdO1NHafpsyHJLpwAgChxQ38tFyd6vkg==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 3.0.10 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/node-config-provider': 3.1.9 - '@smithy/property-provider': 3.1.8 - '@smithy/smithy-client': 3.4.2 - '@smithy/types': 3.6.0 + '@smithy/config-resolver': 3.0.9 + '@smithy/credential-provider-imds': 3.2.4 + '@smithy/node-config-provider': 3.1.8 + '@smithy/property-provider': 3.1.7 + '@smithy/smithy-client': 3.4.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5865,12 +5855,12 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-endpoints@2.1.4: - resolution: {integrity: sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==} + /@smithy/util-endpoints@2.1.3: + resolution: {integrity: sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.9 - '@smithy/types': 3.6.0 + '@smithy/node-config-provider': 3.1.8 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5889,11 +5879,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-middleware@3.0.8: - resolution: {integrity: sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==} + /@smithy/util-middleware@3.0.7: + resolution: {integrity: sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5906,12 +5896,12 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-retry@3.0.8: - resolution: {integrity: sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==} + /@smithy/util-retry@3.0.7: + resolution: {integrity: sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/service-error-classification': 3.0.8 - '@smithy/types': 3.6.0 + '@smithy/service-error-classification': 3.0.7 + '@smithy/types': 3.5.0 tslib: 2.6.2 dev: false @@ -5929,13 +5919,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-stream@3.2.1: - resolution: {integrity: sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==} + /@smithy/util-stream@3.1.9: + resolution: {integrity: sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/fetch-http-handler': 4.0.0 - '@smithy/node-http-handler': 3.2.5 - '@smithy/types': 3.6.0 + '@smithy/fetch-http-handler': 3.2.9 + '@smithy/node-http-handler': 3.2.4 + '@smithy/types': 3.5.0 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 @@ -6118,23 +6108,23 @@ packages: storybook: 8.2.9(@babel/preset-env@7.25.8) dev: false - /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.95.0): + /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.94.0): resolution: {integrity: sha512-rVQTTw+oxJltbVKaejIWSHwVKOBJs3au21f/pYXhV0aiNgNhxEa3vr79t/j0j8ox8uJtzM8XYOb7FlkvGfHlwQ==} engines: {node: '>=18'} dependencies: '@babel/core': 7.25.8 - babel-loader: 9.2.1(@babel/core@7.25.8)(webpack@5.95.0) + babel-loader: 9.2.1(@babel/core@7.25.8)(webpack@5.94.0) transitivePeerDependencies: - supports-color - webpack dev: false - /@storybook/addon-webpack5-compiler-swc@1.0.5(webpack@5.95.0): + /@storybook/addon-webpack5-compiler-swc@1.0.5(webpack@5.94.0): resolution: {integrity: sha512-1NlM3noit2vA22OyWb8Ma2lhcEKCS1Snv2kr+EkaVABUqNDfVc9AD/GgYQhF7F/2CoF5N2JU7uzXDzFHd5TzZg==} engines: {node: '>=18'} dependencies: '@swc/core': 1.7.26 - swc-loader: 0.2.6(@swc/core@1.7.26)(webpack@5.95.0) + swc-loader: 0.2.6(@swc/core@1.7.26)(webpack@5.94.0) transitivePeerDependencies: - '@swc/helpers' - webpack @@ -6187,26 +6177,26 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.2.3 constants-browserify: 1.0.0 - css-loader: 6.10.0(webpack@5.95.0) + css-loader: 6.10.0(webpack@5.94.0) es-module-lexer: 1.5.3 express: 4.21.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.95.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.94.0) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.2(webpack@5.95.0) + html-webpack-plugin: 5.6.0(webpack@5.94.0) magic-string: 0.30.5 path-browserify: 1.0.1 process: 0.11.10 semver: 7.5.4 storybook: 8.2.9(@babel/preset-env@7.25.8) - style-loader: 3.3.3(webpack@5.95.0) - terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.95.0) + style-loader: 3.3.3(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.94.0) ts-dedent: 2.2.0 typescript: 5.5.3 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.95.0) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.94.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.1 transitivePeerDependencies: @@ -6234,26 +6224,26 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.2.3 constants-browserify: 1.0.0 - css-loader: 6.10.0(webpack@5.95.0) + css-loader: 6.10.0(webpack@5.94.0) es-module-lexer: 1.5.3 express: 4.21.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.95.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.94.0) fs-extra: 11.2.0 - html-webpack-plugin: 5.6.2(webpack@5.95.0) + html-webpack-plugin: 5.6.0(webpack@5.94.0) magic-string: 0.30.5 path-browserify: 1.0.1 process: 0.11.10 semver: 7.5.4 storybook: 8.2.9(@babel/preset-env@7.25.8) - style-loader: 3.3.3(webpack@5.95.0) - terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.95.0) + style-loader: 3.3.3(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.94.0) ts-dedent: 2.2.0 typescript: 5.5.3 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.3(webpack@5.95.0) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.94.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.6.1 transitivePeerDependencies: @@ -6326,7 +6316,7 @@ packages: process: 0.11.10 recast: 0.23.9 util: 0.12.5 - ws: 8.18.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - supports-color @@ -6396,7 +6386,7 @@ packages: 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.5.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.95.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0) '@types/node': 18.18.14 '@types/semver': 7.5.6 find-up: 5.0.0 @@ -6410,7 +6400,7 @@ packages: storybook: 8.2.9(@babel/preset-env@7.25.8) tsconfig-paths: 4.2.0 typescript: 5.5.3 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -6433,7 +6423,7 @@ packages: 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.5.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.95.0) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0) '@types/node': 18.18.14 '@types/semver': 7.5.6 find-up: 5.0.0 @@ -6447,7 +6437,7 @@ packages: storybook: 8.2.9(@babel/preset-env@7.25.8) tsconfig-paths: 4.2.0 typescript: 5.5.3 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -6464,7 +6454,7 @@ packages: storybook: 8.2.9(@babel/preset-env@7.25.8) dev: false - /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.95.0): + /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0): resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} peerDependencies: typescript: '>= 4.x' @@ -6474,11 +6464,11 @@ packages: endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 - micromatch: 4.0.8 + micromatch: 4.0.7 react-docgen-typescript: 2.2.2(typescript@5.5.3) tslib: 2.6.2 typescript: 5.5.3 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false @@ -7614,7 +7604,7 @@ packages: dependencies: '@types/node': 20.14.10 tapable: 2.2.1 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -7630,7 +7620,7 @@ packages: resolution: {integrity: sha512-8Z3/edqxE3RRlOJwKSgOFxLZRt/i1qFlv/Bi308ZUKo9jh8oGngd9r8GR0ZNKW5AEJq8QNQE3b17CwghTjQ0Uw==} dependencies: '@types/node': 20.14.10 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -8085,29 +8075,29 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.95.0): + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.94.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.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) dev: false - /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.95.0): + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.94.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.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) dev: false - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.1.0)(webpack@5.95.0): + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.4)(webpack@5.94.0): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} engines: {node: '>=14.15.0'} peerDependencies: @@ -8118,9 +8108,9 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) - webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.95.0) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) dev: false /@xtuc/ieee754@1.2.0: @@ -8662,7 +8652,7 @@ packages: - supports-color dev: false - /babel-loader@9.2.1(@babel/core@7.25.8)(webpack@5.95.0): + /babel-loader@9.2.1(@babel/core@7.25.8)(webpack@5.94.0): resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -8672,7 +8662,7 @@ packages: '@babel/core': 7.25.8 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /babel-plugin-istanbul@6.1.1: @@ -9863,7 +9853,7 @@ packages: engines: {node: '>=12 || >=16'} dev: false - /css-loader@6.10.0(webpack@5.95.0): + /css-loader@6.10.0(webpack@5.94.0): resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -9883,10 +9873,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.41) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false - /css-loader@7.1.2(webpack@5.95.0): + /css-loader@7.1.2(webpack@5.94.0): resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -9906,7 +9896,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.39) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /css-select@4.3.0: @@ -10196,6 +10186,13 @@ packages: default-browser-id: 5.0.0 dev: false + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: false + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -10513,6 +10510,14 @@ packages: tapable: 2.2.1 dev: false + /enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + /enhanced-resolve@5.17.1: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} @@ -10816,7 +10821,7 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.7(supports-color@8.1.1) - enhanced-resolve: 5.17.1 + enhanced-resolve: 5.17.0 eslint: 8.56.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint@8.56.0) @@ -11524,7 +11529,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.8 + micromatch: 4.0.7 dev: false /fast-json-parse@1.0.3: @@ -11807,7 +11812,7 @@ packages: signal-exit: 4.1.0 dev: false - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.95.0): + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.94.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -11827,7 +11832,7 @@ packages: semver: 7.5.4 tapable: 2.2.1 typescript: 5.5.3 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /form-data@3.0.1: @@ -12536,8 +12541,8 @@ packages: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false - /html-webpack-plugin@5.6.2(webpack@5.95.0): - resolution: {integrity: sha512-q7xp/FO9RGBVoTKNItkdX1jKLscLFkgn/dLVFNYbHVbfHLBk6DYW5nsQ8kCzIWcgKP/kUBocetjvav6lD8YfCQ==} + /html-webpack-plugin@5.6.0(webpack@5.94.0): + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -12553,7 +12558,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /htmlparser2@6.1.0: @@ -12643,7 +12648,7 @@ packages: http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.8 + micromatch: 4.0.7 transitivePeerDependencies: - debug dev: false @@ -13432,7 +13437,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.8 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -13472,7 +13477,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.8 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -13563,7 +13568,7 @@ packages: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.8 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -13596,7 +13601,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.8 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -13887,7 +13892,7 @@ packages: chalk: 4.1.2 flow-parser: 0.224.0 graceful-fs: 4.2.11 - micromatch: 4.0.8 + micromatch: 4.0.7 neo-async: 2.6.2 node-dir: 0.1.17 recast: 0.23.9 @@ -13972,7 +13977,7 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.18.0 + ws: 8.17.1 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -14141,7 +14146,7 @@ packages: /launch-editor@2.6.1: resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: - picocolors: 1.1.1 + picocolors: 1.1.0 shell-quote: 1.8.1 dev: false @@ -15583,10 +15588,6 @@ packages: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} dev: false - /picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: false - /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -15805,7 +15806,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.1.0 source-map-js: 1.2.0 dev: false @@ -15814,7 +15815,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.1.0 source-map-js: 1.2.0 dev: false @@ -15823,7 +15824,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.1.0 source-map-js: 1.2.0 dev: false @@ -15832,7 +15833,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.1.0 source-map-js: 1.2.1 dev: false @@ -17306,13 +17307,13 @@ packages: peek-readable: 5.0.0 dev: false - /style-loader@3.3.3(webpack@5.95.0): + /style-loader@3.3.3(webpack@5.94.0): resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /stylelint-config-recommended@14.0.0(stylelint@16.5.0): @@ -17438,10 +17439,10 @@ packages: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false - /swc-loader@0.2.6(@swc/core@1.7.26)(webpack@5.95.0): + /swc-loader@0.2.6(@swc/core@1.7.26)(webpack@5.94.0): resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} peerDependencies: '@swc/core': ^1.2.147 @@ -17449,7 +17450,7 @@ packages: dependencies: '@swc/core': 1.7.26 '@swc/counter': 0.1.3 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /swr@1.3.0(react@18.3.1): @@ -17525,7 +17526,7 @@ packages: engines: {node: '>=8'} dev: false - /terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.95.0): + /terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.94.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -17548,10 +17549,10 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.26.0 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false - /terser-webpack-plugin@5.3.10(esbuild@0.18.20)(webpack@5.95.0): + /terser-webpack-plugin@5.3.10(esbuild@0.18.20)(webpack@5.94.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -17573,7 +17574,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.26.0 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /terser@5.26.0: @@ -17826,7 +17827,7 @@ packages: yargs-parser: 21.1.1 dev: false - /ts-loader@9.5.1(typescript@5.5.3)(webpack@5.95.0): + /ts-loader@9.5.1(typescript@5.5.3)(webpack@5.94.0): resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -17839,7 +17840,7 @@ packages: semver: 7.5.4 source-map: 0.7.4 typescript: 5.5.3 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /ts-node@10.9.2(@swc/core@1.7.26)(@types/node@16.18.68)(typescript@5.1.6): @@ -18284,7 +18285,7 @@ packages: dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /update-browserslist-db@1.1.0(browserslist@4.24.0): @@ -18295,7 +18296,7 @@ packages: dependencies: browserslist: 4.24.0 escalade: 3.1.2 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: false /uri-js@4.4.1: @@ -18499,7 +18500,7 @@ packages: engines: {node: '>=12'} dev: false - /webpack-assets-manifest@5.2.1(webpack@5.95.0): + /webpack-assets-manifest@5.2.1(webpack@5.94.0): resolution: {integrity: sha512-MsEcXVio1GY6R+b4dVfTHIDMB0RB90KajQG8neRbH92vE2S1ClGw9mNa9NPlratYBvZOhExmN0qqMNFTaCTuIg==} engines: {node: '>=10.13.0'} peerDependencies: @@ -18512,7 +18513,7 @@ packages: lodash.has: 4.5.2 schema-utils: 3.3.0 tapable: 2.2.1 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /webpack-bundle-analyzer@4.10.2: @@ -18537,7 +18538,7 @@ packages: - utf-8-validate dev: false - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.1.0)(webpack@5.95.0): + /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -18555,9 +18556,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@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@5.1.0)(webpack@5.95.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.4)(webpack@5.94.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -18566,13 +18567,13 @@ packages: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.95.0) + webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) webpack-merge: 5.10.0 dev: false - /webpack-cli@5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0): + /webpack-cli@5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0): resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} engines: {node: '>=14.15.0'} hasBin: true @@ -18590,9 +18591,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@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@5.1.0)(webpack@5.95.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.4)(webpack@5.94.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -18601,12 +18602,12 @@ packages: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-dev-server: 5.1.0(webpack-cli@5.1.4)(webpack@5.95.0) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) webpack-merge: 5.10.0 dev: false - /webpack-dev-middleware@6.1.3(webpack@5.95.0): + /webpack-dev-middleware@6.1.3(webpack@5.94.0): resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -18620,10 +18621,28 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false - /webpack-dev-middleware@7.4.2(webpack@5.95.0): + /webpack-dev-middleware@7.2.1(webpack@5.94.0): + resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + dependencies: + colorette: 2.0.20 + memfs: 4.7.7 + mime-types: 2.1.35 + on-finished: 2.4.1 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + dev: false + + /webpack-dev-middleware@7.4.2(webpack@5.94.0): resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -18638,11 +18657,11 @@ packages: on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false - /webpack-dev-server@5.1.0(webpack-cli@5.1.4)(webpack@5.95.0): - resolution: {integrity: sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==} + /webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.94.0): + resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -18667,6 +18686,7 @@ packages: colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 express: 4.21.0 graceful-fs: 4.2.11 html-entities: 2.4.0 @@ -18675,15 +18695,16 @@ packages: launch-editor: 2.6.1 open: 10.1.0 p-retry: 6.2.0 + rimraf: 5.0.5 schema-utils: 4.2.0 selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) - webpack-dev-middleware: 7.4.2(webpack@5.95.0) - ws: 8.18.0 + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack-dev-middleware: 7.2.1(webpack@5.94.0) + ws: 8.17.1 transitivePeerDependencies: - bufferutil - debug @@ -18706,7 +18727,7 @@ packages: strip-ansi: 6.0.1 dev: false - /webpack-hot-server-middleware@0.6.1(webpack@5.95.0): + /webpack-hot-server-middleware@0.6.1(webpack@5.94.0): resolution: {integrity: sha512-YOKwdS0hnmADsNCsReGkMOBkoz2YVrQZvnVcViM2TDXlK9NnaOGXmnrLFjzwsHFa0/iuJy/QJFEoMxzk8R1Mgg==} peerDependencies: webpack: '*' @@ -18714,19 +18735,19 @@ packages: debug: 3.2.7 require-from-string: 2.0.2 source-map-support: 0.5.21 - webpack: 5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false - /webpack-manifest-plugin@5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.95.0): + /webpack-manifest-plugin@5.0.0(patch_hash=zao44j4xgexeap52664hqknxfu)(webpack@5.94.0): resolution: {integrity: sha512-8RQfMAdc5Uw3QbCQ/CBV/AXqOR8mt03B6GJmRbhWopE8GzRfEpn+k0ZuWywxW+5QZsffhmFDY1J6ohqJo+eMuw==} engines: {node: '>=12.22.0'} peerDependencies: webpack: ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-sources: 2.3.1 dev: false patched: true @@ -18780,8 +18801,8 @@ packages: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} dev: false - /webpack@5.95.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4): - resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} + /webpack@5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4): + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -18810,9 +18831,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.94.0) watchpack: 2.4.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.1.0)(webpack@5.95.0) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -18820,8 +18841,8 @@ packages: - uglify-js dev: false - /webpack@5.95.0(esbuild@0.18.20)(webpack-cli@5.1.4): - resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} + /webpack@5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4): + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -18850,9 +18871,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.95.0) + terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.94.0) watchpack: 2.4.1 - webpack-cli: 5.1.4(webpack-dev-server@5.1.0)(webpack@5.95.0) + webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -19137,19 +19158,6 @@ packages: optional: true dev: false - /ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} dev: false From bdcf9f8f97819ac73c98709d8b154d9e6c4bf4a8 Mon Sep 17 00:00:00 2001 From: DanielCliftonGuardian <110032454+DanielCliftonGuardian@users.noreply.github.com> Date: Thu, 24 Oct 2024 15:20:09 +0100 Subject: [PATCH 16/67] Update Avatar.tsx --- dotcom-rendering/src/components/Avatar.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/dotcom-rendering/src/components/Avatar.tsx b/dotcom-rendering/src/components/Avatar.tsx index a79614e059..ae98524ffe 100644 --- a/dotcom-rendering/src/components/Avatar.tsx +++ b/dotcom-rendering/src/components/Avatar.tsx @@ -8,6 +8,7 @@ const picture = css` height: 100%; width: 100%; overflow: hidden; + min-width: 60px; `; const round = css` From b41b474ff60ae65b6262928d998f296ecb84baea Mon Sep 17 00:00:00 2001 From: Georges Lebreton <102960844+Georges-GNM@users.noreply.github.com> Date: Thu, 24 Oct 2024 15:26:59 +0100 Subject: [PATCH 17/67] Fix scrollable containers by adjusting islands logic (#12673) * Make scrollable containers islands, moving the scrollable island wrapper to decide container * Move comments explaining why the scrollable containers need to be islands --- .../src/components/DecideContainer.tsx | 40 ++++++----- ....Importable.tsx => ScrollableCarousel.tsx} | 4 -- ...um.tsx => ScrollableMedium.importable.tsx} | 72 +++++++++---------- .../components/ScrollableMedium.stories.tsx | 2 +- ...all.tsx => ScrollableSmall.importable.tsx} | 66 +++++++++-------- .../components/ScrollableSmall.stories.tsx | 2 +- 6 files changed, 91 insertions(+), 95 deletions(-) rename dotcom-rendering/src/components/{ScrollableCarousel.Importable.tsx => ScrollableCarousel.tsx} (98%) rename dotcom-rendering/src/components/{ScrollableMedium.tsx => ScrollableMedium.importable.tsx} (52%) rename dotcom-rendering/src/components/{ScrollableSmall.tsx => ScrollableSmall.importable.tsx} (53%) diff --git a/dotcom-rendering/src/components/DecideContainer.tsx b/dotcom-rendering/src/components/DecideContainer.tsx index b4949709b8..e4e497db32 100644 --- a/dotcom-rendering/src/components/DecideContainer.tsx +++ b/dotcom-rendering/src/components/DecideContainer.tsx @@ -27,8 +27,8 @@ import { FlexibleSpecial } from './FlexibleSpecial'; import { Island } from './Island'; import { NavList } from './NavList'; import { ScrollableHighlights } from './ScrollableHighlights.importable'; -import { ScrollableMedium } from './ScrollableMedium'; -import { ScrollableSmall } from './ScrollableSmall'; +import { ScrollableMedium } from './ScrollableMedium.importable'; +import { ScrollableSmall } from './ScrollableSmall.importable'; type Props = { trails: DCRFrontCard[]; @@ -253,25 +253,29 @@ export const DecideContainer = ({ ); case 'scrollable/small': return ( - + + + ); case 'scrollable/medium': return ( - + + + ); case 'scrollable/feature': case 'static/feature/2': diff --git a/dotcom-rendering/src/components/ScrollableCarousel.Importable.tsx b/dotcom-rendering/src/components/ScrollableCarousel.tsx similarity index 98% rename from dotcom-rendering/src/components/ScrollableCarousel.Importable.tsx rename to dotcom-rendering/src/components/ScrollableCarousel.tsx index 6c024b17bc..59779aad06 100644 --- a/dotcom-rendering/src/components/ScrollableCarousel.Importable.tsx +++ b/dotcom-rendering/src/components/ScrollableCarousel.tsx @@ -153,10 +153,6 @@ const generateCarouselColumnStyles = (totalCards: number) => { /** * A component used in the carousel fronts containers (e.g. small/medium/feature) - * - * ## Why does this need to be an Island? - * - * The carouselling arrow buttons need to run javascript. */ export const ScrollableCarousel = ({ children, carouselLength }: Props) => { const carouselRef = useRef(null); diff --git a/dotcom-rendering/src/components/ScrollableMedium.tsx b/dotcom-rendering/src/components/ScrollableMedium.importable.tsx similarity index 52% rename from dotcom-rendering/src/components/ScrollableMedium.tsx rename to dotcom-rendering/src/components/ScrollableMedium.importable.tsx index 060cde1877..2bce73f1aa 100644 --- a/dotcom-rendering/src/components/ScrollableMedium.tsx +++ b/dotcom-rendering/src/components/ScrollableMedium.importable.tsx @@ -7,8 +7,7 @@ import type { DCRFrontCard, } from '../types/front'; import { FrontCard } from './FrontCard'; -import { Island } from './Island'; -import { ScrollableCarousel } from './ScrollableCarousel.Importable'; +import { ScrollableCarousel } from './ScrollableCarousel'; type Props = { trails: DCRFrontCard[]; @@ -52,6 +51,10 @@ const verticalLineStyles = css` /** * A container used on fronts to display a carousel of small cards + * + * ## Why does this need to be an Island? + * + * The carouselling arrow buttons need to run javascript. */ export const ScrollableMedium = ({ trails, @@ -62,40 +65,35 @@ export const ScrollableMedium = ({ showAge, }: Props) => { return ( - - - {trails.map((trail) => { - return ( -
  • - -
  • - ); - })} -
    -
    + + {trails.map((trail) => { + return ( +
  • + +
  • + ); + })} +
    ); }; diff --git a/dotcom-rendering/src/components/ScrollableMedium.stories.tsx b/dotcom-rendering/src/components/ScrollableMedium.stories.tsx index 38b3983d38..1dcccbf9c4 100644 --- a/dotcom-rendering/src/components/ScrollableMedium.stories.tsx +++ b/dotcom-rendering/src/components/ScrollableMedium.stories.tsx @@ -2,7 +2,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { discussionApiUrl } from '../../fixtures/manual/discussionApiUrl'; import { trails } from '../../fixtures/manual/highlights-trails'; import { FrontSection } from './FrontSection'; -import { ScrollableMedium } from './ScrollableMedium'; +import { ScrollableMedium } from './ScrollableMedium.importable'; export default { title: 'Components/ScrollableMedium', diff --git a/dotcom-rendering/src/components/ScrollableSmall.tsx b/dotcom-rendering/src/components/ScrollableSmall.importable.tsx similarity index 53% rename from dotcom-rendering/src/components/ScrollableSmall.tsx rename to dotcom-rendering/src/components/ScrollableSmall.importable.tsx index 367b281a51..5f19275fcc 100644 --- a/dotcom-rendering/src/components/ScrollableSmall.tsx +++ b/dotcom-rendering/src/components/ScrollableSmall.importable.tsx @@ -7,8 +7,7 @@ import type { DCRFrontCard, } from '../types/front'; import { FrontCard } from './FrontCard'; -import { Island } from './Island'; -import { ScrollableCarousel } from './ScrollableCarousel.Importable'; +import { ScrollableCarousel } from './ScrollableCarousel'; type Props = { trails: DCRFrontCard[]; @@ -52,6 +51,10 @@ const verticalLineStyles = css` /** * A container used on fronts to display a carousel of small cards + * + * ## Why does this need to be an Island? + * + * The carouselling arrow buttons need to run javascript. */ export const ScrollableSmall = ({ trails, @@ -62,37 +65,32 @@ export const ScrollableSmall = ({ showAge, }: Props) => { return ( - - - {trails.map((trail) => { - return ( -
  • - -
  • - ); - })} -
    -
    + + {trails.map((trail) => { + return ( +
  • + +
  • + ); + })} +
    ); }; diff --git a/dotcom-rendering/src/components/ScrollableSmall.stories.tsx b/dotcom-rendering/src/components/ScrollableSmall.stories.tsx index eaf4e39b6e..2007adcf27 100644 --- a/dotcom-rendering/src/components/ScrollableSmall.stories.tsx +++ b/dotcom-rendering/src/components/ScrollableSmall.stories.tsx @@ -3,7 +3,7 @@ import { discussionApiUrl } from '../../fixtures/manual/discussionApiUrl'; import { trails } from '../../fixtures/manual/highlights-trails'; import type { DCRContainerPalette } from '../types/front'; import { FrontSection } from './FrontSection'; -import { ScrollableSmall } from './ScrollableSmall'; +import { ScrollableSmall } from './ScrollableSmall.importable'; export default { title: 'Components/ScrollableSmall', From 40168c4b7f37ff4d0d5ee08fb35cb4fb09d45642 Mon Sep 17 00:00:00 2001 From: Alex Sanders Date: Thu, 24 Oct 2024 15:28:05 +0100 Subject: [PATCH 18/67] Add `AudioPlayer` component (#12549) Co-authored-by: Daniel Clifton <110032454+DanielCliftonGuardian@users.noreply.github.com> Co-authored-by: Ravi <7014230+arelra@users.noreply.github.com> --- .../.storybook/decorators/themeDecorator.tsx | 3 +- .../AudioPlayer/AudioPlayer.stories.tsx | 39 ++ .../components/AudioPlayer/AudioPlayer.tsx | 334 ++++++++++++++++++ .../AudioPlayer/components/Playback.tsx | 115 ++++++ .../AudioPlayer/components/ProgressBar.tsx | 111 ++++++ .../AudioPlayer/components/Volume.tsx | 85 +++++ .../AudioPlayer/components/Wrapper.tsx | 34 ++ .../AudioPlayer/components/time.tsx | 51 +++ .../stories/default_audio_test.mp3 | Bin 0 -> 32600 bytes .../stories/default_audio_test.mp3.d.ts | 4 + .../src/components/AudioPlayer/styles.ts | 21 ++ .../static/icons/audio/skip-backward-15.svg | 4 + .../static/icons/audio/skip-forward-15.svg | 4 + 13 files changed, 804 insertions(+), 1 deletion(-) create mode 100644 dotcom-rendering/src/components/AudioPlayer/AudioPlayer.stories.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/components/Playback.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/components/ProgressBar.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/components/Wrapper.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/components/time.tsx create mode 100644 dotcom-rendering/src/components/AudioPlayer/stories/default_audio_test.mp3 create mode 100644 dotcom-rendering/src/components/AudioPlayer/stories/default_audio_test.mp3.d.ts create mode 100644 dotcom-rendering/src/components/AudioPlayer/styles.ts create mode 100644 dotcom-rendering/src/static/icons/audio/skip-backward-15.svg create mode 100644 dotcom-rendering/src/static/icons/audio/skip-forward-15.svg diff --git a/dotcom-rendering/.storybook/decorators/themeDecorator.tsx b/dotcom-rendering/.storybook/decorators/themeDecorator.tsx index 1eb110abac..b1f534ba8a 100644 --- a/dotcom-rendering/.storybook/decorators/themeDecorator.tsx +++ b/dotcom-rendering/.storybook/decorators/themeDecorator.tsx @@ -57,8 +57,9 @@ export const colourSchemeDecorator = (formats: ArticleFormat[]): Decorator => (Story, context) => ( <> - {formats.map((format) => ( + {formats.map((format, index) => (
    ; + +export default meta; + +type Story = StoryObj; + +export const AudioPlayer = { + args: { + // src: audioFile, + src: 'https://audio.guim.co.uk/2024/10/18-57753-USEE_181024.mp3', + mediaId: 'mediaId', + showVolumeControls: true, + }, + parameters: { + // We only want to snapshot the `multipleFormats` version below. + chromatic: { disable: true }, + }, +} satisfies Story; + +export const MultipleFormats = { + args: AudioPlayer.args, + parameters: { + formats: defaultFormats, + chromatic: { + modes: { + horizontal: allModes.splitHorizontal, + }, + }, + }, +} satisfies Story; diff --git a/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx new file mode 100644 index 0000000000..0e0127a45c --- /dev/null +++ b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx @@ -0,0 +1,334 @@ +import { log } from '@guardian/libs'; +import type { AudioEvent, TAudioEventType } from '@guardian/ophan-tracker-js'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import { getOphan } from '../../client/ophan/ophan'; +import { Playback } from './components/Playback'; +import { ProgressBar } from './components/ProgressBar'; +import { CurrentTime, Duration } from './components/time'; +import { Volume } from './components/Volume'; +import { Wrapper } from './components/Wrapper'; + +// ********************* ophan stuff ********************* + +// possible events for audio in ophan +type AudioEvents = TAudioEventType extends `audio:content:${infer E}` + ? E + : never; + +// possible progress events for audio in ophan +type AudioProgressEvents = Extract< + AudioEvents, + `${number}` +> extends `${infer N extends number}` + ? N + : never; + +const reportAudioEvent = (mediaId: string, eventName: AudioEvents) => { + const audioEvent: AudioEvent = { + id: mediaId, + eventType: `audio:content:${eventName}`, + }; + + void getOphan('Web').then((ophan) => { + ophan.record({ + audio: audioEvent, + }); + }); +}; + +// ********************* Component ********************* + +type AudioPlayerProps = { + /** The audio source you want to play. */ + src: string; + /** + * Optional, pre-computed duration of the audio source. + * If it's not provided it will be calculated once the audio is loaded. + */ + duration?: number; + /** + * Optionally hide the volume controls if setting the volume is better + * handled elsewhere, e.g on a mobile device. + */ + showVolumeControls?: boolean; + /** media element ID for Ophan */ + mediaId: string; +}; + +/** + * Audio player component. + */ +export const AudioPlayer = ({ + src, + duration: preCalculatedDuration, + showVolumeControls = true, + mediaId, +}: AudioPlayerProps) => { + // ********************* player ********************* + + // state for displaying feedback to the user + const [isPlaying, setIsPlaying] = useState(false); + const [isMuted, setIsMuted] = useState(false); + const [currentTime, setCurrentTime] = useState(0); + const [duration, setDuration] = useState(preCalculatedDuration); + const [progress, setProgress] = useState(0); + const [isWaiting, setIsWaiting] = useState(false); + const [isScrubbing, setIsScrubbing] = useState(false); + const [buffer, setBuffer] = useState(0); + + const isFirstPlay = useRef(true); + + // ref to the
    -); - /** * AdSlot component for in-article ads **on apps only** * @@ -105,7 +64,7 @@ const SupportBanner = ({ * the native layer, for it to "paint" an advert over the top of it. */ export const AdSlot = forwardRef( - ({ isFirstAdSlot, onClickSupportButton }, ref) => ( + ({ isFirstAdSlot }, ref) => ( ), ); From de4162cd64e57a67f55462c734973fab331178dd Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Fri, 11 Oct 2024 16:43:44 +0100 Subject: [PATCH 27/67] Remove upgrade messaging from AR ad slots on apps --- apps-rendering/src/adSlot.tsx | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/apps-rendering/src/adSlot.tsx b/apps-rendering/src/adSlot.tsx index 166c1a089a..ef6c903d44 100644 --- a/apps-rendering/src/adSlot.tsx +++ b/apps-rendering/src/adSlot.tsx @@ -1,14 +1,12 @@ import type { SerializedStyles } from '@emotion/react'; -import { css, ThemeProvider } from '@emotion/react'; +import { css } from '@emotion/react'; import type { ArticleFormat } from 'articleFormat'; import { from, - headlineMedium17, remSpace, textSans14, until, } from '@guardian/source/foundations'; -import { Button, buttonThemeBrandAlt } from '@guardian/source/react-components'; import { background, text } from 'palette'; import type { ReactElement } from 'react'; import { darkModeCss, wideContentWidth } from 'styles'; @@ -39,24 +37,6 @@ const adLabelsStyles = (format: ArticleFormat): SerializedStyles => css` } `; -const supportBannerStyles = (format: ArticleFormat): SerializedStyles => css` - padding: ${remSpace[3]}; - background-color: ${background.supportBanner(format)}; - - p { - ${headlineMedium17}; - margin-top: 0; - } - - button { - margin-top: ${remSpace[3]}; - } - - ${darkModeCss` - background-color: ${background.supportBannerDark(format)}; - `} -`; - const styles = (format: ArticleFormat): SerializedStyles => css` clear: both; margin: ${remSpace[4]} 0; @@ -117,12 +97,6 @@ const AdSlot = ({ className, paragraph, format }: Props): ReactElement => (

    Advertisement

    -
    -

    Support the Guardian and enjoy the app ad-free.

    - - - -
    ); From 9f353ed1f27cdd90fd2aa8fb2bcc0e28eb0745bc Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:23:53 +0100 Subject: [PATCH 28/67] Center ad label text and ad slot in placeholder --- dotcom-rendering/src/components/AdSlot.apps.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dotcom-rendering/src/components/AdSlot.apps.tsx b/dotcom-rendering/src/components/AdSlot.apps.tsx index e6141a9a27..83876a8797 100644 --- a/dotcom-rendering/src/components/AdSlot.apps.tsx +++ b/dotcom-rendering/src/components/AdSlot.apps.tsx @@ -14,6 +14,10 @@ const styles = css` clear: both; margin: ${remSpace[4]} 0; background: ${palette('--ad-background')}; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; ${until.phablet} { margin: 1em 0px; @@ -24,6 +28,8 @@ const adLabelsStyles = css` ${textSans14} padding: ${remSpace[3]}; float: left; + display: flex; + justify-content: center; /* We need to account for padding on both sides */ width: calc(100% - 2 * ${remSpace[3]}); @@ -40,6 +46,7 @@ const adLabelsStyles = css` const adSlotStyles = css` clear: both; padding-bottom: ${adHeightPx}px; + width: 100%; `; const adSlotSquareStyles = css` From 0b3dd2ef3996c62839fe567dea3964bedd9856ad Mon Sep 17 00:00:00 2001 From: Alex Sanders Date: Fri, 25 Oct 2024 10:00:50 +0100 Subject: [PATCH 29/67] Compress the fake audio data (#12680) --- .../AudioPlayer/components/WaveForm.tsx | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx b/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx index 000c67d1e0..e0b8b0ed91 100644 --- a/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx +++ b/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx @@ -43,6 +43,21 @@ const normalizeAmplitude = (data: number[]) => { return data.map((n) => n * multiplier * 100); }; +/** + * Compresses an of values to a range between the threshold and the existing + * maximum. + */ +const compress = (array: number[], threshold: number) => { + const minValue = Math.min(...array); + const maxValue = Math.max(...array); + + return array.map( + (x) => + ((x - minValue) / (maxValue - minValue)) * (maxValue - threshold) + + threshold, + ); +}; + /** Returns a string of the specified length, repeating the input string as necessary. */ function padString(str: string, length: number) { // Repeat the string until it is longer than the desired length @@ -74,8 +89,11 @@ function generateWaveform(url: string, bars: number) { // Normalize the amplitude of the fake audio data const normalized = normalizeAmplitude(shuffled); + // Compress the amplitude of the fake audio data, like a podcast would + const compressed = compress(normalized, 60); + // Return the normalized the amplitude of the fake audio data - return normalized; + return compressed; } type Theme = { @@ -150,11 +168,11 @@ export const WaveForm = ({ })} - + - + @@ -165,14 +183,14 @@ export const WaveForm = ({ {/* buffer wave */} {/* progress wave */} From 9ea62fa0b1d4e841611396c96371c56f72e9302f Mon Sep 17 00:00:00 2001 From: Emily Bourke Date: Fri, 25 Oct 2024 10:42:22 +0100 Subject: [PATCH 30/67] Use dedicated Datawrapper graphic for stories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because we’re currently using Datawrapper’s “update old versions” setting, any updates to the Datawrapper graphic used in the stories cause new UI changes that need to be approved, which is annoying. To mitigate this, I’ve created a new test graphic which can be kept for just this purpose, and not updated unless we want there to be changes in the UI tests. --- .../components/InteractiveBlockComponent.stories.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx b/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx index 4a34a82cec..27f3593213 100644 --- a/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx +++ b/dotcom-rendering/src/components/InteractiveBlockComponent.stories.tsx @@ -181,7 +181,7 @@ export const DatawrapperInline = ({ format }: StoryProps) => { { { { { Date: Fri, 25 Oct 2024 11:03:48 +0100 Subject: [PATCH 31/67] Simplify the waveform creation (#12681) --- .../AudioPlayer/components/WaveForm.tsx | 76 ++++++------------- 1 file changed, 22 insertions(+), 54 deletions(-) diff --git a/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx b/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx index e0b8b0ed91..03e386a9b9 100644 --- a/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx +++ b/dotcom-rendering/src/components/AudioPlayer/components/WaveForm.tsx @@ -1,25 +1,31 @@ import { useId, useMemo } from 'react'; -const sumArray = (array: number[]) => array.reduce((a, b) => a + b, 0); - /** * Pseudo random number generator generator ([linear congruential * generator](https://en.wikipedia.org/wiki/Linear_congruential_generator)). * * I'll be honest, I don't fully understand it, but it creates a pseudo random - * number generator based on a seed, in this case an array of numbers. + * number generator based on a seed, in this case a string. * * It's deterministic, so calls to the function it returns will always return - * the same results. + * the same results, given the same seed. * * Copilot helped me with it... */ -const getSeededRandomNumberGenerator = (array: number[]) => { +const getSeededRandomNumberGenerator = (seedString: string) => { const modulus = 2147483648; - const seed = sumArray(array) % modulus; const multiplier = 1103515245; const increment = 12345; + // convert string to numerical seed + let hashedSeed = 0; + for (let i = 0; i < seedString.length; i++) { + const char = seedString.charCodeAt(i); + hashedSeed = (hashedSeed << 5) - hashedSeed + char; + hashedSeed |= 0; // Convert to 32bit integer + } + + const seed = Math.abs(hashedSeed) % modulus; let state = seed; return function () { @@ -28,21 +34,6 @@ const getSeededRandomNumberGenerator = (array: number[]) => { }; }; -function shuffle(array: number[]) { - // Create a random number generator that's seeded with array. - const getSeededRandomNumber = getSeededRandomNumberGenerator(array); - - // Sort the array using the seeded random number generator. This means that - // the same array will always be sorted in the same (pseudo random) way. - return array.sort(() => getSeededRandomNumber() - getSeededRandomNumber()); -} - -// normalize the amplitude of the fake audio data -const normalizeAmplitude = (data: number[]) => { - const multiplier = Math.pow(Math.max(...data), -1); - return data.map((n) => n * multiplier * 100); -}; - /** * Compresses an of values to a range between the threshold and the existing * maximum. @@ -52,48 +43,25 @@ const compress = (array: number[], threshold: number) => { const maxValue = Math.max(...array); return array.map( - (x) => - ((x - minValue) / (maxValue - minValue)) * (maxValue - threshold) + + (value) => + ((value - minValue) / (maxValue - minValue)) * + (maxValue - threshold) + threshold, ); }; -/** Returns a string of the specified length, repeating the input string as necessary. */ -function padString(str: string, length: number) { - // Repeat the string until it is longer than the desired length - const result = str.repeat(Math.ceil(length / str.length)); - - // Return the truncated result to the specified length - return result.slice(0, length); -} - // Generate an array of fake audio peaks based on the URL function generateWaveform(url: string, bars: number) { - // convert the URL to a base64 string - const base64 = btoa(url); - - // Pad the base64 string to the number of bars we want - const stringOfBarLength = padString(base64, bars); + const getSeededRandomNumber = getSeededRandomNumberGenerator(url); - // Convert the string to an array of char codes (fake audio data) - const valuesFromString = Array.from(stringOfBarLength).map((_, i) => - stringOfBarLength.charCodeAt(i), + // Generate an array of fake peaks, pseudo random numbers seeded by the URL + const peaks = Array.from( + { length: bars }, + () => getSeededRandomNumber() * 100, ); - // Shuffle (sort) the fake audio data using a deterministic algorithm. This - // means the same URL will always produce the same waveform, but the - // waveforms of two similar URLs (e.g. guardian podcast URLs) won't _look_ - // all that similar. - const shuffled = shuffle(valuesFromString); - - // Normalize the amplitude of the fake audio data - const normalized = normalizeAmplitude(shuffled); - - // Compress the amplitude of the fake audio data, like a podcast would - const compressed = compress(normalized, 60); - - // Return the normalized the amplitude of the fake audio data - return compressed; + // Return the compressed fake audio data (like a podcast would be) + return compress(peaks, 60); } type Theme = { From 58998f66de85996101b1fe99c3add384a378b820 Mon Sep 17 00:00:00 2001 From: Oliver Abrahams Date: Fri, 25 Oct 2024 12:47:10 +0100 Subject: [PATCH 32/67] Add new layout for audio page (#12676) Add a new layout file for the audio articles (podcasts) Moves Audio player up the grid --------- Co-authored-by: Alex Sanders --- .../src/components/ArticleMeta.web.tsx | 34 +- .../AudioPlayerWrapper.importable.tsx | 53 ++ .../src/components/PodcastCoverImage.tsx | 41 + .../src/components/PodcastMeta.stories.tsx | 67 +- .../src/components/PodcastMeta.tsx | 65 +- dotcom-rendering/src/layouts/AudioLayout.tsx | 723 ++++++++++++++++++ dotcom-rendering/src/layouts/DecideLayout.tsx | 9 + dotcom-rendering/src/lib/audio-data.ts | 18 + dotcom-rendering/src/model/guardian.ts | 1 + dotcom-rendering/src/palette.ts | 23 +- 10 files changed, 976 insertions(+), 58 deletions(-) create mode 100644 dotcom-rendering/src/components/AudioPlayerWrapper.importable.tsx create mode 100644 dotcom-rendering/src/components/PodcastCoverImage.tsx create mode 100644 dotcom-rendering/src/layouts/AudioLayout.tsx create mode 100644 dotcom-rendering/src/lib/audio-data.ts diff --git a/dotcom-rendering/src/components/ArticleMeta.web.tsx b/dotcom-rendering/src/components/ArticleMeta.web.tsx index ad62d12862..f9f803918a 100644 --- a/dotcom-rendering/src/components/ArticleMeta.web.tsx +++ b/dotcom-rendering/src/components/ArticleMeta.web.tsx @@ -8,6 +8,7 @@ import { type ArticleFormat, ArticleSpecial, } from '../lib/articleFormat'; +import { getAudioData } from '../lib/audio-data'; import { getSoleContributor } from '../lib/byline'; import { palette as themePalette } from '../palette'; import type { Branding as BrandingType } from '../types/branding'; @@ -282,23 +283,11 @@ const metaNumbersExtrasLiveBlog = css` } `; -const getAudioDownloadUrl = ( - mainMediaElements: FEElement[] | undefined, -): string => { - const audioBlockElement = mainMediaElements?.find( - (element) => - element._type === - 'model.dotcomrendering.pageElements.AudioBlockElement', - ); - - return audioBlockElement?.assets[0]?.url ?? ''; -}; - const getSeriesTag = (tags: TagType[]): TagType | undefined => { return tags.find((tag) => tag.type === 'Series' && tag.podcast); }; -const getPodcastTag = (tags: TagType[]): Podcast | undefined => { +const getPodcast = (tags: TagType[]): Podcast | undefined => { const seriesTag = getSeriesTag(tags); return seriesTag?.podcast; @@ -339,8 +328,9 @@ export const ArticleMeta = ({ const { renderingTarget } = useConfig(); - const audioDownloadUrl = getAudioDownloadUrl(mainMediaElements); - const podcastTag = getPodcastTag(tags); + const seriesTag = getSeriesTag(tags); + const audioData = getAudioData(mainMediaElements); + const podcast = getPodcast(tags); const rssFeedUrl = getRssFeedUrl(tags); return ( @@ -380,12 +370,16 @@ export const ArticleMeta = ({ )}
    - {isAudio && podcastTag && ( + {isAudio && podcast && seriesTag && ( )} diff --git a/dotcom-rendering/src/components/AudioPlayerWrapper.importable.tsx b/dotcom-rendering/src/components/AudioPlayerWrapper.importable.tsx new file mode 100644 index 0000000000..4f85515b7f --- /dev/null +++ b/dotcom-rendering/src/components/AudioPlayerWrapper.importable.tsx @@ -0,0 +1,53 @@ +import { getConsentFor, onConsentChange } from '@guardian/libs'; +import { useEffect, useState } from 'react'; +import { AudioPlayer } from './AudioPlayer/AudioPlayer'; + +type Props = { + mediaId: string; + duration?: number; + src: string; + contentIsNotSensitive: boolean; + isAcastEnabled: boolean; +}; + +/** + * ## Why does this need to be an Island? + * + * The audio player is interactive. + * Requires consent to use audio ads. + * + * --- + * + * (No visual story exists) + */ +export const AudioPlayerWrapper = ({ + duration, + src, + mediaId, + contentIsNotSensitive, + isAcastEnabled, +}: Props) => { + const [finalSrc, setFinalSrc] = useState(src); + + useEffect(() => { + // this is how frontend checks for whether to show ads or not, + // and it's on the window in DCR but it's not clear how... + // so this just carries over the existing logic + // https://github.com/guardian/frontend/blob/ba57677baaa06f37235e8d7a983cb383d0f5c989/static/src/javascripts/projects/common/modules/audio/index.js#L25-L44 + const isPodcast = window.guardian.config.page.isPodcast; + + if (contentIsNotSensitive && isAcastEnabled && isPodcast) { + onConsentChange((consentState) => { + const consentForAcast = getConsentFor('acast', consentState); + + if (consentForAcast) { + setFinalSrc( + src.replace('https://', 'https://flex.acast.com/'), + ); + } + }); + } + }, [src, contentIsNotSensitive, isAcastEnabled]); + + return ; +}; diff --git a/dotcom-rendering/src/components/PodcastCoverImage.tsx b/dotcom-rendering/src/components/PodcastCoverImage.tsx new file mode 100644 index 0000000000..b13077dadd --- /dev/null +++ b/dotcom-rendering/src/components/PodcastCoverImage.tsx @@ -0,0 +1,41 @@ +import { css } from '@emotion/react'; +import { from } from '@guardian/source/foundations'; +import type { ArticleFormat } from '../lib/articleFormat'; +import type { TagType } from '../types/tag'; +import { Picture } from './Picture'; + +const podcastResponsiveCoverImage = css` + img { + width: 140px; + height: 140px; + } + margin-bottom: 0.375rem; + ${from.wide} { + img { + width: 219px; + height: 219px; + } + } +`; + +export const PodcastCoverImage = ({ + format, + series, +}: { + format: ArticleFormat; + series: TagType; +}) => { + return ( +
    + +
    + ); +}; diff --git a/dotcom-rendering/src/components/PodcastMeta.stories.tsx b/dotcom-rendering/src/components/PodcastMeta.stories.tsx index f96c508c32..a85556dad1 100644 --- a/dotcom-rendering/src/components/PodcastMeta.stories.tsx +++ b/dotcom-rendering/src/components/PodcastMeta.stories.tsx @@ -1,13 +1,40 @@ import { css } from '@emotion/react'; -import { palette } from '@guardian/source/foundations'; +import { from, palette } from '@guardian/source/foundations'; +import type { ArticleFormat } from '../lib/articleFormat'; +import { ArticleDesign, ArticleDisplay, Pillar } from '../lib/articleFormat'; +import type { TagType } from '../types/tag'; import { PodcastMeta } from './PodcastMeta'; +const format: ArticleFormat = { + design: ArticleDesign.Audio, + display: ArticleDisplay.Standard, + theme: Pillar.News, +}; + +const podcastSeries: TagType = { + id: 'lifeandstyle/series/comforteatingwithgracedent', + type: 'Series', + title: 'Comfort Eating with Grace Dent', + podcast: { + subscriptionUrl: + 'https://podcasts.apple.com/gb/podcast/comfort-eating-with-grace-dent/id1571446706', + spotifyUrl: + 'https://open.spotify.com/show/5fMtMMKSlUoDuxhd3a3IS0?si=3B38GpeFThy4YtxSyNxApA&dl_branch=1', + image: 'https://uploads.guim.co.uk/2023/09/18/GD_ComfortEating_3000x3000.jpg', + }, +}; + const Wrapper = ({ children }: { children: React.ReactNode }) => (
    {children} @@ -15,17 +42,35 @@ const Wrapper = ({ children }: { children: React.ReactNode }) => ( ); export const Default = () => ( - - - +
    + + + +
    ); export default { component: PodcastMeta, title: 'Components/PodcastMeta', + parameters: { + formats: [ + { + design: ArticleDesign.Audio, + display: ArticleDisplay.Standard, + }, + ], + }, }; diff --git a/dotcom-rendering/src/components/PodcastMeta.tsx b/dotcom-rendering/src/components/PodcastMeta.tsx index 38b5efa73b..26300a0d9c 100644 --- a/dotcom-rendering/src/components/PodcastMeta.tsx +++ b/dotcom-rendering/src/components/PodcastMeta.tsx @@ -1,14 +1,20 @@ import { css } from '@emotion/react'; import { - articleBold17, from, + headlineBold17, space, textSans14, + until, } from '@guardian/source/foundations'; import { LinkButton, SvgDownload } from '@guardian/source/react-components'; +import { StraightLines } from '@guardian/source-development-kitchen/react-components'; import type { ReactElement } from 'react'; +import type { ArticleFormat } from '../lib/articleFormat'; import { palette as themePalette } from '../palette'; -import type { Podcast } from '../types/tag'; +import type { Podcast, TagType } from '../types/tag'; +import { DecideLines } from './DecideLines'; +import { GridItem } from './GridItem'; +import { PodcastCoverImage } from './PodcastCoverImage'; type PodcastButtonProps = { label: string; @@ -39,8 +45,9 @@ const ApplePodcastsSvg = () => ( const podcastTitleStyles = css` color: ${themePalette('--podcast-meta-title')}; - ${articleBold17}; + ${headlineBold17}; padding: ${space[2]}px 0; + grid-area: meta-title; `; const podcastButtonStyles = css` @@ -60,16 +67,20 @@ const podcastButtonStyles = css` `; const podcastButtonListStyles = css` - display: inline-flex; - flex-wrap: wrap; - + grid-area: meta-links; ${from.leftCol} { display: block; } `; const PodcastButton = ({ label, url, icon }: PodcastButtonProps) => ( -
  • +
  • ( interface PodcastMetaProps extends Podcast { rssFeedUrl?: string; audioDownloadUrl?: string; + format: ArticleFormat; + series: TagType; } export const PodcastMeta = ({ + format, + series, subscriptionUrl, spotifyUrl, rssFeedUrl, audioDownloadUrl, }: PodcastMetaProps) => { return ( - <> +
    + + + + + +
    More ways to listen
      {!!subscriptionUrl && ( @@ -121,6 +159,15 @@ export const PodcastMeta = ({ /> )}
    - + + +
    ); }; diff --git a/dotcom-rendering/src/layouts/AudioLayout.tsx b/dotcom-rendering/src/layouts/AudioLayout.tsx new file mode 100644 index 0000000000..43f70c92d2 --- /dev/null +++ b/dotcom-rendering/src/layouts/AudioLayout.tsx @@ -0,0 +1,723 @@ +import { css } from '@emotion/react'; +import { + from, + palette as sourcePalette, + space, + until, +} from '@guardian/source/foundations'; +import { Hide } from '@guardian/source/react-components'; +import { StraightLines } from '@guardian/source-development-kitchen/react-components'; +import { AdSlot, MobileStickyContainer } from '../components/AdSlot.web'; +import { AffiliateDisclaimer } from '../components/AffiliateDisclaimer'; +import { ArticleBody } from '../components/ArticleBody'; +import { ArticleContainer } from '../components/ArticleContainer'; +import { ArticleHeadline } from '../components/ArticleHeadline'; +import { ArticleMeta } from '../components/ArticleMeta.web'; +import { ArticleTitle } from '../components/ArticleTitle'; +import { AudioPlayerWrapper } from '../components/AudioPlayerWrapper.importable'; +import { Border } from '../components/Border'; +import { Carousel } from '../components/Carousel.importable'; +import { DiscussionLayout } from '../components/DiscussionLayout'; +import { ExpandableMarketingCardWrapper } from '../components/ExpandableMarketingCardWrapper.importable'; +import { Footer } from '../components/Footer'; +import { GridItem } from '../components/GridItem'; +import { HeaderAdSlot } from '../components/HeaderAdSlot'; +import { Island } from '../components/Island'; +import { LabsHeader } from '../components/LabsHeader'; +import { Masthead } from '../components/Masthead/Masthead'; +import { MostViewedFooterData } from '../components/MostViewedFooterData.importable'; +import { MostViewedFooterLayout } from '../components/MostViewedFooterLayout'; +import { MostViewedRightWithAd } from '../components/MostViewedRightWithAd.importable'; +import { OnwardsUpper } from '../components/OnwardsUpper.importable'; +import { RightColumn } from '../components/RightColumn'; +import { Section } from '../components/Section'; +import { SlotBodyEnd } from '../components/SlotBodyEnd.importable'; +import { Standfirst } from '../components/Standfirst'; +import { StickyBottomBanner } from '../components/StickyBottomBanner.importable'; +import { SubMeta } from '../components/SubMeta'; +import { SubNav } from '../components/SubNav.importable'; +import { type ArticleFormat, ArticleSpecial } from '../lib/articleFormat'; +import { getAudioData } from '../lib/audio-data'; +import { canRenderAds } from '../lib/canRenderAds'; +import { getContributionsServiceUrl } from '../lib/contributions'; +import { decideTrail } from '../lib/decideTrail'; +import { getZIndex } from '../lib/getZIndex'; +import { parse } from '../lib/slot-machine-flags'; +import type { NavType } from '../model/extract-nav'; +import { palette as themePalette } from '../palette'; +import type { ArticleDeprecated } from '../types/article'; +import { BannerWrapper, Stuck } from './lib/stickiness'; + +const AudioGrid = ({ children }: { children: React.ReactNode }) => ( +
    + {children} +
    +); + +const maxWidth = css` + ${from.desktop} { + max-width: 620px; + } +`; + +const usCardStyles = css` + align-self: start; + position: sticky; + top: 0; + ${getZIndex('expandableMarketingCardOverlay')} + + ${from.leftCol} { + margin-top: ${space[6]}px; + margin-bottom: ${space[9]}px; + + /* To align with rich links - if we move this feature to production, we should remove this and make rich link align with everything instead */ + margin-left: 1px; + margin-right: -1px; + } + + ${from.wide} { + margin-left: 0; + } +`; + +interface Props { + article: ArticleDeprecated; + format: ArticleFormat; +} + +interface WebProps extends Props { + NAV: NavType; +} + +export const AudioLayout = (props: WebProps) => { + const { article, format } = props; + const audioData = getAudioData(article.mainMediaElements); + + const { + config: { isPaidContent, host, hasSurveyAd }, + editionId, + } = article; + + const showBodyEndSlot = parse(article.slotMachineFlags ?? '').showBodyEnd; + + const { absoluteServerTimes = false } = article.config.switches; + + const showComments = article.isCommentable && !isPaidContent; + + const { branding } = article.commercialProperties[article.editionId]; + + const contributionsServiceUrl = getContributionsServiceUrl(article); + + const isLabs = format.theme === ArticleSpecial.Labs; + + const renderAds = canRenderAds(article); + + return ( + <> +
    + {renderAds && ( + +
    + +
    +
    + )} + +
    + + {format.theme === ArticleSpecial.Labs && ( + +
    + +
    +
    + )} + + {renderAds && hasSurveyAd && ( + + )} + +
    +
    + + + + + + {format.theme === ArticleSpecial.Labs ? ( + <> + ) : ( + + )} + + +
    + +
    +
    + + <> +
    + + {!!article.affiliateLinksDisclaimer && ( + + )} +
    +
    + + + + + +
    + +
    + + {audioData && ( + + + + )} + + + + + + + + + + + + + + {showBodyEndSlot && ( + + + + )} + + + + + +
    + + + + + +
    +
    +
    +
    + + {renderAds && !isLabs && ( +
    + +
    + )} + + {article.storyPackage && ( +
    + + + +
    + )} + + + + + {showComments && ( +
    + +
    + )} + + {!isPaidContent && ( +
    + + + + + +
    + )} + + {renderAds && !isLabs && ( +
    + +
    + )} +
    + + <> + {props.NAV.subNavSections && ( +
    + + + +
    + )} +
    +
    +
    + + + + + + + + + ); +}; diff --git a/dotcom-rendering/src/layouts/DecideLayout.tsx b/dotcom-rendering/src/layouts/DecideLayout.tsx index e256aade80..b55f497379 100644 --- a/dotcom-rendering/src/layouts/DecideLayout.tsx +++ b/dotcom-rendering/src/layouts/DecideLayout.tsx @@ -6,6 +6,7 @@ import { import type { NavType } from '../model/extract-nav'; import type { ArticleDeprecated } from '../types/article'; import type { RenderingTarget } from '../types/renderingTarget'; +import { AudioLayout } from './AudioLayout'; import { CommentLayout } from './CommentLayout'; import { FullPageInteractiveLayout } from './FullPageInteractiveLayout'; import { ImmersiveLayout } from './ImmersiveLayout'; @@ -264,6 +265,14 @@ const DecideLayoutWeb = ({ format={format} /> ); + case ArticleDesign.Audio: + return ( + + ); default: return ( { + const audioBlockElement = mainMediaElements?.find( + (element) => + element._type === + 'model.dotcomrendering.pageElements.AudioBlockElement', + ); + if (audioBlockElement?.assets[0] && audioBlockElement.elementId) { + return { + audioDownloadUrl: audioBlockElement.assets[0].url, + mediaId: audioBlockElement.elementId, + }; + } + return undefined; +}; diff --git a/dotcom-rendering/src/model/guardian.ts b/dotcom-rendering/src/model/guardian.ts index 71748742d6..07fe56d60b 100644 --- a/dotcom-rendering/src/model/guardian.ts +++ b/dotcom-rendering/src/model/guardian.ts @@ -35,6 +35,7 @@ export interface Guardian { isDev?: boolean; userAttributesApiUrl?: string; idApiUrl?: string; + isPodcast?: boolean; }; libs: { googletag: string; diff --git a/dotcom-rendering/src/palette.ts b/dotcom-rendering/src/palette.ts index 50efbc050f..285ac4c3b5 100644 --- a/dotcom-rendering/src/palette.ts +++ b/dotcom-rendering/src/palette.ts @@ -2217,6 +2217,8 @@ const standfirstLinkBorderLight: PaletteFunction = ({ design, theme }) => { case ArticleSpecial.SpecialReportAlt: return sourcePalette.news[600]; } + case ArticleDesign.Audio: + return sourcePalette.neutral[86]; default: switch (theme) { case ArticleSpecial.SpecialReport: @@ -2368,24 +2370,7 @@ const standfirstLinkTextLight: PaletteFunction = ({ design, theme }) => { return sourcePalette.neutral[86]; } case ArticleDesign.Audio: - switch (theme) { - case Pillar.News: - return sourcePalette.news[500]; - case Pillar.Opinion: - return sourcePalette.opinion[500]; - case Pillar.Sport: - return sourcePalette.sport[500]; - case Pillar.Culture: - return sourcePalette.culture[500]; - case Pillar.Lifestyle: - return sourcePalette.lifestyle[500]; - case ArticleSpecial.Labs: - return sourcePalette.labs[400]; - case ArticleSpecial.SpecialReport: - return sourcePalette.specialReport[500]; - case ArticleSpecial.SpecialReportAlt: - return sourcePalette.specialReportAlt[300]; - } + return sourcePalette.neutral[86]; default: switch (theme) { case ArticleSpecial.SpecialReport: @@ -3285,9 +3270,11 @@ const articleLinkBorderHoverLight: PaletteFunction = ({ design, theme }) => { if (design === ArticleDesign.Audio) { return sourcePalette.neutral[86]; } + if (theme === ArticleSpecial.Labs) { return sourcePalette.neutral[7]; } + if (theme === ArticleSpecial.SpecialReport) { return sourcePalette.specialReport[100]; } From 0044fca58fa98bbf5b9897c1aa332e7823f5fdae Mon Sep 17 00:00:00 2001 From: Alex Sanders Date: Fri, 25 Oct 2024 14:25:27 +0100 Subject: [PATCH 33/67] Use mute icon for muting (#12685) --- .../src/components/AudioPlayer/components/Volume.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx b/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx index ffea1c3ae6..58dfbad7d7 100644 --- a/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx +++ b/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx @@ -1,6 +1,6 @@ import { css } from '@emotion/react'; import { from, palette } from '@guardian/source/foundations'; -import { SvgAudio } from '@guardian/source/react-components'; +import { SvgAudio, SvgAudioMute } from '@guardian/source/react-components'; import { buttonBaseCss } from '../styles'; type ButtonProps = React.ComponentPropsWithoutRef<'button'>; @@ -63,7 +63,7 @@ Volume.Mute = ({ ...props }: { isMuted: boolean } & Omit) => ( - Date: Fri, 25 Oct 2024 15:39:52 +0100 Subject: [PATCH 34/67] Apply smaller headline size on mobile (#12679) --- .../src/components/ScrollableSmall.importable.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/ScrollableSmall.importable.tsx b/dotcom-rendering/src/components/ScrollableSmall.importable.tsx index 5f19275fcc..bbe820ab2c 100644 --- a/dotcom-rendering/src/components/ScrollableSmall.importable.tsx +++ b/dotcom-rendering/src/components/ScrollableSmall.importable.tsx @@ -76,7 +76,10 @@ export const ScrollableSmall = ({ containerPalette={containerPalette} containerType={containerType} showAge={!!showAge} - headlineSizes={{ desktop: 'xxsmall' }} + headlineSizes={{ + desktop: 'xxsmall', + mobile: 'xxxsmall', + }} imagePositionOnDesktop="left" imagePositionOnMobile="left" imageSize="small" // TODO - needs fixed width images From c320dd6a34ce06d12a475f43a918d2a19061b3dc Mon Sep 17 00:00:00 2001 From: Oliver Abrahams Date: Fri, 25 Oct 2024 16:15:14 +0100 Subject: [PATCH 35/67] Hide most viewed in right column on the AudioLayout.tsx (#12687) --- .../src/components/MostViewedRightWithAd.importable.tsx | 4 +++- dotcom-rendering/src/layouts/AudioLayout.tsx | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dotcom-rendering/src/components/MostViewedRightWithAd.importable.tsx b/dotcom-rendering/src/components/MostViewedRightWithAd.importable.tsx index 56ce6d03e4..8faf78c9e2 100644 --- a/dotcom-rendering/src/components/MostViewedRightWithAd.importable.tsx +++ b/dotcom-rendering/src/components/MostViewedRightWithAd.importable.tsx @@ -14,6 +14,7 @@ type Props = { isPaidContent: boolean; renderAds: boolean; shouldHideReaderRevenue: boolean; + shouldHideMostViewed?: boolean; }; /** @@ -41,6 +42,7 @@ export const MostViewedRightWithAd = ({ isPaidContent, renderAds, shouldHideReaderRevenue, + shouldHideMostViewed = false, }: Props) => { const componentDataAttribute = 'most-viewed-right-container'; const { renderingTarget } = useConfig(); @@ -75,7 +77,7 @@ export const MostViewedRightWithAd = ({ /> ) : null} - {!isPaidContent ? ( + {!isPaidContent && !shouldHideMostViewed ? ( { !!article.config .shouldHideReaderRevenue } + shouldHideMostViewed={true} /> From 5438cc20f1bfcccc831054c36061d0adfdfa5fd1 Mon Sep 17 00:00:00 2001 From: Alex Sanders Date: Fri, 25 Oct 2024 16:17:25 +0100 Subject: [PATCH 36/67] Remove volume controls from `AudioPlayer` (#12688) Co-authored-by: oliverabrahams --- .../AudioPlayer/AudioPlayer.stories.tsx | 1 - .../components/AudioPlayer/AudioPlayer.tsx | 31 +------ .../AudioPlayer/components/Volume.tsx | 85 ------------------- .../AudioPlayer/components/Wrapper.tsx | 12 +-- 4 files changed, 4 insertions(+), 125 deletions(-) delete mode 100644 dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx diff --git a/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.stories.tsx b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.stories.tsx index bb68fbc366..b5f9ff3daa 100644 --- a/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.stories.tsx +++ b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.stories.tsx @@ -18,7 +18,6 @@ export const AudioPlayer = { // src: audioFile, src: 'https://audio.guim.co.uk/2024/10/18-57753-USEE_181024.mp3', mediaId: 'mediaId', - showVolumeControls: true, }, parameters: { // We only want to snapshot the `multipleFormats` version below. diff --git a/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx index e0f989f1cf..4663689d10 100644 --- a/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx +++ b/dotcom-rendering/src/components/AudioPlayer/AudioPlayer.tsx @@ -5,7 +5,6 @@ import { getOphan } from '../../client/ophan/ophan'; import { Playback } from './components/Playback'; import { ProgressBar } from './components/ProgressBar'; import { CurrentTime, Duration } from './components/time'; -import { Volume } from './components/Volume'; import { Wrapper } from './components/Wrapper'; // ********************* ophan stuff ********************* @@ -46,11 +45,6 @@ type AudioPlayerProps = { * If it's not provided it will be calculated once the audio is loaded. */ duration?: number; - /** - * Optionally hide the volume controls if setting the volume is better - * handled elsewhere, e.g on a mobile device. - */ - showVolumeControls?: boolean; /** media element ID for Ophan */ mediaId: string; }; @@ -61,14 +55,12 @@ type AudioPlayerProps = { export const AudioPlayer = ({ src, duration: preCalculatedDuration, - showVolumeControls = true, mediaId, }: AudioPlayerProps) => { // ********************* player ********************* // state for displaying feedback to the user const [isPlaying, setIsPlaying] = useState(false); - const [isMuted, setIsMuted] = useState(false); const [currentTime, setCurrentTime] = useState(0); const [duration, setDuration] = useState(preCalculatedDuration); const [progress, setProgress] = useState(0); @@ -225,20 +217,6 @@ export const AudioPlayer = ({ setIsScrubbing(false); }, []); - const mute = useCallback(() => { - if (audioRef.current) { - audioRef.current.volume = 0; - setIsMuted(true); - } - }, []); - - const unMute = useCallback(() => { - if (audioRef.current) { - audioRef.current.volume = 1; - setIsMuted(false); - } - }, []); - // ********************* effects ********************* useEffect(() => { @@ -292,7 +270,7 @@ export const AudioPlayer = ({ {/* custom guardian controls that interact with the native player */} - + @@ -322,13 +300,6 @@ export const AudioPlayer = ({ disabled={isWaiting || !isPlaying} /> - - {showVolumeControls && ( - - - - - )} ); diff --git a/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx b/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx deleted file mode 100644 index 58dfbad7d7..0000000000 --- a/dotcom-rendering/src/components/AudioPlayer/components/Volume.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { css } from '@emotion/react'; -import { from, palette } from '@guardian/source/foundations'; -import { SvgAudio, SvgAudioMute } from '@guardian/source/react-components'; -import { buttonBaseCss } from '../styles'; - -type ButtonProps = React.ComponentPropsWithoutRef<'button'>; - -const Control = (props: ButtonProps) => { - return ( -
  • ); From d93eef4e40fb83e246e92a2e57d8bc4f6e5affd9 Mon Sep 17 00:00:00 2001 From: Anna Beddow Date: Mon, 28 Oct 2024 14:34:04 +0000 Subject: [PATCH 42/67] =?UTF-8?q?[Fairground=20=F0=9F=8E=A1]=C2=A0Add=20th?= =?UTF-8?q?e=20`static/medium/four`=20container=20to=20DCR=20(#12696)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add the static/medium/four container to DCR * fix linting * remove log --- .../src/components/DecideContainer.tsx | 12 +++- .../components/StaticMediumFour.stories.tsx | 67 +++++++++++++++++++ .../src/components/StaticMediumFour.tsx | 65 ++++++++++++++++++ .../src/model/enhanceCollections.ts | 6 +- 4 files changed, 144 insertions(+), 6 deletions(-) create mode 100644 dotcom-rendering/src/components/StaticMediumFour.stories.tsx create mode 100644 dotcom-rendering/src/components/StaticMediumFour.tsx diff --git a/dotcom-rendering/src/components/DecideContainer.tsx b/dotcom-rendering/src/components/DecideContainer.tsx index e4e497db32..f68d04c4b3 100644 --- a/dotcom-rendering/src/components/DecideContainer.tsx +++ b/dotcom-rendering/src/components/DecideContainer.tsx @@ -29,6 +29,7 @@ import { NavList } from './NavList'; import { ScrollableHighlights } from './ScrollableHighlights.importable'; import { ScrollableMedium } from './ScrollableMedium.importable'; import { ScrollableSmall } from './ScrollableSmall.importable'; +import { StaticMediumFour } from './StaticMediumFour'; type Props = { trails: DCRFrontCard[]; @@ -277,9 +278,18 @@ export const DecideContainer = ({ /> ); + case 'static/medium/4': + return ( + + ); case 'scrollable/feature': case 'static/feature/2': - case 'static/medium/4': default: return

    {containerType} is not yet supported

    ; } diff --git a/dotcom-rendering/src/components/StaticMediumFour.stories.tsx b/dotcom-rendering/src/components/StaticMediumFour.stories.tsx new file mode 100644 index 0000000000..2fc4a8caf4 --- /dev/null +++ b/dotcom-rendering/src/components/StaticMediumFour.stories.tsx @@ -0,0 +1,67 @@ +import { breakpoints } from '@guardian/source/foundations'; +import type { Meta, StoryObj } from '@storybook/react'; +import { discussionApiUrl } from '../../fixtures/manual/discussionApiUrl'; +import { trails } from '../../fixtures/manual/trails'; +import { FrontSection } from './FrontSection'; +import { StaticMediumFour } from './StaticMediumFour'; + +const meta = { + component: StaticMediumFour, + title: 'Components/StaticMediumFour', + parameters: { + chromatic: { + viewports: [ + breakpoints.mobile, + breakpoints.tablet, + breakpoints.wide, + ], + }, + }, + args: { + trails, + showAge: true, + absoluteServerTimes: true, + imageLoading: 'eager', + }, + render: (args) => ( + + + + ), +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const One: Story = { + name: 'With one card', + args: { + trails: trails.slice(0, 1), + }, +}; + +export const Two: Story = { + name: 'With two cards', + args: { + trails: trails.slice(0, 2), + }, +}; + +export const Three: Story = { + name: 'With three cards', + args: { + trails: trails.slice(0, 3), + }, +}; + +export const Four: Story = { + name: 'With four cards', + args: { + trails: trails.slice(0, 4), + }, +}; diff --git a/dotcom-rendering/src/components/StaticMediumFour.tsx b/dotcom-rendering/src/components/StaticMediumFour.tsx new file mode 100644 index 0000000000..4ba8592b97 --- /dev/null +++ b/dotcom-rendering/src/components/StaticMediumFour.tsx @@ -0,0 +1,65 @@ +import type { DCRContainerPalette, DCRFrontCard } from '../types/front'; +import { LI } from './Card/components/LI'; +import { UL } from './Card/components/UL'; +import type { Loading } from './CardPicture'; +import { FrontCard } from './FrontCard'; + +type Props = { + trails: DCRFrontCard[]; + imageLoading: Loading; + containerPalette?: DCRContainerPalette; + showAge?: boolean; + absoluteServerTimes: boolean; + showImage?: boolean; +}; + +export const StaticMediumFour = ({ + trails, + containerPalette, + showAge, + absoluteServerTimes, + imageLoading, + showImage = true, +}: Props) => { + const cards = trails.splice(0, 4); + + return ( +
      + {cards.map((card, cardIndex) => { + return ( +
    • 0} + > + +
    • + ); + })} +
    + ); +}; diff --git a/dotcom-rendering/src/model/enhanceCollections.ts b/dotcom-rendering/src/model/enhanceCollections.ts index 3bd9f6e3a4..cdb664b72c 100644 --- a/dotcom-rendering/src/model/enhanceCollections.ts +++ b/dotcom-rendering/src/model/enhanceCollections.ts @@ -13,11 +13,7 @@ const FORBIDDEN_CONTAINERS = [ 'qatar treat', ]; -const UNSUPPORTED_CONTAINERS = [ - 'scrollable/feature', - 'static/feature/2', - 'static/medium/4', -]; +const UNSUPPORTED_CONTAINERS = ['scrollable/feature', 'static/feature/2']; const PALETTE_STYLES_URI = 'https://content.guardianapis.com/atom/interactive/interactives/2022/03/29/fronts-container-colours/default'; From a546cde4c5386674062fbc6e5e4c5b24c55c4e7b Mon Sep 17 00:00:00 2001 From: Emma Imber Date: Mon, 28 Oct 2024 14:57:26 +0000 Subject: [PATCH 43/67] Bump commercial to 23.2.0 --- dotcom-rendering/package.json | 2 +- pnpm-lock.yaml | 52 +++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index 270a208605..b82cd1b04f 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -41,7 +41,7 @@ "@guardian/bridget": "7.0.0", "@guardian/browserslist-config": "6.1.0", "@guardian/cdk": "50.13.0", - "@guardian/commercial": "23.0.0", + "@guardian/commercial": "23.2.0", "@guardian/core-web-vitals": "7.0.0", "@guardian/eslint-config": "7.0.1", "@guardian/eslint-config-typescript": "9.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17b53efa9c..02b4acfff2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -338,8 +338,8 @@ importers: specifier: 50.13.0 version: 50.13.0(@swc/core@1.7.26)(@types/node@20.14.10)(aws-cdk-lib@2.100.0)(aws-cdk@2.100.0)(constructs@10.3.0)(typescript@5.5.3) '@guardian/commercial': - specifier: 23.0.0 - version: 23.0.0(@guardian/ab-core@8.0.0)(@guardian/core-web-vitals@7.0.0)(@guardian/identity-auth-frontend@4.0.0)(@guardian/identity-auth@2.1.0)(@guardian/libs@19.1.0)(@guardian/source@8.0.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.3) + specifier: 23.2.0 + version: 23.2.0(@guardian/ab-core@8.0.0)(@guardian/core-web-vitals@7.0.0)(@guardian/identity-auth-frontend@4.0.0)(@guardian/identity-auth@2.1.0)(@guardian/libs@19.1.0)(@guardian/source@8.0.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.3) '@guardian/core-web-vitals': specifier: 7.0.0 version: 7.0.0(@guardian/libs@19.1.0)(tslib@2.6.2)(typescript@5.5.3)(web-vitals@4.2.3) @@ -4071,8 +4071,8 @@ packages: - typescript dev: false - /@guardian/commercial@23.0.0(@guardian/ab-core@8.0.0)(@guardian/core-web-vitals@7.0.0)(@guardian/identity-auth-frontend@4.0.0)(@guardian/identity-auth@2.1.0)(@guardian/libs@19.1.0)(@guardian/source@8.0.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.3): - resolution: {integrity: sha512-IUEBsWXJ4RrzMcBIp/a44YWVIxbrzmSy859c0wcI7aOXMyVCcEDyzf2cJ7wyp73+MwRdBh6gQoANDSHqr7AOhw==} + /@guardian/commercial@23.2.0(@guardian/ab-core@8.0.0)(@guardian/core-web-vitals@7.0.0)(@guardian/identity-auth-frontend@4.0.0)(@guardian/identity-auth@2.1.0)(@guardian/libs@19.1.0)(@guardian/source@8.0.0)(react-dom@18.3.1)(react@18.3.1)(typescript@5.5.3): + resolution: {integrity: sha512-aQss6IZQN10Io3OfZ+4uSiEAJwhW9waEpos4bbUI5S3yx0dV75kuz33ba0/wt2szT34RdMVTq4NgtQWiUeNqwg==} peerDependencies: '@guardian/ab-core': ^8.0.0 '@guardian/core-web-vitals': ^7.0.0 @@ -4088,7 +4088,7 @@ packages: '@guardian/identity-auth': 2.1.0(@guardian/libs@19.1.0)(tslib@2.6.2)(typescript@5.5.3) '@guardian/identity-auth-frontend': 4.0.0(@guardian/identity-auth@2.1.0)(@guardian/libs@19.1.0)(tslib@2.6.2)(typescript@5.5.3) '@guardian/libs': 19.1.0(tslib@2.6.2)(typescript@5.5.3) - '@guardian/prebid.js': 8.52.0-6(react-dom@18.3.1)(react@18.3.1)(tslib@2.6.2)(typescript@5.5.3) + '@guardian/prebid.js': 8.52.0-7(react-dom@18.3.1)(react@18.3.1)(tslib@2.6.2)(typescript@5.5.3) '@guardian/source': 8.0.0(@emotion/react@11.11.3)(@types/react@18.3.1)(react@18.3.1)(tslib@2.6.2)(typescript@5.5.3) '@octokit/core': 6.1.2 fastdom: 1.0.12 @@ -4247,7 +4247,7 @@ packages: '@typescript-eslint/parser': 6.18.0(eslint@8.56.0)(typescript@5.5.3) eslint: 8.56.0 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.18.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) tslib: 2.6.2 typescript: 5.5.3 transitivePeerDependencies: @@ -4388,8 +4388,8 @@ packages: '@guardian/tsconfig': 1.0.0 dev: false - /@guardian/prebid.js@8.52.0-6(react-dom@18.3.1)(react@18.3.1)(tslib@2.6.2)(typescript@5.5.3): - resolution: {integrity: sha512-YBsPkX5XxHSVNWw1PDX4c6WArH7e5FOomFM59QVIDuWNqrI2vyORvN7df2JukiDvCBxVggGUc1n77Lub2jstZw==} + /@guardian/prebid.js@8.52.0-7(react-dom@18.3.1)(react@18.3.1)(tslib@2.6.2)(typescript@5.5.3): + resolution: {integrity: sha512-RWg8vyyfZccrqRXu5w+nnghsskYCHkLWQqXdFh1iSadYRU+exuNcynxStKdzUZdPNnh8aUyEuMIoaZXHmEZEYg==} engines: {node: '>=12.0.0'} dependencies: '@babel/core': 7.25.8 @@ -6468,7 +6468,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.5.3) tslib: 2.6.2 typescript: 5.5.3 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: - supports-color dev: false @@ -8082,8 +8082,8 @@ packages: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) dev: false /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.94.0): @@ -8093,8 +8093,8 @@ packages: webpack: 5.x.x webpack-cli: 5.x.x dependencies: - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) dev: false /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.4)(webpack@5.94.0): @@ -8108,8 +8108,8 @@ packages: webpack-dev-server: optional: true dependencies: - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.94.0) dev: false @@ -8662,7 +8662,7 @@ packages: '@babel/core': 7.25.8 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /babel-plugin-istanbul@6.1.1: @@ -9873,7 +9873,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.41) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /css-loader@7.1.2(webpack@5.94.0): @@ -10824,7 +10824,7 @@ packages: enhanced-resolve: 5.17.0 eslint: 8.56.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.15.1 @@ -11832,7 +11832,7 @@ packages: semver: 7.5.4 tapable: 2.2.1 typescript: 5.5.3 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /form-data@3.0.1: @@ -17313,7 +17313,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /stylelint-config-recommended@14.0.0(stylelint@16.5.0): @@ -17840,7 +17840,7 @@ packages: semver: 7.5.4 source-map: 0.7.4 typescript: 5.5.3 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /ts-node@10.9.2(@swc/core@1.7.26)(@types/node@16.18.68)(typescript@5.1.6): @@ -18621,7 +18621,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /webpack-dev-middleware@7.2.1(webpack@5.94.0): @@ -18639,7 +18639,7 @@ packages: on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) dev: false /webpack-dev-middleware@7.4.2(webpack@5.94.0): @@ -18701,8 +18701,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@5.0.4)(webpack@5.94.0) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.0.4)(webpack@5.94.0) webpack-dev-middleware: 7.2.1(webpack@5.94.0) ws: 8.17.1 transitivePeerDependencies: @@ -18747,7 +18747,7 @@ packages: webpack: ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) webpack-sources: 2.3.1 dev: false patched: true From cb7866f89d7b2c719efe41ceb0fb35f938bbea4e Mon Sep 17 00:00:00 2001 From: Oliver Abrahams Date: Mon, 28 Oct 2024 15:33:52 +0000 Subject: [PATCH 44/67] Remove the text colour change for dark mode on audio articles --- dotcom-rendering/src/palette.ts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/dotcom-rendering/src/palette.ts b/dotcom-rendering/src/palette.ts index 285ac4c3b5..a5dab93c50 100644 --- a/dotcom-rendering/src/palette.ts +++ b/dotcom-rendering/src/palette.ts @@ -59,14 +59,7 @@ const textblockTextLight: PaletteFunction = (format: ArticleFormat) => { } }; -const textblockTextDark: PaletteFunction = (format: ArticleFormat) => { - switch (format.design) { - case ArticleDesign.Audio: - return sourcePalette.neutral[7]; - default: - return 'inherit'; - } -}; +const textblockTextDark: PaletteFunction = () => 'inherit'; const headlineTextLight: PaletteFunction = ({ design, display, theme }) => { switch (display) { From d05741d16f45d0eb6a36fe79be217ba13168ba88 Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:50:52 +0100 Subject: [PATCH 45/67] Add YouTube iframe fullscreen behaviour for Android --- .../YoutubeAtom/YoutubeAtomPlayer.tsx | 45 ++++++++++++++----- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx index 63ace483dd..bf82397e4d 100644 --- a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx +++ b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx @@ -1,4 +1,4 @@ -import { css } from '@emotion/react'; +import { css, Global } from '@emotion/react'; import type { Participations } from '@guardian/ab-core'; import { buildImaAdTagUrl } from '@guardian/commercial'; import type { ConsentState } from '@guardian/libs'; @@ -74,6 +74,19 @@ const imaPlayerStyles = css` height: 100%; `; +const fullscreenStyles = (id: string) => css` + html { + overflow: hidden; + } + iframe#${id} { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + } +`; + /** * Dispatches a custom play event so that other players listening * for this event will stop playing @@ -398,6 +411,7 @@ export const YoutubeAtomPlayer = ({ }); const [playerReady, setPlayerReady] = useState(false); + const [isFullscreen, setIsFullscreen] = useState(false); const playerReadyCallback = useCallback(() => setPlayerReady(true), []); const playerListeners = useRef([]); /** @@ -472,8 +486,7 @@ export const YoutubeAtomPlayer = ({ from: 'YoutubeAtomPlayer fullscreen', videoId, }); - // For Android only, iOS will stub the method - void getVideoClient().fullscreen(); + setIsFullscreen((prev) => !prev); } }, }, @@ -644,17 +657,27 @@ export const YoutubeAtomPlayer = ({ }; }, []); + useEffect(() => { + if (renderingTarget === 'Apps') { + console.log('fullscreen', isFullscreen); + // For Android only, iOS will stub the method + // void getVideoClient().fullscreen(isFullscreen); + } + }, [isFullscreen, renderingTarget]); + /** * An element for the YouTube player to hook into the dom */ return ( -
    + <> + {isFullscreen && } +
    + ); }; From 33a275f46c4475326dc4ba25ae9ea284d61e82d6 Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Mon, 30 Sep 2024 17:49:03 +0100 Subject: [PATCH 46/67] Use new Bridget setFullscreen method --- dotcom-rendering/package.json | 2 +- .../YoutubeAtom/YoutubeAtomPlayer.tsx | 22 +++++++-- dotcom-rendering/src/lib/getZIndex.ts | 1 + pnpm-lock.yaml | 46 ++++++++++--------- 4 files changed, 45 insertions(+), 26 deletions(-) diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index 270a208605..bd2757c801 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -38,7 +38,7 @@ "@emotion/server": "11.11.0", "@guardian/ab-core": "8.0.0", "@guardian/braze-components": "21.0.0", - "@guardian/bridget": "7.0.0", + "@guardian/bridget": "0.0.0-2024-10-10-snapshot-1", "@guardian/browserslist-config": "6.1.0", "@guardian/cdk": "50.13.0", "@guardian/commercial": "23.0.0", diff --git a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx index bf82397e4d..e7d3bcadee 100644 --- a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx +++ b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx @@ -11,6 +11,7 @@ import { useState, } from 'react'; import { getVideoClient } from '../../lib/bridgetApi'; +import { getZIndex } from '../../lib/getZIndex'; import { getAuthStatus } from '../../lib/identity'; import type { RenderingTarget } from '../../types/renderingTarget'; import type { google } from './ima'; @@ -84,6 +85,7 @@ const fullscreenStyles = (id: string) => css` left: 0; width: 100vw; height: 100vh; + z-index: ${getZIndex('youTubeFullscreen')}; } `; @@ -412,6 +414,8 @@ export const YoutubeAtomPlayer = ({ const [playerReady, setPlayerReady] = useState(false); const [isFullscreen, setIsFullscreen] = useState(false); + const [applyFullscreenStyles, setApplyFullscreenStyles] = + useState(false); const playerReadyCallback = useCallback(() => setPlayerReady(true), []); const playerListeners = useRef([]); /** @@ -657,11 +661,21 @@ export const YoutubeAtomPlayer = ({ }; }, []); + /** + * For apps rendered articles that return true for `webFullscreen` the web layer + * needs to handle the application of fullscreen styles and inform the native + * layer of the fullscreen state. + * + * This is only for the YouTube player in Android web views which does not support fullscreen + */ useEffect(() => { if (renderingTarget === 'Apps') { - console.log('fullscreen', isFullscreen); - // For Android only, iOS will stub the method - // void getVideoClient().fullscreen(isFullscreen); + const videoClient = getVideoClient(); + void videoClient.setFullscreen(isFullscreen).then((success) => { + if (success) { + setApplyFullscreenStyles(isFullscreen); + } + }); } }, [isFullscreen, renderingTarget]); @@ -670,7 +684,7 @@ export const YoutubeAtomPlayer = ({ */ return ( <> - {isFullscreen && } + {applyFullscreenStyles && }
    Date: Fri, 18 Oct 2024 17:51:20 +0100 Subject: [PATCH 47/67] Upgrade @guardian/bridget@8.0.0 --- dotcom-rendering/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index bd2757c801..6ab034b7e0 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -38,7 +38,7 @@ "@emotion/server": "11.11.0", "@guardian/ab-core": "8.0.0", "@guardian/braze-components": "21.0.0", - "@guardian/bridget": "0.0.0-2024-10-10-snapshot-1", + "@guardian/bridget": "8.0.0", "@guardian/browserslist-config": "6.1.0", "@guardian/cdk": "50.13.0", "@guardian/commercial": "23.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37340b40a9..22d6640586 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -329,8 +329,8 @@ importers: specifier: 21.0.0 version: 21.0.0(@emotion/react@11.11.3)(@guardian/libs@19.1.0)(@guardian/source@8.0.0)(react@18.3.1) '@guardian/bridget': - specifier: 0.0.0-2024-10-10-snapshot-1 - version: 0.0.0-2024-10-10-snapshot-1 + specifier: 8.0.0 + version: 8.0.0 '@guardian/browserslist-config': specifier: 6.1.0 version: 6.1.0(browserslist@4.23.0)(tslib@2.6.2) @@ -3999,14 +3999,14 @@ packages: react: 18.3.1 dev: false - /@guardian/bridget@0.0.0-2024-10-10-snapshot-1: - resolution: {integrity: sha512-y7iXxGiqAxxgNC2+xAuFjjYxkjmQwJ5kdWojNzpnrfbIiMyNoQTFHBC9tPs0sR1OQ2MkGUno/xb6RAwnTv+O1Q==} - dev: false - /@guardian/bridget@7.0.0: resolution: {integrity: sha512-S0NmkyYd1hQRyOUj7l9Ddfr6FKEHJFLpS2jSMkGexCSscsZd7e8JBdFmlKSUljt4G6hrxcaaevsV4QfT9LnhUg==} dev: false + /@guardian/bridget@8.0.0: + resolution: {integrity: sha512-ae+yENkvcEOZBDqFE8RkdjyLki/iczatDc+MBTZS2vipmrcTeP0lOkZcsq/QxlNMSvZ6HNOETV8MIcGK/Gx3Hw==} + dev: false + /@guardian/browserslist-config@6.1.0(browserslist@4.23.0)(tslib@2.6.2): resolution: {integrity: sha512-qM0QxAv6E5IHXny5Okli6AZXEio0mpXzzEzz38qrb4IwO91R6eWVKyihdj0qW2k7TVxMFVOSfNmBZ1H5EiJhgw==} peerDependencies: From 3ba7de970b5b02ef3fbe598f4e106f62b6d51b5b Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Mon, 21 Oct 2024 11:49:43 +0100 Subject: [PATCH 48/67] Update comments --- .../src/components/YoutubeAtom/YoutubeAtomPlayer.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx index e7d3bcadee..0bd5696b3d 100644 --- a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx +++ b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx @@ -662,9 +662,8 @@ export const YoutubeAtomPlayer = ({ }, []); /** - * For apps rendered articles that return true for `webFullscreen` the web layer - * needs to handle the application of fullscreen styles and inform the native - * layer of the fullscreen state. + * For apps rendered articles that return true for `setFullscreen` the web layer + * needs to handle the application of fullscreen styles * * This is only for the YouTube player in Android web views which does not support fullscreen */ From 5744dff56f6500af29d60711057c7845d8353c0c Mon Sep 17 00:00:00 2001 From: Ravi <7014230+arelra@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:35:35 +0100 Subject: [PATCH 49/67] remove external_fullscreen --- .../src/components/YoutubeAtom/YoutubeAtomPlayer.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx index 0bd5696b3d..6a4c3e260d 100644 --- a/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx +++ b/dotcom-rendering/src/components/YoutubeAtom/YoutubeAtomPlayer.tsx @@ -465,9 +465,6 @@ export const YoutubeAtomPlayer = ({ videoId, playerVars: { controls: 1, - // @ts-expect-error -- advised by YouTube for Android but does not exist in @types/youtube - external_fullscreen: - renderingTarget === 'Apps' ? 1 : 0, fs: 1, modestbranding: 1, origin, From 45c0804412e3f204e12d4c93b1662d28c2d838c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:39:47 +0000 Subject: [PATCH 50/67] Bump the storybook group across 1 directory with 11 updates (#12586) Bumps the storybook group with 11 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.2.9` | `8.3.6` | | [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/deprecated/components) | `8.2.9` | `8.3.6` | | [@storybook/core-events](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/core-events) | `8.2.9` | `8.3.6` | | [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.2.9` | `8.3.6` | | [@storybook/preview-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/preview-api) | `8.2.9` | `8.3.6` | | [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.2.9` | `8.3.6` | | [@storybook/react-webpack5](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-webpack5) | `8.2.9` | `8.3.6` | | [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.2.9` | `8.3.6` | | [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.2.9` | `8.3.6` | | [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.2.9` | `8.3.6` | | [@storybook/test](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/test) | `8.2.9` | `8.3.6` | Updates `@storybook/addon-essentials` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/addons/essentials) Updates `@storybook/components` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/deprecated/components) Updates `@storybook/core-events` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/core-events) Updates `@storybook/manager-api` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/manager-api) Updates `@storybook/preview-api` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/preview-api) Updates `@storybook/react` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/renderers/react) Updates `@storybook/react-webpack5` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/frameworks/react-webpack5) Updates `@storybook/theming` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/theming) Updates `storybook` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/cli) Updates `@storybook/addon-interactions` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/addons/interactions) Updates `@storybook/test` from 8.2.9 to 8.3.6 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.3.6/code/lib/test) --- updated-dependencies: - dependency-name: "@storybook/addon-essentials" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/components" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/core-events" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/manager-api" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/preview-api" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/react" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/react-webpack5" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/theming" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: storybook dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/addon-interactions" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/test" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: storybook ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apps-rendering/package.json | 18 +- dotcom-rendering/package.json | 22 +- pnpm-lock.yaml | 1968 +++++++++++++-------------------- 3 files changed, 760 insertions(+), 1248 deletions(-) diff --git a/apps-rendering/package.json b/apps-rendering/package.json index 155d52a043..eae0e57372 100644 --- a/apps-rendering/package.json +++ b/apps-rendering/package.json @@ -53,15 +53,15 @@ "@guardian/source": "8.0.0", "@guardian/source-development-kitchen": "8.0.0", "@smithy/property-provider": "2.0.16", - "@storybook/addon-essentials": "8.2.9", + "@storybook/addon-essentials": "8.3.6", "@storybook/addon-webpack5-compiler-babel": "3.0.3", - "@storybook/components": "8.2.9", - "@storybook/core-events": "8.2.9", - "@storybook/manager-api": "8.2.9", - "@storybook/preview-api": "8.2.9", - "@storybook/react": "8.2.9", - "@storybook/react-webpack5": "8.2.9", - "@storybook/theming": "8.2.9", + "@storybook/components": "8.3.6", + "@storybook/core-events": "8.3.6", + "@storybook/manager-api": "8.3.6", + "@storybook/preview-api": "8.3.6", + "@storybook/react": "8.3.6", + "@storybook/react-webpack5": "8.3.6", + "@storybook/theming": "8.3.6", "@types/clean-css": "4.2.11", "@types/compression": "1.7.5", "@types/express": "4.17.21", @@ -96,7 +96,7 @@ "react-dom": "18.3.1", "react-test-renderer": "18.3.1", "require-from-string": "2.0.2", - "storybook": "8.2.9", + "storybook": "8.3.6", "thrift": "0.20.0", "ts-jest": "29.1.2", "ts-loader": "9.5.1", diff --git a/dotcom-rendering/package.json b/dotcom-rendering/package.json index 270a208605..a7082ad986 100644 --- a/dotcom-rendering/package.json +++ b/dotcom-rendering/package.json @@ -57,17 +57,17 @@ "@playwright/test": "1.45.3", "@sentry/browser": "7.75.1", "@sentry/integrations": "7.75.1", - "@storybook/addon-essentials": "8.2.9", - "@storybook/addon-interactions": "8.2.9", + "@storybook/addon-essentials": "8.3.6", + "@storybook/addon-interactions": "8.3.6", "@storybook/addon-webpack5-compiler-swc": "1.0.5", - "@storybook/components": "8.2.9", - "@storybook/core-events": "8.2.9", - "@storybook/manager-api": "8.2.9", - "@storybook/preview-api": "8.2.9", - "@storybook/react": "8.2.9", - "@storybook/react-webpack5": "8.2.9", - "@storybook/test": "8.2.9", - "@storybook/theming": "8.2.9", + "@storybook/components": "8.3.6", + "@storybook/core-events": "8.3.6", + "@storybook/manager-api": "8.3.6", + "@storybook/preview-api": "8.3.6", + "@storybook/react": "8.3.6", + "@storybook/react-webpack5": "8.3.6", + "@storybook/test": "8.3.6", + "@storybook/theming": "8.3.6", "@svgr/webpack": "8.1.0", "@swc/cli": "0.4.0", "@swc/core": "1.7.26", @@ -172,7 +172,7 @@ "screenfull": "6.0.2", "semver": "7.5.4", "source-map": "0.7.4", - "storybook": "8.2.9", + "storybook": "8.3.6", "stylelint": "16.5.0", "stylelint-config-recommended": "14.0.0", "swc-loader": "0.2.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17b53efa9c..8c256cee54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,7 +39,7 @@ importers: version: 3.621.0 '@aws-sdk/credential-providers': specifier: 3.621.0 - version: 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) + version: 3.621.0(@aws-sdk/client-sso-oidc@3.679.0) '@babel/core': specifier: 7.25.8 version: 7.25.8 @@ -98,32 +98,32 @@ importers: specifier: 2.0.16 version: 2.0.16 '@storybook/addon-essentials': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/addon-webpack5-compiler-babel': specifier: 3.0.3 version: 3.0.3(webpack@5.94.0) '@storybook/components': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/core-events': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/manager-api': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/preview-api': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/react': - specifier: 8.2.9 - version: 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3) + specifier: 8.3.6 + version: 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) '@storybook/react-webpack5': - specifier: 8.2.9 - version: 8.2.9(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) + specifier: 8.3.6 + version: 8.3.6(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) '@storybook/theming': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@types/clean-css': specifier: 4.2.11 version: 4.2.11 @@ -227,8 +227,8 @@ importers: specifier: 2.0.2 version: 2.0.2 storybook: - specifier: 8.2.9 - version: 8.2.9(@babel/preset-env@7.25.8) + specifier: 8.3.6 + version: 8.3.6 thrift: specifier: 0.20.0 version: 0.20.0 @@ -386,38 +386,38 @@ importers: specifier: 7.75.1 version: 7.75.1 '@storybook/addon-essentials': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/addon-interactions': - specifier: 8.2.9 - version: 8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/addon-webpack5-compiler-swc': specifier: 1.0.5 version: 1.0.5(webpack@5.94.0) '@storybook/components': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/core-events': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/manager-api': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/preview-api': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/react': - specifier: 8.2.9 - version: 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3) + specifier: 8.3.6 + version: 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) '@storybook/react-webpack5': - specifier: 8.2.9 - version: 8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) + specifier: 8.3.6 + version: 8.3.6(@storybook/test@8.3.6)(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) '@storybook/test': - specifier: 8.2.9 - version: 8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@storybook/theming': - specifier: 8.2.9 - version: 8.2.9(storybook@8.2.9) + specifier: 8.3.6 + version: 8.3.6(storybook@8.3.6) '@svgr/webpack': specifier: 8.1.0 version: 8.1.0(typescript@5.5.3) @@ -731,8 +731,8 @@ importers: specifier: 0.7.4 version: 0.7.4 storybook: - specifier: 8.2.9 - version: 8.2.9(@babel/preset-env@7.25.8) + specifier: 8.3.6 + version: 8.3.6 stylelint: specifier: 16.5.0 version: 16.5.0(typescript@5.5.3) @@ -1094,50 +1094,50 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso-oidc@3.670.0(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-4qDK2L36Q4J1lfemaHHd9ZxqKRaos3STp44qPAHf/8QyX6Uk5sXgZNVO2yWM7SIEtVKwwBh/fZAsdBkGPBfZcw==} + /@aws-sdk/client-sso-oidc@3.679.0(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-/dBYWcCwbA/id4sFCIVZvf0UsvzHCC68SryxeNQk/PDkY9N4n5yRcMUkZDaEyQCjowc3kY4JOXp2AdUP037nhA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.670.0 + '@aws-sdk/client-sts': ^3.679.0 dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-sts': 3.621.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-node': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.670.0 - '@aws-sdk/util-user-agent-node': 3.669.0 - '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.8 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/hash-node': 3.0.7 - '@smithy/invalid-dependency': 3.0.7 - '@smithy/middleware-content-length': 3.0.9 - '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.23 - '@smithy/middleware-serde': 3.0.7 - '@smithy/middleware-stack': 3.0.7 - '@smithy/node-config-provider': 3.1.8 - '@smithy/node-http-handler': 3.2.4 - '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 - '@smithy/url-parser': 3.0.7 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.23 - '@smithy/util-defaults-mode-node': 3.0.23 - '@smithy/util-endpoints': 2.1.3 - '@smithy/util-middleware': 3.0.7 - '@smithy/util-retry': 3.0.7 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 transitivePeerDependencies: @@ -1190,46 +1190,46 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso@3.670.0: - resolution: {integrity: sha512-J+oz6uSsDvk4pimMDnKJb1wsV216zTrejvMTIL4RhUD1QPIVVOpteTdUShcjZUIZnkcJZGI+cym/SFK0kuzTpg==} + /@aws-sdk/client-sso@3.679.0: + resolution: {integrity: sha512-/0cAvYnpOZTo/Y961F1kx2fhDDLUYZ0SQQ5/75gh3xVImLj7Zw+vp74ieqFbqWLYGMaq8z1Arr9A8zG95mbLdg==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.670.0 - '@aws-sdk/util-user-agent-node': 3.669.0 - '@smithy/config-resolver': 3.0.9 - '@smithy/core': 2.4.8 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.679.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/core': 2.5.1 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/hash-node': 3.0.7 - '@smithy/invalid-dependency': 3.0.7 - '@smithy/middleware-content-length': 3.0.9 - '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.23 - '@smithy/middleware-serde': 3.0.7 - '@smithy/middleware-stack': 3.0.7 - '@smithy/node-config-provider': 3.1.8 - '@smithy/node-http-handler': 3.2.4 - '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 - '@smithy/url-parser': 3.0.7 + '@smithy/hash-node': 3.0.8 + '@smithy/invalid-dependency': 3.0.8 + '@smithy/middleware-content-length': 3.0.10 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-retry': 3.0.25 + '@smithy/middleware-serde': 3.0.8 + '@smithy/middleware-stack': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.23 - '@smithy/util-defaults-mode-node': 3.0.23 - '@smithy/util-endpoints': 2.1.3 - '@smithy/util-middleware': 3.0.7 - '@smithy/util-retry': 3.0.7 + '@smithy/util-defaults-mode-browser': 3.0.25 + '@smithy/util-defaults-mode-node': 3.0.25 + '@smithy/util-endpoints': 2.1.4 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 transitivePeerDependencies: @@ -1299,19 +1299,19 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/core@3.667.0: - resolution: {integrity: sha512-pMcDVI7Tmdsc8R3sDv0Omj/4iRParGY+uJtAfF669WnZfDfaBQaix2Mq7+Mu08vdjqO9K3gicFvjk9S1VLmOKA==} + /@aws-sdk/core@3.679.0: + resolution: {integrity: sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/core': 2.4.8 - '@smithy/node-config-provider': 3.1.8 - '@smithy/property-provider': 3.1.7 - '@smithy/protocol-http': 4.1.4 - '@smithy/signature-v4': 4.2.0 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 - '@smithy/util-middleware': 3.0.7 + '@aws-sdk/types': 3.679.0 + '@smithy/core': 2.5.1 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/signature-v4': 4.2.1 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-middleware': 3.0.8 fast-xml-parser: 4.4.1 tslib: 2.6.2 dev: false @@ -1339,14 +1339,14 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-env@3.667.0: - resolution: {integrity: sha512-zZbrkkaPc54WXm+QAnpuv0LPNfsts0HPPd+oCECGs7IQRaFsGj187cwvPg9RMWDFZqpm64MdBDoA8OQHsqzYCw==} + /@aws-sdk/credential-provider-env@3.679.0: + resolution: {integrity: sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.7 - '@smithy/types': 3.5.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1365,19 +1365,19 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-http@3.667.0: - resolution: {integrity: sha512-sjtybFfERZWiqTY7fswBxKQLvUkiCucOWyqh3IaPo/4nE1PXRnaZCVG0+kRBPrYIxWqiVwytvZzMJy8sVZcG0A==} + /@aws-sdk/credential-provider-http@3.679.0: + resolution: {integrity: sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/fetch-http-handler': 3.2.9 - '@smithy/node-http-handler': 3.2.4 - '@smithy/property-provider': 3.1.7 - '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 - '@smithy/util-stream': 3.1.9 + '@smithy/node-http-handler': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-stream': 3.2.1 tslib: 2.6.2 dev: false @@ -1404,7 +1404,7 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): + /@aws-sdk/credential-provider-ini@3.621.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0): resolution: {integrity: sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA==} engines: {node: '>=16.0.0'} peerDependencies: @@ -1414,7 +1414,7 @@ packages: '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1427,24 +1427,24 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-ini@3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-TB1gacUj75leaTt2JsCTzygDSIk4ksv9uZoR7VenlgFPRktyOeT+fapwIVBeB2Qg7b9uxAY2K5XkKstDZyBEEw==} + /@aws-sdk/credential-provider-ini@3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-Rg7t8RwUzKcumpipG4neZqaeJ6DF+Bco1+FHn5BZB68jpvwvjBjcQUuWkxj18B6ctYHr1fkunnzeKEn/+vy7+w==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.670.0 + '@aws-sdk/client-sts': ^3.679.0 dependencies: '@aws-sdk/client-sts': 3.621.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-env': 3.667.0 - '@aws-sdk/credential-provider-http': 3.667.0 - '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0) - '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/types': 3.667.0 - '@smithy/credential-provider-imds': 3.2.4 - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.679.0 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1473,15 +1473,15 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): + /@aws-sdk/credential-provider-node@3.621.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0): resolution: {integrity: sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 - '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1495,21 +1495,21 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-zwNrRYzubk4CaZ7zebeDhxsm8QtNWkbGKopZPOaZSnd5uqUGRcmx4ccVRngWUK68XDP44aEUWC8iU5Pc7btpHQ==} + /@aws-sdk/credential-provider-node@3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-E3lBtaqCte8tWs6Rkssc8sLzvGoJ10TLGvpkijOlz43wPd6xCRh1YLwg6zolf9fVFtEyUs/GsgymiASOyxhFtw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.667.0 - '@aws-sdk/credential-provider-http': 3.667.0 - '@aws-sdk/credential-provider-ini': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.670.0(@aws-sdk/client-sso-oidc@3.670.0) - '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/types': 3.667.0 - '@smithy/credential-provider-imds': 3.2.4 - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-ini': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.679.0 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1528,15 +1528,15 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-process@3.667.0: - resolution: {integrity: sha512-HZHnvop32fKgsNHkdhVaul7UzQ25sEc0j9yqA4bjhtbk0ECl42kj3f1pJ+ZU/YD9ut8lMJs/vVqiOdNThVdeBw==} + /@aws-sdk/credential-provider-process@3.679.0: + resolution: {integrity: sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1556,12 +1556,12 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.670.0): + /@aws-sdk/credential-provider-sso@3.621.0(@aws-sdk/client-sso-oidc@3.679.0): resolution: {integrity: sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw==} engines: {node: '>=16.0.0'} dependencies: '@aws-sdk/client-sso': 3.621.0 - '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.670.0) + '@aws-sdk/token-providers': 3.614.0(@aws-sdk/client-sso-oidc@3.679.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -1572,17 +1572,17 @@ packages: - aws-crt dev: false - /@aws-sdk/credential-provider-sso@3.670.0(@aws-sdk/client-sso-oidc@3.670.0): - resolution: {integrity: sha512-5PkA8BOy4q57Vhe9AESoHKZ7vjRbElNPKjXA4qC01xY+DitClRFz4O3B9sMzFp0PHlz9nDVSXXKgq0yzF/nAag==} + /@aws-sdk/credential-provider-sso@3.679.0(@aws-sdk/client-sso-oidc@3.679.0): + resolution: {integrity: sha512-SAtWonhi9asxn0ukEbcE81jkyanKgqpsrtskvYPpO9Z9KOednM4Cqt6h1bfcS9zaHjN2zu815Gv8O7WiV+F/DQ==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-sso': 3.670.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/token-providers': 3.667.0(@aws-sdk/client-sso-oidc@3.670.0) - '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/client-sso': 3.679.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/token-providers': 3.679.0(@aws-sdk/client-sso-oidc@3.679.0) + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -1602,21 +1602,21 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-web-identity@3.667.0(@aws-sdk/client-sts@3.621.0): - resolution: {integrity: sha512-t8CFlZMD/1p/8Cli3rvRiTJpjr/8BO64gw166AHgFZYSN2h95L2l1tcW0jpsc3PprA32nLg1iQVKYt4WGM4ugw==} + /@aws-sdk/credential-provider-web-identity@3.679.0(@aws-sdk/client-sts@3.621.0): + resolution: {integrity: sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.667.0 + '@aws-sdk/client-sts': ^3.679.0 dependencies: '@aws-sdk/client-sts': 3.621.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.7 - '@smithy/types': 3.5.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-providers@3.621.0(@aws-sdk/client-sso-oidc@3.670.0): + /@aws-sdk/credential-providers@3.621.0(@aws-sdk/client-sso-oidc@3.679.0): resolution: {integrity: sha512-FQbC7I8ae/72ZekLBa45jWJ+Q3d+YPhc3bW/rCks6RrldM6RgLTGr8pTOPCxHl828ky10RjkBiBmVU818rliyw==} engines: {node: '>=16.0.0'} dependencies: @@ -1626,10 +1626,10 @@ packages: '@aws-sdk/credential-provider-cognito-identity': 3.621.0 '@aws-sdk/credential-provider-env': 3.620.1 '@aws-sdk/credential-provider-http': 3.621.0 - '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-ini': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/credential-provider-node': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0)(@aws-sdk/client-sts@3.621.0) '@aws-sdk/credential-provider-process': 3.620.1 - '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.670.0) + '@aws-sdk/credential-provider-sso': 3.621.0(@aws-sdk/client-sso-oidc@3.679.0) '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/credential-provider-imds': 3.2.0 @@ -1651,13 +1651,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/middleware-host-header@3.667.0: - resolution: {integrity: sha512-Z7fIAMQnPegs7JjAQvlOeWXwpMRfegh5eCoIP6VLJIeR6DLfYKbP35JBtt98R6DXslrN2RsbTogjbxPEDQfw1w==} + /@aws-sdk/middleware-host-header@3.679.0: + resolution: {integrity: sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 + '@aws-sdk/types': 3.679.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1670,12 +1670,12 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/middleware-logger@3.667.0: - resolution: {integrity: sha512-PtTRNpNm/5c746jRgZCNg4X9xEJIwggkGJrF0GP9AB1ANg4pc/sF2Fvn1NtqPe9wtQ2stunJprnm5WkCHN7QiA==} + /@aws-sdk/middleware-logger@3.679.0: + resolution: {integrity: sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.5.0 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1689,13 +1689,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/middleware-recursion-detection@3.667.0: - resolution: {integrity: sha512-U5glWD3ehFohzpUpopLtmqAlDurGWo2wRGPNgi4SwhWU7UDt6LS7E/UvJjqC0CUrjlzOw+my2A+Ncf+fisMhxQ==} + /@aws-sdk/middleware-recursion-detection@3.679.0: + resolution: {integrity: sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 + '@aws-sdk/types': 3.679.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1710,16 +1710,16 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/middleware-user-agent@3.669.0: - resolution: {integrity: sha512-K8ScPi45zjJrj5Y2gRqVsvKKQCQbvQBfYGcBw9ZOx9TTavH80bOCBjWg/GFnvs4f37tqVc1wMN2oGvcTF6HveQ==} + /@aws-sdk/middleware-user-agent@3.679.0: + resolution: {integrity: sha512-4hdeXhPDURPqQLPd9jCpUEo9fQITXl3NM3W1MwcJpE0gdUM36uXkQOYsTPeeU/IRCLVjK8Htlh2oCaM9iJrLCA==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@smithy/core': 2.4.8 - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@smithy/core': 2.5.1 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1735,15 +1735,15 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/region-config-resolver@3.667.0: - resolution: {integrity: sha512-iNr+JhhA902JMKHG9IwT9YdaEx6KGl6vjAL5BRNeOjfj4cZYMog6Lz/IlfOAltMtT0w88DAHDEFrBd2uO0l2eg==} + /@aws-sdk/region-config-resolver@3.679.0: + resolution: {integrity: sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/node-config-provider': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/types': 3.679.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.7 + '@smithy/util-middleware': 3.0.8 tslib: 2.6.2 dev: false @@ -1761,13 +1761,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.670.0): + /@aws-sdk/token-providers@3.614.0(@aws-sdk/client-sso-oidc@3.679.0): resolution: {integrity: sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==} engines: {node: '>=16.0.0'} peerDependencies: '@aws-sdk/client-sso-oidc': ^3.614.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.670.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.621.0) '@aws-sdk/types': 3.609.0 '@smithy/property-provider': 3.1.3 '@smithy/shared-ini-file-loader': 3.1.4 @@ -1775,17 +1775,17 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.667.0(@aws-sdk/client-sso-oidc@3.670.0): - resolution: {integrity: sha512-ZecJlG8p6D4UTYlBHwOWX6nknVtw/OBJ3yPXTSajBjhUlj9lE2xvejI8gl4rqkyLXk7z3bki+KR4tATbMaM9yg==} + /@aws-sdk/token-providers@3.679.0(@aws-sdk/client-sso-oidc@3.679.0): + resolution: {integrity: sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.667.0 + '@aws-sdk/client-sso-oidc': ^3.679.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.670.0(@aws-sdk/client-sts@3.621.0) - '@aws-sdk/types': 3.667.0 - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/client-sso-oidc': 3.679.0(@aws-sdk/client-sts@3.621.0) + '@aws-sdk/types': 3.679.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1797,11 +1797,11 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/types@3.667.0: - resolution: {integrity: sha512-gYq0xCsqFfQaSL/yT1Gl1vIUjtsg7d7RhnUfsXaHt8xTxOKRTdH9GjbesBjXOzgOvB0W0vfssfreSNGFlOOMJg==} + /@aws-sdk/types@3.679.0: + resolution: {integrity: sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1815,13 +1815,13 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-endpoints@3.667.0: - resolution: {integrity: sha512-X22SYDAuQJWnkF1/q17pkX3nGw5XMD9YEUbmt87vUnRq7iyJ3JOpl6UKOBeUBaL838wA5yzdbinmCITJ/VZ1QA==} + /@aws-sdk/util-endpoints@3.679.0: + resolution: {integrity: sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.5.0 - '@smithy/util-endpoints': 2.1.3 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 + '@smithy/util-endpoints': 2.1.4 tslib: 2.6.2 dev: false @@ -1841,11 +1841,11 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-browser@3.670.0: - resolution: {integrity: sha512-iRynWWazqEcCKwGMcQcywKTDLdLvqts1Yx474U64I9OKQXXwhOwhXbF5CAPSRta86lkVNAVYJa/0Bsv45pNn1A==} + /@aws-sdk/util-user-agent-browser@3.679.0: + resolution: {integrity: sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==} dependencies: - '@aws-sdk/types': 3.667.0 - '@smithy/types': 3.5.0 + '@aws-sdk/types': 3.679.0 + '@smithy/types': 3.6.0 bowser: 2.11.0 tslib: 2.6.2 dev: false @@ -1865,8 +1865,8 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-node@3.669.0: - resolution: {integrity: sha512-9jxCYrgggy2xd44ZASqI7AMiRVaSiFp+06Kg8BQSU0ijKpBJlwcsqIS8pDT/n6LxuOw2eV5ipvM2C0r1iKzrGA==} + /@aws-sdk/util-user-agent-node@3.679.0: + resolution: {integrity: sha512-Bw4uXZ+NU5ed6TNfo4tBbhBSW+2eQxXYjYBGl5gLUNUpg2pDFToQAP6rXBFiwcG52V2ny5oLGiD82SoYuYkAVg==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1874,10 +1874,10 @@ packages: aws-crt: optional: true dependencies: - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/types': 3.667.0 - '@smithy/node-config-provider': 3.1.8 - '@smithy/types': 3.5.0 + '@aws-sdk/middleware-user-agent': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -1886,7 +1886,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.25.7 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /@babel/code-frame@7.25.7: @@ -2164,7 +2164,7 @@ packages: '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /@babel/parser@7.25.8: @@ -2280,16 +2280,6 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: false - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.25.8): - resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - dev: false - /@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.8): resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==} engines: {node: '>=6.9.0'} @@ -2610,17 +2600,6 @@ packages: '@babel/helper-plugin-utils': 7.25.7 dev: false - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.25.8): - resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.25.8) - dev: false - /@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.8): resolution: {integrity: sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==} engines: {node: '>=6.9.0'} @@ -3167,18 +3146,6 @@ packages: - supports-color dev: false - /@babel/preset-flow@7.23.3(@babel/core@7.25.8): - resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.8 - '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-validator-option': 7.25.7 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.25.8) - dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.8): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: @@ -3223,20 +3190,6 @@ packages: - supports-color dev: false - /@babel/register@7.22.15(@babel/core@7.25.8): - resolution: {integrity: sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.8 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.6 - source-map-support: 0.5.21 - dev: false - /@babel/register@7.24.6(@babel/core@7.25.8): resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} @@ -3289,15 +3242,6 @@ packages: - supports-color dev: false - /@babel/types@7.25.2: - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - to-fast-properties: 2.0.0 - dev: false - /@babel/types@7.25.8: resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} engines: {node: '>=6.9.0'} @@ -3387,7 +3331,7 @@ packages: outdent: 0.5.0 p-limit: 2.3.0 package-manager-detector: 0.2.0 - picocolors: 1.1.0 + picocolors: 1.1.1 resolve-from: 5.0.0 semver: 7.5.4 spawndamnit: 2.0.0 @@ -3417,7 +3361,7 @@ packages: dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.0 + picocolors: 1.1.1 semver: 7.5.4 dev: false @@ -3449,7 +3393,7 @@ packages: /@changesets/logger@0.1.1: resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} dependencies: - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /@changesets/parse@0.4.0: @@ -3477,7 +3421,7 @@ packages: '@changesets/types': 6.0.0 fs-extra: 7.0.1 p-filter: 2.1.0 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /@changesets/should-skip-package@0.1.1: @@ -4700,7 +4644,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -4856,7 +4800,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -5222,11 +5166,6 @@ packages: engines: {node: '>=10'} dev: false - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: false - /@sinonjs/commons@3.0.0: resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: @@ -5247,33 +5186,33 @@ packages: tslib: 2.6.2 dev: false - /@smithy/abort-controller@3.1.5: - resolution: {integrity: sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg==} + /@smithy/abort-controller@3.1.6: + resolution: {integrity: sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false - /@smithy/config-resolver@3.0.5: - resolution: {integrity: sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==} + /@smithy/config-resolver@3.0.10: + resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.4 - '@smithy/types': 3.3.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.3 + '@smithy/util-middleware': 3.0.8 tslib: 2.6.2 dev: false - /@smithy/config-resolver@3.0.9: - resolution: {integrity: sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg==} + /@smithy/config-resolver@3.0.5: + resolution: {integrity: sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.8 - '@smithy/types': 3.5.0 + '@smithy/node-config-provider': 3.1.4 + '@smithy/types': 3.3.0 '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.7 + '@smithy/util-middleware': 3.0.3 tslib: 2.6.2 dev: false @@ -5291,18 +5230,16 @@ packages: tslib: 2.6.2 dev: false - /@smithy/core@2.4.8: - resolution: {integrity: sha512-x4qWk7p/a4dcf7Vxb2MODIf4OIcqNbK182WxRvZ/3oKPrf/6Fdic5sSElhO1UtXpWKBazWfqg0ZEK9xN1DsuHA==} + /@smithy/core@2.5.1: + resolution: {integrity: sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-retry': 3.0.23 - '@smithy/middleware-serde': 3.0.7 - '@smithy/protocol-http': 4.1.4 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 + '@smithy/middleware-serde': 3.0.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-middleware': 3.0.7 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-stream': 3.2.1 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 dev: false @@ -5318,14 +5255,14 @@ packages: tslib: 2.6.2 dev: false - /@smithy/credential-provider-imds@3.2.4: - resolution: {integrity: sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w==} + /@smithy/credential-provider-imds@3.2.5: + resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.8 - '@smithy/property-provider': 3.1.7 - '@smithy/types': 3.5.0 - '@smithy/url-parser': 3.0.7 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 tslib: 2.6.2 dev: false @@ -5342,9 +5279,19 @@ packages: /@smithy/fetch-http-handler@3.2.9: resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==} dependencies: - '@smithy/protocol-http': 4.1.4 - '@smithy/querystring-builder': 3.0.7 - '@smithy/types': 3.5.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 + '@smithy/util-base64': 3.0.0 + tslib: 2.6.2 + dev: false + + /@smithy/fetch-http-handler@4.0.0: + resolution: {integrity: sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g==} + dependencies: + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 tslib: 2.6.2 dev: false @@ -5359,11 +5306,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/hash-node@3.0.7: - resolution: {integrity: sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw==} + /@smithy/hash-node@3.0.8: + resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 @@ -5376,10 +5323,10 @@ packages: tslib: 2.6.2 dev: false - /@smithy/invalid-dependency@3.0.7: - resolution: {integrity: sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA==} + /@smithy/invalid-dependency@3.0.8: + resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5412,21 +5359,21 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@3.0.5: - resolution: {integrity: sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==} + /@smithy/middleware-content-length@3.0.10: + resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 4.1.0 - '@smithy/types': 3.3.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@3.0.9: - resolution: {integrity: sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA==} + /@smithy/middleware-content-length@3.0.5: + resolution: {integrity: sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 + '@smithy/protocol-http': 4.1.0 + '@smithy/types': 3.3.0 tslib: 2.6.2 dev: false @@ -5443,16 +5390,17 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-endpoint@3.1.4: - resolution: {integrity: sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ==} + /@smithy/middleware-endpoint@3.2.1: + resolution: {integrity: sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-serde': 3.0.7 - '@smithy/node-config-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 - '@smithy/url-parser': 3.0.7 - '@smithy/util-middleware': 3.0.7 + '@smithy/core': 2.5.1 + '@smithy/middleware-serde': 3.0.8 + '@smithy/node-config-provider': 3.1.9 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 + '@smithy/url-parser': 3.0.8 + '@smithy/util-middleware': 3.0.8 tslib: 2.6.2 dev: false @@ -5471,17 +5419,17 @@ packages: uuid: 9.0.1 dev: false - /@smithy/middleware-retry@3.0.23: - resolution: {integrity: sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A==} + /@smithy/middleware-retry@3.0.25: + resolution: {integrity: sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.8 - '@smithy/protocol-http': 4.1.4 - '@smithy/service-error-classification': 3.0.7 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 - '@smithy/util-middleware': 3.0.7 - '@smithy/util-retry': 3.0.7 + '@smithy/node-config-provider': 3.1.9 + '@smithy/protocol-http': 4.1.5 + '@smithy/service-error-classification': 3.0.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 + '@smithy/util-middleware': 3.0.8 + '@smithy/util-retry': 3.0.8 tslib: 2.6.2 uuid: 9.0.1 dev: false @@ -5494,11 +5442,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-serde@3.0.7: - resolution: {integrity: sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g==} + /@smithy/middleware-serde@3.0.8: + resolution: {integrity: sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5510,11 +5458,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/middleware-stack@3.0.7: - resolution: {integrity: sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA==} + /@smithy/middleware-stack@3.0.8: + resolution: {integrity: sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5528,13 +5476,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/node-config-provider@3.1.8: - resolution: {integrity: sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q==} + /@smithy/node-config-provider@3.1.9: + resolution: {integrity: sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/property-provider': 3.1.7 - '@smithy/shared-ini-file-loader': 3.1.8 - '@smithy/types': 3.5.0 + '@smithy/property-provider': 3.1.8 + '@smithy/shared-ini-file-loader': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5549,14 +5497,14 @@ packages: tslib: 2.6.2 dev: false - /@smithy/node-http-handler@3.2.4: - resolution: {integrity: sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ==} + /@smithy/node-http-handler@3.2.5: + resolution: {integrity: sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/abort-controller': 3.1.5 - '@smithy/protocol-http': 4.1.4 - '@smithy/querystring-builder': 3.0.7 - '@smithy/types': 3.5.0 + '@smithy/abort-controller': 3.1.6 + '@smithy/protocol-http': 4.1.5 + '@smithy/querystring-builder': 3.0.8 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5576,11 +5524,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/property-provider@3.1.7: - resolution: {integrity: sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw==} + /@smithy/property-provider@3.1.8: + resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5592,11 +5540,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/protocol-http@4.1.4: - resolution: {integrity: sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ==} + /@smithy/protocol-http@4.1.5: + resolution: {integrity: sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5609,11 +5557,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/querystring-builder@3.0.7: - resolution: {integrity: sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw==} + /@smithy/querystring-builder@3.0.8: + resolution: {integrity: sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 '@smithy/util-uri-escape': 3.0.0 tslib: 2.6.2 dev: false @@ -5626,11 +5574,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/querystring-parser@3.0.7: - resolution: {integrity: sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA==} + /@smithy/querystring-parser@3.0.8: + resolution: {integrity: sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5641,11 +5589,11 @@ packages: '@smithy/types': 3.3.0 dev: false - /@smithy/service-error-classification@3.0.7: - resolution: {integrity: sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA==} + /@smithy/service-error-classification@3.0.8: + resolution: {integrity: sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 dev: false /@smithy/shared-ini-file-loader@3.1.4: @@ -5656,11 +5604,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/shared-ini-file-loader@3.1.8: - resolution: {integrity: sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw==} + /@smithy/shared-ini-file-loader@3.1.9: + resolution: {integrity: sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5678,15 +5626,15 @@ packages: tslib: 2.6.2 dev: false - /@smithy/signature-v4@4.2.0: - resolution: {integrity: sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ==} + /@smithy/signature-v4@4.2.1: + resolution: {integrity: sha512-NsV1jF4EvmO5wqmaSzlnTVetemBS3FZHdyc5CExbDljcyJCEEkJr8ANu2JvtNbVg/9MvKAWV44kTrGS+Pi4INg==} engines: {node: '>=16.0.0'} dependencies: '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.7 + '@smithy/util-middleware': 3.0.8 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 @@ -5704,15 +5652,16 @@ packages: tslib: 2.6.2 dev: false - /@smithy/smithy-client@3.4.0: - resolution: {integrity: sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ==} + /@smithy/smithy-client@3.4.2: + resolution: {integrity: sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-endpoint': 3.1.4 - '@smithy/middleware-stack': 3.0.7 - '@smithy/protocol-http': 4.1.4 - '@smithy/types': 3.5.0 - '@smithy/util-stream': 3.1.9 + '@smithy/core': 2.5.1 + '@smithy/middleware-endpoint': 3.2.1 + '@smithy/middleware-stack': 3.0.8 + '@smithy/protocol-http': 4.1.5 + '@smithy/types': 3.6.0 + '@smithy/util-stream': 3.2.1 tslib: 2.6.2 dev: false @@ -5730,8 +5679,8 @@ packages: tslib: 2.6.2 dev: false - /@smithy/types@3.5.0: - resolution: {integrity: sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q==} + /@smithy/types@3.6.0: + resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==} engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 @@ -5745,11 +5694,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/url-parser@3.0.7: - resolution: {integrity: sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA==} + /@smithy/url-parser@3.0.8: + resolution: {integrity: sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg==} dependencies: - '@smithy/querystring-parser': 3.0.7 - '@smithy/types': 3.5.0 + '@smithy/querystring-parser': 3.0.8 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5809,13 +5758,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-browser@3.0.23: - resolution: {integrity: sha512-Y07qslyRtXDP/C5aWKqxTPBl4YxplEELG3xRrz2dnAQ6Lq/FgNrcKWmV561nNaZmFH+EzeGOX3ZRMbU8p1T6Nw==} + /@smithy/util-defaults-mode-browser@3.0.25: + resolution: {integrity: sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/property-provider': 3.1.7 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 + '@smithy/property-provider': 3.1.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 bowser: 2.11.0 tslib: 2.6.2 dev: false @@ -5833,16 +5782,16 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-node@3.0.23: - resolution: {integrity: sha512-9Y4WH7f0vnDGuHUa4lGX9e2p+sMwODibsceSV6rfkZOvMC+BY3StB2LdO1NHafpsyHJLpwAgChxQ38tFyd6vkg==} + /@smithy/util-defaults-mode-node@3.0.25: + resolution: {integrity: sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 3.0.9 - '@smithy/credential-provider-imds': 3.2.4 - '@smithy/node-config-provider': 3.1.8 - '@smithy/property-provider': 3.1.7 - '@smithy/smithy-client': 3.4.0 - '@smithy/types': 3.5.0 + '@smithy/config-resolver': 3.0.10 + '@smithy/credential-provider-imds': 3.2.5 + '@smithy/node-config-provider': 3.1.9 + '@smithy/property-provider': 3.1.8 + '@smithy/smithy-client': 3.4.2 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5855,12 +5804,12 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-endpoints@2.1.3: - resolution: {integrity: sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw==} + /@smithy/util-endpoints@2.1.4: + resolution: {integrity: sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 3.1.8 - '@smithy/types': 3.5.0 + '@smithy/node-config-provider': 3.1.9 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5879,11 +5828,11 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-middleware@3.0.7: - resolution: {integrity: sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA==} + /@smithy/util-middleware@3.0.8: + resolution: {integrity: sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.5.0 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5896,12 +5845,12 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-retry@3.0.7: - resolution: {integrity: sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug==} + /@smithy/util-retry@3.0.8: + resolution: {integrity: sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/service-error-classification': 3.0.7 - '@smithy/types': 3.5.0 + '@smithy/service-error-classification': 3.0.8 + '@smithy/types': 3.6.0 tslib: 2.6.2 dev: false @@ -5919,13 +5868,13 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-stream@3.1.9: - resolution: {integrity: sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ==} + /@smithy/util-stream@3.2.1: + resolution: {integrity: sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/fetch-http-handler': 3.2.9 - '@smithy/node-http-handler': 3.2.4 - '@smithy/types': 3.5.0 + '@smithy/fetch-http-handler': 4.0.0 + '@smithy/node-http-handler': 3.2.5 + '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 @@ -5965,147 +5914,137 @@ packages: tslib: 2.6.2 dev: false - /@storybook/addon-actions@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-eh2teOqjga7aoClDVV+/b1gHJqsPwjiU1t+Hg/l4i2CkaBUNdYMEL90nR6fgReOdvvL5YhcPwJ8w38f9TrQcoQ==} + /@storybook/addon-actions@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-nOqgl0WoZK2KwjaABaXMoIgrIHOQl9inOzJvqQau0HOtsvnXGXYfJXYnpjZenoZDoZXKbUDl0U2haDFx2a2fJw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.7 dequal: 2.0.3 polished: 4.2.2 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 uuid: 9.0.1 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.6(storybook@8.3.6): + resolution: {integrity: sha512-yBn+a8i5OJzJaX6Bx5MAkfei7c2nvq+RRmvuyvxw11rtDGR6Nz4OBBe56reWxo868wVUggpRTPJCMVe5tDYgVg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 dev: false - /@storybook/addon-controls@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-vaSE78KOE7SO0GrW4e+mdQphSNpvCX/FGybIRxyaKX9h8smoyUwRNHVyCS3ROHTwH324QWu7GDzsOVrnyXOv0A==} + /@storybook/addon-controls@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-9IMLHgtWPuFoRCt3hDsIk1FbkK5SlCMDW1DDwtTBIeWYYZLvptS42+vGVTeQ8v5SejmVzZkzuUdzu3p4sb3IcA==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: + '@storybook/global': 5.0.0 dequal: 2.0.3 lodash: 4.17.21 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 dev: false - /@storybook/addon-docs@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-flDOxFIGmXg+6lVdwTLMOKsGob1WrT7rG98mn1SNW0Nxhg3Wg+9pQuq1GLxEzKtAgSflmu+xcBRfYhsogyDXkw==} + /@storybook/addon-docs@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-31Rk1TOhDIzGM2wNCUIB1xKuWtArW0D2Puua9warEXlQ3FtvwmxnPrwbIzw6ufYZDWPwl9phDYTcRh8WqZIoGg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - '@babel/core': 7.25.8 '@mdx-js/react': 3.0.1(@types/react@18.3.1)(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.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6) + '@storybook/csf-plugin': 8.3.6(storybook@8.3.6) '@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.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6) '@types/react': 18.3.1 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.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color dev: false - /@storybook/addon-essentials@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-B2d3eznGZvPIyCVtYX0UhrYcEfK+3Y2sACmEWpSwtk8KXomFEsZnD95m397BYDRw3/X6qeSLWxqgMfqDTEDeMA==} + /@storybook/addon-essentials@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-MQPFvThlGU7wlda1xhBPQCmDh90cSSZ31OsVs1uC5kJh0aLbY2gYXPurq1G54kzrYo8SMfBxsXrCplz8Ir6UTg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 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.25.8) + '@storybook/addon-actions': 8.3.6(storybook@8.3.6) + '@storybook/addon-backgrounds': 8.3.6(storybook@8.3.6) + '@storybook/addon-controls': 8.3.6(storybook@8.3.6) + '@storybook/addon-docs': 8.3.6(storybook@8.3.6) + '@storybook/addon-highlight': 8.3.6(storybook@8.3.6) + '@storybook/addon-measure': 8.3.6(storybook@8.3.6) + '@storybook/addon-outline': 8.3.6(storybook@8.3.6) + '@storybook/addon-toolbars': 8.3.6(storybook@8.3.6) + '@storybook/addon-viewport': 8.3.6(storybook@8.3.6) + storybook: 8.3.6 ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color dev: false - /@storybook/addon-highlight@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-qdcazeNQoo9QKIq+LJJZZXvFZoLn+i4uhbt1Uf9WtW6oU/c1qxORGVD7jc3zsxbQN9nROVPbJ76sfthogxeqWA==} + /@storybook/addon-highlight@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-A7uU+1OPVXGpkklEUJjSl2VEEDLCSNvmffUJlvW1GjajsNFIHOW2CSD+KnfFlQyPxyVbnWAYLqUP4XJxoqrvDw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false - /@storybook/addon-interactions@8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9): - resolution: {integrity: sha512-oSxBkqpmp1Vm9v/G8mZeFNXD8k6T1NMgzUWzAx7R5m31rfObhoi5Fo1bKQT5BAhSSsdjjd7owTAFKdhwSotSKg==} + /@storybook/addon-interactions@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-Y0YUJj0oE1+6DFkaTPXM/8+dwTSoy0ltj2Sn2KOTJYzxKQYXBp8TlUv0QOQiGH7o/GKXIWek/VlTuvG/JEeiWw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.2.9(storybook@8.2.9) - '@storybook/test': 8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9) + '@storybook/instrumenter': 8.3.6(storybook@8.3.6) + '@storybook/test': 8.3.6(storybook@8.3.6) polished: 4.2.2 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@jest/globals' - - '@types/bun' - - '@types/jest' - - jest - - vitest dev: false - /@storybook/addon-measure@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-XUfQtYRKWB2dfbPRmHuos816wt1JrLbtRld5ZC8J8ljeqZ4hFBPTQcgI5GAzZqjQuclLC0KuhlA/0bKxdxMMGA==} + /@storybook/addon-measure@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-VHWeGgYjhzhwb2WAqYW/qyEPqg5pwKR/XqFfd+3tEirUs/64olL1l3lzLwZ8Cm07cJ81T8Z4myywb9kObZfQlw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 tiny-invariant: 1.3.3 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.6(storybook@8.3.6): + resolution: {integrity: sha512-+VXpM8SIHX2cn30qLlMvER9/6iioFRSn2sAfLniqy4RrcQmcMP+qgE7ZzbzExt7cneJh3VFsYqBS/HElu14Vgg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 dev: false - /@storybook/addon-toolbars@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-9LMZZ2jRD86Jh6KXedDbAYs4eHj9HtJA9VhSEE2wiqMGwXozpySi7B1GWniNzmFfcgMQ4JHfmD/OrBVTK7Ca/w==} + /@storybook/addon-toolbars@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-FJH+lRoZXENfpMR/G09ZqB0TmL/k6bv07GN1ysoVs420tKRgjfz6uXaZz5COrhcdISr5mTNmG+mw9x7xXTfX3Q==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false - /@storybook/addon-viewport@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-lyM24+DJEt8R0YZkJKee34NQWv0REACU6lYDalqJNdKS1sEwzLGWxg1hZXnw2JFdBID9NGVvyYU2w6LDozOB0g==} + /@storybook/addon-viewport@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-bL51v837W1cng/+0pypkoLsWKWmvux96zLOzqLCpcWAQ4OSMhW3foIWpCiFwMG/KY+GanoOocTx6i7j5hLtuTA==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: memoizerific: 1.11.3 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false /@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.94.0): @@ -6130,12 +6069,12 @@ packages: - webpack 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.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6): + resolution: {integrity: sha512-Oc5jU6EzfsENjrd91KcKyEKBh60RT+8uyLi1RIrymC2C/mzZMTEoNIrbnQt0eIqbjlHxn6y9JMJxHu4NJ4EmZg==} 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.6 peerDependenciesMeta: react: optional: true @@ -6144,7 +6083,7 @@ 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) + '@storybook/icons': 1.2.12(react-dom@18.3.1)(react@18.3.1) '@types/lodash': 4.14.202 color-convert: 2.0.1 dequal: 2.0.3 @@ -6155,23 +6094,23 @@ 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.25.8) + storybook: 8.3.6 telejson: 7.2.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: false - /@storybook/builder-webpack5@8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-D3oYk4LkteWZ3QLcdUTu/0rUvVNUp/bWwEKAycZDr2uFCOhv8VoS2/l/TaHjn3wpyWpVVKS6GgdP72K++YVufg==} + /@storybook/builder-webpack5@8.3.6(@swc/core@1.7.26)(esbuild@0.18.20)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-Eqn2k8aA9f0o6IMQNAxGAMfSDeTP3YYCQAtOL5Gt5lgrqLV5JMTbZOfmaRBZ82ej/BBSAopnQKIJjQBBFx6kAQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.9(storybook@8.2.9) - '@types/node': 18.18.14 + '@storybook/core-webpack': 8.3.6(storybook@8.3.6) + '@types/node': 22.8.0 '@types/semver': 7.5.6 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -6187,7 +6126,7 @@ packages: path-browserify: 1.0.1 process: 0.11.10 semver: 7.5.4 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 style-loader: 3.3.3(webpack@5.94.0) terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(esbuild@0.18.20)(webpack@5.94.0) ts-dedent: 2.2.0 @@ -6208,17 +6147,17 @@ packages: - webpack-cli dev: false - /@storybook/builder-webpack5@8.2.9(esbuild@0.18.20)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-D3oYk4LkteWZ3QLcdUTu/0rUvVNUp/bWwEKAycZDr2uFCOhv8VoS2/l/TaHjn3wpyWpVVKS6GgdP72K++YVufg==} + /@storybook/builder-webpack5@8.3.6(esbuild@0.18.20)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-Eqn2k8aA9f0o6IMQNAxGAMfSDeTP3YYCQAtOL5Gt5lgrqLV5JMTbZOfmaRBZ82ej/BBSAopnQKIJjQBBFx6kAQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.2.9(storybook@8.2.9) - '@types/node': 18.18.14 + '@storybook/core-webpack': 8.3.6(storybook@8.3.6) + '@types/node': 22.8.0 '@types/semver': 7.5.6 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -6234,7 +6173,7 @@ packages: path-browserify: 1.0.1 process: 0.11.10 semver: 7.5.4 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 style-loader: 3.3.3(webpack@5.94.0) terser-webpack-plugin: 5.3.10(esbuild@0.18.20)(webpack@5.94.0) ts-dedent: 2.2.0 @@ -6255,66 +6194,46 @@ packages: - webpack-cli dev: false - /@storybook/codemod@8.2.9: - resolution: {integrity: sha512-3yRx1lFMm1FXWVv+CKDiYM4gOQPEfpcZAQrjfcumxSDUrB091pnU1PeI92Prj3vCdi4+0oPNuN4yDGNUYTMP/A==} - dependencies: - '@babel/core': 7.25.8 - '@babel/preset-env': 7.25.8(@babel/core@7.25.8) - '@babel/types': 7.25.8 - '@storybook/core': 8.2.9 - '@storybook/csf': 0.1.11 - '@types/cross-spawn': 6.0.6 - cross-spawn: 7.0.3 - globby: 14.0.1 - jscodeshift: 0.15.1(@babel/preset-env@7.25.8) - 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@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==} + /@storybook/components@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-TXuoGZY7X3iixF45lXkYOFk8k2q9OHcqHyHyem1gATLLQXgyOvDgzm+VB7uKBNzssRQPEE+La70nfG8bq/viRw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false - /@storybook/core-events@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-8VS6k2ySAYdG2VBWxb66Vko7Pqd429TIdkrw1/u2N0IPsvPsdbs3WaOTyxOMB1e39YUCpD/IZUOPdxX2lC3g4w==} + /@storybook/core-events@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-+y+WBQ6dXBCilsTFhuGR4nARP+658tev+SCML695hcGjN23C7Pk+68VXtFvDtdATtABDLtFfSAeGc+qamJ3WUg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 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.6(storybook@8.3.6): + resolution: {integrity: sha512-ks306CFKD7FePQzRYyTjddiLsSriceblzv4rI+IjVtftkJvcEbxub2yWkV27kPP/e9kSd4Li3M34bX5mkiwkZA==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - '@types/node': 18.18.14 - storybook: 8.2.9(@babel/preset-env@7.25.8) + '@types/node': 22.8.0 + storybook: 8.3.6 ts-dedent: 2.2.0 dev: false - /@storybook/core@8.2.9: - resolution: {integrity: sha512-wSER8FpA6Il/jPyDfKm3yohxDtuhisNPTonMVzd3ulNWR4zERLddyO3HrHJJwdqYHLNk4SBFzwMGpQZVws1y0w==} + /@storybook/core@8.3.6: + resolution: {integrity: sha512-frwfgf0EJ7QL29DWZ5bla/g0eOOWqJGd14t+VUBlpP920zB6sdDfo7+p9JoCjD9u08lGeFDqbPNKayUk+0qDag==} dependencies: '@storybook/csf': 0.1.11 '@types/express': 4.17.21 - '@types/node': 18.18.14 + 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.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.17.1 transitivePeerDependencies: @@ -6323,12 +6242,12 @@ 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.6(storybook@8.3.6): + resolution: {integrity: sha512-TJyJPFejO6Gyr3+bXqE/+LomQbivvfHEbee/GwtlRj0XF4KQlqnvuEdEdcK25JbD0NXT8AbyncEUmjoxE7ojQw==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 unplugin: 1.5.1 dev: false @@ -6342,8 +6261,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 @@ -6353,41 +6272,41 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@storybook/instrumenter@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-+DNjTbsMzlDggsvkhRuOy7aGvQJ4oLCPgunP5Se/3yBjG+M2bYDa0EmC5jC2nwZ3ffpuvbzaVe7fWf7R8W9F2Q==} + /@storybook/instrumenter@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-0RowbKwoB/s7rtymlnKNiyWN1Z3ZK5mwgzVjlRmzxDL8hrdi5KDjTNExuJTRR3ZaBP2RR0/I3m/n0p9JhHAZvg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/global': 5.0.0 - '@vitest/utils': 1.6.0 - storybook: 8.2.9(@babel/preset-env@7.25.8) + '@vitest/utils': 2.1.3 + storybook: 8.3.6 util: 0.12.5 dev: false - /@storybook/manager-api@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-mkYvUlfqDw+0WbxIynh5TcrotmoXlumEsOA4+45zuNea8XpEgj5cNBUCnmfEO6yQ85swqkS8YYbMpg1cZyu/Vw==} + /@storybook/manager-api@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-Xt5VFZcL+G/9uzaHjzWFhxRNrP+4rPhSRKEvCZorAbC9+Hv+ZDs1JSZS5wMb4WKpXBZ0rwDVOLwngqbVtfRHuQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false - /@storybook/preset-react-webpack@8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-uBLsUfwymWXGmfN/0vB7gLCC0CWDHc778605SWxakqFx7wGF1FZUW4R46qbDFrHTaKh+bundseRdy5/uklksLQ==} + /@storybook/preset-react-webpack@8.3.6(@storybook/test@8.3.6)(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-Ar0vhJITXa4xsXT3RdgYZ2mhXxE3jfUisQzsITey5a2RVgnSBIENggmRZ/6j1oVgEXFthbarNEsebGiA+2vDZg==} 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.6 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.5.3) + '@storybook/core-webpack': 8.3.6(storybook@8.3.6) + '@storybook/react': 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0) - '@types/node': 18.18.14 + '@types/node': 22.8.0 '@types/semver': 7.5.6 find-up: 5.0.0 fs-extra: 11.2.0 @@ -6397,11 +6316,12 @@ packages: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 semver: 7.5.4 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 tsconfig-paths: 4.2.0 typescript: 5.5.3 webpack: 5.94.0(@swc/core@1.7.26)(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -6409,22 +6329,22 @@ packages: - webpack-cli dev: false - /@storybook/preset-react-webpack@8.2.9(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-uBLsUfwymWXGmfN/0vB7gLCC0CWDHc778605SWxakqFx7wGF1FZUW4R46qbDFrHTaKh+bundseRdy5/uklksLQ==} + /@storybook/preset-react-webpack@8.3.6(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-Ar0vhJITXa4xsXT3RdgYZ2mhXxE3jfUisQzsITey5a2RVgnSBIENggmRZ/6j1oVgEXFthbarNEsebGiA+2vDZg==} 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.6 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.5.3) + '@storybook/core-webpack': 8.3.6(storybook@8.3.6) + '@storybook/react': 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0) - '@types/node': 18.18.14 + '@types/node': 22.8.0 '@types/semver': 7.5.6 find-up: 5.0.0 fs-extra: 11.2.0 @@ -6434,11 +6354,12 @@ packages: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 semver: 7.5.4 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 tsconfig-paths: 4.2.0 typescript: 5.5.3 webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) transitivePeerDependencies: + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -6446,12 +6367,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.6(storybook@8.3.6): + resolution: {integrity: sha512-/Wxvb7wbI2O2iH63arRQQyyojA630vibdshkFjuC/u1nYdptEV1jkxa0OYmbZbKCn4/ze6uH4hfsKOpDPV9SWg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0): @@ -6464,7 +6385,7 @@ packages: endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 - micromatch: 4.0.7 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.5.3) tslib: 2.6.2 typescript: 5.5.3 @@ -6473,40 +6394,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.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6): + resolution: {integrity: sha512-9BO6VXIdli4GHSfiP/Z0gwAf7oQig3D/yWK2U1+91UWDV8nIAgnNBAi76U4ORC6MiK5MdkDfIikIxnLLeLnahA==} 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.6 dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false - /@storybook/react-webpack5@8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-c5udaEIFFlBfOQJlPsJvrhyK02B3ltZ86SS0j5bhOa6UgqYOo+KtKaVyegXWgsRw8vVO9ZdmXCfwVvFsHkgJdA==} + /@storybook/react-webpack5@8.3.6(@storybook/test@8.3.6)(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-8HBnBab6kPJuX0gQGIl6voZXLRdvyXxd5wmHXc0db0T9Ozq5iuNbo9sUEk9QCwJpuQc7lDDmuOkXHVq1WjSibw==} 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.6 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 8.2.9(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) - '@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3) - '@types/node': 18.18.14 + '@storybook/builder-webpack5': 8.3.6(@swc/core@1.7.26)(esbuild@0.18.20)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 8.3.6(@storybook/test@8.3.6)(@swc/core@1.7.26)(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) + '@storybook/react': 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) + '@types/node': 22.8.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 typescript: 5.5.3 transitivePeerDependencies: - '@rspack/core' + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -6514,28 +6436,29 @@ packages: - webpack-cli dev: false - /@storybook/react-webpack5@8.2.9(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4): - resolution: {integrity: sha512-c5udaEIFFlBfOQJlPsJvrhyK02B3ltZ86SS0j5bhOa6UgqYOo+KtKaVyegXWgsRw8vVO9ZdmXCfwVvFsHkgJdA==} + /@storybook/react-webpack5@8.3.6(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-8HBnBab6kPJuX0gQGIl6voZXLRdvyXxd5wmHXc0db0T9Ozq5iuNbo9sUEk9QCwJpuQc7lDDmuOkXHVq1WjSibw==} 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.6 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 8.2.9(esbuild@0.18.20)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) - '@storybook/preset-react-webpack': 8.2.9(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3)(webpack-cli@5.1.4) - '@storybook/react': 8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3) - '@types/node': 18.18.14 + '@storybook/builder-webpack5': 8.3.6(esbuild@0.18.20)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 8.3.6(esbuild@0.18.20)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3)(webpack-cli@5.1.4) + '@storybook/react': 8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3) + '@types/node': 22.8.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 typescript: 5.5.3 transitivePeerDependencies: - '@rspack/core' + - '@storybook/test' - '@swc/core' - esbuild - supports-color @@ -6543,73 +6466,71 @@ packages: - webpack-cli dev: false - /@storybook/react@8.2.9(react-dom@18.3.1)(react@18.3.1)(storybook@8.2.9)(typescript@5.5.3): - resolution: {integrity: sha512-F2xZcTDxxjpbqt7eP8rEHmlksiKmE/qtPusEWEY4N4jK01kN+ncxSl8gkJpUohMEmAnVC5t/1v/sU57xv1DYpg==} + /@storybook/react@8.3.6(@storybook/test@8.3.6)(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6)(typescript@5.5.3): + resolution: {integrity: sha512-s3COryqIOYK7urgZaCPb77zlxGjPKr6dIsYmblQJcsFY2ZlG2x0Ysm8b5oRgD8Pv71hCJ0PKYA4RzDgBVYJS9A==} engines: {node: '>=18.0.0'} peerDependencies: + '@storybook/test': 8.3.6 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.6 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.6(storybook@8.3.6) '@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.6(storybook@8.3.6) + '@storybook/preview-api': 8.3.6(storybook@8.3.6) + '@storybook/react-dom-shim': 8.3.6(react-dom@18.3.1)(react@18.3.1)(storybook@8.3.6) + '@storybook/test': 8.3.6(storybook@8.3.6) + '@storybook/theming': 8.3.6(storybook@8.3.6) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.18.14 + '@types/node': 22.8.0 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.5.4 - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 ts-dedent: 2.2.0 type-fest: 2.19.0 typescript: 5.5.3 util-deprecate: 1.0.2 dev: false - /@storybook/test@8.2.9(@types/jest@29.5.12)(jest@29.7.0)(storybook@8.2.9): - resolution: {integrity: sha512-O5JZ5S8UVVR7V0ru5AiF/uRO+srAVwji0Iik7ihy8gw3V91WQNMmJh2KkdhG0R1enYeBsYZlipOm+AW7f/MmOA==} + /@storybook/test@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-WIc8LzK9jaEw+e3OiweEM2j3cppPzsWod59swuf6gDBf176EQLIyjtVc+Kh3qO4NNkcL+lwmqaLPjOxlBLaDbg==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: '@storybook/csf': 0.1.11 - '@storybook/instrumenter': 8.2.9(storybook@8.2.9) - '@testing-library/dom': 10.1.0 - '@testing-library/jest-dom': 6.4.5(@types/jest@29.5.12)(jest@29.7.0) - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) - '@vitest/expect': 1.6.0 - '@vitest/spy': 1.6.0 - storybook: 8.2.9(@babel/preset-env@7.25.8) + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.3.6(storybook@8.3.6) + '@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.6 util: 0.12.5 - transitivePeerDependencies: - - '@jest/globals' - - '@types/bun' - - '@types/jest' - - jest - - vitest dev: false - /@storybook/theming@8.2.9(storybook@8.2.9): - resolution: {integrity: sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w==} + /@storybook/theming@8.3.6(storybook@8.3.6): + resolution: {integrity: sha512-LQjUk6GXRW9ELkoBKuqzQKFUW+ajfGPfVELcfs3/VQX61VhthJ4olov4bGPc04wsmmFMgN/qODxT485IwOHfPQ==} peerDependencies: - storybook: ^8.2.9 + storybook: ^8.3.6 dependencies: - storybook: 8.2.9(@babel/preset-env@7.25.8) + storybook: 8.3.6 dev: false /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.8): @@ -6936,20 +6857,6 @@ packages: defer-to-connect: 2.0.1 dev: false - /@testing-library/dom@10.1.0: - resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} - engines: {node: '>=18'} - dependencies: - '@babel/code-frame': 7.25.7 - '@babel/runtime': 7.25.7 - '@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@10.4.0: resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -6964,39 +6871,6 @@ packages: pretty-format: 27.5.1 dev: false - /@testing-library/jest-dom@6.4.5(@types/jest@29.5.12)(jest@29.7.0): - resolution: {integrity: sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==} - engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - peerDependencies: - '@jest/globals': '>= 28' - '@types/bun': latest - '@types/jest': '>= 28' - jest: '>= 28' - vitest: '>= 0.32' - peerDependenciesMeta: - '@jest/globals': - optional: true - '@types/bun': - optional: true - '@types/jest': - optional: true - jest: - optional: true - vitest: - optional: true - dependencies: - '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.25.7 - '@types/jest': 29.5.12 - aria-query: 5.3.0 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.6.3 - jest: 29.7.0(@types/node@20.14.10) - lodash: 4.17.21 - redent: 3.0.0 - dev: false - /@testing-library/jest-dom@6.5.0: resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} @@ -7033,15 +6907,6 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@testing-library/user-event@14.5.2(@testing-library/dom@10.1.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.1.0 - 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'} @@ -7179,12 +7044,6 @@ packages: '@types/node': 20.14.10 dev: false - /@types/cross-spawn@6.0.6: - resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - dependencies: - '@types/node': 20.14.10 - dev: false - /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: @@ -7201,10 +7060,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 @@ -7430,6 +7285,12 @@ packages: undici-types: 5.26.5 dev: false + /@types/node@22.8.0: + resolution: {integrity: sha512-84rafSBHC/z1i1E3p0cJwKA+CfYDNSXX9WSZBRopjIzLET8oNt6ht2tei4C7izwDeEiLLfdeSVBv1egOH916hg==} + dependencies: + undici-types: 6.19.8 + dev: false + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: false @@ -7946,27 +7807,48 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: false - /@vitest/expect@1.6.0: - resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} + /@vitest/expect@2.0.5: + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} dependencies: - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - chai: 4.4.1 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.2 + tinyrainbow: 1.2.0 dev: false - /@vitest/spy@1.6.0: - resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} + /@vitest/pretty-format@2.0.5: + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} dependencies: - tinyspy: 2.2.1 + tinyrainbow: 1.2.0 dev: false - /@vitest/utils@1.6.0: - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + /@vitest/pretty-format@2.1.3: + resolution: {integrity: sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==} dependencies: - diff-sequences: 29.6.3 + 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: 2.3.7 - pretty-format: 29.7.0 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + dev: false + + /@vitest/utils@2.1.3: + resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==} + dependencies: + '@vitest/pretty-format': 2.1.3 + loupe: 3.1.2 + tinyrainbow: 1.2.0 dev: false /@webassemblyjs/ast@1.12.1: @@ -8121,22 +8003,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 - /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -8219,15 +8085,6 @@ packages: - supports-color dev: false - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: false - /aggregate-error@4.0.1: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} @@ -8508,8 +8365,9 @@ packages: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: false - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + /assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} dev: false /assign-symbols@1.0.0: @@ -8626,14 +8484,6 @@ packages: dequal: 2.0.3 dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.25.8): - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.25.8 - dev: false - /babel-jest@29.7.0(@babel/core@7.25.8): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8801,6 +8651,13 @@ packages: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} dev: false + /better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + dependencies: + open: 8.4.2 + dev: false + /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -8842,14 +8699,6 @@ packages: engines: {node: '>=8'} dev: false - /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 @@ -8926,8 +8775,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.5 + caniuse-lite: 1.0.30001668 + electron-to-chromium: 1.5.38 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.0) dev: false @@ -8972,13 +8821,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 - /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -9066,10 +8908,6 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} - dev: false - /caniuse-lite@1.0.30001668: resolution: {integrity: sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==} dev: false @@ -9096,17 +8934,15 @@ packages: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + /chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 dev: false /chalk@2.4.2: @@ -9160,10 +8996,9 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: false - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 + /check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} dev: false /chokidar@3.6.0: @@ -9181,11 +9016,6 @@ packages: fsevents: 2.3.3 dev: false - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: false - /chromatic@11.5.5: resolution: {integrity: sha512-YS0GJwegF0vpMbwZE68/xJlI4SlUGMqI78V2ATAF19YwTHaq8jGP1CPQGKUSlgWUhzPtyu3ELy6Dvv/owYljAg==} hasBin: true @@ -9241,13 +9071,6 @@ packages: escape-string-regexp: 5.0.0 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-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9262,11 +9085,6 @@ packages: string-width: 4.2.3 dev: false - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: false - /cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -9299,11 +9117,6 @@ packages: mimic-response: 1.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'} @@ -9402,11 +9215,6 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false - /commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - dev: false - /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -9841,13 +9649,6 @@ packages: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} 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-functions-list@3.2.2: resolution: {integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==} engines: {node: '>=12 || >=16'} @@ -9865,12 +9666,12 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.41) - postcss: 8.4.41 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.41) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.41) - postcss-modules-scope: 3.2.0(postcss@8.4.41) - postcss-modules-values: 4.0.0(postcss@8.4.41) + 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.5.4 webpack: 5.94.0(esbuild@0.18.20)(webpack-cli@5.1.4) @@ -9924,7 +9725,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} dependencies: mdn-data: 2.0.28 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: false /css-tree@2.3.1: @@ -9932,7 +9733,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 dev: false /css-what@6.1.0: @@ -10157,11 +9958,9 @@ packages: optional: true dev: false - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + /deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 dev: false /deep-is@0.1.4: @@ -10193,12 +9992,6 @@ packages: execa: 5.1.1 dev: false - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: false - /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -10213,6 +10006,11 @@ packages: gopd: 1.0.1 dev: false + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: false + /define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -10227,10 +10025,6 @@ packages: object-keys: 1.1.1 dev: false - /defu@6.1.3: - resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} - dev: false - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -10448,10 +10242,6 @@ packages: resolution: {integrity: sha512-VbeVexmZ1IFh+5EfrYz1I0HTzHVIlJa112UEWhciPyeOcKJGeTv6N8WnG4wsQB81DGCaVEGhpSb6o6a8WYFXXg==} dev: false - /electron-to-chromium@1.5.5: - resolution: {integrity: sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==} - dev: false - /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -11529,7 +11319,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 dev: false /fast-json-parse@1.0.3: @@ -11585,12 +11375,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 - /fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} dev: false @@ -11779,11 +11563,6 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: false - /flow-parser@0.224.0: - resolution: {integrity: sha512-S1P78o0VLB1FZvkoGSIpaRiiTUQ3xDhm9I4Z1qc3lglmkjehfR2sjM0vhwKS7UC1G12VT4Leb/GGV/KlactqjA==} - engines: {node: '>=0.4.0'} - dev: false - /fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} dev: false @@ -11906,13 +11685,6 @@ packages: universalify: 0.1.2 dev: false - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - /fs-monkey@1.0.5: resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: false @@ -11982,10 +11754,6 @@ packages: engines: {node: '>=18'} 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'} @@ -12039,21 +11807,6 @@ packages: resolve-pkg-maps: 1.0.0 dev: false - /giget@1.1.3: - resolution: {integrity: sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==} - hasBin: true - dependencies: - colorette: 2.0.20 - defu: 6.1.3 - https-proxy-agent: 7.0.2 - mri: 1.2.0 - node-fetch-native: 1.4.1 - pathe: 1.1.1 - tar: 6.2.0 - transitivePeerDependencies: - - supports-color - dev: false - /git-up@7.0.0: resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} dependencies: @@ -12171,18 +11924,6 @@ packages: slash: 4.0.0 dev: false - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - 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 - /globjoin@0.1.4: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} dev: false @@ -12648,7 +12389,7 @@ packages: http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.7 + micromatch: 4.0.8 transitivePeerDependencies: - debug dev: false @@ -12682,16 +12423,6 @@ packages: - supports-color dev: false - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: false - /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: false @@ -12740,13 +12471,13 @@ packages: postcss: 8.4.39 dev: false - /icss-utils@5.1.0(postcss@8.4.41): + /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.41 + postcss: 8.4.47 dev: false /ieee754@1.1.13: @@ -13011,11 +12742,6 @@ packages: is-docker: 3.0.0 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.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: false @@ -13150,11 +12876,6 @@ packages: which-typed-array: 1.1.15 dev: false - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: false - /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: false @@ -13437,7 +13158,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -13477,7 +13198,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -13568,7 +13289,7 @@ packages: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -13601,7 +13322,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -13868,38 +13589,9 @@ packages: argparse: 2.0.1 dev: false - /jscodeshift@0.15.1(@babel/preset-env@7.25.8): - resolution: {integrity: sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - peerDependenciesMeta: - '@babel/preset-env': - optional: true - dependencies: - '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 - '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.25.8) - '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) - '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.8) - '@babel/preset-env': 7.25.8(@babel/core@7.25.8) - '@babel/preset-flow': 7.23.3(@babel/core@7.25.8) - '@babel/preset-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/register': 7.22.15(@babel/core@7.25.8) - babel-core: 7.0.0-bridge.0(@babel/core@7.25.8) - chalk: 4.1.2 - flow-parser: 0.224.0 - graceful-fs: 4.2.11 - micromatch: 4.0.7 - 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 + /jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} dev: false /jsdom@16.7.0: @@ -14146,7 +13838,7 @@ packages: /launch-editor@2.6.1: resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: - picocolors: 1.1.0 + picocolors: 1.1.1 shell-quote: 1.8.1 dev: false @@ -14335,14 +14027,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 - /log-update@6.0.0: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} engines: {node: '>=18'} @@ -14386,10 +14070,8 @@ packages: js-tokens: 4.0.0 dev: false - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 + /loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} dev: false /lower-case@2.0.2: @@ -14871,37 +14553,11 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: false - - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - 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'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mockdate@3.0.5: resolution: {integrity: sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==} dev: false @@ -15001,22 +14657,11 @@ packages: dev: false optional: true - /node-dir@0.1.17: - resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} - engines: {node: '>= 0.10.5'} - dependencies: - minimatch: 3.1.2 - dev: false - /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} dev: false - /node-fetch-native@1.4.1: - resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} - dev: false - /node-fetch@3.3.2: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -15261,6 +14906,15 @@ packages: is-wsl: 3.1.0 dev: false + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: false + /opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -15278,21 +14932,6 @@ packages: 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 - dev: false - /os-filter-obj@2.0.0: resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} engines: {node: '>=4'} @@ -15562,17 +15201,9 @@ 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.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: false - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + /pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} dev: false /peek-readable@5.0.0: @@ -15588,6 +15219,10 @@ packages: resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} dev: false + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: false + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -15693,13 +15328,13 @@ packages: postcss: 8.4.39 dev: false - /postcss-modules-extract-imports@3.1.0(postcss@8.4.41): + /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.41 + postcss: 8.4.47 dev: false /postcss-modules-local-by-default@4.0.5(postcss@8.4.39): @@ -15714,14 +15349,14 @@ packages: postcss-value-parser: 4.2.0 dev: false - /postcss-modules-local-by-default@4.0.5(postcss@8.4.41): + /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.41) - postcss: 8.4.41 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 dev: false @@ -15736,13 +15371,13 @@ packages: postcss-selector-parser: 6.0.16 dev: false - /postcss-modules-scope@3.2.0(postcss@8.4.41): + /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.41 + postcss: 8.4.47 postcss-selector-parser: 6.0.16 dev: false @@ -15756,14 +15391,14 @@ packages: postcss: 8.4.39 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.41): + /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.41) - postcss: 8.4.41 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 dev: false /postcss-resolve-nested-selector@0.1.1: @@ -15806,8 +15441,8 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.0 + picocolors: 1.1.1 + source-map-js: 1.2.1 dev: false /postcss@8.4.39: @@ -15815,17 +15450,8 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.0 - dev: false - - /postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 - source-map-js: 1.2.0 + picocolors: 1.1.1 + source-map-js: 1.2.1 dev: false /postcss@8.4.47: @@ -15833,7 +15459,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 dev: false @@ -15867,12 +15493,6 @@ packages: hasBin: true dev: false - /prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - dev: false - /pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} dependencies: @@ -16511,14 +16131,6 @@ packages: lowercase-keys: 2.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 - /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -16541,14 +16153,6 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: false - /rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - dependencies: - glob: 7.2.3 - dev: false - /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -16717,6 +16321,12 @@ packages: lru-cache: 6.0.0 dev: false + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + dev: false + /send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -16883,11 +16493,6 @@ packages: engines: {node: '>=12'} dev: false - /slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - dev: false - /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -16946,11 +16551,6 @@ packages: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - dev: false - /source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -17074,40 +16674,12 @@ packages: engines: {node: '>= 0.8'} dev: false - /storybook@8.2.9(@babel/preset-env@7.25.8): - resolution: {integrity: sha512-S7Q/Yt4A+nu1O23rg39lQvBqL2Vg+PKXbserDWUR4LFJtfmoZ2xGO8oFIhJmvvhjUBvolw1q7QDeswPq2i0sGw==} + /storybook@8.3.6: + resolution: {integrity: sha512-9GVbtej6ZzPRUM7KRQ7848506FfHrUiJGqPuIQdoSJd09EmuEoLjmLAgEOmrHBQKgGYMaM7Vh9GsTLim6vwZTQ==} hasBin: true dependencies: - '@babel/core': 7.25.8 - '@babel/types': 7.25.2 - '@storybook/codemod': 8.2.9 - '@storybook/core': 8.2.9 - '@types/semver': 7.5.6 - '@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.0 - execa: 5.1.1 - fd-package-json: 1.2.0 - find-up: 5.0.0 - fs-extra: 11.2.0 - giget: 1.1.3 - globby: 14.0.1 - jscodeshift: 0.15.1(@babel/preset-env@7.25.8) - leven: 3.1.0 - ora: 5.4.1 - prettier: 3.3.2 - prompts: 2.4.2 - semver: 7.5.4 - strip-json-comments: 3.1.1 - tempy: 3.1.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 + '@storybook/core': 8.3.6 transitivePeerDependencies: - - '@babel/preset-env' - bufferutil - supports-color - utf-8-validate @@ -17439,7 +17011,7 @@ packages: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /swc-loader@0.2.6(@swc/core@1.7.26)(webpack@5.94.0): @@ -17481,46 +17053,12 @@ packages: engines: {node: '>=6'} dev: false - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: false - /telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} dependencies: 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 - - /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 - /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -17663,8 +17201,13 @@ packages: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} dev: false - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + /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 @@ -18028,11 +17571,6 @@ 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'} @@ -18164,6 +17702,10 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: false + /undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + dev: false + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -18187,11 +17729,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: @@ -18204,13 +17741,6 @@ packages: vfile: 6.0.1 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-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: @@ -18285,7 +17815,7 @@ packages: dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /update-browserslist-db@1.1.0(browserslist@4.24.0): @@ -18296,7 +17826,7 @@ packages: dependencies: browserslist: 4.24.0 escalade: 3.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 dev: false /uri-js@4.4.1: @@ -18442,10 +17972,6 @@ packages: xml-name-validator: 4.0.0 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: @@ -18466,12 +17992,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@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false @@ -19094,14 +18614,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@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} From 0cd7e96e1f6135ef9b65b91a2564940fbc3070cf Mon Sep 17 00:00:00 2001 From: James Mockett <1166188+jamesmockett@users.noreply.github.com> Date: Tue, 29 Oct 2024 09:43:55 +0000 Subject: [PATCH 51/67] Allow number of visible cards in carousel to be configured (#12703) * Allow number of visible cards to be specified * Calculate correct offset for card gap * Remove default story and add snapshots for different breakpoints * Make carousel items a flex container * Replace hardcoded card count in navigation conditional --- .../src/components/ScrollableCarousel.tsx | 43 ++++++++++++++++--- .../ScrollableMedium.importable.tsx | 8 +++- .../components/ScrollableMedium.stories.tsx | 12 +++++- .../components/ScrollableSmall.importable.tsx | 8 +++- 4 files changed, 59 insertions(+), 12 deletions(-) diff --git a/dotcom-rendering/src/components/ScrollableCarousel.tsx b/dotcom-rendering/src/components/ScrollableCarousel.tsx index c056f61892..7b52af75e6 100644 --- a/dotcom-rendering/src/components/ScrollableCarousel.tsx +++ b/dotcom-rendering/src/components/ScrollableCarousel.tsx @@ -18,6 +18,8 @@ import { palette } from '../palette'; type Props = { children: React.ReactNode; carouselLength: number; + visibleCardsOnMobile: number; + visibleCardsOnTablet: number; }; /** @@ -134,6 +136,7 @@ const buttonLayoutStyles = css` `; const itemStyles = css` + display: flex; scroll-snap-align: start; grid-area: span 1; position: relative; @@ -158,18 +161,37 @@ const itemStyles = css` * Generates CSS styles for a grid layout used in a carousel. * * @param {number} totalCards - The total number of cards in the carousel. + * @param {number} visibleCardsOnMobile - Number of cards to show at once on mobile. + * @param {number} visibleCardsOnTablet - Number of cards to show at once on tablet. * @returns {string} - The CSS styles for the grid layout. */ -const generateCarouselColumnStyles = (totalCards: number) => { +const generateCarouselColumnStyles = ( + totalCards: number, + visibleCardsOnMobile: number, + visibleCardsOnTablet: number, +) => { const peepingCardWidth = space[8]; + const cardGap = 20; + const offsetPeepingCardWidth = + peepingCardWidth / visibleCardsOnMobile + cardGap; + const offsetCardGap = + (cardGap * (visibleCardsOnTablet - 1)) / visibleCardsOnTablet; return css` + /** + * On mobile, a 32px wide 'peeping' card is always shown to the right in + * addition to the specified number of visible cards to indicate the + * carousel can be scrolled. + */ grid-template-columns: repeat( ${totalCards}, - calc((100% - ${peepingCardWidth}px - 20px)) + calc(${100 / visibleCardsOnMobile}% - ${offsetPeepingCardWidth}px) ); ${from.tablet} { - grid-template-columns: repeat(${totalCards}, calc(50% - 10px)); + grid-template-columns: repeat( + ${totalCards}, + calc(${100 / visibleCardsOnTablet}% - ${offsetCardGap}px) + ); } `; }; @@ -177,7 +199,12 @@ const generateCarouselColumnStyles = (totalCards: number) => { /** * A component used in the carousel fronts containers (e.g. small/medium/feature) */ -export const ScrollableCarousel = ({ children, carouselLength }: Props) => { +export const ScrollableCarousel = ({ + children, + carouselLength, + visibleCardsOnMobile, + visibleCardsOnTablet, +}: Props) => { const carouselRef = useRef(null); const [previousButtonEnabled, setPreviousButtonEnabled] = useState(false); const [nextButtonEnabled, setNextButtonEnabled] = useState(true); @@ -237,7 +264,11 @@ export const ScrollableCarousel = ({ children, carouselLength }: Props) => { ref={carouselRef} css={[ carouselStyles, - generateCarouselColumnStyles(carouselLength), + generateCarouselColumnStyles( + carouselLength, + visibleCardsOnMobile, + visibleCardsOnTablet, + ), ]} data-heatphan-type="carousel" > @@ -245,7 +276,7 @@ export const ScrollableCarousel = ({ children, carouselLength }: Props) => {
    - {carouselLength > 2 && ( + {carouselLength > visibleCardsOnTablet && (