From e7724382e790db993682263121e917120d4daa68 Mon Sep 17 00:00:00 2001
From: Marin Atanasov <8436925+tyxla@users.noreply.github.com>
Date: Mon, 9 Dec 2024 16:00:48 +0200
Subject: [PATCH 01/74] Navigation: Fix active item hover color (#67732)
* Navigation: Fix active item hover color
* Add CHANGELOG entry
* Fix duplicate Enhancements sections
Co-authored-by: tyxla
Co-authored-by: mirka <0mirka00@git.wordpress.org>
---
packages/components/CHANGELOG.md | 13 +++++--------
.../src/navigation/styles/navigation-styles.tsx | 1 +
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
index 2d2761924fb633..047d190ee3c5d8 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -11,6 +11,11 @@
- `GradientPicker`: Add `enableAlpha` prop ([#66974](https://github.com/WordPress/gutenberg/pull/66974))
- `CustomGradientPicker`: Add `enableAlpha` prop ([#66974](https://github.com/WordPress/gutenberg/pull/66974))
- `RangeControl`: Update the design of the range control marks ([#67611](https://github.com/WordPress/gutenberg/pull/67611))
+- `BorderBoxControl`: Reduce gap value when unlinked ([#67049](https://github.com/WordPress/gutenberg/pull/67049)).
+- `DropdownMenu`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
+- `MenuItem`: Increase height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
+- `MenuItemsChoice`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
+- `Navigation`: Fix active item hover color ([#67732](https://github.com/WordPress/gutenberg/pull/67732)).
### Deprecations
@@ -22,14 +27,6 @@
- `FormFileUpload`: Deprecate 36px default size ([#67438](https://github.com/WordPress/gutenberg/pull/67438)).
- `FormTokenField`: Deprecate 36px default size ([#67454](https://github.com/WordPress/gutenberg/pull/67454)).
-
-### Enhancements
-
-- `BorderBoxControl`: Reduce gap value when unlinked ([#67049](https://github.com/WordPress/gutenberg/pull/67049)).
-- `DropdownMenu`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
-- `MenuItem`: Increase height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
-- `MenuItemsChoice`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
-
### Experimental
- `Menu`: throw when subcomponents are not rendered inside top level `Menu` ([#67411](https://github.com/WordPress/gutenberg/pull/67411)).
diff --git a/packages/components/src/navigation/styles/navigation-styles.tsx b/packages/components/src/navigation/styles/navigation-styles.tsx
index 580c0eef4dba8f..71dbccd7717c49 100644
--- a/packages/components/src/navigation/styles/navigation-styles.tsx
+++ b/packages/components/src/navigation/styles/navigation-styles.tsx
@@ -137,6 +137,7 @@ export const ItemBaseUI = styled.li`
color: ${ COLORS.white };
> button,
+ .components-button:hover,
> a {
color: ${ COLORS.white };
opacity: 1;
From 896b316bc774f0b2da4b4b916196fba4877945a0 Mon Sep 17 00:00:00 2001
From: Lena Morita
Date: Mon, 9 Dec 2024 23:09:46 +0900
Subject: [PATCH 02/74] Components: Deprecate `COLORS.white` (#67649)
* Components: Deprecate `COLORS.white`
* Add changelogs
* Update snapshot
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: tyxla
---
packages/components/CHANGELOG.md | 3 ++
packages/components/src/menu/styles.ts | 2 +-
.../navigation/styles/navigation-styles.tsx | 4 +-
.../test/__snapshots__/index.tsx.snap | 44 +++++++++----------
.../styles.ts | 12 ++---
.../toggle-group-control/styles.ts | 2 +-
.../components/src/utils/colors-values.js | 3 ++
.../components/src/utils/config-values.js | 1 -
8 files changed, 38 insertions(+), 33 deletions(-)
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
index 047d190ee3c5d8..249d4f3f65b936 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -10,6 +10,9 @@
- `GradientPicker`: Add `enableAlpha` prop ([#66974](https://github.com/WordPress/gutenberg/pull/66974))
- `CustomGradientPicker`: Add `enableAlpha` prop ([#66974](https://github.com/WordPress/gutenberg/pull/66974))
+- `Menu`: Replace hardcoded white color with theme-ready variable ([#67649](https://github.com/WordPress/gutenberg/pull/67649)).
+- `Navigation` (deprecated): Replace hardcoded white color with theme-ready variable ([#67649](https://github.com/WordPress/gutenberg/pull/67649)).
+- `ToggleGroupControl`: Replace hardcoded white color with theme-ready variable ([#67649](https://github.com/WordPress/gutenberg/pull/67649)).
- `RangeControl`: Update the design of the range control marks ([#67611](https://github.com/WordPress/gutenberg/pull/67611))
- `BorderBoxControl`: Reduce gap value when unlinked ([#67049](https://github.com/WordPress/gutenberg/pull/67049)).
- `DropdownMenu`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
diff --git a/packages/components/src/menu/styles.ts b/packages/components/src/menu/styles.ts
index 0e0752bf24cd10..cda5c7321f38b4 100644
--- a/packages/components/src/menu/styles.ts
+++ b/packages/components/src/menu/styles.ts
@@ -201,7 +201,7 @@ const baseItem = css`
[aria-disabled='true']
) {
background-color: ${ COLORS.theme.accent };
- color: ${ COLORS.white };
+ color: ${ COLORS.theme.accentInverted };
}
/* Keyboard focus (focus-visible) */
diff --git a/packages/components/src/navigation/styles/navigation-styles.tsx b/packages/components/src/navigation/styles/navigation-styles.tsx
index 71dbccd7717c49..aa0976a9a0f277 100644
--- a/packages/components/src/navigation/styles/navigation-styles.tsx
+++ b/packages/components/src/navigation/styles/navigation-styles.tsx
@@ -134,12 +134,12 @@ export const ItemBaseUI = styled.li`
&.is-active {
background-color: ${ COLORS.theme.accent };
- color: ${ COLORS.white };
+ color: ${ COLORS.theme.accentInverted };
> button,
.components-button:hover,
> a {
- color: ${ COLORS.white };
+ color: ${ COLORS.theme.accentInverted };
opacity: 1;
}
}
diff --git a/packages/components/src/toggle-group-control/test/__snapshots__/index.tsx.snap b/packages/components/src/toggle-group-control/test/__snapshots__/index.tsx.snap
index f344cd6ba16528..91e9f291ddf018 100644
--- a/packages/components/src/toggle-group-control/test/__snapshots__/index.tsx.snap
+++ b/packages/components/src/toggle-group-control/test/__snapshots__/index.tsx.snap
@@ -72,7 +72,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
content: '';
position: absolute;
pointer-events: none;
- background: #1e1e1e;
+ background: var(--wp-components-color-foreground, #1e1e1e);
outline: 2px solid transparent;
outline-offset: -3px;
--antialiasing-factor: 100;
@@ -134,7 +134,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -158,12 +158,12 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
user-select: none;
width: 100%;
z-index: 2;
- color: #1e1e1e;
+ color: var(--wp-components-color-foreground, #1e1e1e);
height: 32px;
aspect-ratio: 1;
padding-left: 0;
padding-right: 0;
- color: #fff;
+ color: var(--wp-components-color-foreground-inverted, #fff);
}
@media not ( prefers-reduced-motion ) {
@@ -183,7 +183,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
}
.emotion-12:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
.emotion-12:active {
@@ -211,7 +211,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -235,7 +235,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
user-select: none;
width: 100%;
z-index: 2;
- color: #1e1e1e;
+ color: var(--wp-components-color-foreground, #1e1e1e);
height: 32px;
aspect-ratio: 1;
padding-left: 0;
@@ -259,7 +259,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
}
.emotion-17:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
@@ -437,7 +437,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
content: '';
position: absolute;
pointer-events: none;
- background: #1e1e1e;
+ background: var(--wp-components-color-foreground, #1e1e1e);
outline: 2px solid transparent;
outline-offset: -3px;
--antialiasing-factor: 100;
@@ -499,7 +499,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -542,7 +542,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
}
.emotion-12:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
.emotion-13 {
@@ -706,7 +706,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
content: '';
position: absolute;
pointer-events: none;
- background: #1e1e1e;
+ background: var(--wp-components-color-foreground, #1e1e1e);
outline: 2px solid transparent;
outline-offset: -3px;
--antialiasing-factor: 100;
@@ -768,7 +768,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -792,12 +792,12 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
user-select: none;
width: 100%;
z-index: 2;
- color: #1e1e1e;
+ color: var(--wp-components-color-foreground, #1e1e1e);
height: 32px;
aspect-ratio: 1;
padding-left: 0;
padding-right: 0;
- color: #fff;
+ color: var(--wp-components-color-foreground-inverted, #fff);
}
@media not ( prefers-reduced-motion ) {
@@ -817,7 +817,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
}
.emotion-12:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
.emotion-12:active {
@@ -845,7 +845,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -869,7 +869,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
user-select: none;
width: 100%;
z-index: 2;
- color: #1e1e1e;
+ color: var(--wp-components-color-foreground, #1e1e1e);
height: 32px;
aspect-ratio: 1;
padding-left: 0;
@@ -893,7 +893,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with icons 1`]
}
.emotion-17:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
@@ -1065,7 +1065,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
content: '';
position: absolute;
pointer-events: none;
- background: #1e1e1e;
+ background: var(--wp-components-color-foreground, #1e1e1e);
outline: 2px solid transparent;
outline-offset: -3px;
--antialiasing-factor: 100;
@@ -1127,7 +1127,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
background: transparent;
border: none;
border-radius: 1px;
- color: #757575;
+ color: var(--wp-components-color-gray-700, #757575);
fill: currentColor;
cursor: pointer;
display: -webkit-box;
@@ -1170,7 +1170,7 @@ exports[`ToggleGroupControl uncontrolled should render correctly with text optio
}
.emotion-12:active {
- background: #fff;
+ background: var(--wp-components-color-background, #fff);
}
.emotion-13 {
diff --git a/packages/components/src/toggle-group-control/toggle-group-control-option-base/styles.ts b/packages/components/src/toggle-group-control/toggle-group-control-option-base/styles.ts
index c0248f9b3f7f22..a53eced1219db4 100644
--- a/packages/components/src/toggle-group-control/toggle-group-control-option-base/styles.ts
+++ b/packages/components/src/toggle-group-control/toggle-group-control-option-base/styles.ts
@@ -38,7 +38,7 @@ export const buttonView = ( {
background: transparent;
border: none;
border-radius: ${ CONFIG.radiusXSmall };
- color: ${ COLORS.gray[ 700 ] };
+ color: ${ COLORS.theme.gray[ 700 ] };
fill: currentColor;
cursor: pointer;
display: flex;
@@ -70,7 +70,7 @@ export const buttonView = ( {
}
&:active {
- background: ${ CONFIG.controlBackgroundColor };
+ background: ${ COLORS.ui.background };
}
${ isDeselectable && deselectable }
@@ -79,7 +79,7 @@ export const buttonView = ( {
`;
const pressed = css`
- color: ${ COLORS.white };
+ color: ${ COLORS.theme.foregroundInverted };
&:active {
background: transparent;
@@ -87,11 +87,11 @@ const pressed = css`
`;
const deselectable = css`
- color: ${ COLORS.gray[ 900 ] };
+ color: ${ COLORS.theme.foreground };
&:focus {
box-shadow:
- inset 0 0 0 1px ${ COLORS.white },
+ inset 0 0 0 1px ${ COLORS.ui.background },
0 0 0 ${ CONFIG.borderWidthFocus } ${ COLORS.theme.accent };
outline: 2px solid transparent;
}
@@ -112,7 +112,7 @@ const isIconStyles = ( {
};
return css`
- color: ${ COLORS.gray[ 900 ] };
+ color: ${ COLORS.theme.foreground };
height: ${ iconButtonSizes[ size ] };
aspect-ratio: 1;
padding-left: 0;
diff --git a/packages/components/src/toggle-group-control/toggle-group-control/styles.ts b/packages/components/src/toggle-group-control/toggle-group-control/styles.ts
index bb6efe476b2b2c..8376b66a5a86cf 100644
--- a/packages/components/src/toggle-group-control/toggle-group-control/styles.ts
+++ b/packages/components/src/toggle-group-control/toggle-group-control/styles.ts
@@ -39,7 +39,7 @@ export const toggleGroupControl = ( {
content: '';
position: absolute;
pointer-events: none;
- background: ${ COLORS.gray[ 900 ] };
+ background: ${ COLORS.theme.foreground };
// Windows High Contrast mode will show this outline, but not the box-shadow.
outline: 2px solid transparent;
diff --git a/packages/components/src/utils/colors-values.js b/packages/components/src/utils/colors-values.js
index 1ad528d13f0108..439d464f1460b1 100644
--- a/packages/components/src/utils/colors-values.js
+++ b/packages/components/src/utils/colors-values.js
@@ -75,6 +75,9 @@ export const COLORS = Object.freeze( {
* @deprecated Use semantic aliases in `COLORS.ui` or theme-ready variables in `COLORS.theme.gray`.
*/
gray: GRAY, // TODO: Stop exporting this when everything is migrated to `theme` or `ui`
+ /**
+ * @deprecated Prefer theme-ready variables in `COLORS.theme`.
+ */
white,
alert: ALERT,
/**
diff --git a/packages/components/src/utils/config-values.js b/packages/components/src/utils/config-values.js
index 1bc3945f9b3b16..13b704540e9c4c 100644
--- a/packages/components/src/utils/config-values.js
+++ b/packages/components/src/utils/config-values.js
@@ -12,7 +12,6 @@ const CONTROL_PROPS = {
controlPaddingXSmall: 8,
controlPaddingXLarge: 12 * 1.3334, // TODO: Deprecate
- controlBackgroundColor: COLORS.white,
controlBoxShadowFocus: `0 0 0 0.5px ${ COLORS.theme.accent }`,
controlHeight: CONTROL_HEIGHT,
controlHeightXSmall: `calc( ${ CONTROL_HEIGHT } * 0.6 )`,
From 9da58a749e2958f65c51352afd2f469379057fc4 Mon Sep 17 00:00:00 2001
From: George Mamadashvili
Date: Mon, 9 Dec 2024 18:38:42 +0400
Subject: [PATCH 03/74] Data: Expose 'useSelect' warning to third-party
consumers (#67735)
Co-authored-by: Mamaduka
Co-authored-by: youknowriad
Co-authored-by: gziolo
Co-authored-by: tyxla
---
.../block-editor/src/hooks/test/font-size.js | 27 ++++++++++---------
.../src/hooks/test/use-query-select.js | 12 +++++++++
.../data/src/components/use-select/index.js | 2 +-
.../src/components/use-select/test/index.js | 13 +++++++++
.../src/components/with-select/test/index.js | 13 +++++++++
5 files changed, 54 insertions(+), 13 deletions(-)
diff --git a/packages/block-editor/src/hooks/test/font-size.js b/packages/block-editor/src/hooks/test/font-size.js
index 11cd024bf8a285..dc3fc9100e4759 100644
--- a/packages/block-editor/src/hooks/test/font-size.js
+++ b/packages/block-editor/src/hooks/test/font-size.js
@@ -19,6 +19,15 @@ import {
import _fontSize from '../font-size';
const noop = () => {};
+const EMPTY_ARRAY = [];
+const EMPTY_OBJECT = {};
+const fontSizes = [
+ {
+ name: 'A larger font',
+ size: '32px',
+ slug: 'larger',
+ },
+];
function addUseSettingFilter( callback ) {
addFilter(
@@ -55,13 +64,7 @@ describe( 'useBlockProps', () => {
registerBlockType( blockSettings.name, blockSettings );
addUseSettingFilter( ( result, path ) => {
if ( 'typography.fontSizes' === path ) {
- return [
- {
- name: 'A larger font',
- size: '32px',
- slug: 'larger',
- },
- ];
+ return fontSizes;
}
if ( 'typography.fluid' === path ) {
@@ -69,7 +72,7 @@ describe( 'useBlockProps', () => {
}
if ( 'layout' === path ) {
- return {};
+ return EMPTY_OBJECT;
}
return result;
@@ -95,7 +98,7 @@ describe( 'useBlockProps', () => {
registerBlockType( blockSettings.name, blockSettings );
addUseSettingFilter( ( result, path ) => {
if ( 'typography.fontSizes' === path ) {
- return [];
+ return EMPTY_ARRAY;
}
if ( 'typography.fluid' === path ) {
@@ -103,7 +106,7 @@ describe( 'useBlockProps', () => {
}
if ( 'layout' === path ) {
- return {};
+ return EMPTY_OBJECT;
}
return result;
@@ -132,7 +135,7 @@ describe( 'useBlockProps', () => {
registerBlockType( blockSettings.name, blockSettings );
addUseSettingFilter( ( result, path ) => {
if ( 'typography.fontSizes' === path ) {
- return [];
+ return EMPTY_ARRAY;
}
if ( 'typography.fluid' === path ) {
@@ -140,7 +143,7 @@ describe( 'useBlockProps', () => {
}
if ( 'layout' === path ) {
- return {};
+ return EMPTY_OBJECT;
}
return result;
diff --git a/packages/core-data/src/hooks/test/use-query-select.js b/packages/core-data/src/hooks/test/use-query-select.js
index 894851f79a9c78..873b897fff4e7d 100644
--- a/packages/core-data/src/hooks/test/use-query-select.js
+++ b/packages/core-data/src/hooks/test/use-query-select.js
@@ -17,9 +17,16 @@ import { render, screen, waitFor } from '@testing-library/react';
*/
import useQuerySelect from '../use-query-select';
+/* eslint-disable @wordpress/wp-global-usage */
describe( 'useQuerySelect', () => {
+ const initialScriptDebug = globalThis.SCRIPT_DEBUG;
let registry;
+ beforeAll( () => {
+ // Do not run hook in development mode; it will call `mapSelect` an extra time.
+ globalThis.SCRIPT_DEBUG = false;
+ } );
+
beforeEach( () => {
registry = createRegistry();
registry.registerStore( 'testStore', {
@@ -31,6 +38,10 @@ describe( 'useQuerySelect', () => {
} );
} );
+ afterAll( () => {
+ globalThis.SCRIPT_DEBUG = initialScriptDebug;
+ } );
+
const getTestComponent = ( mapSelectSpy, dependencyKey ) => ( props ) => {
const dependencies = props[ dependencyKey ];
mapSelectSpy.mockImplementation( ( select ) => ( {
@@ -188,3 +199,4 @@ describe( 'useQuerySelect', () => {
);
} );
} );
+/* eslint-enable @wordpress/wp-global-usage */
diff --git a/packages/data/src/components/use-select/index.js b/packages/data/src/components/use-select/index.js
index 6931743151773c..ea4869bb4e7a92 100644
--- a/packages/data/src/components/use-select/index.js
+++ b/packages/data/src/components/use-select/index.js
@@ -174,7 +174,7 @@ function Store( registry, suspense ) {
listeningStores
);
- if ( process.env.NODE_ENV === 'development' ) {
+ if ( globalThis.SCRIPT_DEBUG ) {
if ( ! didWarnUnstableReference ) {
const secondMapResult = mapSelect( select, registry );
if ( ! isShallowEqual( mapResult, secondMapResult ) ) {
diff --git a/packages/data/src/components/use-select/test/index.js b/packages/data/src/components/use-select/test/index.js
index 3320f7d4638a59..6bb47d3c68e9ed 100644
--- a/packages/data/src/components/use-select/test/index.js
+++ b/packages/data/src/components/use-select/test/index.js
@@ -32,12 +32,24 @@ function counterStore( initialCount = 0, step = 1 ) {
};
}
+/* eslint-disable @wordpress/wp-global-usage */
describe( 'useSelect', () => {
+ const initialScriptDebug = globalThis.SCRIPT_DEBUG;
let registry;
+
+ beforeAll( () => {
+ // Do not run hook in development mode; it will call `mapSelect` an extra time.
+ globalThis.SCRIPT_DEBUG = false;
+ } );
+
beforeEach( () => {
registry = createRegistry();
} );
+ afterAll( () => {
+ globalThis.SCRIPT_DEBUG = initialScriptDebug;
+ } );
+
it( 'passes the relevant data to the component', () => {
registry.registerStore( 'testStore', {
reducer: () => ( { foo: 'bar' } ),
@@ -1257,3 +1269,4 @@ describe( 'useSelect', () => {
} );
} );
} );
+/* eslint-enable @wordpress/wp-global-usage */
diff --git a/packages/data/src/components/with-select/test/index.js b/packages/data/src/components/with-select/test/index.js
index fe798354cba20d..9e01bb17cbb7e1 100644
--- a/packages/data/src/components/with-select/test/index.js
+++ b/packages/data/src/components/with-select/test/index.js
@@ -18,7 +18,19 @@ import withDispatch from '../../with-dispatch';
import { createRegistry } from '../../../registry';
import { RegistryProvider } from '../../registry-provider';
+/* eslint-disable @wordpress/wp-global-usage */
describe( 'withSelect', () => {
+ const initialScriptDebug = globalThis.SCRIPT_DEBUG;
+
+ beforeAll( () => {
+ // Do not run HOC in development mode; it will call `mapSelect` an extra time.
+ globalThis.SCRIPT_DEBUG = false;
+ } );
+
+ afterAll( () => {
+ globalThis.SCRIPT_DEBUG = initialScriptDebug;
+ } );
+
it( 'passes the relevant data to the component', () => {
const registry = createRegistry();
registry.registerStore( 'reactReducer', {
@@ -615,3 +627,4 @@ describe( 'withSelect', () => {
expect( screen.getByRole( 'status' ) ).toHaveTextContent( 'second' );
} );
} );
+/* eslint-enable @wordpress/wp-global-usage */
From e85937ff6868a4b35856845755636c39dbbc555a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20K=C3=A4gy?=
Date: Mon, 9 Dec 2024 15:51:18 +0100
Subject: [PATCH 04/74] Feature: Add `navigation.isLoading` state to
core/router store (#67680)
---
packages/interactivity-router/src/index.ts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/packages/interactivity-router/src/index.ts b/packages/interactivity-router/src/index.ts
index 8a46d4ce350113..0c10e896ce1ef5 100644
--- a/packages/interactivity-router/src/index.ts
+++ b/packages/interactivity-router/src/index.ts
@@ -223,6 +223,7 @@ interface Store {
state: {
url: string;
navigation: {
+ isLoading: boolean;
hasStarted: boolean;
hasFinished: boolean;
};
@@ -237,6 +238,7 @@ export const { state, actions } = store< Store >( 'core/router', {
state: {
url: window.location.href,
navigation: {
+ isLoading: false,
hasStarted: false,
hasFinished: false,
},
@@ -289,6 +291,7 @@ export const { state, actions } = store< Store >( 'core/router', {
return;
}
+ navigation.isLoading = true;
if ( loadingAnimation ) {
navigation.hasStarted = true;
navigation.hasFinished = false;
@@ -328,6 +331,7 @@ export const { state, actions } = store< Store >( 'core/router', {
// Update the navigation status once the the new page rendering
// has been completed.
+ navigation.isLoading = false;
if ( loadingAnimation ) {
navigation.hasStarted = false;
navigation.hasFinished = true;
From 6b8e47fbd17c0710a4e55d4104dce185fdfac53b Mon Sep 17 00:00:00 2001
From: Manzoor Wani
Date: Mon, 9 Dec 2024 07:09:23 -0800
Subject: [PATCH 05/74] TypeScript: Convert factory utils in data package to TS
(#67667)
* TypeScript: Convert factory utils in data package to TS
* Fix docgen build error
* Update docs
* Revert and fix TS error
* Extract and improve signature
---
packages/core-data/src/private-selectors.ts | 2 +-
packages/data/README.md | 17 +++------
...{create-selector.js => create-selector.ts} | 4 ---
packages/data/src/{factory.js => factory.ts} | 35 +++++++++++++------
4 files changed, 30 insertions(+), 28 deletions(-)
rename packages/data/src/{create-selector.js => create-selector.ts} (55%)
rename packages/data/src/{factory.js => factory.ts} (75%)
diff --git a/packages/core-data/src/private-selectors.ts b/packages/core-data/src/private-selectors.ts
index 77790512653065..abdf2c837e8ed6 100644
--- a/packages/core-data/src/private-selectors.ts
+++ b/packages/core-data/src/private-selectors.ts
@@ -92,7 +92,7 @@ export function getEntityRecordPermissions(
name: string,
id: string
) {
- return getEntityRecordsPermissions( state, kind, name, id )[ 0 ];
+ return getEntityRecordsPermissions( state, kind, name, [ id ] )[ 0 ];
}
/**
diff --git a/packages/data/README.md b/packages/data/README.md
index b6e0e03b1d8b72..67c01af24bde32 100644
--- a/packages/data/README.md
+++ b/packages/data/README.md
@@ -418,11 +418,11 @@ When registering a control created with `createRegistryControl` with a store, th
_Parameters_
-- _registryControl_ `Function`: Function receiving a registry object and returning a control.
+- _registryControl_ `T & { isRegistryControl?: boolean; }`: Function receiving a registry object and returning a control.
_Returns_
-- `Function`: Registry control that can be registered with a store.
+- Registry control that can be registered with a store.
### createRegistrySelector
@@ -471,11 +471,11 @@ with a store.
_Parameters_
-- _registrySelector_ `Function`: Function receiving a registry `select` function and returning a state selector.
+- _registrySelector_ `( select: ) => Selector`: Function receiving a registry `select` function and returning a state selector.
_Returns_
-- `Function`: Registry selector that can be registered with a store.
+- `RegistrySelector< Selector >`: Registry selector that can be registered with a store.
### createSelector
@@ -485,15 +485,6 @@ _Related_
- The documentation for the `rememo` package from which the `createSelector` function is reexported.
-_Parameters_
-
-- _selector_ `Function`: Selector function that calculates a value from state and parameters.
-- _getDependants_ `Function`: Function that returns an array of "dependant" objects.
-
-_Returns_
-
-- `Function`: A memoized version of `selector` that caches the calculated return values.
-
### dispatch
Given a store descriptor, returns an object of the store's action creators. Calling an action creator will cause it to be dispatched, updating the state value accordingly.
diff --git a/packages/data/src/create-selector.js b/packages/data/src/create-selector.ts
similarity index 55%
rename from packages/data/src/create-selector.js
rename to packages/data/src/create-selector.ts
index 069932e8007e28..bfb7a1d283733f 100644
--- a/packages/data/src/create-selector.js
+++ b/packages/data/src/create-selector.ts
@@ -3,9 +3,5 @@
* and the selector parameters, and recomputes the values only when any of them changes.
*
* @see The documentation for the `rememo` package from which the `createSelector` function is reexported.
- *
- * @param {Function} selector Selector function that calculates a value from state and parameters.
- * @param {Function} getDependants Function that returns an array of "dependant" objects.
- * @return {Function} A memoized version of `selector` that caches the calculated return values.
*/
export { default as createSelector } from 'rememo';
diff --git a/packages/data/src/factory.js b/packages/data/src/factory.ts
similarity index 75%
rename from packages/data/src/factory.js
rename to packages/data/src/factory.ts
index be4ef8cf673c5e..8218fd2cdb07db 100644
--- a/packages/data/src/factory.js
+++ b/packages/data/src/factory.ts
@@ -1,3 +1,14 @@
+/**
+ * Internal dependencies
+ */
+import type { select as globalSelect } from './select';
+
+type RegistrySelector< Selector extends ( ...args: any[] ) => any > = {
+ ( ...args: Parameters< Selector > ): ReturnType< Selector >;
+ isRegistrySelector?: boolean;
+ registry?: any;
+};
+
/**
* Creates a selector function that takes additional curried argument with the
* registry `select` function. While a regular selector has signature
@@ -33,17 +44,21 @@
* registry as argument. The registry binding happens automatically when registering the selector
* with a store.
*
- * @param {Function} registrySelector Function receiving a registry `select`
- * function and returning a state selector.
+ * @param registrySelector Function receiving a registry `select`
+ * function and returning a state selector.
*
- * @return {Function} Registry selector that can be registered with a store.
+ * @return Registry selector that can be registered with a store.
*/
-export function createRegistrySelector( registrySelector ) {
+export function createRegistrySelector<
+ Selector extends ( ...args: any[] ) => any,
+>(
+ registrySelector: ( select: typeof globalSelect ) => Selector
+): RegistrySelector< Selector > {
const selectorsByRegistry = new WeakMap();
// Create a selector function that is bound to the registry referenced by `selector.registry`
// and that has the same API as a regular selector. Binding it in such a way makes it
// possible to call the selector directly from another selector.
- const wrappedSelector = ( ...args ) => {
+ const wrappedSelector: RegistrySelector< Selector > = ( ...args ) => {
let selector = selectorsByRegistry.get( wrappedSelector.registry );
// We want to make sure the cache persists even when new registry
// instances are created. For example patterns create their own editors
@@ -60,8 +75,6 @@ export function createRegistrySelector( registrySelector ) {
* Flag indicating that the selector is a registry selector that needs the correct registry
* reference to be assigned to `selector.registry` to make it work correctly.
* be mapped as a registry selector.
- *
- * @type {boolean}
*/
wrappedSelector.isRegistrySelector = true;
@@ -84,11 +97,13 @@ export function createRegistrySelector( registrySelector ) {
* When registering a control created with `createRegistryControl` with a store, the store
* knows which calling convention to use when executing the control.
*
- * @param {Function} registryControl Function receiving a registry object and returning a control.
+ * @param registryControl Function receiving a registry object and returning a control.
*
- * @return {Function} Registry control that can be registered with a store.
+ * @return Registry control that can be registered with a store.
*/
-export function createRegistryControl( registryControl ) {
+export function createRegistryControl< T extends ( ...args: any ) => any >(
+ registryControl: T & { isRegistryControl?: boolean }
+) {
registryControl.isRegistryControl = true;
return registryControl;
From 9ae9ec35ff68f3426d3a75e3c543d80c1f16c3e2 Mon Sep 17 00:00:00 2001
From: Riad Benguella
Date: Mon, 9 Dec 2024 16:39:08 +0100
Subject: [PATCH 06/74] DataViews: Fix filters lost when switching layouts
(#67740)
Co-authored-by: youknowriad
Co-authored-by: ntsekouras
---
.../src/components/post-list/index.js | 90 ++++++++++---------
test/e2e/specs/site-editor/page-list.spec.js | 56 ++++++++++++
2 files changed, 104 insertions(+), 42 deletions(-)
create mode 100644 test/e2e/specs/site-editor/page-list.spec.js
diff --git a/packages/edit-site/src/components/post-list/index.js b/packages/edit-site/src/components/post-list/index.js
index 145a5e8243ac54..a67a505795b3c8 100644
--- a/packages/edit-site/src/components/post-list/index.js
+++ b/packages/edit-site/src/components/post-list/index.js
@@ -13,7 +13,7 @@ import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
import { privateApis as editorPrivateApis } from '@wordpress/editor';
import { __ } from '@wordpress/i18n';
import { drawerRight } from '@wordpress/icons';
-import { usePrevious } from '@wordpress/compose';
+import { useEvent, usePrevious } from '@wordpress/compose';
import { addQueryArgs } from '@wordpress/url';
/**
@@ -112,53 +112,50 @@ function useView( postType ) {
};
} );
- const setViewWithUrlUpdate = useCallback(
- ( newView ) => {
- if ( newView.type === LAYOUT_LIST && ! layout ) {
- // Skip updating the layout URL param if
- // it is not present and the newView.type is LAYOUT_LIST.
- } else if ( newView.type !== layout ) {
- history.navigate(
- addQueryArgs( path, {
- layout: newView.type,
- } )
- );
- }
+ const setViewWithUrlUpdate = useEvent( ( newView ) => {
+ setView( newView );
- setView( newView );
+ if ( isCustom === 'true' && editedEntityRecord?.id ) {
+ editEntityRecord(
+ 'postType',
+ 'wp_dataviews',
+ editedEntityRecord?.id,
+ {
+ content: JSON.stringify( newView ),
+ }
+ );
+ }
- if ( isCustom === 'true' && editedEntityRecord?.id ) {
- editEntityRecord(
- 'postType',
- 'wp_dataviews',
- editedEntityRecord?.id,
- {
- content: JSON.stringify( newView ),
- }
- );
- }
- },
- [
- history,
- isCustom,
- editEntityRecord,
- editedEntityRecord?.id,
- layout,
- path,
- ]
- );
+ const currentUrlLayout = layout ?? LAYOUT_LIST;
+ if ( newView.type !== currentUrlLayout ) {
+ history.navigate(
+ addQueryArgs( path, {
+ layout: newView.type,
+ } )
+ );
+ }
+ } );
// When layout URL param changes, update the view type
// without affecting any other config.
+ const onUrlLayoutChange = useEvent( () => {
+ setView( ( prevView ) => {
+ const layoutToApply = layout ?? LAYOUT_LIST;
+ if ( layoutToApply === prevView.type ) {
+ return prevView;
+ }
+ return {
+ ...prevView,
+ type: layout ?? LAYOUT_LIST,
+ };
+ } );
+ } );
useEffect( () => {
- setView( ( prevView ) => ( {
- ...prevView,
- type: layout ?? LAYOUT_LIST,
- } ) );
- }, [ layout ] );
+ onUrlLayoutChange();
+ }, [ onUrlLayoutChange, layout ] );
// When activeView or isCustom URL parameters change, reset the view.
- useEffect( () => {
+ const onUrlActiveViewChange = useEvent( () => {
let newView;
if ( isCustom === 'true' ) {
newView = getCustomView( editedEntityRecord );
@@ -173,9 +170,18 @@ function useView( postType ) {
type,
} );
}
- }, [ activeView, isCustom, layout, defaultViews, editedEntityRecord ] );
+ } );
+ useEffect( () => {
+ onUrlActiveViewChange();
+ }, [
+ onUrlActiveViewChange,
+ activeView,
+ isCustom,
+ defaultViews,
+ editedEntityRecord,
+ ] );
- return [ view, setViewWithUrlUpdate, setViewWithUrlUpdate ];
+ return [ view, setViewWithUrlUpdate ];
}
const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.
diff --git a/test/e2e/specs/site-editor/page-list.spec.js b/test/e2e/specs/site-editor/page-list.spec.js
new file mode 100644
index 00000000000000..fa9cb86cd1d62e
--- /dev/null
+++ b/test/e2e/specs/site-editor/page-list.spec.js
@@ -0,0 +1,56 @@
+/**
+ * WordPress dependencies
+ */
+const { test, expect } = require( '@wordpress/e2e-test-utils-playwright' );
+
+test.describe( 'Page List', () => {
+ test.beforeAll( async ( { requestUtils } ) => {
+ // Activate a theme with permissions to access the site editor.
+ await requestUtils.activateTheme( 'emptytheme' );
+ await requestUtils.createPage( {
+ title: 'Privacy Policy',
+ status: 'publish',
+ } );
+ await requestUtils.createPage( {
+ title: 'Sample Page',
+ status: 'publish',
+ } );
+ } );
+
+ test.afterAll( async ( { requestUtils } ) => {
+ // Go back to the default theme.
+ await Promise.all( [
+ requestUtils.activateTheme( 'twentytwentyone' ),
+ requestUtils.deleteAllPages(),
+ ] );
+ } );
+
+ test.beforeEach( async ( { admin, page } ) => {
+ // Go to the pages page, as it has the list layout enabled by default.
+ await admin.visitSiteEditor();
+ await page.getByRole( 'button', { name: 'Pages' } ).click();
+ } );
+
+ test( 'Persists filter/search when switching layout', async ( {
+ page,
+ } ) => {
+ // Search pages
+ await page
+ .getByRole( 'searchbox', { name: 'Search' } )
+ .fill( 'Privacy' );
+
+ // Switch layout
+ await page.getByRole( 'button', { name: 'Layout' } ).click();
+ await page.getByRole( 'menuitemradio', { name: 'Table' } ).click();
+
+ // Confirm the table is visible
+ await expect( page.getByRole( 'table' ) ).toContainText(
+ 'Privacy Policy'
+ );
+
+ // The search should still contain the search term
+ await expect(
+ page.getByRole( 'searchbox', { name: 'Search' } )
+ ).toHaveValue( 'Privacy' );
+ } );
+} );
From d03eeae0d48b35fb3e5e05a90bbc7b956a6b72f5 Mon Sep 17 00:00:00 2001
From: Miguel Fonseca <150562+mcsf@users.noreply.github.com>
Date: Mon, 9 Dec 2024 16:15:04 +0000
Subject: [PATCH 07/74] wp-env: Add phpMyAdmin support (#67588)
* wp-env: Add phpMyAdmin support
Defines two new docker-compose services: `phpmyadmin` and
`tests-phpmyadmin`. These are off by default. They can be individually
turned on by:
- Specifying a port in any enviroment's config via key `phpmyadminPort`
(see bottom of commit message for example).
- By setting environment variable `WP_ENV_PHPMYADMIN_PORT` and/or
`WP_ENV_TESTS_PHPMYADMIN_PORT`.
* Opt into the phpMyAdmin service in the Gutenberg environment
* wp-env: start: refactor computation of command output
- Refactor repeating logic into getPublicDockerPort
- Remove trailing newlines from dockerCompose output
- Refactor evaluation of spinner.prefixText so as to clearly reveal
newlines.
{
env: {
development: {
...
phpmyadminPort: 9000
},
tests: {
...
}
}
}
---------
Co-authored-by: Riad Benguella
---
.wp-env.json | 3 +
packages/env/CHANGELOG.md | 4 +
packages/env/README.md | 2 +-
.../env/lib/build-docker-compose-config.js | 27 +++++++
packages/env/lib/commands/start.js | 76 +++++++++++++++----
.../get-config-from-environment-vars.js | 7 ++
packages/env/lib/config/parse-config.js | 27 +++++--
.../__snapshots__/config-integration.js.snap | 8 ++
packages/env/lib/config/test/parse-config.js | 54 +++++++++++++
packages/env/lib/validate-run-container.js | 1 +
schemas/json/wp-env.json | 7 +-
11 files changed, 190 insertions(+), 26 deletions(-)
diff --git a/.wp-env.json b/.wp-env.json
index 05ea05b2809f9c..d368f3ea1c72a6 100644
--- a/.wp-env.json
+++ b/.wp-env.json
@@ -4,6 +4,9 @@
"plugins": [ "." ],
"themes": [ "./test/emptytheme" ],
"env": {
+ "development": {
+ "phpmyadminPort": 9000
+ },
"tests": {
"mappings": {
"wp-content/plugins/gutenberg": ".",
diff --git a/packages/env/CHANGELOG.md b/packages/env/CHANGELOG.md
index 651d6b285e1bd6..6ee37efdf850c9 100644
--- a/packages/env/CHANGELOG.md
+++ b/packages/env/CHANGELOG.md
@@ -2,6 +2,10 @@
## Unreleased
+### Enhancements
+
+- Add phpMyAdmin as an optional service. Enabled via the new `phpmyadminPort` environment config, as well as env vars `WP_ENV_PHPMYADMIN_PORT` and `WP_ENV_TESTS_PHPMYADMIN_PORT`.
+
## 10.13.0 (2024-11-27)
## 10.12.0 (2024-11-16)
diff --git a/packages/env/README.md b/packages/env/README.md
index 35b00fe83e8f4d..af037f5ee80ab6 100644
--- a/packages/env/README.md
+++ b/packages/env/README.md
@@ -349,7 +349,7 @@ containers.
Positionals:
container The Docker service to run the command on.
[string] [required] [choices: "mysql", "tests-mysql", "wordpress",
- "tests-wordpress", "cli", "tests-cli", "composer", "phpunit"]
+ "tests-wordpress", "cli", "tests-cli", "composer", "phpmyadmin"]
command The command to run. [required]
Options:
diff --git a/packages/env/lib/build-docker-compose-config.js b/packages/env/lib/build-docker-compose-config.js
index a394537e360872..a1a4f68256b688 100644
--- a/packages/env/lib/build-docker-compose-config.js
+++ b/packages/env/lib/build-docker-compose-config.js
@@ -174,6 +174,13 @@ module.exports = function buildDockerComposeConfig( config ) {
config.env.tests.mysqlPort ?? ''
}}:3306`;
+ const developmentPhpmyadminPorts = `\${WP_ENV_PHPMYADMIN_PORT:-${
+ config.env.development.phpmyadminPort ?? ''
+ }}:80`;
+ const testsPhpmyadminPorts = `\${WP_ENV_TESTS_PHPMYADMIN_PORT:-${
+ config.env.tests.phpmyadminPort ?? ''
+ }}:80`;
+
return {
services: {
mysql: {
@@ -266,6 +273,26 @@ module.exports = function buildDockerComposeConfig( config ) {
},
extra_hosts: [ 'host.docker.internal:host-gateway' ],
},
+ phpmyadmin: {
+ image: 'phpmyadmin',
+ ports: [ developmentPhpmyadminPorts ],
+ environment: {
+ PMA_PORT: 3306,
+ PMA_HOST: 'mysql',
+ PMA_USER: 'root',
+ PMA_PASSWORD: 'password',
+ },
+ },
+ 'tests-phpmyadmin': {
+ image: 'phpmyadmin',
+ ports: [ testsPhpmyadminPorts ],
+ environment: {
+ PMA_PORT: 3306,
+ PMA_HOST: 'tests-mysql',
+ PMA_USER: 'root',
+ PMA_PASSWORD: 'password',
+ },
+ },
},
volumes: {
...( ! config.env.development.coreSource && { wordpress: {} } ),
diff --git a/packages/env/lib/commands/start.js b/packages/env/lib/commands/start.js
index 4203ac74632287..24d57d71fd3c62 100644
--- a/packages/env/lib/commands/start.js
+++ b/packages/env/lib/commands/start.js
@@ -180,6 +180,24 @@ module.exports = async function start( {
}
);
+ if ( config.env.development.phpmyadminPort ) {
+ await dockerCompose.upOne( 'phpmyadmin', {
+ ...dockerComposeConfig,
+ commandOptions: shouldConfigureWp
+ ? [ '--build', '--force-recreate' ]
+ : [],
+ } );
+ }
+
+ if ( config.env.tests.phpmyadminPort ) {
+ await dockerCompose.upOne( 'tests-phpmyadmin', {
+ ...dockerComposeConfig,
+ commandOptions: shouldConfigureWp
+ ? [ '--build', '--force-recreate' ]
+ : [],
+ } );
+ }
+
// Make sure we've consumed the custom CLI dockerfile.
if ( shouldConfigureWp ) {
await dockerCompose.buildOne( [ 'cli' ], { ...dockerComposeConfig } );
@@ -225,35 +243,61 @@ module.exports = async function start( {
const siteUrl = config.env.development.config.WP_SITEURL;
const testsSiteUrl = config.env.tests.config.WP_SITEURL;
- const { out: mySQLAddress } = await dockerCompose.port(
+ const mySQLPort = await getPublicDockerPort(
'mysql',
3306,
dockerComposeConfig
);
- const mySQLPort = mySQLAddress.split( ':' ).pop();
- const { out: testsMySQLAddress } = await dockerCompose.port(
+ const testsMySQLPort = await getPublicDockerPort(
'tests-mysql',
3306,
dockerComposeConfig
);
- const testsMySQLPort = testsMySQLAddress.split( ':' ).pop();
-
- spinner.prefixText = 'WordPress development site started'
- .concat( siteUrl ? ` at ${ siteUrl }` : '.' )
- .concat( '\n' )
- .concat( 'WordPress test site started' )
- .concat( testsSiteUrl ? ` at ${ testsSiteUrl }` : '.' )
- .concat( '\n' )
- .concat( `MySQL is listening on port ${ mySQLPort }` )
- .concat(
- `MySQL for automated testing is listening on port ${ testsMySQLPort }`
- )
- .concat( '\n' );
+ const phpmyadminPort = config.env.development.phpmyadminPort
+ ? await getPublicDockerPort( 'phpmyadmin', 80, dockerComposeConfig )
+ : null;
+
+ const testsPhpmyadminPort = config.env.tests.phpmyadminPort
+ ? await getPublicDockerPort(
+ 'tests-phpmyadmin',
+ 80,
+ dockerComposeConfig
+ )
+ : null;
+
+ spinner.prefixText = [
+ 'WordPress development site started' +
+ ( siteUrl ? ` at ${ siteUrl }` : '.' ),
+ 'WordPress test site started' +
+ ( testsSiteUrl ? ` at ${ testsSiteUrl }` : '.' ),
+ `MySQL is listening on port ${ mySQLPort }`,
+ `MySQL for automated testing is listening on port ${ testsMySQLPort }`,
+ phpmyadminPort &&
+ `phpMyAdmin started at http://localhost:${ phpmyadminPort }`,
+ testsPhpmyadminPort &&
+ `phpMyAdmin for automated testing started at http://localhost:${ testsPhpmyadminPort }`,
+ ]
+ .filter( Boolean )
+ .join( '\n' );
+ spinner.prefixText += '\n\n';
spinner.text = 'Done!';
};
+async function getPublicDockerPort(
+ service,
+ containerPort,
+ dockerComposeConfig
+) {
+ const { out: address } = await dockerCompose.port(
+ service,
+ containerPort,
+ dockerComposeConfig
+ );
+ return address.split( ':' ).pop().trim();
+}
+
/**
* Checks for legacy installs and provides
* the user the option to delete them.
diff --git a/packages/env/lib/config/get-config-from-environment-vars.js b/packages/env/lib/config/get-config-from-environment-vars.js
index beaf721ea1c0c1..618b5fff257920 100644
--- a/packages/env/lib/config/get-config-from-environment-vars.js
+++ b/packages/env/lib/config/get-config-from-environment-vars.js
@@ -20,6 +20,7 @@ const { checkPort, checkVersion, checkString } = require( './validate-config' );
* @property {?number} mysqlPort An override for the development environment's MySQL port.
* @property {?number} testsPort An override for the testing environment's port.
* @property {?number} testsMysqlPort An override for the testing environment's MySQL port.
+ * @property {?number} phpmyadminPort An override for the development environment's phpMyAdmin port.
* @property {?WPSource} coreSource An override for all environment's coreSource.
* @property {?string} phpVersion An override for all environment's PHP version.
* @property {?Object.} lifecycleScripts An override for various lifecycle scripts.
@@ -40,6 +41,12 @@ module.exports = function getConfigFromEnvironmentVars( cacheDirectoryPath ) {
testsMysqlPort: getPortFromEnvironmentVariable(
'WP_ENV_TESTS_MYSQL_PORT'
),
+ phpmyadminPort: getPortFromEnvironmentVariable(
+ 'WP_ENV_PHPMYADMIN_PORT'
+ ),
+ testsPhpmyadminPort: getPortFromEnvironmentVariable(
+ 'WP_ENV_TESTS_PHPMYADMIN_PORT'
+ ),
lifecycleScripts: getLifecycleScriptOverrides(),
};
diff --git a/packages/env/lib/config/parse-config.js b/packages/env/lib/config/parse-config.js
index 1fc7e949251490..bddd7bc72aaee0 100644
--- a/packages/env/lib/config/parse-config.js
+++ b/packages/env/lib/config/parse-config.js
@@ -46,14 +46,15 @@ const mergeConfigs = require( './merge-configs' );
* The environment-specific configuration options. (development/tests/etc)
*
* @typedef WPEnvironmentConfig
- * @property {WPSource} coreSource The WordPress installation to load in the environment.
- * @property {WPSource[]} pluginSources Plugins to load in the environment.
- * @property {WPSource[]} themeSources Themes to load in the environment.
- * @property {number} port The port to use.
- * @property {number} mysqlPort The port to use for MySQL. Random if empty.
- * @property {Object} config Mapping of wp-config.php constants to their desired values.
- * @property {Object.} mappings Mapping of WordPress directories to local directories which should be mounted.
- * @property {string|null} phpVersion Version of PHP to use in the environments, of the format 0.0.
+ * @property {WPSource} coreSource The WordPress installation to load in the environment.
+ * @property {WPSource[]} pluginSources Plugins to load in the environment.
+ * @property {WPSource[]} themeSources Themes to load in the environment.
+ * @property {number} port The port to use.
+ * @property {number} mysqlPort The port to use for MySQL. Random if empty.
+ * @property {number} phpmyadminPort The port to use for phpMyAdmin. If empty, disabled phpMyAdmin.
+ * @property {Object} config Mapping of wp-config.php constants to their desired values.
+ * @property {Object.} mappings Mapping of WordPress directories to local directories which should be mounted.
+ * @property {string|null} phpVersion Version of PHP to use in the environments, of the format 0.0.
*/
/**
@@ -87,6 +88,7 @@ const DEFAULT_ENVIRONMENT_CONFIG = {
port: 8888,
testsPort: 8889,
mysqlPort: null,
+ phpmyadminPort: null,
mappings: {},
config: {
FS_METHOD: 'direct',
@@ -282,6 +284,11 @@ function getEnvironmentVarOverrides( cacheDirectoryPath ) {
overrideConfig.env.development.mysqlPort = overrides.mysqlPort;
}
+ if ( overrides.phpmyadminPort ) {
+ overrideConfig.env.development.phpmyadminPort =
+ overrides.phpmyadminPort;
+ }
+
if ( overrides.testsPort ) {
overrideConfig.testsPort = overrides.testsPort;
overrideConfig.env.tests.port = overrides.testsPort;
@@ -455,6 +462,10 @@ async function parseEnvironmentConfig(
parsedConfig.mysqlPort = config.mysqlPort;
}
+ if ( config.phpmyadminPort !== undefined ) {
+ parsedConfig.phpmyadminPort = config.phpmyadminPort;
+ }
+
if ( config.phpVersion !== undefined ) {
// Support null as a valid input.
if ( config.phpVersion !== null ) {
diff --git a/packages/env/lib/config/test/__snapshots__/config-integration.js.snap b/packages/env/lib/config/test/__snapshots__/config-integration.js.snap
index 6c3618f4724cb0..6b671a6bc858eb 100644
--- a/packages/env/lib/config/test/__snapshots__/config-integration.js.snap
+++ b/packages/env/lib/config/test/__snapshots__/config-integration.js.snap
@@ -31,6 +31,7 @@ exports[`Config Integration should load local and override configuration files 1
"mappings": {},
"mysqlPort": 23306,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 999,
"themeSources": [],
@@ -60,6 +61,7 @@ exports[`Config Integration should load local and override configuration files 1
"mappings": {},
"mysqlPort": 23307,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 456,
"themeSources": [],
@@ -106,6 +108,7 @@ exports[`Config Integration should load local configuration file 1`] = `
"mappings": {},
"mysqlPort": 13306,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 123,
"themeSources": [],
@@ -135,6 +138,7 @@ exports[`Config Integration should load local configuration file 1`] = `
"mappings": {},
"mysqlPort": 23307,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 8889,
"themeSources": [],
@@ -181,6 +185,7 @@ exports[`Config Integration should use default configuration 1`] = `
"mappings": {},
"mysqlPort": null,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 8888,
"themeSources": [],
@@ -210,6 +215,7 @@ exports[`Config Integration should use default configuration 1`] = `
"mappings": {},
"mysqlPort": null,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 8889,
"themeSources": [],
@@ -256,6 +262,7 @@ exports[`Config Integration should use environment variables over local and over
"mappings": {},
"mysqlPort": 23306,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 12345,
"testsPort": 61234,
@@ -286,6 +293,7 @@ exports[`Config Integration should use environment variables over local and over
"mappings": {},
"mysqlPort": 23307,
"phpVersion": null,
+ "phpmyadminPort": null,
"pluginSources": [],
"port": 61234,
"testsPort": 61234,
diff --git a/packages/env/lib/config/test/parse-config.js b/packages/env/lib/config/test/parse-config.js
index 38e4db9860cb3c..cc6e2c7a96bbc0 100644
--- a/packages/env/lib/config/test/parse-config.js
+++ b/packages/env/lib/config/test/parse-config.js
@@ -22,6 +22,7 @@ const DEFAULT_CONFIG = {
port: 8888,
testsPort: 8889,
mysqlPort: null,
+ phpmyadminPort: null,
phpVersion: null,
coreSource: {
type: 'git',
@@ -400,4 +401,57 @@ describe( 'parseConfig', () => {
)
);
} );
+
+ it( 'should parse phpmyadmin configuration for a given environment', async () => {
+ readRawConfigFile.mockImplementation( async ( configFile ) => {
+ if ( configFile === '/test/gutenberg/.wp-env.json' ) {
+ return {
+ core: 'WordPress/WordPress#Test',
+ phpVersion: '1.0',
+ lifecycleScripts: {
+ afterStart: 'test',
+ },
+ env: {
+ development: {
+ phpmyadminPort: 9001,
+ },
+ },
+ };
+ }
+ } );
+
+ const parsed = await parseConfig( '/test/gutenberg', '/cache' );
+
+ const expected = {
+ development: {
+ ...DEFAULT_CONFIG.env.development,
+ phpmyadminPort: 9001,
+ },
+ tests: DEFAULT_CONFIG.env.tests,
+ };
+ expect( parsed.env ).toEqual( expected );
+ } );
+
+ it( 'should ignore root-level configuration for phpmyadmin', async () => {
+ readRawConfigFile.mockImplementation( async ( configFile ) => {
+ if ( configFile === '/test/gutenberg/.wp-env.json' ) {
+ return {
+ core: 'WordPress/WordPress#Test',
+ phpVersion: '1.0',
+ lifecycleScripts: {
+ afterStart: 'test',
+ },
+ phpmyadminPort: 9001,
+ };
+ }
+ } );
+
+ const parsed = await parseConfig( '/test/gutenberg', '/cache' );
+
+ const expected = {
+ development: DEFAULT_CONFIG.env.development,
+ tests: DEFAULT_CONFIG.env.tests,
+ };
+ expect( parsed.env ).toEqual( expected );
+ } );
} );
diff --git a/packages/env/lib/validate-run-container.js b/packages/env/lib/validate-run-container.js
index 77e68d2a3a4dc7..fbb6670f6c1500 100644
--- a/packages/env/lib/validate-run-container.js
+++ b/packages/env/lib/validate-run-container.js
@@ -10,6 +10,7 @@ const RUN_CONTAINERS = [
'tests-wordpress',
'cli',
'tests-cli',
+ 'phpmyadmin',
];
/**
diff --git a/schemas/json/wp-env.json b/schemas/json/wp-env.json
index 491d1f8cf73017..8aa604ed41ed1f 100644
--- a/schemas/json/wp-env.json
+++ b/schemas/json/wp-env.json
@@ -62,6 +62,10 @@
"description": "Mapping of WordPress directories to local directories to be mounted in the WordPress instance.",
"type": "object",
"default": {}
+ },
+ "phpmyadminPort": {
+ "description": "The port number to access phpMyAdmin.",
+ "type": "integer"
}
}
},
@@ -73,7 +77,8 @@
"themes",
"port",
"config",
- "mappings"
+ "mappings",
+ "phpmyadminPort"
]
}
},
From ad0c1d444ae62e67d6a75ecaaeea8f62d23badba Mon Sep 17 00:00:00 2001
From: George Mamadashvili
Date: Mon, 9 Dec 2024 21:15:56 +0400
Subject: [PATCH 08/74] Replace remaining custom deep cloning with
'structuredClone' (#67707)
* Replace remaining custom deep cloning with 'structuredClone'
* Polyfill structuredClone for jsdom
Co-authored-by: Mamaduka
Co-authored-by: tyxla
Co-authored-by: jsnajdr
---
.../src/components/global-styles/use-global-styles-output.js | 2 +-
packages/block-editor/src/hooks/style.js | 2 +-
test/unit/config/global-mocks.js | 4 ++++
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/packages/block-editor/src/components/global-styles/use-global-styles-output.js b/packages/block-editor/src/components/global-styles/use-global-styles-output.js
index 7bdc95d222142d..fabc65d143d1aa 100644
--- a/packages/block-editor/src/components/global-styles/use-global-styles-output.js
+++ b/packages/block-editor/src/components/global-styles/use-global-styles-output.js
@@ -624,7 +624,7 @@ function pickStyleKeys( treeToPickFrom ) {
// clone the style objects so that `getFeatureDeclarations` can remove consumed keys from it
const clonedEntries = pickedEntries.map( ( [ key, style ] ) => [
key,
- JSON.parse( JSON.stringify( style ) ),
+ structuredClone( style ),
] );
return Object.fromEntries( clonedEntries );
}
diff --git a/packages/block-editor/src/hooks/style.js b/packages/block-editor/src/hooks/style.js
index db2acd01665b60..5be2b1b3fd40a8 100644
--- a/packages/block-editor/src/hooks/style.js
+++ b/packages/block-editor/src/hooks/style.js
@@ -245,7 +245,7 @@ export function omitStyle( style, paths, preserveReference = false ) {
let newStyle = style;
if ( ! preserveReference ) {
- newStyle = JSON.parse( JSON.stringify( style ) );
+ newStyle = structuredClone( style );
}
if ( ! Array.isArray( paths ) ) {
diff --git a/test/unit/config/global-mocks.js b/test/unit/config/global-mocks.js
index ce64f03b514be8..8db2c180fadf3a 100644
--- a/test/unit/config/global-mocks.js
+++ b/test/unit/config/global-mocks.js
@@ -3,6 +3,7 @@
*/
import { TextDecoder, TextEncoder } from 'node:util';
import { Blob as BlobPolyfill, File as FilePolyfill } from 'node:buffer';
+import 'core-js/stable/structured-clone';
jest.mock( '@wordpress/compose', () => {
return {
@@ -49,3 +50,6 @@ if ( ! global.TextEncoder ) {
// Override jsdom built-ins with native node implementation.
global.Blob = BlobPolyfill;
global.File = FilePolyfill;
+
+// Polyfill structuredClone for jsdom.
+global.structuredClone = structuredClone;
From 95cbcdf5daacccccd181dfa7850e706c5a1e009c Mon Sep 17 00:00:00 2001
From: Jerry Jones
Date: Mon, 9 Dec 2024 11:34:42 -0600
Subject: [PATCH 09/74] Inserter: Should receive focus on open (#67754)
* Set default tab to 'blocks' if none passed
* Add tests for focusing blocks tab and closing inserter on keypresses
---
.../src/components/inserter/menu.js | 2 +
.../site-editor/site-editor-inserter.spec.js | 53 +++++++++++++------
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js
index ef260beb85906b..019a37bffdde26 100644
--- a/packages/block-editor/src/components/inserter/menu.js
+++ b/packages/block-editor/src/components/inserter/menu.js
@@ -82,6 +82,8 @@ function InserterMenu(
if ( isZoomOutMode ) {
return 'patterns';
}
+
+ return 'blocks';
}
const [ selectedTab, setSelectedTab ] = useState( getInitialTab() );
diff --git a/test/e2e/specs/site-editor/site-editor-inserter.spec.js b/test/e2e/specs/site-editor/site-editor-inserter.spec.js
index a730367d841bf8..23646576131082 100644
--- a/test/e2e/specs/site-editor/site-editor-inserter.spec.js
+++ b/test/e2e/specs/site-editor/site-editor-inserter.spec.js
@@ -28,32 +28,51 @@ test.describe( 'Site Editor Inserter', () => {
},
} );
- // eslint-disable-next-line playwright/expect-expect
test( 'inserter toggle button should toggle global inserter', async ( {
InserterUtils,
+ page,
+ editor,
} ) => {
await InserterUtils.openBlockLibrary();
await InserterUtils.closeBlockLibrary();
- } );
- // A test for https://github.com/WordPress/gutenberg/issues/43090.
- test( 'should close the inserter when clicking on the toggle button', async ( {
- editor,
- InserterUtils,
- } ) => {
- const beforeBlocks = await editor.getBlocks();
+ await test.step( 'should open the inserter via enter keypress on toggle button', async () => {
+ await InserterUtils.inserterButton.focus();
+ await page.keyboard.press( 'Enter' );
+ await expect( InserterUtils.blockLibrary ).toBeVisible();
+ } );
- await InserterUtils.openBlockLibrary();
- await InserterUtils.expectActiveTab( 'Blocks' );
- await InserterUtils.blockLibrary
- .getByRole( 'option', { name: 'Buttons' } )
- .click();
+ await test.step( 'should set focus to the blocks tab when opening the inserter', async () => {
+ await expect(
+ InserterUtils.getBlockLibraryTab( 'Blocks' )
+ ).toBeFocused();
+ } );
+
+ await test.step( 'should close the inserter via escape keypress', async () => {
+ await page.keyboard.press( 'Escape' );
+ await expect( InserterUtils.blockLibrary ).toBeHidden();
+ } );
- await expect
- .poll( editor.getBlocks )
- .toMatchObject( [ ...beforeBlocks, { name: 'core/buttons' } ] );
+ await test.step( 'should focus inserter toggle button after closing the inserter via escape keypress', async () => {
+ await expect( InserterUtils.inserterButton ).toBeFocused();
+ } );
- await InserterUtils.closeBlockLibrary();
+ // A test for https://github.com/WordPress/gutenberg/issues/43090.
+ await test.step( 'should close the inserter when clicking on the toggle button', async () => {
+ const beforeBlocks = await editor.getBlocks();
+
+ await InserterUtils.openBlockLibrary();
+ await InserterUtils.expectActiveTab( 'Blocks' );
+ await InserterUtils.blockLibrary
+ .getByRole( 'option', { name: 'Buttons' } )
+ .click();
+
+ await expect
+ .poll( editor.getBlocks )
+ .toMatchObject( [ ...beforeBlocks, { name: 'core/buttons' } ] );
+
+ await InserterUtils.closeBlockLibrary();
+ } );
} );
test.describe( 'Inserter Zoom Level UX', () => {
From f430cd73ff8eaf58aa9782d50891e8eb50a9ee54 Mon Sep 17 00:00:00 2001
From: Jorge Costa
Date: Mon, 9 Dec 2024 18:24:42 +0000
Subject: [PATCH 10/74] Fix: Dataviews remove primary field concept from some
classes. (#67689)
Co-authored-by: jorgefilipecosta
Co-authored-by: youknowriad
---
packages/dataviews/src/dataviews-layouts/grid/index.tsx | 8 +++-----
packages/dataviews/src/dataviews-layouts/grid/style.scss | 2 +-
packages/dataviews/src/dataviews-layouts/list/style.scss | 8 ++++----
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/packages/dataviews/src/dataviews-layouts/grid/index.tsx b/packages/dataviews/src/dataviews-layouts/grid/index.tsx
index 4a016095702026..e10ae7b591af5f 100644
--- a/packages/dataviews/src/dataviews-layouts/grid/index.tsx
+++ b/packages/dataviews/src/dataviews-layouts/grid/index.tsx
@@ -82,11 +82,11 @@ function GridItem< Item >( {
className: 'dataviews-view-grid__media',
} );
- const clickablePrimaryItemProps = getClickableItemProps( {
+ const clickableTitleItemProps = getClickableItemProps( {
item,
isItemClickable,
onClickItem,
- className: 'dataviews-view-grid__primary-field dataviews-title-field',
+ className: 'dataviews-view-grid__title-field dataviews-title-field',
} );
return (
@@ -128,9 +128,7 @@ function GridItem< Item >( {
justify="space-between"
className="dataviews-view-grid__title-actions"
>
-
- { renderedTitleField }
-
+ { renderedTitleField }
diff --git a/packages/dataviews/src/dataviews-layouts/grid/style.scss b/packages/dataviews/src/dataviews-layouts/grid/style.scss
index 70c94653371d16..e9fcb472dc3186 100644
--- a/packages/dataviews/src/dataviews-layouts/grid/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/grid/style.scss
@@ -15,7 +15,7 @@
padding: $grid-unit-10 0 $grid-unit-05;
}
- .dataviews-view-grid__primary-field {
+ .dataviews-view-grid__title-field {
min-height: $grid-unit-30; // Preserve layout when there is no ellipsis button
display: flex;
align-items: center;
diff --git a/packages/dataviews/src/dataviews-layouts/list/style.scss b/packages/dataviews/src/dataviews-layouts/list/style.scss
index 8fe048cab77b51..65c28a90608a6b 100644
--- a/packages/dataviews/src/dataviews-layouts/list/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/list/style.scss
@@ -50,7 +50,7 @@ ul.dataviews-view-list {
}
&:not(.is-selected) {
- .dataviews-view-list__primary-field {
+ .dataviews-view-list__title-field {
color: $gray-900;
}
&:hover,
@@ -59,7 +59,7 @@ ul.dataviews-view-list {
color: var(--wp-admin-theme-color);
background-color: #f8f8f8;
- .dataviews-view-list__primary-field,
+ .dataviews-view-list__title-field,
.dataviews-view-list__fields {
color: var(--wp-admin-theme-color);
}
@@ -74,7 +74,7 @@ ul.dataviews-view-list {
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
color: $gray-900;
- .dataviews-view-list__primary-field,
+ .dataviews-view-list__title-field,
.dataviews-view-list__fields {
color: var(--wp-admin-theme-color);
}
@@ -106,7 +106,7 @@ ul.dataviews-view-list {
}
}
}
- .dataviews-view-list__primary-field {
+ .dataviews-view-list__title-field {
flex: 1;
min-height: $grid-unit-30;
line-height: $grid-unit-30;
From 7159a7857fb9106c4ecaa299220de91f0fff23c8 Mon Sep 17 00:00:00 2001
From: tellthemachines
Date: Tue, 10 Dec 2024 16:01:26 +1100
Subject: [PATCH 11/74] Add stylebook screen for classic themes (#66851)
Unlinked contributors: acketon.
Co-authored-by: tellthemachines
Co-authored-by: youknowriad
Co-authored-by: ramonjd
Co-authored-by: t-hamano
Co-authored-by: jasmussen
Co-authored-by: annezazu
Co-authored-by: mtias
Co-authored-by: carlomanf
Co-authored-by: daveloodts
Co-authored-by: cbirdsong
Co-authored-by: fabiankaegy
Co-authored-by: mrwweb
Co-authored-by: ltrihan
Co-authored-by: masteradhoc
---
backport-changelog/6.8/7865.md | 3 +
lib/block-editor-settings.php | 13 ++
lib/compat/wordpress-6.8/site-editor.php | 26 ++-
.../src/components/maybe-editor/index.js | 58 +++++++
.../src/components/resizable-frame/index.js | 11 +-
.../sidebar-navigation-screen-main/index.js | 105 +++++++-----
.../index.js | 7 -
.../src/components/site-editor-routes/home.js | 4 +-
.../components/site-editor-routes/index.js | 2 +
.../site-editor-routes/stylebook.js | 28 ++++
.../site-editor-routes/template-item.js | 6 +-
.../site-editor-routes/template-part-item.js | 6 +-
.../src/components/style-book/examples.tsx | 4 +-
.../src/components/style-book/index.js | 155 ++++++++++++++----
.../src/components/style-book/style.scss | 4 +
test/e2e/specs/site-editor/navigation.spec.js | 16 +-
test/e2e/specs/site-editor/style-book.spec.js | 24 +++
17 files changed, 375 insertions(+), 97 deletions(-)
create mode 100644 backport-changelog/6.8/7865.md
create mode 100644 packages/edit-site/src/components/maybe-editor/index.js
create mode 100644 packages/edit-site/src/components/site-editor-routes/stylebook.js
diff --git a/backport-changelog/6.8/7865.md b/backport-changelog/6.8/7865.md
new file mode 100644
index 00000000000000..f7b23c944dc327
--- /dev/null
+++ b/backport-changelog/6.8/7865.md
@@ -0,0 +1,3 @@
+https://github.com/WordPress/wordpress-develop/pull/7865
+
+* https://github.com/WordPress/gutenberg/pull/66851
\ No newline at end of file
diff --git a/lib/block-editor-settings.php b/lib/block-editor-settings.php
index defd7cd391b16b..6448eb2e524853 100644
--- a/lib/block-editor-settings.php
+++ b/lib/block-editor-settings.php
@@ -53,6 +53,13 @@ function gutenberg_get_block_editor_settings( $settings ) {
$global_styles[] = $block_classes;
}
+ // Get any additional css from the customizer and add it before global styles custom CSS.
+ $global_styles[] = array(
+ 'css' => wp_get_custom_css(),
+ '__unstableType' => 'user',
+ 'isGlobalStyles' => false,
+ );
+
/*
* Add the custom CSS as a separate stylesheet so any invalid CSS
* entered by users does not break other global styles.
@@ -74,6 +81,12 @@ function gutenberg_get_block_editor_settings( $settings ) {
$block_classes['css'] = $actual_css;
$global_styles[] = $block_classes;
}
+ // Get any additional css from the customizer.
+ $global_styles[] = array(
+ 'css' => wp_get_custom_css(),
+ '__unstableType' => 'user',
+ 'isGlobalStyles' => false,
+ );
}
$settings['styles'] = array_merge( $global_styles, get_block_editor_theme_styles() );
diff --git a/lib/compat/wordpress-6.8/site-editor.php b/lib/compat/wordpress-6.8/site-editor.php
index cde108830b1d2c..53d04c2e543f48 100644
--- a/lib/compat/wordpress-6.8/site-editor.php
+++ b/lib/compat/wordpress-6.8/site-editor.php
@@ -116,9 +116,33 @@ function gutenberg_redirect_site_editor_deprecated_urls() {
* @return callable The default handler or a custom handler.
*/
function gutenberg_styles_wp_die_handler( $default_handler ) {
- if ( ! wp_is_block_theme() && str_contains( $_SERVER['REQUEST_URI'], 'site-editor.php' ) && isset( $_GET['p'] ) ) {
+ if ( ! wp_is_block_theme() && str_contains( $_SERVER['REQUEST_URI'], 'site-editor.php' ) && current_user_can( 'edit_theme_options' ) ) {
return '__return_false';
}
return $default_handler;
}
add_filter( 'wp_die_handler', 'gutenberg_styles_wp_die_handler' );
+
+/**
+ * Add a Styles submenu under the Appearance menu
+ * for Classic themes.
+ *
+ * @global array $submenu
+ */
+function gutenberg_add_styles_submenu_item() {
+ if ( ! wp_is_block_theme() && ( current_theme_supports( 'editor-styles' ) || wp_theme_has_theme_json() ) ) {
+ global $submenu;
+
+ $styles_menu_item = array(
+ __( 'Design', 'gutenberg' ),
+ 'edit_theme_options',
+ 'site-editor.php',
+ );
+ // If $submenu exists, insert the Styles submenu item at position 2.
+ if ( $submenu && isset( $submenu['themes.php'] ) ) {
+ // This might not work as expected if the submenu has already been modified.
+ array_splice( $submenu['themes.php'], 1, 1, array( $styles_menu_item ) );
+ }
+ }
+}
+add_action( 'admin_init', 'gutenberg_add_styles_submenu_item' );
diff --git a/packages/edit-site/src/components/maybe-editor/index.js b/packages/edit-site/src/components/maybe-editor/index.js
new file mode 100644
index 00000000000000..bee1c427c87b47
--- /dev/null
+++ b/packages/edit-site/src/components/maybe-editor/index.js
@@ -0,0 +1,58 @@
+/**
+ * WordPress dependencies
+ */
+
+import { store as coreStore } from '@wordpress/core-data';
+import { useSelect } from '@wordpress/data';
+import { __ } from '@wordpress/i18n';
+
+/**
+ * Internal dependencies
+ */
+
+import Editor from '../editor';
+
+export function MaybeEditor( { showEditor = true } ) {
+ const { isBlockBasedTheme, siteUrl } = useSelect( ( select ) => {
+ const { getEntityRecord, getCurrentTheme } = select( coreStore );
+ const siteData = getEntityRecord( 'root', '__unstableBase' );
+
+ return {
+ isBlockBasedTheme: getCurrentTheme()?.is_block_theme,
+ siteUrl: siteData?.home,
+ };
+ }, [] );
+
+ // If theme is block based, return the Editor, otherwise return the site preview.
+ return isBlockBasedTheme || showEditor ? (
+
+ ) : (
+
);
}
+
+export default LinkControlSearchResults;
+
+export const __experimentalLinkControlSearchResults = ( props ) => {
+ deprecated( 'wp.blockEditor.__experimentalLinkControlSearchResults', {
+ since: '6.8',
+ } );
+
+ return
;
+};
diff --git a/packages/block-library/src/button/edit.js b/packages/block-library/src/button/edit.js
index 3539fd54f4eece..2106c2031491fe 100644
--- a/packages/block-library/src/button/edit.js
+++ b/packages/block-library/src/button/edit.js
@@ -29,11 +29,11 @@ import {
InspectorControls,
RichText,
useBlockProps,
+ LinkControl,
__experimentalUseBorderProps as useBorderProps,
__experimentalUseColorProps as useColorProps,
__experimentalGetSpacingClassesAndStyles as useSpacingProps,
__experimentalGetShadowClassesAndStyles as useShadowProps,
- __experimentalLinkControl as LinkControl,
__experimentalGetElementClassName,
store as blockEditorStore,
useBlockEditingMode,
diff --git a/packages/block-library/src/navigation-link/link-ui.js b/packages/block-library/src/navigation-link/link-ui.js
index ee238c71ed28e0..52db034c6f980c 100644
--- a/packages/block-library/src/navigation-link/link-ui.js
+++ b/packages/block-library/src/navigation-link/link-ui.js
@@ -10,7 +10,7 @@ import {
} from '@wordpress/components';
import { __, sprintf, isRTL } from '@wordpress/i18n';
import {
- __experimentalLinkControl as LinkControl,
+ LinkControl,
store as blockEditorStore,
privateApis as blockEditorPrivateApis,
} from '@wordpress/block-editor';
diff --git a/packages/format-library/src/link/inline.js b/packages/format-library/src/link/inline.js
index 3d2ee57567dc13..964e9a4271dda9 100644
--- a/packages/format-library/src/link/inline.js
+++ b/packages/format-library/src/link/inline.js
@@ -19,7 +19,7 @@ import {
useAnchor,
} from '@wordpress/rich-text';
import {
- __experimentalLinkControl as LinkControl,
+ LinkControl,
store as blockEditorStore,
} from '@wordpress/block-editor';
import { useDispatch, useSelect } from '@wordpress/data';
From 601ede46c64ffdd815e9c40e3e262957d9d5e8fb Mon Sep 17 00:00:00 2001
From: Jorge Costa
Date: Tue, 10 Dec 2024 14:56:42 +0000
Subject: [PATCH 35/74] [a11y] Fix: Media button on the page view grid does not
have an accessible name. (#67690)
Co-authored-by: jorgefilipecosta
Co-authored-by: youknowriad
Co-authored-by: ntsekouras
Co-authored-by: oandregal
---
.../src/dataviews-layouts/grid/index.tsx | 27 +++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/packages/dataviews/src/dataviews-layouts/grid/index.tsx b/packages/dataviews/src/dataviews-layouts/grid/index.tsx
index 4e274c5b873fc2..b1f074c5682993 100644
--- a/packages/dataviews/src/dataviews-layouts/grid/index.tsx
+++ b/packages/dataviews/src/dataviews-layouts/grid/index.tsx
@@ -15,6 +15,7 @@ import {
FlexItem,
} from '@wordpress/components';
import { __ } from '@wordpress/i18n';
+import { useInstanceId } from '@wordpress/compose';
/**
* Internal dependencies
@@ -66,6 +67,7 @@ function GridItem< Item >( {
const { showTitle = true, showMedia = true, showDescription = true } = view;
const hasBulkAction = useHasAPossibleBulkAction( actions, item );
const id = getItemId( item );
+ const instanceId = useInstanceId( GridItem );
const isSelected = selection.includes( id );
const renderedMediaField = mediaField?.render ? (
@@ -89,6 +91,23 @@ function GridItem< Item >( {
className: 'dataviews-view-grid__title-field dataviews-title-field',
} );
+ let mediaA11yProps;
+ let titleA11yProps;
+ if ( isItemClickable( item ) && onClickItem ) {
+ if ( renderedTitleField ) {
+ mediaA11yProps = {
+ 'aria-labelledby': `dataviews-view-grid__title-field-${ instanceId }`,
+ };
+ titleA11yProps = {
+ id: `dataviews-view-grid__title-field-${ instanceId }`,
+ };
+ } else {
+ mediaA11yProps = {
+ 'aria-label': __( 'Navigate to item' ),
+ };
+ }
+ }
+
return (
( {
} }
>
{ showMedia && renderedMediaField && (
- { renderedMediaField }
+
+ { renderedMediaField }
+
) }
{ showMedia && renderedMediaField && (
( {
justify="space-between"
className="dataviews-view-grid__title-actions"
>
- { renderedTitleField }
+
+ { renderedTitleField }
+
From 8042535d851f7f01d0850a13e23823b7df2d345b Mon Sep 17 00:00:00 2001
From: Riad Benguella
Date: Tue, 10 Dec 2024 16:26:58 +0100
Subject: [PATCH 36/74] Inserter: Hide child blocks from the inserter when
needed (#67734)
Co-authored-by: youknowriad
Co-authored-by: Mamaduka
Co-authored-by: juanfra
Co-authored-by: annezazu
Co-authored-by: talldan
Co-authored-by: t-hamano
---
.../components/inserter/block-types-tab.js | 2 +-
packages/block-editor/src/store/selectors.js | 50 ++++++++++---------
.../block-editor/src/store/test/selectors.js | 2 +-
3 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/packages/block-editor/src/components/inserter/block-types-tab.js b/packages/block-editor/src/components/inserter/block-types-tab.js
index 844d5dd341437e..d37a6ca5694b09 100644
--- a/packages/block-editor/src/components/inserter/block-types-tab.js
+++ b/packages/block-editor/src/components/inserter/block-types-tab.js
@@ -186,7 +186,7 @@ export function BlockTypesTab(
continue;
}
- if ( rootClientId && item.isAllowedInCurrentRoot ) {
+ if ( item.isAllowedInCurrentRoot ) {
itemsForCurrentRoot.push( item );
} else {
itemsRemaining.push( item );
diff --git a/packages/block-editor/src/store/selectors.js b/packages/block-editor/src/store/selectors.js
index dc90f351732524..ed9e859f028a98 100644
--- a/packages/block-editor/src/store/selectors.js
+++ b/packages/block-editor/src/store/selectors.js
@@ -1586,14 +1586,14 @@ export function getTemplateLock( state, rootClientId ) {
* @param {string|Object} blockNameOrType The block type object, e.g., the response
* from the block directory; or a string name of
* an installed block type, e.g.' core/paragraph'.
- * @param {Set} checkedBlocks Set of block names that have already been checked.
+ * @param {?string} rootClientId Optional root client ID of block list.
*
* @return {boolean} Whether the given block type is allowed to be inserted.
*/
const isBlockVisibleInTheInserter = (
state,
blockNameOrType,
- checkedBlocks = new Set()
+ rootClientId = null
) => {
let blockType;
let blockName;
@@ -1621,26 +1621,19 @@ const isBlockVisibleInTheInserter = (
return false;
}
- if ( checkedBlocks.has( blockName ) ) {
- return false;
- }
-
- checkedBlocks.add( blockName );
-
// If parent blocks are not visible, child blocks should be hidden too.
- if ( Array.isArray( blockType.parent ) ) {
- return blockType.parent.some(
- ( name ) =>
- ( blockName !== name &&
- isBlockVisibleInTheInserter(
- state,
- name,
- checkedBlocks
- ) ) ||
- // Exception for blocks with post-content parent,
- // the root level is often consider as "core/post-content".
- // This exception should only apply to the post editor ideally though.
- name === 'core/post-content'
+ const parents = (
+ Array.isArray( blockType.parent ) ? blockType.parent : []
+ ).concat( Array.isArray( blockType.ancestor ) ? blockType.ancestor : [] );
+ if ( parents.length > 0 ) {
+ const rootBlockName = getBlockName( state, rootClientId );
+ // This is an exception to the rule that says that all blocks are visible in the inserter.
+ // Blocks that require a given parent or ancestor are only visible if we're within that parent.
+ return (
+ parents.includes( 'core/post-content' ) ||
+ parents.includes( rootBlockName ) ||
+ getBlockParentsByBlockName( state, rootClientId, parents ).length >
+ 0
);
}
@@ -1665,7 +1658,7 @@ const canInsertBlockTypeUnmemoized = (
blockName,
rootClientId = null
) => {
- if ( ! isBlockVisibleInTheInserter( state, blockName ) ) {
+ if ( ! isBlockVisibleInTheInserter( state, blockName, rootClientId ) ) {
return false;
}
@@ -2072,6 +2065,7 @@ const buildBlockTypeItem =
category: blockType.category,
keywords: blockType.keywords,
parent: blockType.parent,
+ ancestor: blockType.ancestor,
variations: inserterVariations,
example: blockType.example,
utility: 1, // Deprecated.
@@ -2169,7 +2163,11 @@ export const getInserterItems = createRegistrySelector( ( select ) =>
} else {
blockTypeInserterItems = blockTypeInserterItems
.filter( ( blockType ) =>
- isBlockVisibleInTheInserter( state, blockType )
+ isBlockVisibleInTheInserter(
+ state,
+ blockType,
+ rootClientId
+ )
)
.map( ( blockType ) => ( {
...blockType,
@@ -2501,7 +2499,11 @@ export const __experimentalGetAllowedPatterns = createRegistrySelector(
name,
rootClientId
)
- : isBlockVisibleInTheInserter( state, name )
+ : isBlockVisibleInTheInserter(
+ state,
+ name,
+ rootClientId
+ )
)
);
diff --git a/packages/block-editor/src/store/test/selectors.js b/packages/block-editor/src/store/test/selectors.js
index 7692bd6bf2cbb6..51949bfd468ca8 100644
--- a/packages/block-editor/src/store/test/selectors.js
+++ b/packages/block-editor/src/store/test/selectors.js
@@ -3324,7 +3324,7 @@ describe( 'selectors', () => {
settings: {},
blockEditingModes: new Map(),
};
- expect( canInsertBlocks( state, [ '2', '3' ], '1' ) ).toBe( true );
+ expect( canInsertBlocks( state, [ '2' ], '1' ) ).toBe( true );
} );
it( 'should deny blocks', () => {
From 40209896f7b95c63f8aae9bb0643b2789796e9ff Mon Sep 17 00:00:00 2001
From: Alex Florisca
Date: Tue, 10 Dec 2024 15:29:23 +0000
Subject: [PATCH 37/74] e2e-test-utils-playwright: Increase timeout of
site-editor selector (#66672)
Co-authored-by: alexflorisca
Co-authored-by: youknowriad
Co-authored-by: ironprogrammer
---
.../e2e-test-utils-playwright/src/admin/visit-site-editor.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/e2e-test-utils-playwright/src/admin/visit-site-editor.ts b/packages/e2e-test-utils-playwright/src/admin/visit-site-editor.ts
index f0a7db5ad966ff..21bf56b578b57d 100644
--- a/packages/e2e-test-utils-playwright/src/admin/visit-site-editor.ts
+++ b/packages/e2e-test-utils-playwright/src/admin/visit-site-editor.ts
@@ -54,7 +54,7 @@ export async function visitSiteEditor(
// Wait for the canvas loader to appear first, so that the locator that
// waits for the hidden state doesn't resolve prematurely.
- await canvasLoader.waitFor( { state: 'visible' } );
+ await canvasLoader.waitFor( { state: 'visible', timeout: 60_000 } );
await canvasLoader.waitFor( {
state: 'hidden',
// Bigger timeout is needed for larger entities, like the Large Post
From a16f2cb5d80be8e17d3e65c163afd05191b747fd Mon Sep 17 00:00:00 2001
From: Andrea Fercia
Date: Tue, 10 Dec 2024 16:43:39 +0100
Subject: [PATCH 38/74] Fix incorrect usage of ItemGroup in the Image block
filters panel. (#67513)
* Fix incorrect usage of ItemGroup in the filters panel.
* Revert change for __next40pxDefaultSize.
* Restore empty line.
Co-authored-by: afercia
Co-authored-by: ciampo
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: tyxla
---
.../src/components/global-styles/filters-panel.js | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/packages/block-editor/src/components/global-styles/filters-panel.js b/packages/block-editor/src/components/global-styles/filters-panel.js
index 581661e0c84071..c62099596f66c6 100644
--- a/packages/block-editor/src/components/global-styles/filters-panel.js
+++ b/packages/block-editor/src/components/global-styles/filters-panel.js
@@ -10,10 +10,10 @@ import {
__experimentalToolsPanel as ToolsPanel,
__experimentalToolsPanelItem as ToolsPanelItem,
__experimentalItemGroup as ItemGroup,
+ __experimentalItem as Item,
__experimentalHStack as HStack,
__experimentalZStack as ZStack,
__experimentalDropdownContentWrapper as DropdownContentWrapper,
- Button,
MenuGroup,
ColorIndicator,
DuotonePicker,
@@ -189,15 +189,12 @@ export default function FiltersPanel( {
return (
-
+
);
} }
From 9a63c4b51943c52b826628757dbcea20afe0fcb5 Mon Sep 17 00:00:00 2001
From: Riad Benguella
Date: Tue, 10 Dec 2024 17:10:05 +0100
Subject: [PATCH 39/74] CI: Skip native jobs (#67799)
Co-authored-by: youknowriad
Co-authored-by: tyxla
Co-authored-by: dcalhoun
---
.github/workflows/rnmobile-android-runner.yml | 5 +++--
.github/workflows/rnmobile-ios-runner.yml | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/rnmobile-android-runner.yml b/.github/workflows/rnmobile-android-runner.yml
index e4d9da813417eb..e0365c9b4d3d29 100644
--- a/.github/workflows/rnmobile-android-runner.yml
+++ b/.github/workflows/rnmobile-android-runner.yml
@@ -14,8 +14,9 @@ concurrency:
jobs:
test:
- runs-on: macos-12
- if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }}
+ runs-on: macos-13
+ if: false
+ #if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }}
strategy:
matrix:
native-test-name: [gutenberg-editor-rendering]
diff --git a/.github/workflows/rnmobile-ios-runner.yml b/.github/workflows/rnmobile-ios-runner.yml
index e1e7fd8c755c97..1665d769e25f05 100644
--- a/.github/workflows/rnmobile-ios-runner.yml
+++ b/.github/workflows/rnmobile-ios-runner.yml
@@ -14,8 +14,9 @@ concurrency:
jobs:
test:
- runs-on: macos-12
- if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }}
+ runs-on: macos-13
+ if: false
+ #if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }}
strategy:
matrix:
xcode: ['14.2']
From da012ed2178b5b8475b8d6ec85553279490332ab Mon Sep 17 00:00:00 2001
From: David Arenas
Date: Tue, 10 Dec 2024 17:16:09 +0100
Subject: [PATCH 40/74] Image Block: Change how the Image's overlay styles are
applied (#67788)
Co-authored-by: DAreRodz
Co-authored-by: SantosGuillamot
---
packages/block-library/src/image/index.php | 2 +-
packages/block-library/src/image/view.js | 4 +---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/packages/block-library/src/image/index.php b/packages/block-library/src/image/index.php
index 1a5fae7ce9cbb7..ac03011d73f63a 100644
--- a/packages/block-library/src/image/index.php
+++ b/packages/block-library/src/image/index.php
@@ -290,6 +290,7 @@ class="wp-lightbox-overlay zoom"
data-wp-on-async--click="actions.hideLightbox"
data-wp-on-async-window--resize="callbacks.setOverlayStyles"
data-wp-on-async-window--scroll="actions.handleScroll"
+ data-wp-bind--style="state.overlayStyles"
tabindex="-1"
>
-
HTML;
}
diff --git a/packages/block-library/src/image/view.js b/packages/block-library/src/image/view.js
index 0bc0dfaacea1a2..3c9a729538813e 100644
--- a/packages/block-library/src/image/view.js
+++ b/packages/block-library/src/image/view.js
@@ -341,7 +341,6 @@ const { state, actions, callbacks } = store(
// adding 1 pixel to the container width and height solves the problem,
// though this can be removed if the issue is fixed in the future.
state.overlayStyles = `
- :root {
--wp--lightbox-initial-top-position: ${ screenPosY }px;
--wp--lightbox-initial-left-position: ${ screenPosX }px;
--wp--lightbox-container-width: ${ containerWidth + 1 }px;
@@ -352,8 +351,7 @@ const { state, actions, callbacks } = store(
--wp--lightbox-scrollbar-width: ${
window.innerWidth - document.documentElement.clientWidth
}px;
- }
- `;
+ `;
},
setButtonStyles() {
const { imageId } = getContext();
From 84f29eaf931ae9d059cbed7dbb2a7dac3bba9d35 Mon Sep 17 00:00:00 2001
From: Luigi Teschio
Date: Tue, 10 Dec 2024 17:29:17 +0100
Subject: [PATCH 41/74] Renders `DataForm` component only when data has been
fetched (#67694)
Co-authored-by: gigitux
Co-authored-by: youknowriad
Co-authored-by: oandregal
---
.../src/components/post-edit/index.js | 35 +++++++++++--------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/packages/edit-site/src/components/post-edit/index.js b/packages/edit-site/src/components/post-edit/index.js
index d32666bcf3aa1b..97484c89ed670b 100644
--- a/packages/edit-site/src/components/post-edit/index.js
+++ b/packages/edit-site/src/components/post-edit/index.js
@@ -34,17 +34,22 @@ const fieldsWithBulkEditSupport = [
function PostEditForm( { postType, postId } ) {
const ids = useMemo( () => postId.split( ',' ), [ postId ] );
- const { record } = useSelect(
+ const { record, hasFinishedResolution } = useSelect(
( select ) => {
+ const args = [ 'postType', postType, ids[ 0 ] ];
+
+ const {
+ getEditedEntityRecord,
+ hasFinishedResolution: hasFinished,
+ } = select( coreDataStore );
+
return {
record:
- ids.length === 1
- ? select( coreDataStore ).getEditedEntityRecord(
- 'postType',
- postType,
- ids[ 0 ]
- )
- : null,
+ ids.length === 1 ? getEditedEntityRecord( ...args ) : null,
+ hasFinishedResolution: hasFinished(
+ 'getEditedEntityRecord',
+ args
+ ),
};
},
[ postType, ids ]
@@ -159,12 +164,14 @@ function PostEditForm( { postType, postId } ) {
return (
-
+ { hasFinishedResolution && (
+
+ ) }
);
}
From 2eec57974bb7df37f2d6b0c1583bd954f2126a2b Mon Sep 17 00:00:00 2001
From: Lena Morita
Date: Wed, 11 Dec 2024 02:19:48 +0900
Subject: [PATCH 42/74] Button: Revise documentation (#66617)
* Button: Auto-generate README
* Add additional mdx file
* Fixup to prevent merging consecutive lists
* Add FigmaEmbed component
* Update best-practices.mdx
- added content
- added embeds
* Update best-practices.mdx
Removed sample Figma embed link
* Update best-practices.mdx
- Fixed Figma links
* Fixup
* Fix iframe titles
* Replace sizes section
* Move variant description to story description?
* Move variant descriptions to main docs
---------
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: auareyou
Co-authored-by: jameskoster
Co-authored-by: jasmussen
Co-authored-by: tyxla
Co-authored-by: ciampo
---
packages/components/src/button/README.md | 327 ++++++------------
.../components/src/button/docs-manifest.json | 5 +
.../src/button/stories/best-practices.mdx | 31 ++
.../src/button/stories/index.story.tsx | 18 +
packages/components/src/button/types.ts | 10 +-
storybook/components/figma-embed/index.js | 47 +++
storybook/components/figma-embed/style.scss | 4 +
storybook/main.js | 3 +-
8 files changed, 221 insertions(+), 224 deletions(-)
create mode 100644 packages/components/src/button/docs-manifest.json
create mode 100644 packages/components/src/button/stories/best-practices.mdx
create mode 100644 storybook/components/figma-embed/index.js
create mode 100644 storybook/components/figma-embed/style.scss
diff --git a/packages/components/src/button/README.md b/packages/components/src/button/README.md
index d458771494a338..99a6d0f9c24cfb 100644
--- a/packages/components/src/button/README.md
+++ b/packages/components/src/button/README.md
@@ -1,304 +1,193 @@
# Button
-Buttons let users take actions and make choices with a single click or tap.
+
-![Button components](https://make.wordpress.org/design/files/2019/03/button.png)
+See the WordPress Storybook for more detailed, interactive documentation.
-## Design guidelines
-
-### Usage
-
-Buttons tell users what actions they can take and give them a way to interact with the interface. You’ll find them throughout a UI, particularly in places like:
-
-- Modals
-- Forms
-- Toolbars
-
-### Best practices
-
-Buttons should:
-
-- **Be clearly and accurately labeled.**
-- **Clearly communicate that clicking or tapping will trigger an action.**
-- **Use established colors appropriately.** For example, only use red buttons for actions that are difficult or impossible to undo.
-- **Prioritize the most important actions.** This helps users focus. Too many calls to action on one screen can be confusing, making users unsure what to do next.
-- **Have consistent locations in the interface.**
-
-### Content guidelines
-
-Buttons should be clear and predictable—users should be able to anticipate what will happen when they click a button. Never deceive a user by mislabeling a button.
-
-Buttons text should lead with a strong verb that encourages action, and add a noun that clarifies what will actually change. The only exceptions are common actions like Save, Close, Cancel, or OK. Otherwise, use the {verb}+{noun} format to ensure that your button gives the user enough information.
-
-Button text should also be quickly scannable — avoid unnecessary words and articles like the, an, or a.
-
-### Types
-
-#### Link button
-
-Link buttons have low emphasis. They don’t stand out much on the page, so they’re used for less-important actions. What’s less important can vary based on context, but it’s usually a supplementary action to the main action we want someone to take. Link buttons are also useful when you don’t want to distract from the content.
-
-![Link button](https://make.wordpress.org/design/files/2019/03/link-button.png)
-
-#### Default button
-
-Default buttons have medium emphasis. The button appearance helps differentiate them from the page background, so they’re useful when you want more emphasis than a link button offers.
-
-![Default button](https://make.wordpress.org/design/files/2019/03/default-button.png)
-
-#### Primary button
-
-Primary buttons have high emphasis. Their color fill and shadow means they pop off the background.
-
-Since a high-emphasis button commands the most attention, a layout should contain a single primary button. This makes it clear that other buttons have less importance and helps users understand when an action requires their attention.
-
-![Primary button](https://make.wordpress.org/design/files/2019/03/primary-button.png)
-
-#### Text label
-
-All button types use text labels to describe the action that happens when a user taps a button. If there’s no text label, there needs to be a [label](#label) added and an icon to signify what the button does.
-
-![](https://make.wordpress.org/design/files/2019/03/do-link-button.png)
-
-**Do**
-Use color to distinguish link button labels from other text.
-
-![](https://make.wordpress.org/design/files/2019/03/dont-wrap-button-text.png)
-
-**Don’t**
-Don’t wrap button text. For maximum legibility, keep text labels on a single line.
-
-### Hierarchy
-
-![A layout with a single prominent button](https://make.wordpress.org/design/files/2019/03/button.png)
-
-A layout should contain a single prominently-located button. If multiple buttons are required, a single high-emphasis button can be joined by medium- and low-emphasis buttons mapped to less-important actions. When using multiple buttons, make sure the available state of one button doesn’t look like the disabled state of another.
-
-![A diagram showing high emphasis at the top, medium emphasis in the middle, and low emphasis at the bottom](https://make.wordpress.org/design/files/2019/03/button-hierarchy.png)
-
-A button’s level of emphasis helps determine its appearance, typography, and placement.
-
-#### Placement
-
-Use button types to express different emphasis levels for all the actions a user can perform.
-
-![A link, default, and primary button](https://make.wordpress.org/design/files/2019/03/button-layout.png)
-
-This screen layout uses:
-
-1. A primary button for high emphasis.
-2. A default button for medium emphasis.
-3. A link button for low emphasis.
-
-Placement best practices:
-
-- **Do**: When using multiple buttons in a row, show users which action is more important by placing it next to a button with a lower emphasis (e.g. a primary button next to a default button, or a default button next to a link button).
-- **Don’t**: Don’t place two primary buttons next to one another — they compete for focus. Only use one primary button per view.
-- **Don’t**: Don’t place a button below another button if there is space to place them side by side.
-- **Caution**: Avoid using too many buttons on a single page. When designing pages in the app or website, think about the most important actions for users to take. Too many calls to action can cause confusion and make users unsure what to do next — we always want users to feel confident and capable.
-
-## Development guidelines
-
-### Usage
-
-Renders a button with default style.
+Lets users take actions and make choices with a single click or tap.
```jsx
import { Button } from '@wordpress/components';
-
-const MyButton = () => ;
+const Mybutton = () => (
+
+);
```
+## Props
-### Props
+### `__next40pxDefaultSize`
-The presence of a `href` prop determines whether an `anchor` element is rendered instead of a `button`.
+Start opting into the larger default height that will become the
+default size in a future version.
-Props not included in this set will be applied to the `a` or `button` element.
+ - Type: `boolean`
+ - Required: No
+ - Default: `false`
-#### `accessibleWhenDisabled`: `boolean`
+### `accessibleWhenDisabled`
Whether to keep the button focusable when disabled.
-In most cases, it is recommended to set this to `true`. Disabling a control without maintaining focusability can cause accessibility issues, by hiding their presence from screen reader users, or by preventing focus from returning to a trigger element.
+In most cases, it is recommended to set this to `true`. Disabling a control without maintaining focusability
+can cause accessibility issues, by hiding their presence from screen reader users,
+or by preventing focus from returning to a trigger element.
-Learn more about the [focusability of disabled controls](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols) in the WAI-ARIA Authoring Practices Guide.
+Learn more about the [focusability of disabled controls](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols)
+in the WAI-ARIA Authoring Practices Guide.
-- Required: No
-- Default: `false`
+ - Type: `boolean`
+ - Required: No
+ - Default: `false`
-#### `children`: `ReactNode`
+### `children`
The button's children.
-- Required: No
+ - Type: `ReactNode`
+ - Required: No
-#### `className`: `string`
+### `description`
-An optional additional class name to apply to the rendered button.
+A visually hidden accessible description for the button.
-- Required: No
+ - Type: `string`
+ - Required: No
-#### `description`: `string`
+### `disabled`
-An accessible description for the button.
-
-- Required: No
-
-#### `disabled`: `boolean`
-
-Whether the button is disabled. If `true`, this will force a `button` element to be rendered, even when an `href` is given.
+Whether the button is disabled. If `true`, this will force a `button` element
+to be rendered, even when an `href` is given.
In most cases, it is recommended to also set the `accessibleWhenDisabled` prop to `true`.
-- Required: No
+ - Type: `boolean`
+ - Required: No
-#### `href`: `string`
+### `href`
If provided, renders `a` instead of `button`.
-- Required: No
+ - Type: `string`
+ - Required: Yes
-#### `icon`: `IconProps< unknown >[ 'icon' ]`
+### `icon`
-If provided, renders an [Icon](/packages/components/src/icon/README.md) component inside the button.
+If provided, renders an Icon component inside the button.
-- Required: No
+ - Type: `IconType`
+ - Required: No
-#### `iconPosition`: `'left' | 'right'`
+### `iconPosition`
-If provided with `icon`, sets the position of icon relative to the `text`. Available options are `left|right`.
+If provided with `icon`, sets the position of icon relative to the `text`.
-- Required: No
-- Default: `left`
+ - Type: `"left" | "right"`
+ - Required: No
+ - Default: `'left'`
-#### `iconSize`: `IconProps< unknown >[ 'size' ]`
+### `iconSize`
-If provided with `icon`, sets the icon size. Please refer to the [Icon](/packages/components/src/icon/README.md) component for more details regarding the default value of its `size` prop.
+If provided with `icon`, sets the icon size.
+Please refer to the Icon component for more details regarding
+the default value of its `size` prop.
-- Required: No
+ - Type: `number`
+ - Required: No
-#### `isBusy`: `boolean`
+### `isBusy`
Indicates activity while a action is being performed.
-- Required: No
+ - Type: `boolean`
+ - Required: No
-#### `isDestructive`: `boolean`
+### `isDestructive`
Renders a red text-based button style to indicate destructive behavior.
-- Required: No
-
-#### `isLink`: `boolean`
+ - Type: `boolean`
+ - Required: No
-Deprecated: Renders a button with an anchor style.
-Use `variant` prop with `link` value instead.
-
-- Required: No
-- Default: `false`
-
-#### `isPressed`: `boolean`
+### `isPressed`
Renders a pressed button style.
-If the native `aria-pressed` attribute is also set, it will take precedence.
-
-- Required: No
-
-#### `isPrimary`: `boolean`
+ - Type: `boolean`
+ - Required: No
-Deprecated: Renders a primary button style.
-Use `variant` prop with `primary` value instead.
+### `label`
-- Required: No
-- Default: `false`
+Sets the `aria-label` of the component, if none is provided.
+Sets the Tooltip content if `showTooltip` is provided.
-#### `isSecondary`: `boolean`
+ - Type: `string`
+ - Required: No
-Deprecated: Renders a default button style.
-Use `variant` prop with `secondary` value instead.
+### `shortcut`
-- Required: No
-- Default: `false`
+If provided with `showTooltip`, appends the Shortcut label to the tooltip content.
+If an object is provided, it should contain `display` and `ariaLabel` keys.
-#### `isSmall`: `boolean`
+ - Type: `string | { display: string; ariaLabel: string; }`
+ - Required: No
-Decreases the size of the button.
+### `showTooltip`
-Deprecated in favor of the `size` prop. If both props are defined, the `size` prop will take precedence.
+If provided, renders a Tooltip component for the button.
-- Required: No
+ - Type: `boolean`
+ - Required: No
-#### `isTertiary`: `boolean`
-
-Deprecated: Renders a text-based button style.
-Use `variant` prop with `tertiary` value instead.
-
-- Required: No
-- Default: `false`
-
-#### `label`: `string`
-
-Sets the `aria-label` of the component, if none is provided. Sets the Tooltip content if `showTooltip` is provided.
-
-- Required: No
-
-#### `shortcut`: `string | { display: string; ariaLabel: string; }`
-
-If provided with `showTooltip`, appends the Shortcut label to the tooltip content. If an object is provided, it should contain `display` and `ariaLabel` keys.
-
-- Required: No
-
-#### `showTooltip`: `boolean`
-
-If provided, renders a [Tooltip](/packages/components/src/tooltip/README.md) component for the button.
-
-- Required: No
-
-#### `size`: `'default'` | `'compact'` | `'small'`
+### `size`
The size of the button.
-- `'default'`: For normal text-label buttons, unless it is a toggle button.
-- `'compact'`: For toggle buttons, icon buttons, and buttons when used in context of either.
-- `'small'`: For icon buttons associated with more advanced or auxiliary features.
+- `'default'`: For normal text-label buttons, unless it is a toggle button.
+- `'compact'`: For toggle buttons, icon buttons, and buttons when used in context of either.
+- `'small'`: For icon buttons associated with more advanced or auxiliary features.
If the deprecated `isSmall` prop is also defined, this prop will take precedence.
-- Required: No
-- Default: `'default'`
-
-#### `target`: `string`
+ - Type: `"small" | "default" | "compact"`
+ - Required: No
+ - Default: `'default'`
-If provided with `href`, sets the `target` attribute to the `a`.
-
-- Required: No
-
-#### `text`: `string`
+### `text`
If provided, displays the given text inside the button. If the button contains children elements, the text is displayed before them.
-- Required: No
+ - Type: `string`
+ - Required: No
-#### `tooltipPosition`: `PopoverProps[ 'position' ]`
+### `tooltipPosition`
-If provided with`showTooltip`, sets the position of the tooltip. Please refer to the [Tooltip](/packages/components/src/tooltip/README.md) component for more details regarding the defaults.
+If provided with `showTooltip`, sets the position of the tooltip.
+Please refer to the Tooltip component for more details regarding the defaults.
-- Required: No
+ - Type: `"top" | "middle" | "bottom" | "top center" | "top left" | "top right" | "middle center" | "middle left" | "middle right" | "bottom center" | ...`
+ - Required: No
-#### `variant`: `'primary' | 'secondary' | 'tertiary' | 'link'`
+### `target`
-Specifies the button's style. The accepted values are `'primary'` (the primary button styles), `'secondary'` (the default button styles), `'tertiary'` (the text-based button styles), and `'link'` (the link button styles).
+If provided with `href`, sets the `target` attribute to the `a`.
-- Required: No
+ - Type: `string`
+ - Required: No
-#### `__next40pxDefaultSize`: `boolean`
+### `variant`
-Start opting into the larger default height that will become the default size in a future version.
+Specifies the button's style.
-- Required: No
-- Default: `false`
+The accepted values are:
-## Related components
+1. `'primary'` (the primary button styles)
+2. `'secondary'` (the default button styles)
+3. `'tertiary'` (the text-based button styles)
+4. `'link'` (the link button styles)
-- To group buttons together, use the [ButtonGroup](/packages/components/src/button-group/README.md) component.
+ - Type: `"link" | "primary" | "secondary" | "tertiary"`
+ - Required: No
diff --git a/packages/components/src/button/docs-manifest.json b/packages/components/src/button/docs-manifest.json
new file mode 100644
index 00000000000000..0fd0f84f44e102
--- /dev/null
+++ b/packages/components/src/button/docs-manifest.json
@@ -0,0 +1,5 @@
+{
+ "$schema": "../../schemas/docs-manifest.json",
+ "displayName": "Button",
+ "filePath": "./index.tsx"
+}
diff --git a/packages/components/src/button/stories/best-practices.mdx b/packages/components/src/button/stories/best-practices.mdx
new file mode 100644
index 00000000000000..66ec44e6738d5f
--- /dev/null
+++ b/packages/components/src/button/stories/best-practices.mdx
@@ -0,0 +1,31 @@
+import { Meta } from '@storybook/blocks';
+
+
+
+# Button
+
+## Usage
+Buttons indicate available actions and allow user interaction within the interface. As key elements in the WordPress UI, they appear in toolbars, modals, and forms. Default buttons support most actions, while primary buttons emphasize the main action in a view. Secondary buttons pair as secondary actions next to a primary action.
+
+Each layout contains one prominently placed, high-emphasis button. If you need multiple buttons, use one primary button for the main action, secondary for the rest of the actions and tertiary sparingly when an action needs to not stand out at all.
+
+### Sizes
+
+- `'default'`: For normal text-label buttons, unless it is a toggle button.
+- `'compact'`: For toggle buttons, icon buttons, and buttons when used in context of either.
+- `'small'`: For icon buttons associated with more advanced or auxiliary features.
+
+## Best practices
+
+- Label buttons to show that a click or tap initiates an action.
+- Use established color conventions; for example, reserve red buttons for irreversible or dangerous actions.
+- Avoid crowding the screen with multiple calls to action, which confuses users.
+- Keep button locations consistent across the interface.
+
+## Content guidelines
+
+Buttons should be clear and predictable, showing users what will happen when clicked. Make labels reflect actions accurately to avoid confusion.
+
+Start button text with a strong action verb and include a noun to specify the change, except for common actions like Save, Close, Cancel, or OK.
+
+For other actions, use a `{verb}+{noun}` format for context. Keep button text brief and remove unnecessary words like "the," "an," or "a" for easy scanning.
diff --git a/packages/components/src/button/stories/index.story.tsx b/packages/components/src/button/stories/index.story.tsx
index 808914893de610..605b56686c702f 100644
--- a/packages/components/src/button/stories/index.story.tsx
+++ b/packages/components/src/button/stories/index.story.tsx
@@ -65,30 +65,48 @@ Default.args = {
children: 'Code is poetry',
};
+/**
+ * Primary buttons stand out with bold color fills, making them distinct
+ * from the background. Since they naturally draw attention, each layout should contain
+ * only one primary button to guide users toward the most important action.
+ */
export const Primary = Template.bind( {} );
Primary.args = {
...Default.args,
variant: 'primary',
};
+/**
+ * Secondary buttons complement primary buttons. Use them for standard actions that may appear alongside a primary action.
+ */
export const Secondary = Template.bind( {} );
Secondary.args = {
...Default.args,
variant: 'secondary',
};
+/**
+ * Tertiary buttons have minimal emphasis. Use them sparingly to subtly highlight an action.
+ */
export const Tertiary = Template.bind( {} );
Tertiary.args = {
...Default.args,
variant: 'tertiary',
};
+/**
+ * Link buttons have low emphasis and blend into the page, making them suitable for supplementary actions,
+ * especially those involving navigation away from the current view.
+ */
export const Link = Template.bind( {} );
Link.args = {
...Default.args,
variant: 'link',
};
+/**
+ * Use this variant for irreversible actions. Apply sparingly and only for actions with significant impact.
+ */
export const IsDestructive = Template.bind( {} );
IsDestructive.args = {
...Default.args,
diff --git a/packages/components/src/button/types.ts b/packages/components/src/button/types.ts
index 7d67b721a5036d..d730f49b1e8138 100644
--- a/packages/components/src/button/types.ts
+++ b/packages/components/src/button/types.ts
@@ -111,11 +111,13 @@ type BaseButtonProps = {
tooltipPosition?: PopoverProps[ 'position' ];
/**
* Specifies the button's style.
+ *
* The accepted values are:
- * 'primary' (the primary button styles)
- * 'secondary' (the default button styles)
- * 'tertiary' (the text-based button styles)
- * 'link' (the link button styles)
+ *
+ * 1. `'primary'` (the primary button styles)
+ * 2. `'secondary'` (the default button styles)
+ * 3. `'tertiary'` (the text-based button styles)
+ * 4. `'link'` (the link button styles)
*/
variant?: 'primary' | 'secondary' | 'tertiary' | 'link';
};
diff --git a/storybook/components/figma-embed/index.js b/storybook/components/figma-embed/index.js
new file mode 100644
index 00000000000000..8d8ac6488a9334
--- /dev/null
+++ b/storybook/components/figma-embed/index.js
@@ -0,0 +1,47 @@
+/**
+ * Internal dependencies
+ */
+import './style.scss';
+
+// See https://www.figma.com/developers/embed#embed-a-figma-file
+const CONFIG = {
+ 'embed-host': 'wordpress-storybook',
+ footer: false,
+ 'page-selector': false,
+ 'viewport-controls': true,
+};
+
+/**
+ * Embed Figma links in the Storybook.
+ *
+ * @param {Object} props
+ * @param {string} props.url - Figma URL to embed.
+ * @param {string} props.title - Accessible title for the iframe.
+ */
+function FigmaEmbed( { url, title, ...props } ) {
+ const urlObj = new URL( url );
+
+ const queryParams = new URLSearchParams( urlObj.search );
+ Object.entries( CONFIG ).forEach( ( [ key, value ] ) => {
+ queryParams.set( key, value );
+ } );
+ urlObj.search = queryParams.toString();
+
+ urlObj.hostname = urlObj.hostname.replace(
+ 'www.figma.com',
+ 'embed.figma.com'
+ );
+
+ const normalizedUrl = urlObj.toString();
+
+ return (
+
+ );
+}
+
+export default FigmaEmbed;
diff --git a/storybook/components/figma-embed/style.scss b/storybook/components/figma-embed/style.scss
new file mode 100644
index 00000000000000..8311642b9b0974
--- /dev/null
+++ b/storybook/components/figma-embed/style.scss
@@ -0,0 +1,4 @@
+.wp-storybook-figma-embed {
+ width: 100%;
+ border: none;
+}
diff --git a/storybook/main.js b/storybook/main.js
index 66aed2f00a2fb9..5261fbbf4726ab 100644
--- a/storybook/main.js
+++ b/storybook/main.js
@@ -31,7 +31,8 @@ const stories = [
process.env.NODE_ENV !== 'test' && './stories/**/*.story.@(js|tsx)',
process.env.NODE_ENV !== 'test' && './stories/**/*.mdx',
'../packages/block-editor/src/**/stories/*.story.@(js|tsx|mdx)',
- '../packages/components/src/**/stories/*.story.@(js|tsx|mdx)',
+ '../packages/components/src/**/stories/*.story.@(js|tsx)',
+ '../packages/components/src/**/stories/*.mdx',
'../packages/icons/src/**/stories/*.story.@(js|tsx|mdx)',
'../packages/edit-site/src/**/stories/*.story.@(js|tsx|mdx)',
'../packages/dataviews/src/**/stories/*.story.@(js|tsx|mdx)',
From 938720602082dc50a1746bd2e33faa3d3a6096d4 Mon Sep 17 00:00:00 2001
From: Subodh Rajpopat <58080782+subodhr258@users.noreply.github.com>
Date: Tue, 10 Dec 2024 23:51:04 +0530
Subject: [PATCH 43/74] CustomSelectControl: Update Value from Fresh State
(#67733)
* CustomSelectControl: Prioritized props value over store
* CustomSelectControl: Refactored Codebase to fix failing testcases
* docs: Add changelog entry for CustomSelectControl font size reset fix
* CustomSelectControl: Fetch the fresh state on each call instead of stale state
* Tweak changelog text
---------
Co-authored-by: subodhr258
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: sarthaknagoshe2002
Co-authored-by: Rishit30G
Co-authored-by: inc2734
---
packages/components/CHANGELOG.md | 1 +
packages/components/src/custom-select-control/index.tsx | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
index 6a7b2545c2e68c..2dc35bd54b3eeb 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -45,6 +45,7 @@
### Bug Fixes
- `ResizableBox`: Make drag handles focusable ([#67305](https://github.com/WordPress/gutenberg/pull/67305)).
+- `CustomSelectControl`: Update correctly when `showSelectedHint` is enabled ([#67733](https://github.com/WordPress/gutenberg/pull/67733)).
## 28.13.0 (2024-11-27)
diff --git a/packages/components/src/custom-select-control/index.tsx b/packages/components/src/custom-select-control/index.tsx
index 74da8a5c741060..339944f4198722 100644
--- a/packages/components/src/custom-select-control/index.tsx
+++ b/packages/components/src/custom-select-control/index.tsx
@@ -154,11 +154,11 @@ function CustomSelectControl< T extends CustomSelectOption >(
const renderSelectedValueHint = () => {
const selectedOptionHint = options
?.map( applyOptionDeprecations )
- ?.find( ( { name } ) => currentValue === name )?.hint;
+ ?.find( ( { name } ) => store.getState().value === name )?.hint;
return (
- { currentValue }
+ { store.getState().value }
{ selectedOptionHint && (
Date: Wed, 11 Dec 2024 00:44:38 +0000
Subject: [PATCH 44/74] Bump plugin version to 19.9.0-rc.1
---
gutenberg.php | 2 +-
package-lock.json | 4 ++--
package.json | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gutenberg.php b/gutenberg.php
index bcc941f2cb83f9..92f935669fc46e 100644
--- a/gutenberg.php
+++ b/gutenberg.php
@@ -5,7 +5,7 @@
* Description: Printing since 1440. This is the development plugin for the block editor, site editor, and other future WordPress core functionality.
* Requires at least: 6.6
* Requires PHP: 7.2
- * Version: 19.8.0
+ * Version: 19.9.0-rc.1
* Author: Gutenberg Team
* Text Domain: gutenberg
*
diff --git a/package-lock.json b/package-lock.json
index 0b0dbbb0905cbd..55ddf782bf4fcc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "gutenberg",
- "version": "19.8.0",
+ "version": "19.9.0-rc.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "gutenberg",
- "version": "19.8.0",
+ "version": "19.9.0-rc.1",
"hasInstallScript": true,
"license": "GPL-2.0-or-later",
"workspaces": [
diff --git a/package.json b/package.json
index f935ac7250d1c0..dbf69043c58292 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gutenberg",
- "version": "19.8.0",
+ "version": "19.9.0-rc.1",
"private": true,
"description": "A new WordPress editor experience.",
"author": "The WordPress Contributors",
From 0555e8d00ac8cb7eb50f165ddefbf51ad5e4fbc9 Mon Sep 17 00:00:00 2001
From: Gutenberg Repository Automation
Date: Wed, 11 Dec 2024 07:49:44 +0000
Subject: [PATCH 45/74] Update changelog files
---
packages/a11y/CHANGELOG.md | 2 ++
packages/a11y/package.json | 2 +-
packages/annotations/CHANGELOG.md | 2 ++
packages/annotations/package.json | 2 +-
packages/api-fetch/CHANGELOG.md | 2 ++
packages/api-fetch/package.json | 2 +-
packages/autop/CHANGELOG.md | 2 ++
packages/autop/package.json | 2 +-
packages/babel-plugin-import-jsx-pragma/CHANGELOG.md | 2 ++
packages/babel-plugin-import-jsx-pragma/package.json | 2 +-
packages/babel-plugin-makepot/CHANGELOG.md | 2 ++
packages/babel-plugin-makepot/package.json | 2 +-
packages/babel-preset-default/CHANGELOG.md | 2 ++
packages/babel-preset-default/package.json | 2 +-
packages/base-styles/CHANGELOG.md | 2 ++
packages/base-styles/package.json | 2 +-
packages/blob/CHANGELOG.md | 2 ++
packages/blob/package.json | 2 +-
packages/block-directory/CHANGELOG.md | 2 ++
packages/block-directory/package.json | 2 +-
packages/block-editor/CHANGELOG.md | 2 ++
packages/block-editor/package.json | 2 +-
packages/block-library/CHANGELOG.md | 2 ++
packages/block-library/package.json | 2 +-
packages/block-serialization-default-parser/CHANGELOG.md | 2 ++
packages/block-serialization-default-parser/package.json | 2 +-
packages/block-serialization-spec-parser/CHANGELOG.md | 2 ++
packages/block-serialization-spec-parser/package.json | 2 +-
packages/blocks/CHANGELOG.md | 2 ++
packages/blocks/package.json | 2 +-
packages/browserslist-config/CHANGELOG.md | 2 ++
packages/browserslist-config/package.json | 2 +-
packages/commands/CHANGELOG.md | 2 ++
packages/commands/package.json | 2 +-
packages/components/CHANGELOG.md | 2 ++
packages/components/package.json | 2 +-
packages/compose/CHANGELOG.md | 2 ++
packages/compose/package.json | 2 +-
packages/core-commands/CHANGELOG.md | 2 ++
packages/core-commands/package.json | 2 +-
packages/core-data/CHANGELOG.md | 2 ++
packages/core-data/package.json | 2 +-
packages/create-block-interactive-template/package.json | 2 +-
packages/create-block-tutorial-template/CHANGELOG.md | 2 ++
packages/create-block-tutorial-template/package.json | 2 +-
packages/create-block/CHANGELOG.md | 2 ++
packages/create-block/package.json | 2 +-
packages/customize-widgets/CHANGELOG.md | 2 ++
packages/customize-widgets/package.json | 2 +-
packages/data-controls/CHANGELOG.md | 2 ++
packages/data-controls/package.json | 2 +-
packages/data/CHANGELOG.md | 2 ++
packages/data/package.json | 2 +-
packages/dataviews/CHANGELOG.md | 2 ++
packages/dataviews/package.json | 2 +-
packages/date/CHANGELOG.md | 2 ++
packages/date/package.json | 2 +-
packages/dependency-extraction-webpack-plugin/CHANGELOG.md | 2 ++
packages/dependency-extraction-webpack-plugin/package.json | 2 +-
packages/deprecated/CHANGELOG.md | 2 ++
packages/deprecated/package.json | 2 +-
packages/docgen/CHANGELOG.md | 2 ++
packages/docgen/package.json | 2 +-
packages/dom-ready/CHANGELOG.md | 2 ++
packages/dom-ready/package.json | 2 +-
packages/dom/CHANGELOG.md | 2 ++
packages/dom/package.json | 2 +-
packages/e2e-test-utils-playwright/CHANGELOG.md | 2 ++
packages/e2e-test-utils-playwright/package.json | 2 +-
packages/e2e-test-utils/CHANGELOG.md | 2 ++
packages/e2e-test-utils/package.json | 2 +-
packages/e2e-tests/CHANGELOG.md | 2 ++
packages/e2e-tests/package.json | 2 +-
packages/edit-post/CHANGELOG.md | 2 ++
packages/edit-post/package.json | 2 +-
packages/edit-site/CHANGELOG.md | 2 ++
packages/edit-site/package.json | 2 +-
packages/edit-widgets/CHANGELOG.md | 2 ++
packages/edit-widgets/package.json | 2 +-
packages/editor/CHANGELOG.md | 2 ++
packages/editor/package.json | 2 +-
packages/element/CHANGELOG.md | 2 ++
packages/element/package.json | 2 +-
packages/env/CHANGELOG.md | 2 ++
packages/env/package.json | 2 +-
packages/escape-html/CHANGELOG.md | 2 ++
packages/escape-html/package.json | 2 +-
packages/eslint-plugin/CHANGELOG.md | 2 ++
packages/eslint-plugin/package.json | 2 +-
packages/fields/CHANGELOG.md | 2 ++
packages/fields/package.json | 2 +-
packages/format-library/CHANGELOG.md | 2 ++
packages/format-library/package.json | 2 +-
packages/hooks/CHANGELOG.md | 2 ++
packages/hooks/package.json | 2 +-
packages/html-entities/CHANGELOG.md | 2 ++
packages/html-entities/package.json | 2 +-
packages/i18n/CHANGELOG.md | 2 ++
packages/i18n/package.json | 2 +-
packages/icons/CHANGELOG.md | 2 ++
packages/icons/package.json | 2 +-
packages/interactivity-router/CHANGELOG.md | 2 ++
packages/interactivity-router/package.json | 2 +-
packages/interactivity/CHANGELOG.md | 2 ++
packages/interactivity/package.json | 2 +-
packages/interface/CHANGELOG.md | 2 ++
packages/interface/package.json | 2 +-
packages/is-shallow-equal/CHANGELOG.md | 2 ++
packages/is-shallow-equal/package.json | 2 +-
packages/jest-console/CHANGELOG.md | 2 ++
packages/jest-console/package.json | 2 +-
packages/jest-preset-default/CHANGELOG.md | 2 ++
packages/jest-preset-default/package.json | 2 +-
packages/jest-puppeteer-axe/CHANGELOG.md | 2 ++
packages/jest-puppeteer-axe/package.json | 2 +-
packages/keyboard-shortcuts/CHANGELOG.md | 2 ++
packages/keyboard-shortcuts/package.json | 2 +-
packages/keycodes/CHANGELOG.md | 2 ++
packages/keycodes/package.json | 2 +-
packages/lazy-import/CHANGELOG.md | 2 ++
packages/lazy-import/package.json | 2 +-
packages/list-reusable-blocks/CHANGELOG.md | 2 ++
packages/list-reusable-blocks/package.json | 2 +-
packages/media-utils/CHANGELOG.md | 2 ++
packages/media-utils/package.json | 2 +-
packages/notices/CHANGELOG.md | 2 ++
packages/notices/package.json | 2 +-
packages/npm-package-json-lint-config/CHANGELOG.md | 2 ++
packages/npm-package-json-lint-config/package.json | 2 +-
packages/nux/CHANGELOG.md | 2 ++
packages/nux/package.json | 2 +-
packages/patterns/CHANGELOG.md | 2 ++
packages/patterns/package.json | 2 +-
packages/plugins/CHANGELOG.md | 2 ++
packages/plugins/package.json | 2 +-
packages/postcss-plugins-preset/CHANGELOG.md | 2 ++
packages/postcss-plugins-preset/package.json | 2 +-
packages/postcss-themes/CHANGELOG.md | 2 ++
packages/postcss-themes/package.json | 2 +-
packages/preferences-persistence/CHANGELOG.md | 2 ++
packages/preferences-persistence/package.json | 2 +-
packages/preferences/CHANGELOG.md | 2 ++
packages/preferences/package.json | 2 +-
packages/prettier-config/CHANGELOG.md | 2 ++
packages/prettier-config/package.json | 2 +-
packages/primitives/CHANGELOG.md | 2 ++
packages/primitives/package.json | 2 +-
packages/priority-queue/CHANGELOG.md | 2 ++
packages/priority-queue/package.json | 2 +-
packages/private-apis/CHANGELOG.md | 2 ++
packages/private-apis/package.json | 2 +-
packages/project-management-automation/CHANGELOG.md | 2 ++
packages/project-management-automation/package.json | 2 +-
packages/react-i18n/CHANGELOG.md | 2 ++
packages/react-i18n/package.json | 2 +-
packages/readable-js-assets-webpack-plugin/CHANGELOG.md | 2 ++
packages/readable-js-assets-webpack-plugin/package.json | 2 +-
packages/redux-routine/CHANGELOG.md | 2 ++
packages/redux-routine/package.json | 2 +-
packages/reusable-blocks/CHANGELOG.md | 2 ++
packages/reusable-blocks/package.json | 2 +-
packages/rich-text/CHANGELOG.md | 2 ++
packages/rich-text/package.json | 2 +-
packages/router/CHANGELOG.md | 2 ++
packages/router/package.json | 2 +-
packages/scripts/CHANGELOG.md | 2 ++
packages/scripts/package.json | 2 +-
packages/server-side-render/CHANGELOG.md | 2 ++
packages/server-side-render/package.json | 2 +-
packages/shortcode/CHANGELOG.md | 2 ++
packages/shortcode/package.json | 2 +-
packages/style-engine/CHANGELOG.md | 2 ++
packages/style-engine/package.json | 2 +-
packages/stylelint-config/CHANGELOG.md | 2 ++
packages/stylelint-config/package.json | 2 +-
packages/sync/CHANGELOG.md | 2 ++
packages/sync/package.json | 2 +-
packages/token-list/CHANGELOG.md | 2 ++
packages/token-list/package.json | 2 +-
packages/undo-manager/CHANGELOG.md | 2 ++
packages/undo-manager/package.json | 2 +-
packages/url/CHANGELOG.md | 2 ++
packages/url/package.json | 2 +-
packages/viewport/CHANGELOG.md | 2 ++
packages/viewport/package.json | 2 +-
packages/warning/CHANGELOG.md | 2 ++
packages/warning/package.json | 2 +-
packages/widgets/CHANGELOG.md | 2 ++
packages/widgets/package.json | 2 +-
packages/wordcount/CHANGELOG.md | 2 ++
packages/wordcount/package.json | 2 +-
191 files changed, 286 insertions(+), 96 deletions(-)
diff --git a/packages/a11y/CHANGELOG.md b/packages/a11y/CHANGELOG.md
index 57b52651acc787..d61f28833d3f66 100644
--- a/packages/a11y/CHANGELOG.md
+++ b/packages/a11y/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/a11y/package.json b/packages/a11y/package.json
index 5eefe05954c797..67f4ed61a412dc 100644
--- a/packages/a11y/package.json
+++ b/packages/a11y/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/a11y",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Accessibility (a11y) utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/annotations/CHANGELOG.md b/packages/annotations/CHANGELOG.md
index 64bf565f8dd52b..66433930b63753 100644
--- a/packages/annotations/CHANGELOG.md
+++ b/packages/annotations/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/annotations/package.json b/packages/annotations/package.json
index 47d39c978fccd1..68c65241bbe382 100644
--- a/packages/annotations/package.json
+++ b/packages/annotations/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/annotations",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Annotate content in the Gutenberg editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/api-fetch/CHANGELOG.md b/packages/api-fetch/CHANGELOG.md
index da4df186a8cd2f..d1d481d6ff9fc3 100644
--- a/packages/api-fetch/CHANGELOG.md
+++ b/packages/api-fetch/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json
index 432eabf6ec5a12..d91e9378c6b2c5 100644
--- a/packages/api-fetch/package.json
+++ b/packages/api-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/api-fetch",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "Utility to make WordPress REST API requests.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/autop/CHANGELOG.md b/packages/autop/CHANGELOG.md
index caec56341262a1..fc054bb8c14e08 100644
--- a/packages/autop/CHANGELOG.md
+++ b/packages/autop/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/autop/package.json b/packages/autop/package.json
index bd48c84775d9ef..5003ce2045b4f3 100644
--- a/packages/autop/package.json
+++ b/packages/autop/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/autop",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress's automatic paragraph functions `autop` and `removep`.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md b/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md
index b7030c3e4140a7..d372ad314b1b6f 100644
--- a/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md
+++ b/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json
index 33244b4e7efb30..fd85a3003fd541 100644
--- a/packages/babel-plugin-import-jsx-pragma/package.json
+++ b/packages/babel-plugin-import-jsx-pragma/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-plugin-import-jsx-pragma",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Babel transform plugin for automatically injecting an import to be used as the pragma for the React JSX Transform plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-plugin-makepot/CHANGELOG.md b/packages/babel-plugin-makepot/CHANGELOG.md
index 00efceb28c075d..7f608c6704635f 100644
--- a/packages/babel-plugin-makepot/CHANGELOG.md
+++ b/packages/babel-plugin-makepot/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json
index 33d301545c4685..7ddac8d63293c7 100644
--- a/packages/babel-plugin-makepot/package.json
+++ b/packages/babel-plugin-makepot/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-plugin-makepot",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "WordPress Babel internationalization (i18n) plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-preset-default/CHANGELOG.md b/packages/babel-preset-default/CHANGELOG.md
index 4f5ef33b51298b..1401fc5d1452bd 100644
--- a/packages/babel-preset-default/CHANGELOG.md
+++ b/packages/babel-preset-default/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.14.0 (2024-12-11)
+
## 8.13.0 (2024-11-27)
## 8.12.0 (2024-11-16)
diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json
index afe1025d604a86..cf8ea53df3f80a 100644
--- a/packages/babel-preset-default/package.json
+++ b/packages/babel-preset-default/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-preset-default",
- "version": "8.13.0",
+ "version": "8.14.0-prerelease",
"description": "Default Babel preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/base-styles/CHANGELOG.md b/packages/base-styles/CHANGELOG.md
index 196c6573d7b872..ccdb7976cd0c20 100644
--- a/packages/base-styles/CHANGELOG.md
+++ b/packages/base-styles/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json
index 2fc026a9ee72ab..24e1ddeace24da 100644
--- a/packages/base-styles/package.json
+++ b/packages/base-styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/base-styles",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Base SCSS utilities and variables for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/blob/CHANGELOG.md b/packages/blob/CHANGELOG.md
index 2d518db27bb40a..03c4724426eb6e 100644
--- a/packages/blob/CHANGELOG.md
+++ b/packages/blob/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/blob/package.json b/packages/blob/package.json
index 4ecf6602400496..74fc971128c6a0 100644
--- a/packages/blob/package.json
+++ b/packages/blob/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blob",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Blob utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-directory/CHANGELOG.md b/packages/block-directory/CHANGELOG.md
index ff4fac035eaa06..eb6b832b407e12 100644
--- a/packages/block-directory/CHANGELOG.md
+++ b/packages/block-directory/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json
index 2fa0bf52ea126f..ca1d6502420caf 100644
--- a/packages/block-directory/package.json
+++ b/packages/block-directory/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-directory",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Extend editor with block directory features to search, download and install blocks.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-editor/CHANGELOG.md b/packages/block-editor/CHANGELOG.md
index 87dc0459bfb715..06e1c9a4a746ec 100644
--- a/packages/block-editor/CHANGELOG.md
+++ b/packages/block-editor/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 14.9.0 (2024-12-11)
+
## 14.8.0 (2024-11-27)
## 14.7.0 (2024-11-16)
diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json
index 008e02355ac703..5a1fe1410b6e85 100644
--- a/packages/block-editor/package.json
+++ b/packages/block-editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-editor",
- "version": "14.8.0",
+ "version": "14.9.0-prerelease",
"description": "Generic block editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-library/CHANGELOG.md b/packages/block-library/CHANGELOG.md
index 47986f12e0fb54..823d89ecd854f3 100644
--- a/packages/block-library/CHANGELOG.md
+++ b/packages/block-library/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.14.0 (2024-12-11)
+
## 9.13.0 (2024-11-27)
## 9.12.0 (2024-11-16)
diff --git a/packages/block-library/package.json b/packages/block-library/package.json
index ab95896035c9f0..844e34b0f5cf8d 100644
--- a/packages/block-library/package.json
+++ b/packages/block-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-library",
- "version": "9.13.0",
+ "version": "9.14.0-prerelease",
"description": "Block library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-serialization-default-parser/CHANGELOG.md b/packages/block-serialization-default-parser/CHANGELOG.md
index c7b27f7760d14d..a0e82f4d19b251 100644
--- a/packages/block-serialization-default-parser/CHANGELOG.md
+++ b/packages/block-serialization-default-parser/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json
index 2ea349e5f94d23..1867416ebe9570 100644
--- a/packages/block-serialization-default-parser/package.json
+++ b/packages/block-serialization-default-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-serialization-default-parser",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Block serialization specification parser for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-serialization-spec-parser/CHANGELOG.md b/packages/block-serialization-spec-parser/CHANGELOG.md
index b23ec04a39a21e..52719d1172dd72 100644
--- a/packages/block-serialization-spec-parser/CHANGELOG.md
+++ b/packages/block-serialization-spec-parser/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json
index 0e4c251a8e5f18..c002fda5abcc65 100644
--- a/packages/block-serialization-spec-parser/package.json
+++ b/packages/block-serialization-spec-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-serialization-spec-parser",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Block serialization specification parser for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/blocks/CHANGELOG.md b/packages/blocks/CHANGELOG.md
index 0fd1b8af928abd..2e5aac914e5784 100644
--- a/packages/blocks/CHANGELOG.md
+++ b/packages/blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 14.3.0 (2024-12-11)
+
## 14.2.0 (2024-11-27)
## 14.1.0 (2024-11-16)
diff --git a/packages/blocks/package.json b/packages/blocks/package.json
index 02f7784ac15aa6..04b9df950c2de2 100644
--- a/packages/blocks/package.json
+++ b/packages/blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blocks",
- "version": "14.2.0",
+ "version": "14.3.0-prerelease",
"description": "Block API for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/browserslist-config/CHANGELOG.md b/packages/browserslist-config/CHANGELOG.md
index aa13654936f3dc..770dd74df0fcca 100644
--- a/packages/browserslist-config/CHANGELOG.md
+++ b/packages/browserslist-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json
index 1c3a527226dfaf..4133b51c1097f1 100644
--- a/packages/browserslist-config/package.json
+++ b/packages/browserslist-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/browserslist-config",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "WordPress Browserslist shared configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/commands/CHANGELOG.md b/packages/commands/CHANGELOG.md
index 40ce6d4fc65cfa..4bc86b8f433f2e 100644
--- a/packages/commands/CHANGELOG.md
+++ b/packages/commands/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/commands/package.json b/packages/commands/package.json
index b28a7f89e6c3d2..03fad24dadbd98 100644
--- a/packages/commands/package.json
+++ b/packages/commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/commands",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "Handles the commands menu.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
index 2dc35bd54b3eeb..c4c47f43024007 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 29.0.0 (2024-12-11)
+
### Breaking Changes
- Removed the unused `__unstableMotionContext` export ([#67623](https://github.com/WordPress/gutenberg/pull/67623)).
diff --git a/packages/components/package.json b/packages/components/package.json
index a2acf8e2c203d4..c9b37bce93f535 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/components",
- "version": "28.13.0",
+ "version": "29.0.0-prerelease",
"description": "UI components for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md
index 739a5f8831cb35..452eacbe289ff3 100644
--- a/packages/compose/CHANGELOG.md
+++ b/packages/compose/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/compose/package.json b/packages/compose/package.json
index 72c31dc744057e..f649e29481c030 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/compose",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "WordPress higher-order components (HOCs).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/core-commands/CHANGELOG.md b/packages/core-commands/CHANGELOG.md
index af0a385fa6275c..fe5f12707b0863 100644
--- a/packages/core-commands/CHANGELOG.md
+++ b/packages/core-commands/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json
index 2f2f4b0ffeb7fb..9401f68437c0c8 100644
--- a/packages/core-commands/package.json
+++ b/packages/core-commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-commands",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "WordPress core reusable commands.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/core-data/CHANGELOG.md b/packages/core-data/CHANGELOG.md
index 35b1ab8e2957ed..90395f58fc8023 100644
--- a/packages/core-data/CHANGELOG.md
+++ b/packages/core-data/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/core-data/package.json b/packages/core-data/package.json
index fe428aeb87288f..97d89f58b9707c 100644
--- a/packages/core-data/package.json
+++ b/packages/core-data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-data",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "Access to and manipulation of core WordPress entities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json
index 8f59d685df91dd..d71d307951b7fa 100644
--- a/packages/create-block-interactive-template/package.json
+++ b/packages/create-block-interactive-template/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block-interactive-template",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Template for @wordpress/create-block to create interactive blocks with the Interactivity API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block-tutorial-template/CHANGELOG.md b/packages/create-block-tutorial-template/CHANGELOG.md
index f219c74dceca6b..c1831445137084 100644
--- a/packages/create-block-tutorial-template/CHANGELOG.md
+++ b/packages/create-block-tutorial-template/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json
index b9f6991c2c153c..cb352c3432c20e 100644
--- a/packages/create-block-tutorial-template/package.json
+++ b/packages/create-block-tutorial-template/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block-tutorial-template",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "This is a template for @wordpress/create-block that creates an example 'Copyright Date' block. This block is used in the official WordPress block development Quick Start Guide.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block/CHANGELOG.md b/packages/create-block/CHANGELOG.md
index ef091827f01497..73522a9be0726d 100644
--- a/packages/create-block/CHANGELOG.md
+++ b/packages/create-block/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.57.0 (2024-12-11)
+
### Internal
- The bundled `rimraf` dependency has been updated from `^3.0.2` to `^5.0.10` ([#67708](https://github.com/WordPress/gutenberg/pull/67708)).
diff --git a/packages/create-block/package.json b/packages/create-block/package.json
index 80cae246804c26..f61d805dcea26a 100644
--- a/packages/create-block/package.json
+++ b/packages/create-block/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block",
- "version": "4.56.0",
+ "version": "4.57.0-prerelease",
"description": "Generates PHP, JS and CSS code for registering a block for a WordPress plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/customize-widgets/CHANGELOG.md b/packages/customize-widgets/CHANGELOG.md
index 6b6735c6fadd9c..95ec034125a5a3 100644
--- a/packages/customize-widgets/CHANGELOG.md
+++ b/packages/customize-widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json
index 10c3b2dfb510d9..300684cab6f374 100644
--- a/packages/customize-widgets/package.json
+++ b/packages/customize-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/customize-widgets",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Widgets blocks in Customizer Module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/data-controls/CHANGELOG.md b/packages/data-controls/CHANGELOG.md
index 92eb6f83394213..639bd22ba15da2 100644
--- a/packages/data-controls/CHANGELOG.md
+++ b/packages/data-controls/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json
index 6c4703321c6020..d684c3dc032a87 100644
--- a/packages/data-controls/package.json
+++ b/packages/data-controls/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data-controls",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "A set of common controls for the @wordpress/data api.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/data/CHANGELOG.md b/packages/data/CHANGELOG.md
index 89bee010837e26..b134a93aa77f6f 100644
--- a/packages/data/CHANGELOG.md
+++ b/packages/data/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.14.0 (2024-12-11)
+
## 10.13.0 (2024-11-27)
### Enhancements
diff --git a/packages/data/package.json b/packages/data/package.json
index ccb8f8591c0179..01e93276eb599c 100644
--- a/packages/data/package.json
+++ b/packages/data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data",
- "version": "10.13.0",
+ "version": "10.14.0-prerelease",
"description": "Data module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dataviews/CHANGELOG.md b/packages/dataviews/CHANGELOG.md
index 6b6f8ef6b54e11..0468a277ba292e 100644
--- a/packages/dataviews/CHANGELOG.md
+++ b/packages/dataviews/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.10.0 (2024-12-11)
+
## Breaking Changes
- Support showing or hiding title, media and description fields ([#67477](https://github.com/WordPress/gutenberg/pull/67477)).
diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json
index c2d16b664c9040..41cd298e6c076f 100644
--- a/packages/dataviews/package.json
+++ b/packages/dataviews/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dataviews",
- "version": "4.9.0",
+ "version": "4.10.0-prerelease",
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index 21ddf975064034..684c189d6b73a8 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/date/package.json b/packages/date/package.json
index 0a1052f13d95fc..1c6394aa66f500 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/date",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Date module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
index 4784e2105f6fb1..ace84ad1fedb0c 100644
--- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
+++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json
index 5738c18f55fff5..b25031fefb4570 100644
--- a/packages/dependency-extraction-webpack-plugin/package.json
+++ b/packages/dependency-extraction-webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dependency-extraction-webpack-plugin",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Extract WordPress script dependencies from webpack bundles.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/deprecated/CHANGELOG.md b/packages/deprecated/CHANGELOG.md
index 3ec1c350bc2d0d..cfbeeca4eddfba 100644
--- a/packages/deprecated/CHANGELOG.md
+++ b/packages/deprecated/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json
index 0da22c081e83d4..3283e332faa0a3 100644
--- a/packages/deprecated/package.json
+++ b/packages/deprecated/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/deprecated",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Deprecation utility for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/docgen/CHANGELOG.md b/packages/docgen/CHANGELOG.md
index ea879d77247ac2..911bce7b685096 100644
--- a/packages/docgen/CHANGELOG.md
+++ b/packages/docgen/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/docgen/package.json b/packages/docgen/package.json
index 4b7c5e25efe15c..7c5d1ea3105b52 100644
--- a/packages/docgen/package.json
+++ b/packages/docgen/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/docgen",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Autogenerate public API documentation from exports and JSDoc comments.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dom-ready/CHANGELOG.md b/packages/dom-ready/CHANGELOG.md
index 27499bdb048a1c..582bb51f7c0a71 100644
--- a/packages/dom-ready/CHANGELOG.md
+++ b/packages/dom-ready/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json
index d3aa36e6c6efe5..16ca4b03c2578e 100644
--- a/packages/dom-ready/package.json
+++ b/packages/dom-ready/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom-ready",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Execute callback after the DOM is loaded.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dom/CHANGELOG.md b/packages/dom/CHANGELOG.md
index 0ce2a24565d0d5..9b90dc200d2cfa 100644
--- a/packages/dom/CHANGELOG.md
+++ b/packages/dom/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/dom/package.json b/packages/dom/package.json
index f2b96de10b5b61..5babbf730ba11a 100644
--- a/packages/dom/package.json
+++ b/packages/dom/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "DOM utilities module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-test-utils-playwright/CHANGELOG.md b/packages/e2e-test-utils-playwright/CHANGELOG.md
index b1a35757f7496a..0b834cbfeb4033 100644
--- a/packages/e2e-test-utils-playwright/CHANGELOG.md
+++ b/packages/e2e-test-utils-playwright/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json
index 085cc12728928a..84db682b2077f3 100644
--- a/packages/e2e-test-utils-playwright/package.json
+++ b/packages/e2e-test-utils-playwright/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-test-utils-playwright",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "End-To-End (E2E) test utils for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-test-utils/CHANGELOG.md b/packages/e2e-test-utils/CHANGELOG.md
index 24f73664bd7dcc..c7f28da583333b 100644
--- a/packages/e2e-test-utils/CHANGELOG.md
+++ b/packages/e2e-test-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 11.14.0 (2024-12-11)
+
## 11.13.0 (2024-11-27)
## 11.12.0 (2024-11-16)
diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json
index db983454f0798c..21f40de5c5ad4d 100644
--- a/packages/e2e-test-utils/package.json
+++ b/packages/e2e-test-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-test-utils",
- "version": "11.13.0",
+ "version": "11.14.0-prerelease",
"description": "End-To-End (E2E) test utils for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-tests/CHANGELOG.md b/packages/e2e-tests/CHANGELOG.md
index 0148f8b0a51ddb..d4a17ef2a10f7b 100644
--- a/packages/e2e-tests/CHANGELOG.md
+++ b/packages/e2e-tests/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.14.0 (2024-12-11)
+
## 8.13.0 (2024-11-27)
## 8.12.0 (2024-11-16)
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 4e1f817c97714a..3595d86c3b894b 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-tests",
- "version": "8.13.0",
+ "version": "8.14.0-prerelease",
"description": "End-To-End (E2E) tests for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-post/CHANGELOG.md b/packages/edit-post/CHANGELOG.md
index 47933552311d10..0a6099be916b38 100644
--- a/packages/edit-post/CHANGELOG.md
+++ b/packages/edit-post/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.14.0 (2024-12-11)
+
## 8.13.0 (2024-11-27)
## 8.12.0 (2024-11-16)
diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json
index aea81f0568fbe2..f3ea45227e0881 100644
--- a/packages/edit-post/package.json
+++ b/packages/edit-post/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-post",
- "version": "8.13.0",
+ "version": "8.14.0-prerelease",
"description": "Edit Post module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-site/CHANGELOG.md b/packages/edit-site/CHANGELOG.md
index 7143b40a59a1b4..1016783cc8b616 100644
--- a/packages/edit-site/CHANGELOG.md
+++ b/packages/edit-site/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json
index 81a8164b1e1721..24a9a876639eaa 100644
--- a/packages/edit-site/package.json
+++ b/packages/edit-site/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-site",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Edit Site Page module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-widgets/CHANGELOG.md b/packages/edit-widgets/CHANGELOG.md
index f4b11636858dcd..cadbb1442cbbb5 100644
--- a/packages/edit-widgets/CHANGELOG.md
+++ b/packages/edit-widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json
index 0528348291481a..89950f5594537c 100644
--- a/packages/edit-widgets/package.json
+++ b/packages/edit-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-widgets",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Widgets Page module for WordPress..",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md
index 5c00b30fbe96d3..570ef8dc81501b 100644
--- a/packages/editor/CHANGELOG.md
+++ b/packages/editor/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 14.14.0 (2024-12-11)
+
## 14.13.0 (2024-11-27)
## 14.12.0 (2024-11-16)
diff --git a/packages/editor/package.json b/packages/editor/package.json
index 59d3caded3d322..7aadb123e6acc0 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/editor",
- "version": "14.13.0",
+ "version": "14.14.0-prerelease",
"description": "Enhanced block editor for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md
index 50fc6e21756b92..3bd53cb55978e8 100644
--- a/packages/element/CHANGELOG.md
+++ b/packages/element/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/element/package.json b/packages/element/package.json
index 770d87ef021748..c1ed918d6c61cd 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/element",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Element React module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/env/CHANGELOG.md b/packages/env/CHANGELOG.md
index 71be91523ed153..0298e21c810009 100644
--- a/packages/env/CHANGELOG.md
+++ b/packages/env/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.14.0 (2024-12-11)
+
### Enhancements
- Add phpMyAdmin as an optional service. Enabled via the new `phpmyadminPort` environment config, as well as env vars `WP_ENV_PHPMYADMIN_PORT` and `WP_ENV_TESTS_PHPMYADMIN_PORT`.
diff --git a/packages/env/package.json b/packages/env/package.json
index 118a81a30cc196..71144a94a64ead 100644
--- a/packages/env/package.json
+++ b/packages/env/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/env",
- "version": "10.13.0",
+ "version": "10.14.0-prerelease",
"description": "A zero-config, self contained local WordPress environment for development and testing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/escape-html/CHANGELOG.md b/packages/escape-html/CHANGELOG.md
index d1eff0c72fed56..ddad2e437b0abf 100644
--- a/packages/escape-html/CHANGELOG.md
+++ b/packages/escape-html/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json
index 12e9ae354defa3..84c7a480af1414 100644
--- a/packages/escape-html/package.json
+++ b/packages/escape-html/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/escape-html",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Escape HTML utils.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md
index a53fe75dee448f..8dcb02746344f0 100644
--- a/packages/eslint-plugin/CHANGELOG.md
+++ b/packages/eslint-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 22.0.0 (2024-12-11)
+
### Breaking Changes
- The minimum required TypeScript version changed to 5 ([#67461](https://github.com/WordPress/gutenberg/pull/67461))
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 1e75a2c131f229..8f7c195a56ab4d 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/eslint-plugin",
- "version": "21.6.0",
+ "version": "22.0.0-prerelease",
"description": "ESLint plugin for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/fields/CHANGELOG.md b/packages/fields/CHANGELOG.md
index c567ae42058bf5..a94e566bca3943 100644
--- a/packages/fields/CHANGELOG.md
+++ b/packages/fields/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 0.6.0 (2024-12-11)
+
## 0.5.0 (2024-11-27)
## 0.4.0 (2024-11-16)
diff --git a/packages/fields/package.json b/packages/fields/package.json
index beaaf4f9813013..1dcb2acef13f6d 100644
--- a/packages/fields/package.json
+++ b/packages/fields/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/fields",
- "version": "0.5.0",
+ "version": "0.6.0-prerelease",
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/format-library/CHANGELOG.md b/packages/format-library/CHANGELOG.md
index 99c174ca029c62..4ba16131ee9835 100644
--- a/packages/format-library/CHANGELOG.md
+++ b/packages/format-library/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/format-library/package.json b/packages/format-library/package.json
index 94efb550519ddc..1f7e88127cef23 100644
--- a/packages/format-library/package.json
+++ b/packages/format-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/format-library",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Format library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/hooks/CHANGELOG.md b/packages/hooks/CHANGELOG.md
index be18dab3225a2b..18e4445c8b3169 100644
--- a/packages/hooks/CHANGELOG.md
+++ b/packages/hooks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index c9e652d30d83e1..c2d724d44bab7e 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/hooks",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress hooks library.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/html-entities/CHANGELOG.md b/packages/html-entities/CHANGELOG.md
index 98b3b3c483325e..2b5fbf25e11b3e 100644
--- a/packages/html-entities/CHANGELOG.md
+++ b/packages/html-entities/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json
index f99b2ca99e5fbe..ce6b60ac0599d8 100644
--- a/packages/html-entities/package.json
+++ b/packages/html-entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/html-entities",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "HTML entity utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md
index b1d94cde634c0d..0d9c832ddf9d1e 100644
--- a/packages/i18n/CHANGELOG.md
+++ b/packages/i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 71f6ea646a93af..d5ba99c00d4c0f 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/i18n",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "WordPress internationalization (i18n) library.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md
index 84263e1135ac4d..d622019f1ee783 100644
--- a/packages/icons/CHANGELOG.md
+++ b/packages/icons/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.14.0 (2024-12-11)
+
## 10.13.0 (2024-11-27)
## 10.12.0 (2024-11-16)
diff --git a/packages/icons/package.json b/packages/icons/package.json
index fb00a4b8d27e8b..672b6537c1a4fc 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/icons",
- "version": "10.13.0",
+ "version": "10.14.0-prerelease",
"description": "WordPress Icons package, based on dashicon.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interactivity-router/CHANGELOG.md b/packages/interactivity-router/CHANGELOG.md
index b79850dc7fe545..c42da0fc72602a 100644
--- a/packages/interactivity-router/CHANGELOG.md
+++ b/packages/interactivity-router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json
index 30881e554e93f0..e74bbe138ac42f 100644
--- a/packages/interactivity-router/package.json
+++ b/packages/interactivity-router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity-router",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Package that exposes state and actions from the `core/router` store, part of the Interactivity API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interactivity/CHANGELOG.md b/packages/interactivity/CHANGELOG.md
index 587d14440d8116..6b32e4ec35a978 100644
--- a/packages/interactivity/CHANGELOG.md
+++ b/packages/interactivity/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json
index 90356de25b646a..d7b673f3b1d23f 100644
--- a/packages/interactivity/package.json
+++ b/packages/interactivity/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Package that provides a standard and simple way to handle the frontend interactivity of Gutenberg blocks.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interface/CHANGELOG.md b/packages/interface/CHANGELOG.md
index 56b01075257331..a0ed9cd83525cc 100644
--- a/packages/interface/CHANGELOG.md
+++ b/packages/interface/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.3.0 (2024-12-11)
+
## 8.2.0 (2024-11-27)
## 8.1.0 (2024-11-16)
diff --git a/packages/interface/package.json b/packages/interface/package.json
index 2f3ada022dabe4..ce09071aba14f9 100644
--- a/packages/interface/package.json
+++ b/packages/interface/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interface",
- "version": "8.2.0",
+ "version": "8.3.0-prerelease",
"description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/is-shallow-equal/CHANGELOG.md b/packages/is-shallow-equal/CHANGELOG.md
index 6308dd484c728a..3c6e84b8184eb8 100644
--- a/packages/is-shallow-equal/CHANGELOG.md
+++ b/packages/is-shallow-equal/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json
index bc987f67aca88e..5a945ea65ae1e6 100644
--- a/packages/is-shallow-equal/package.json
+++ b/packages/is-shallow-equal/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/is-shallow-equal",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Test for shallow equality between two objects or arrays.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-console/CHANGELOG.md b/packages/jest-console/CHANGELOG.md
index 67f41af5c7e3f2..d0e4df6942eb50 100644
--- a/packages/jest-console/CHANGELOG.md
+++ b/packages/jest-console/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.14.0 (2024-12-11)
+
## 8.13.0 (2024-11-27)
## 8.12.0 (2024-11-16)
diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json
index 638ce7fa523238..5dbb81e5f4c547 100644
--- a/packages/jest-console/package.json
+++ b/packages/jest-console/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-console",
- "version": "8.13.0",
+ "version": "8.14.0-prerelease",
"description": "Custom Jest matchers for the Console object.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-preset-default/CHANGELOG.md b/packages/jest-preset-default/CHANGELOG.md
index d98552ff45f716..6e5bbdd5555bcd 100644
--- a/packages/jest-preset-default/CHANGELOG.md
+++ b/packages/jest-preset-default/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 12.14.0 (2024-12-11)
+
## 12.13.0 (2024-11-27)
## 12.12.0 (2024-11-16)
diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json
index 659c0b78221519..c131b38e7201e7 100644
--- a/packages/jest-preset-default/package.json
+++ b/packages/jest-preset-default/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-preset-default",
- "version": "12.13.0",
+ "version": "12.14.0-prerelease",
"description": "Default Jest preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-puppeteer-axe/CHANGELOG.md b/packages/jest-puppeteer-axe/CHANGELOG.md
index d54c3a57804f08..3c8ba71b6e3e5d 100644
--- a/packages/jest-puppeteer-axe/CHANGELOG.md
+++ b/packages/jest-puppeteer-axe/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json
index c94e1ba4defbde..3bc406a9fd24d7 100644
--- a/packages/jest-puppeteer-axe/package.json
+++ b/packages/jest-puppeteer-axe/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-puppeteer-axe",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "Axe API integration with Jest and Puppeteer.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/keyboard-shortcuts/CHANGELOG.md b/packages/keyboard-shortcuts/CHANGELOG.md
index 67daf5426b3272..55554040ece4ff 100644
--- a/packages/keyboard-shortcuts/CHANGELOG.md
+++ b/packages/keyboard-shortcuts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json
index 8510d99a6f8d14..64d9303766c7b6 100644
--- a/packages/keyboard-shortcuts/package.json
+++ b/packages/keyboard-shortcuts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keyboard-shortcuts",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Handling keyboard shortcuts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/keycodes/CHANGELOG.md b/packages/keycodes/CHANGELOG.md
index 46ce387d6d058b..14542f4aa4da68 100644
--- a/packages/keycodes/CHANGELOG.md
+++ b/packages/keycodes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json
index cc261f4eecf668..39dd24ad3372f2 100644
--- a/packages/keycodes/package.json
+++ b/packages/keycodes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keycodes",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Keycodes utilities for WordPress. Used to check for keyboard events across browsers/operating systems.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/lazy-import/CHANGELOG.md b/packages/lazy-import/CHANGELOG.md
index d5cff8b39af07f..dacbba1f0060bf 100644
--- a/packages/lazy-import/CHANGELOG.md
+++ b/packages/lazy-import/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json
index f7bf8c7b0d3f3d..ac6e0a2dd91417 100644
--- a/packages/lazy-import/package.json
+++ b/packages/lazy-import/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/lazy-import",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Lazily import a module, installing it automatically if missing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/list-reusable-blocks/CHANGELOG.md b/packages/list-reusable-blocks/CHANGELOG.md
index 59b8fa9500fde7..b1db0286dbfeb8 100644
--- a/packages/list-reusable-blocks/CHANGELOG.md
+++ b/packages/list-reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json
index 31fd970e2d8da3..4756308a4cdc57 100644
--- a/packages/list-reusable-blocks/package.json
+++ b/packages/list-reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/list-reusable-blocks",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Adding Export/Import support to the reusable blocks listing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/media-utils/CHANGELOG.md b/packages/media-utils/CHANGELOG.md
index 2cfcbaa4b2e8ba..06d5211b103323 100644
--- a/packages/media-utils/CHANGELOG.md
+++ b/packages/media-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json
index 3a2713eed4dacb..2541113e786ebf 100644
--- a/packages/media-utils/package.json
+++ b/packages/media-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/media-utils",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "WordPress Media Upload Utils.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/notices/CHANGELOG.md b/packages/notices/CHANGELOG.md
index 68c4ef7f85ab5d..a75201cfdd4f02 100644
--- a/packages/notices/CHANGELOG.md
+++ b/packages/notices/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/notices/package.json b/packages/notices/package.json
index 7f0e0dc71532c1..99592b5800ec11 100644
--- a/packages/notices/package.json
+++ b/packages/notices/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/notices",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "State management for notices.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/npm-package-json-lint-config/CHANGELOG.md b/packages/npm-package-json-lint-config/CHANGELOG.md
index 132f6ffccdd23c..8c1b85aff77c72 100644
--- a/packages/npm-package-json-lint-config/CHANGELOG.md
+++ b/packages/npm-package-json-lint-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json
index 4dda73b91d2ed2..371329b229ea3f 100644
--- a/packages/npm-package-json-lint-config/package.json
+++ b/packages/npm-package-json-lint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/npm-package-json-lint-config",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "WordPress npm-package-json-lint shareable configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/nux/CHANGELOG.md b/packages/nux/CHANGELOG.md
index ddf1f9091471d0..f237636fc665e0 100644
--- a/packages/nux/CHANGELOG.md
+++ b/packages/nux/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.14.0 (2024-12-11)
+
## 9.13.0 (2024-11-27)
## 9.12.0 (2024-11-16)
diff --git a/packages/nux/package.json b/packages/nux/package.json
index 13a803af1ad447..ab581d81f82dd4 100644
--- a/packages/nux/package.json
+++ b/packages/nux/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/nux",
- "version": "9.13.0",
+ "version": "9.14.0-prerelease",
"description": "NUX (New User eXperience) module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/patterns/CHANGELOG.md b/packages/patterns/CHANGELOG.md
index 975065d0f2b423..be2d674bf65ae0 100644
--- a/packages/patterns/CHANGELOG.md
+++ b/packages/patterns/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/patterns/package.json b/packages/patterns/package.json
index b0c6e81f1e2498..1a18a541fef60e 100644
--- a/packages/patterns/package.json
+++ b/packages/patterns/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/patterns",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Management of user pattern editing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/plugins/CHANGELOG.md b/packages/plugins/CHANGELOG.md
index fc9199892ade1d..7310b5e0c7e766 100644
--- a/packages/plugins/CHANGELOG.md
+++ b/packages/plugins/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/plugins/package.json b/packages/plugins/package.json
index 97c0ac64259905..4ae47a3a0df717 100644
--- a/packages/plugins/package.json
+++ b/packages/plugins/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/plugins",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "Plugins module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/postcss-plugins-preset/CHANGELOG.md b/packages/postcss-plugins-preset/CHANGELOG.md
index e271d53cdc73f9..b1425332402f50 100644
--- a/packages/postcss-plugins-preset/CHANGELOG.md
+++ b/packages/postcss-plugins-preset/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json
index 98c2de79108d66..d5559911533c8c 100644
--- a/packages/postcss-plugins-preset/package.json
+++ b/packages/postcss-plugins-preset/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-plugins-preset",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "PostCSS sharable plugins preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/postcss-themes/CHANGELOG.md b/packages/postcss-themes/CHANGELOG.md
index efdb8fb1aa808d..32ebd24aa94e1c 100644
--- a/packages/postcss-themes/CHANGELOG.md
+++ b/packages/postcss-themes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json
index c03da4d1f06a72..254ba06f4fb00d 100644
--- a/packages/postcss-themes/package.json
+++ b/packages/postcss-themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-themes",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "PostCSS plugin to generate theme colors.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/preferences-persistence/CHANGELOG.md b/packages/preferences-persistence/CHANGELOG.md
index 3f75a6bbf49c77..5be962a36256a2 100644
--- a/packages/preferences-persistence/CHANGELOG.md
+++ b/packages/preferences-persistence/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json
index c9343b28b3e439..b0274f304ca858 100644
--- a/packages/preferences-persistence/package.json
+++ b/packages/preferences-persistence/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences-persistence",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "Persistence utilities for `wordpress/preferences`.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/preferences/CHANGELOG.md b/packages/preferences/CHANGELOG.md
index 8453a061cfdfa7..d82d770bd70e23 100644
--- a/packages/preferences/CHANGELOG.md
+++ b/packages/preferences/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/preferences/package.json b/packages/preferences/package.json
index 9c262dff51fbff..ee3b7bc21cbbb6 100644
--- a/packages/preferences/package.json
+++ b/packages/preferences/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Utilities for managing WordPress preferences.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/prettier-config/CHANGELOG.md b/packages/prettier-config/CHANGELOG.md
index e15c0e2aad79fc..981dc020749944 100644
--- a/packages/prettier-config/CHANGELOG.md
+++ b/packages/prettier-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json
index 45f7374e06fbf7..8686fa8331a9d3 100644
--- a/packages/prettier-config/package.json
+++ b/packages/prettier-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/prettier-config",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress Prettier shared configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/primitives/CHANGELOG.md b/packages/primitives/CHANGELOG.md
index 29211c9586ede4..73b568eca5ffad 100644
--- a/packages/primitives/CHANGELOG.md
+++ b/packages/primitives/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/primitives/package.json b/packages/primitives/package.json
index 1f024a64bce463..d9c41745b72358 100644
--- a/packages/primitives/package.json
+++ b/packages/primitives/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/primitives",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress cross-platform primitives.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/priority-queue/CHANGELOG.md b/packages/priority-queue/CHANGELOG.md
index 5427d3d5ff7616..8b76778cacb2c9 100644
--- a/packages/priority-queue/CHANGELOG.md
+++ b/packages/priority-queue/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json
index eb213ffe2d031a..96903a6c8595ab 100644
--- a/packages/priority-queue/package.json
+++ b/packages/priority-queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/priority-queue",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Generic browser priority queue.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/private-apis/CHANGELOG.md b/packages/private-apis/CHANGELOG.md
index 8792e587a83f16..497e0b1bd7e9c8 100644
--- a/packages/private-apis/CHANGELOG.md
+++ b/packages/private-apis/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json
index 1436270e2c7f49..c5efac2c2727f2 100644
--- a/packages/private-apis/package.json
+++ b/packages/private-apis/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/private-apis",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "Internal experimental APIs for WordPress core.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/project-management-automation/CHANGELOG.md b/packages/project-management-automation/CHANGELOG.md
index b6376be2fd6e0c..fdcb72a1312db4 100644
--- a/packages/project-management-automation/CHANGELOG.md
+++ b/packages/project-management-automation/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json
index 95c475c5689c24..6a0d648c68c6ae 100644
--- a/packages/project-management-automation/package.json
+++ b/packages/project-management-automation/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/project-management-automation",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "GitHub Action that implements various automation to assist with managing the Gutenberg GitHub repository.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/react-i18n/CHANGELOG.md b/packages/react-i18n/CHANGELOG.md
index ed872fe9cd145c..0c750681dd32a4 100644
--- a/packages/react-i18n/CHANGELOG.md
+++ b/packages/react-i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json
index 439596ec2b5d50..29f82a420d237b 100644
--- a/packages/react-i18n/package.json
+++ b/packages/react-i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-i18n",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "React bindings for @wordpress/i18n.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
index 08912695e5a8a5..e31f645fab52bf 100644
--- a/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
+++ b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json
index 5fa231d98088db..997b91bc37a6aa 100644
--- a/packages/readable-js-assets-webpack-plugin/package.json
+++ b/packages/readable-js-assets-webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/readable-js-assets-webpack-plugin",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Generate a readable JS file for each JS asset.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/redux-routine/CHANGELOG.md b/packages/redux-routine/CHANGELOG.md
index afc65f590b5b66..5d0d032adc2b5a 100644
--- a/packages/redux-routine/CHANGELOG.md
+++ b/packages/redux-routine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json
index 4946cdf6dcaada..924713125caccd 100644
--- a/packages/redux-routine/package.json
+++ b/packages/redux-routine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/redux-routine",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Redux middleware for generator coroutines.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/reusable-blocks/CHANGELOG.md b/packages/reusable-blocks/CHANGELOG.md
index 83ee4e4c1add3f..d65b1f8186ecfd 100644
--- a/packages/reusable-blocks/CHANGELOG.md
+++ b/packages/reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json
index b56837df1d34c5..4202e3f93e596d 100644
--- a/packages/reusable-blocks/package.json
+++ b/packages/reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/reusable-blocks",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "Reusable blocks utilities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/rich-text/CHANGELOG.md b/packages/rich-text/CHANGELOG.md
index 2239fbd11ceedc..a981325b3c33f1 100644
--- a/packages/rich-text/CHANGELOG.md
+++ b/packages/rich-text/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.14.0 (2024-12-11)
+
## 7.13.0 (2024-11-27)
## 7.12.0 (2024-11-16)
diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json
index 99637e6023799e..82f05b03b7c878 100644
--- a/packages/rich-text/package.json
+++ b/packages/rich-text/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/rich-text",
- "version": "7.13.0",
+ "version": "7.14.0-prerelease",
"description": "Rich text value and manipulation API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md
index 07ff407d8435ce..661dce80f426a1 100644
--- a/packages/router/CHANGELOG.md
+++ b/packages/router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/router/package.json b/packages/router/package.json
index 66a64f4ddc5baa..2b933cb8e06f41 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/router",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "Router API for WordPress pages.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/scripts/CHANGELOG.md b/packages/scripts/CHANGELOG.md
index d9386bda16fca8..42afdd02e0d605 100644
--- a/packages/scripts/CHANGELOG.md
+++ b/packages/scripts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 30.7.0 (2024-12-11)
+
### Internal
- The bundled `sass` dependency has been updated from `^1.35.2` to `^1.50.1` ([#67572](https://github.com/WordPress/gutenberg/pull/67572)).
diff --git a/packages/scripts/package.json b/packages/scripts/package.json
index 60691a778fa656..b450d7c8708053 100644
--- a/packages/scripts/package.json
+++ b/packages/scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/scripts",
- "version": "30.6.0",
+ "version": "30.7.0-prerelease",
"description": "Collection of reusable scripts for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/server-side-render/CHANGELOG.md b/packages/server-side-render/CHANGELOG.md
index 66a8d7c03136bf..57ebb0f3b81fe8 100644
--- a/packages/server-side-render/CHANGELOG.md
+++ b/packages/server-side-render/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.14.0 (2024-12-11)
+
## 5.13.0 (2024-11-27)
## 5.12.0 (2024-11-16)
diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json
index d2cd9aa93d2cef..98b97a3d20584a 100644
--- a/packages/server-side-render/package.json
+++ b/packages/server-side-render/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/server-side-render",
- "version": "5.13.0",
+ "version": "5.14.0-prerelease",
"description": "The component used with WordPress to server-side render a preview of dynamic blocks to display in the editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/shortcode/CHANGELOG.md b/packages/shortcode/CHANGELOG.md
index 2e461f1bc85c1b..6deb33613cf025 100644
--- a/packages/shortcode/CHANGELOG.md
+++ b/packages/shortcode/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## Enhancements
- The package now has built-in TypeScript definitions 🎉 ([#67416](https://github.com/WordPress/gutenberg/pull/67416))
diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json
index c5495364a03c45..512e8fefbef479 100644
--- a/packages/shortcode/package.json
+++ b/packages/shortcode/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/shortcode",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Shortcode module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/style-engine/CHANGELOG.md b/packages/style-engine/CHANGELOG.md
index 768ea039f24f36..5d117fdf8ad8ed 100644
--- a/packages/style-engine/CHANGELOG.md
+++ b/packages/style-engine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.14.0 (2024-12-11)
+
## 2.13.0 (2024-11-27)
## 2.12.0 (2024-11-16)
diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json
index bec29df32f7628..f6f5569a452c6c 100644
--- a/packages/style-engine/package.json
+++ b/packages/style-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/style-engine",
- "version": "2.13.0",
+ "version": "2.14.0-prerelease",
"description": "A suite of parsers and compilers for WordPress styles.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/stylelint-config/CHANGELOG.md b/packages/stylelint-config/CHANGELOG.md
index 5e6fa218da6f85..d40b5868bef6fc 100644
--- a/packages/stylelint-config/CHANGELOG.md
+++ b/packages/stylelint-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 23.6.0 (2024-12-11)
+
## 23.5.0 (2024-11-27)
## 23.4.0 (2024-11-16)
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index 0c35601e9c5353..cf2593e8bb47dd 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/stylelint-config",
- "version": "23.5.0",
+ "version": "23.6.0-prerelease",
"description": "stylelint config for WordPress development.",
"author": "The WordPress Contributors",
"license": "MIT",
diff --git a/packages/sync/CHANGELOG.md b/packages/sync/CHANGELOG.md
index b8ecad37f3f5d8..c73cf441e7d649 100644
--- a/packages/sync/CHANGELOG.md
+++ b/packages/sync/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/sync/package.json b/packages/sync/package.json
index 042e1544199296..24dfb105676962 100644
--- a/packages/sync/package.json
+++ b/packages/sync/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/sync",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "Sync Data.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/token-list/CHANGELOG.md b/packages/token-list/CHANGELOG.md
index 0b72a43de88d4f..e4166268d5aae0 100644
--- a/packages/token-list/CHANGELOG.md
+++ b/packages/token-list/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/token-list/package.json b/packages/token-list/package.json
index 50fe379c1a08e0..2da7e08b41e325 100644
--- a/packages/token-list/package.json
+++ b/packages/token-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/token-list",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Constructable, plain JavaScript DOMTokenList implementation, supporting non-browser runtimes.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/undo-manager/CHANGELOG.md b/packages/undo-manager/CHANGELOG.md
index e84658632a054d..618a17c84bf8a9 100644
--- a/packages/undo-manager/CHANGELOG.md
+++ b/packages/undo-manager/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.14.0 (2024-12-11)
+
## 1.13.0 (2024-11-27)
## 1.12.0 (2024-11-16)
diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json
index 5046d9591a8c08..67a8b188b2f354 100644
--- a/packages/undo-manager/package.json
+++ b/packages/undo-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/undo-manager",
- "version": "1.13.0",
+ "version": "1.14.0-prerelease",
"description": "A small package to manage undo/redo.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/url/CHANGELOG.md b/packages/url/CHANGELOG.md
index e4273fc57f2e0f..b3d57acc53c15f 100644
--- a/packages/url/CHANGELOG.md
+++ b/packages/url/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/url/package.json b/packages/url/package.json
index 8e3fc0dc140cd8..6a2cbee6ac3b22 100644
--- a/packages/url/package.json
+++ b/packages/url/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/url",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress URL utilities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/viewport/CHANGELOG.md b/packages/viewport/CHANGELOG.md
index faf1bd4b437f0d..bfbfe1c7629468 100644
--- a/packages/viewport/CHANGELOG.md
+++ b/packages/viewport/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.14.0 (2024-12-11)
+
## 6.13.0 (2024-11-27)
## 6.12.0 (2024-11-16)
diff --git a/packages/viewport/package.json b/packages/viewport/package.json
index a3d15a587645c9..f68bdd339f3e13 100644
--- a/packages/viewport/package.json
+++ b/packages/viewport/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/viewport",
- "version": "6.13.0",
+ "version": "6.14.0-prerelease",
"description": "Viewport module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/warning/CHANGELOG.md b/packages/warning/CHANGELOG.md
index 424ab1403506a6..b50db13eec793e 100644
--- a/packages/warning/CHANGELOG.md
+++ b/packages/warning/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.14.0 (2024-12-11)
+
## 3.13.0 (2024-11-27)
## 3.12.0 (2024-11-16)
diff --git a/packages/warning/package.json b/packages/warning/package.json
index e41b9205d6d374..7b1bbe2385b580 100644
--- a/packages/warning/package.json
+++ b/packages/warning/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/warning",
- "version": "3.13.0",
+ "version": "3.14.0-prerelease",
"description": "Warning utility for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/widgets/CHANGELOG.md b/packages/widgets/CHANGELOG.md
index b1c63a0ca7f4c2..f225f20e80c005 100644
--- a/packages/widgets/CHANGELOG.md
+++ b/packages/widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index 0ab7fe138cf513..48b4f0d07177b3 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/widgets",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "Functionality used by the widgets block editor in the Widgets screen and the Customizer.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/wordcount/CHANGELOG.md b/packages/wordcount/CHANGELOG.md
index f323aa3a810d7a..9dab5fb73d8564 100644
--- a/packages/wordcount/CHANGELOG.md
+++ b/packages/wordcount/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.14.0 (2024-12-11)
+
## 4.13.0 (2024-11-27)
## 4.12.0 (2024-11-16)
diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json
index e4e7efbba33256..93d3e91215e3c6 100644
--- a/packages/wordcount/package.json
+++ b/packages/wordcount/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/wordcount",
- "version": "4.13.0",
+ "version": "4.14.0-prerelease",
"description": "WordPress word count utility.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
From d2d0762b21adce0791fefd155c239079e8bbb89d Mon Sep 17 00:00:00 2001
From: Gutenberg Repository Automation
Date: Wed, 11 Dec 2024 07:51:37 +0000
Subject: [PATCH 46/74] chore(release): publish
- @wordpress/a11y@4.14.0
- @wordpress/annotations@3.14.0
- @wordpress/api-fetch@7.14.0
- @wordpress/autop@4.14.0
- @wordpress/babel-plugin-import-jsx-pragma@5.14.0
- @wordpress/babel-plugin-makepot@6.14.0
- @wordpress/babel-preset-default@8.14.0
- @wordpress/base-styles@5.14.0
- @wordpress/blob@4.14.0
- @wordpress/block-directory@5.14.0
- @wordpress/block-editor@14.9.0
- @wordpress/block-library@9.14.0
- @wordpress/block-serialization-default-parser@5.14.0
- @wordpress/block-serialization-spec-parser@5.14.0
- @wordpress/blocks@14.3.0
- @wordpress/browserslist-config@6.14.0
- @wordpress/commands@1.14.0
- @wordpress/components@29.0.0
- @wordpress/compose@7.14.0
- @wordpress/core-commands@1.14.0
- @wordpress/core-data@7.14.0
- @wordpress/create-block@4.57.0
- @wordpress/create-block-interactive-template@2.14.0
- @wordpress/create-block-tutorial-template@4.14.0
- @wordpress/customize-widgets@5.14.0
- @wordpress/data@10.14.0
- @wordpress/data-controls@4.14.0
- @wordpress/dataviews@4.10.0
- @wordpress/date@5.14.0
- @wordpress/dependency-extraction-webpack-plugin@6.14.0
- @wordpress/deprecated@4.14.0
- @wordpress/docgen@2.14.0
- @wordpress/dom@4.14.0
- @wordpress/dom-ready@4.14.0
- @wordpress/e2e-test-utils@11.14.0
- @wordpress/e2e-test-utils-playwright@1.14.0
- @wordpress/e2e-tests@8.14.0
- @wordpress/edit-post@8.14.0
- @wordpress/edit-site@6.14.0
- @wordpress/edit-widgets@6.14.0
- @wordpress/editor@14.14.0
- @wordpress/element@6.14.0
- @wordpress/env@10.14.0
- @wordpress/escape-html@3.14.0
- @wordpress/eslint-plugin@22.0.0
- @wordpress/fields@0.6.0
- @wordpress/format-library@5.14.0
- @wordpress/hooks@4.14.0
- @wordpress/html-entities@4.14.0
- @wordpress/i18n@5.14.0
- @wordpress/icons@10.14.0
- @wordpress/interactivity@6.14.0
- @wordpress/interactivity-router@2.14.0
- @wordpress/interface@8.3.0
- @wordpress/is-shallow-equal@5.14.0
- @wordpress/jest-console@8.14.0
- @wordpress/jest-preset-default@12.14.0
- @wordpress/jest-puppeteer-axe@7.14.0
- @wordpress/keyboard-shortcuts@5.14.0
- @wordpress/keycodes@4.14.0
- @wordpress/lazy-import@2.14.0
- @wordpress/list-reusable-blocks@5.14.0
- @wordpress/media-utils@5.14.0
- @wordpress/notices@5.14.0
- @wordpress/npm-package-json-lint-config@5.14.0
- @wordpress/nux@9.14.0
- @wordpress/patterns@2.14.0
- @wordpress/plugins@7.14.0
- @wordpress/postcss-plugins-preset@5.14.0
- @wordpress/postcss-themes@6.14.0
- @wordpress/preferences@4.14.0
- @wordpress/preferences-persistence@2.14.0
- @wordpress/prettier-config@4.14.0
- @wordpress/primitives@4.14.0
- @wordpress/priority-queue@3.14.0
- @wordpress/private-apis@1.14.0
- @wordpress/project-management-automation@2.14.0
- @wordpress/react-i18n@4.14.0
- @wordpress/readable-js-assets-webpack-plugin@3.14.0
- @wordpress/redux-routine@5.14.0
- @wordpress/reusable-blocks@5.14.0
- @wordpress/rich-text@7.14.0
- @wordpress/router@1.14.0
- @wordpress/scripts@30.7.0
- @wordpress/server-side-render@5.14.0
- @wordpress/shortcode@4.14.0
- @wordpress/style-engine@2.14.0
- @wordpress/stylelint-config@23.6.0
- @wordpress/sync@1.14.0
- @wordpress/token-list@3.14.0
- @wordpress/undo-manager@1.14.0
- @wordpress/url@4.14.0
- @wordpress/viewport@6.14.0
- @wordpress/warning@3.14.0
- @wordpress/widgets@4.14.0
- @wordpress/wordcount@4.14.0
---
package-lock.json | 192 +++++++++---------
packages/a11y/package.json | 2 +-
packages/annotations/package.json | 2 +-
packages/api-fetch/package.json | 2 +-
packages/autop/package.json | 2 +-
.../package.json | 2 +-
packages/babel-plugin-makepot/package.json | 2 +-
packages/babel-preset-default/package.json | 2 +-
packages/base-styles/package.json | 2 +-
packages/blob/package.json | 2 +-
packages/block-directory/package.json | 2 +-
packages/block-editor/package.json | 2 +-
packages/block-library/package.json | 2 +-
.../package.json | 2 +-
.../package.json | 2 +-
packages/blocks/package.json | 2 +-
packages/browserslist-config/package.json | 2 +-
packages/commands/package.json | 2 +-
packages/components/package.json | 2 +-
packages/compose/package.json | 2 +-
packages/core-commands/package.json | 2 +-
packages/core-data/package.json | 2 +-
.../package.json | 2 +-
.../package.json | 2 +-
packages/create-block/package.json | 2 +-
packages/customize-widgets/package.json | 2 +-
packages/data-controls/package.json | 2 +-
packages/data/package.json | 2 +-
packages/dataviews/package.json | 2 +-
packages/date/package.json | 2 +-
.../package.json | 2 +-
packages/deprecated/package.json | 2 +-
packages/docgen/package.json | 2 +-
packages/dom-ready/package.json | 2 +-
packages/dom/package.json | 2 +-
.../e2e-test-utils-playwright/package.json | 2 +-
packages/e2e-test-utils/package.json | 2 +-
packages/e2e-tests/package.json | 2 +-
packages/edit-post/package.json | 2 +-
packages/edit-site/package.json | 2 +-
packages/edit-widgets/package.json | 2 +-
packages/editor/package.json | 2 +-
packages/element/package.json | 2 +-
packages/env/package.json | 2 +-
packages/escape-html/package.json | 2 +-
packages/eslint-plugin/package.json | 2 +-
packages/fields/package.json | 2 +-
packages/format-library/package.json | 2 +-
packages/hooks/package.json | 2 +-
packages/html-entities/package.json | 2 +-
packages/i18n/package.json | 2 +-
packages/icons/package.json | 2 +-
packages/interactivity-router/package.json | 2 +-
packages/interactivity/package.json | 2 +-
packages/interface/package.json | 2 +-
packages/is-shallow-equal/package.json | 2 +-
packages/jest-console/package.json | 2 +-
packages/jest-preset-default/package.json | 2 +-
packages/jest-puppeteer-axe/package.json | 2 +-
packages/keyboard-shortcuts/package.json | 2 +-
packages/keycodes/package.json | 2 +-
packages/lazy-import/package.json | 2 +-
packages/list-reusable-blocks/package.json | 2 +-
packages/media-utils/package.json | 2 +-
packages/notices/package.json | 2 +-
.../npm-package-json-lint-config/package.json | 2 +-
packages/nux/package.json | 2 +-
packages/patterns/package.json | 2 +-
packages/plugins/package.json | 2 +-
packages/postcss-plugins-preset/package.json | 2 +-
packages/postcss-themes/package.json | 2 +-
packages/preferences-persistence/package.json | 2 +-
packages/preferences/package.json | 2 +-
packages/prettier-config/package.json | 2 +-
packages/primitives/package.json | 2 +-
packages/priority-queue/package.json | 2 +-
packages/private-apis/package.json | 2 +-
.../package.json | 2 +-
packages/react-i18n/package.json | 2 +-
.../package.json | 2 +-
packages/redux-routine/package.json | 2 +-
packages/reusable-blocks/package.json | 2 +-
packages/rich-text/package.json | 2 +-
packages/router/package.json | 2 +-
packages/scripts/package.json | 2 +-
packages/server-side-render/package.json | 2 +-
packages/shortcode/package.json | 2 +-
packages/style-engine/package.json | 2 +-
packages/stylelint-config/package.json | 2 +-
packages/sync/package.json | 2 +-
packages/token-list/package.json | 2 +-
packages/undo-manager/package.json | 2 +-
packages/url/package.json | 2 +-
packages/viewport/package.json | 2 +-
packages/warning/package.json | 2 +-
packages/widgets/package.json | 2 +-
packages/wordcount/package.json | 2 +-
97 files changed, 192 insertions(+), 192 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 55ddf782bf4fcc..2dde4727531b6f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -51900,7 +51900,7 @@
},
"packages/a11y": {
"name": "@wordpress/a11y",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -51914,7 +51914,7 @@
},
"packages/annotations": {
"name": "@wordpress/annotations",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -51942,7 +51942,7 @@
},
"packages/api-fetch": {
"name": "@wordpress/api-fetch",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -51956,7 +51956,7 @@
},
"packages/autop": {
"name": "@wordpress/autop",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -51968,7 +51968,7 @@
},
"packages/babel-plugin-import-jsx-pragma": {
"name": "@wordpress/babel-plugin-import-jsx-pragma",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -51980,7 +51980,7 @@
},
"packages/babel-plugin-makepot": {
"name": "@wordpress/babel-plugin-makepot",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"deepmerge": "^4.3.0",
@@ -51997,7 +51997,7 @@
},
"packages/babel-preset-default": {
"name": "@wordpress/babel-preset-default",
- "version": "8.13.0",
+ "version": "8.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "7.25.7",
@@ -53128,7 +53128,7 @@
},
"packages/base-styles": {
"name": "@wordpress/base-styles",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -53137,7 +53137,7 @@
},
"packages/blob": {
"name": "@wordpress/blob",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -53149,7 +53149,7 @@
},
"packages/block-directory": {
"name": "@wordpress/block-directory",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53185,7 +53185,7 @@
},
"packages/block-editor": {
"name": "@wordpress/block-editor",
- "version": "14.8.0",
+ "version": "14.9.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53285,7 +53285,7 @@
},
"packages/block-library": {
"name": "@wordpress/block-library",
- "version": "9.13.0",
+ "version": "9.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53351,7 +53351,7 @@
},
"packages/block-serialization-default-parser": {
"name": "@wordpress/block-serialization-default-parser",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -53363,7 +53363,7 @@
},
"packages/block-serialization-spec-parser": {
"name": "@wordpress/block-serialization-spec-parser",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"pegjs": "^0.10.0",
@@ -53376,7 +53376,7 @@
},
"packages/blocks": {
"name": "@wordpress/blocks",
- "version": "14.2.0",
+ "version": "14.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53430,7 +53430,7 @@
},
"packages/browserslist-config": {
"name": "@wordpress/browserslist-config",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -53439,7 +53439,7 @@
},
"packages/commands": {
"name": "@wordpress/commands",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53678,7 +53678,7 @@
},
"packages/components": {
"name": "@wordpress/components",
- "version": "28.13.0",
+ "version": "29.0.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@ariakit/react": "^0.4.15",
@@ -53769,7 +53769,7 @@
},
"packages/compose": {
"name": "@wordpress/compose",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53806,7 +53806,7 @@
},
"packages/core-commands": {
"name": "@wordpress/core-commands",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53835,7 +53835,7 @@
},
"packages/core-data": {
"name": "@wordpress/core-data",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53880,7 +53880,7 @@
},
"packages/create-block": {
"name": "@wordpress/create-block",
- "version": "4.56.0",
+ "version": "4.57.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/lazy-import": "*",
@@ -53907,7 +53907,7 @@
},
"packages/create-block-interactive-template": {
"name": "@wordpress/create-block-interactive-template",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -53916,7 +53916,7 @@
},
"packages/create-block-tutorial-template": {
"name": "@wordpress/create-block-tutorial-template",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -53925,7 +53925,7 @@
},
"packages/customize-widgets": {
"name": "@wordpress/customize-widgets",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53963,7 +53963,7 @@
},
"packages/data": {
"name": "@wordpress/data",
- "version": "10.13.0",
+ "version": "10.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -53992,7 +53992,7 @@
},
"packages/data-controls": {
"name": "@wordpress/data-controls",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54010,7 +54010,7 @@
},
"packages/dataviews": {
"name": "@wordpress/dataviews",
- "version": "4.9.0",
+ "version": "4.10.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@ariakit/react": "^0.4.15",
@@ -54037,7 +54037,7 @@
},
"packages/date": {
"name": "@wordpress/date",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54052,7 +54052,7 @@
},
"packages/dependency-extraction-webpack-plugin": {
"name": "@wordpress/dependency-extraction-webpack-plugin",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"json2php": "^0.0.7"
@@ -54067,7 +54067,7 @@
},
"packages/deprecated": {
"name": "@wordpress/deprecated",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54080,7 +54080,7 @@
},
"packages/docgen": {
"name": "@wordpress/docgen",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "7.25.7",
@@ -54101,7 +54101,7 @@
},
"packages/dom": {
"name": "@wordpress/dom",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54114,7 +54114,7 @@
},
"packages/dom-ready": {
"name": "@wordpress/dom-ready",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -54126,7 +54126,7 @@
},
"packages/e2e-test-utils": {
"name": "@wordpress/e2e-test-utils",
- "version": "11.13.0",
+ "version": "11.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54148,7 +54148,7 @@
},
"packages/e2e-test-utils-playwright": {
"name": "@wordpress/e2e-test-utils-playwright",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"change-case": "^4.1.2",
@@ -54174,7 +54174,7 @@
},
"packages/e2e-tests": {
"name": "@wordpress/e2e-tests",
- "version": "8.13.0",
+ "version": "8.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/e2e-test-utils": "*",
@@ -54212,7 +54212,7 @@
},
"packages/edit-post": {
"name": "@wordpress/edit-post",
- "version": "8.13.0",
+ "version": "8.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54259,7 +54259,7 @@
},
"packages/edit-site": {
"name": "@wordpress/edit-site",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54321,7 +54321,7 @@
},
"packages/edit-widgets": {
"name": "@wordpress/edit-widgets",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54364,7 +54364,7 @@
},
"packages/editor": {
"name": "@wordpress/editor",
- "version": "14.13.0",
+ "version": "14.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54426,7 +54426,7 @@
},
"packages/element": {
"name": "@wordpress/element",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54445,7 +54445,7 @@
},
"packages/env": {
"name": "@wordpress/env",
- "version": "10.13.0",
+ "version": "10.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"chalk": "^4.0.0",
@@ -54494,7 +54494,7 @@
},
"packages/escape-html": {
"name": "@wordpress/escape-html",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -54506,7 +54506,7 @@
},
"packages/eslint-plugin": {
"name": "@wordpress/eslint-plugin",
- "version": "21.6.0",
+ "version": "22.0.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/eslint-parser": "7.25.7",
@@ -54575,7 +54575,7 @@
},
"packages/fields": {
"name": "@wordpress/fields",
- "version": "0.5.0",
+ "version": "0.6.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54617,7 +54617,7 @@
},
"packages/format-library": {
"name": "@wordpress/format-library",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54645,7 +54645,7 @@
},
"packages/hooks": {
"name": "@wordpress/hooks",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -54657,7 +54657,7 @@
},
"packages/html-entities": {
"name": "@wordpress/html-entities",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -54669,7 +54669,7 @@
},
"packages/i18n": {
"name": "@wordpress/i18n",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54689,7 +54689,7 @@
},
"packages/icons": {
"name": "@wordpress/icons",
- "version": "10.13.0",
+ "version": "10.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54703,7 +54703,7 @@
},
"packages/interactivity": {
"name": "@wordpress/interactivity",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@preact/signals": "^1.3.0",
@@ -54716,7 +54716,7 @@
},
"packages/interactivity-router": {
"name": "@wordpress/interactivity-router",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/a11y": "*",
@@ -54729,7 +54729,7 @@
},
"packages/interface": {
"name": "@wordpress/interface",
- "version": "8.2.0",
+ "version": "8.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54757,7 +54757,7 @@
},
"packages/is-shallow-equal": {
"name": "@wordpress/is-shallow-equal",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -54769,7 +54769,7 @@
},
"packages/jest-console": {
"name": "@wordpress/jest-console",
- "version": "8.13.0",
+ "version": "8.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54785,7 +54785,7 @@
},
"packages/jest-preset-default": {
"name": "@wordpress/jest-preset-default",
- "version": "12.13.0",
+ "version": "12.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/jest-console": "*",
@@ -54802,7 +54802,7 @@
},
"packages/jest-puppeteer-axe": {
"name": "@wordpress/jest-puppeteer-axe",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@axe-core/puppeteer": "^4.0.0",
@@ -54824,7 +54824,7 @@
},
"packages/keyboard-shortcuts": {
"name": "@wordpress/keyboard-shortcuts",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54842,7 +54842,7 @@
},
"packages/keycodes": {
"name": "@wordpress/keycodes",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54855,7 +54855,7 @@
},
"packages/lazy-import": {
"name": "@wordpress/lazy-import",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"execa": "^4.0.2",
@@ -54869,7 +54869,7 @@
},
"packages/list-reusable-blocks": {
"name": "@wordpress/list-reusable-blocks",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54892,7 +54892,7 @@
},
"packages/media-utils": {
"name": "@wordpress/media-utils",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54909,7 +54909,7 @@
},
"packages/notices": {
"name": "@wordpress/notices",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54926,7 +54926,7 @@
},
"packages/npm-package-json-lint-config": {
"name": "@wordpress/npm-package-json-lint-config",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -54938,7 +54938,7 @@
},
"packages/nux": {
"name": "@wordpress/nux",
- "version": "9.13.0",
+ "version": "9.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54961,7 +54961,7 @@
},
"packages/patterns": {
"name": "@wordpress/patterns",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -54991,7 +54991,7 @@
},
"packages/plugins": {
"name": "@wordpress/plugins",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55015,7 +55015,7 @@
},
"packages/postcss-plugins-preset": {
"name": "@wordpress/postcss-plugins-preset",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/base-styles": "*",
@@ -55031,7 +55031,7 @@
},
"packages/postcss-themes": {
"name": "@wordpress/postcss-themes",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -55043,7 +55043,7 @@
},
"packages/preferences": {
"name": "@wordpress/preferences",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55069,7 +55069,7 @@
},
"packages/preferences-persistence": {
"name": "@wordpress/preferences-persistence",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55082,7 +55082,7 @@
},
"packages/prettier-config": {
"name": "@wordpress/prettier-config",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -55094,7 +55094,7 @@
},
"packages/primitives": {
"name": "@wordpress/primitives",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55111,7 +55111,7 @@
},
"packages/priority-queue": {
"name": "@wordpress/priority-queue",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55124,7 +55124,7 @@
},
"packages/private-apis": {
"name": "@wordpress/private-apis",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -55136,7 +55136,7 @@
},
"packages/project-management-automation": {
"name": "@wordpress/project-management-automation",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@actions/core": "1.9.1",
@@ -55164,7 +55164,7 @@
},
"packages/react-i18n": {
"name": "@wordpress/react-i18n",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55320,7 +55320,7 @@
},
"packages/readable-js-assets-webpack-plugin": {
"name": "@wordpress/readable-js-assets-webpack-plugin",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -55332,7 +55332,7 @@
},
"packages/redux-routine": {
"name": "@wordpress/redux-routine",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55375,7 +55375,7 @@
},
"packages/reusable-blocks": {
"name": "@wordpress/reusable-blocks",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55402,7 +55402,7 @@
},
"packages/rich-text": {
"name": "@wordpress/rich-text",
- "version": "7.13.0",
+ "version": "7.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55426,7 +55426,7 @@
},
"packages/router": {
"name": "@wordpress/router",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55447,7 +55447,7 @@
},
"packages/scripts": {
"name": "@wordpress/scripts",
- "version": "30.6.0",
+ "version": "30.7.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/core": "7.25.7",
@@ -55585,7 +55585,7 @@
},
"packages/server-side-render": {
"name": "@wordpress/server-side-render",
- "version": "5.13.0",
+ "version": "5.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55611,7 +55611,7 @@
},
"packages/shortcode": {
"name": "@wordpress/shortcode",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55624,7 +55624,7 @@
},
"packages/style-engine": {
"name": "@wordpress/style-engine",
- "version": "2.13.0",
+ "version": "2.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55637,7 +55637,7 @@
},
"packages/stylelint-config": {
"name": "@wordpress/stylelint-config",
- "version": "23.5.0",
+ "version": "23.6.0",
"license": "MIT",
"dependencies": {
"@stylistic/stylelint-plugin": "^3.0.1",
@@ -55748,7 +55748,7 @@
},
"packages/sync": {
"name": "@wordpress/sync",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55769,7 +55769,7 @@
},
"packages/token-list": {
"name": "@wordpress/token-list",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
@@ -55781,7 +55781,7 @@
},
"packages/undo-manager": {
"name": "@wordpress/undo-manager",
- "version": "1.13.0",
+ "version": "1.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55794,7 +55794,7 @@
},
"packages/url": {
"name": "@wordpress/url",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55807,7 +55807,7 @@
},
"packages/viewport": {
"name": "@wordpress/viewport",
- "version": "6.13.0",
+ "version": "6.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55837,7 +55837,7 @@
},
"packages/warning": {
"name": "@wordpress/warning",
- "version": "3.13.0",
+ "version": "3.14.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -55846,7 +55846,7 @@
},
"packages/widgets": {
"name": "@wordpress/widgets",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7",
@@ -55874,7 +55874,7 @@
},
"packages/wordcount": {
"name": "@wordpress/wordcount",
- "version": "4.13.0",
+ "version": "4.14.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "7.25.7"
diff --git a/packages/a11y/package.json b/packages/a11y/package.json
index 67f4ed61a412dc..6ad4f8acb9bd8b 100644
--- a/packages/a11y/package.json
+++ b/packages/a11y/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/a11y",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Accessibility (a11y) utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/annotations/package.json b/packages/annotations/package.json
index 68c65241bbe382..e10ece8600e814 100644
--- a/packages/annotations/package.json
+++ b/packages/annotations/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/annotations",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Annotate content in the Gutenberg editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json
index d91e9378c6b2c5..fd2430dfc77606 100644
--- a/packages/api-fetch/package.json
+++ b/packages/api-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/api-fetch",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "Utility to make WordPress REST API requests.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/autop/package.json b/packages/autop/package.json
index 5003ce2045b4f3..cdffb6175b31e2 100644
--- a/packages/autop/package.json
+++ b/packages/autop/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/autop",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress's automatic paragraph functions `autop` and `removep`.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json
index fd85a3003fd541..d7ebed0e46f281 100644
--- a/packages/babel-plugin-import-jsx-pragma/package.json
+++ b/packages/babel-plugin-import-jsx-pragma/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-plugin-import-jsx-pragma",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Babel transform plugin for automatically injecting an import to be used as the pragma for the React JSX Transform plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json
index 7ddac8d63293c7..352da89d84b372 100644
--- a/packages/babel-plugin-makepot/package.json
+++ b/packages/babel-plugin-makepot/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-plugin-makepot",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "WordPress Babel internationalization (i18n) plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json
index cf8ea53df3f80a..b983a198f42f9c 100644
--- a/packages/babel-preset-default/package.json
+++ b/packages/babel-preset-default/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/babel-preset-default",
- "version": "8.14.0-prerelease",
+ "version": "8.14.0",
"description": "Default Babel preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json
index 24e1ddeace24da..0677b61ca0bfdf 100644
--- a/packages/base-styles/package.json
+++ b/packages/base-styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/base-styles",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Base SCSS utilities and variables for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/blob/package.json b/packages/blob/package.json
index 74fc971128c6a0..b69a5c2a5d913b 100644
--- a/packages/blob/package.json
+++ b/packages/blob/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blob",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Blob utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json
index ca1d6502420caf..fc1176b98fa3af 100644
--- a/packages/block-directory/package.json
+++ b/packages/block-directory/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-directory",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Extend editor with block directory features to search, download and install blocks.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json
index 5a1fe1410b6e85..c5e82b59245851 100644
--- a/packages/block-editor/package.json
+++ b/packages/block-editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-editor",
- "version": "14.9.0-prerelease",
+ "version": "14.9.0",
"description": "Generic block editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-library/package.json b/packages/block-library/package.json
index 844e34b0f5cf8d..d7cc75bc177649 100644
--- a/packages/block-library/package.json
+++ b/packages/block-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-library",
- "version": "9.14.0-prerelease",
+ "version": "9.14.0",
"description": "Block library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json
index 1867416ebe9570..7bbd52414f91ed 100644
--- a/packages/block-serialization-default-parser/package.json
+++ b/packages/block-serialization-default-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-serialization-default-parser",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Block serialization specification parser for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json
index c002fda5abcc65..84d57978570825 100644
--- a/packages/block-serialization-spec-parser/package.json
+++ b/packages/block-serialization-spec-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-serialization-spec-parser",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Block serialization specification parser for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/blocks/package.json b/packages/blocks/package.json
index 04b9df950c2de2..e94bb60f5aa348 100644
--- a/packages/blocks/package.json
+++ b/packages/blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blocks",
- "version": "14.3.0-prerelease",
+ "version": "14.3.0",
"description": "Block API for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json
index 4133b51c1097f1..2d9520b2adb457 100644
--- a/packages/browserslist-config/package.json
+++ b/packages/browserslist-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/browserslist-config",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "WordPress Browserslist shared configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/commands/package.json b/packages/commands/package.json
index 03fad24dadbd98..9f7d1ea1e89319 100644
--- a/packages/commands/package.json
+++ b/packages/commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/commands",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "Handles the commands menu.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/components/package.json b/packages/components/package.json
index c9b37bce93f535..79df8e92d84b6f 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/components",
- "version": "29.0.0-prerelease",
+ "version": "29.0.0",
"description": "UI components for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/compose/package.json b/packages/compose/package.json
index f649e29481c030..6afbb1c954f47f 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/compose",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "WordPress higher-order components (HOCs).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json
index 9401f68437c0c8..32cd82f4686b09 100644
--- a/packages/core-commands/package.json
+++ b/packages/core-commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-commands",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "WordPress core reusable commands.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/core-data/package.json b/packages/core-data/package.json
index 97d89f58b9707c..b0e5c10ddd24bc 100644
--- a/packages/core-data/package.json
+++ b/packages/core-data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-data",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "Access to and manipulation of core WordPress entities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json
index d71d307951b7fa..96a71fddfc91f3 100644
--- a/packages/create-block-interactive-template/package.json
+++ b/packages/create-block-interactive-template/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block-interactive-template",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Template for @wordpress/create-block to create interactive blocks with the Interactivity API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json
index cb352c3432c20e..7a585777f3f971 100644
--- a/packages/create-block-tutorial-template/package.json
+++ b/packages/create-block-tutorial-template/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block-tutorial-template",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "This is a template for @wordpress/create-block that creates an example 'Copyright Date' block. This block is used in the official WordPress block development Quick Start Guide.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/create-block/package.json b/packages/create-block/package.json
index f61d805dcea26a..375fee43ba1f73 100644
--- a/packages/create-block/package.json
+++ b/packages/create-block/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block",
- "version": "4.57.0-prerelease",
+ "version": "4.57.0",
"description": "Generates PHP, JS and CSS code for registering a block for a WordPress plugin.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json
index 300684cab6f374..236a50342ff7a4 100644
--- a/packages/customize-widgets/package.json
+++ b/packages/customize-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/customize-widgets",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Widgets blocks in Customizer Module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json
index d684c3dc032a87..f1438a39e2a453 100644
--- a/packages/data-controls/package.json
+++ b/packages/data-controls/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data-controls",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "A set of common controls for the @wordpress/data api.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/data/package.json b/packages/data/package.json
index 01e93276eb599c..ca5af390dc51ca 100644
--- a/packages/data/package.json
+++ b/packages/data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data",
- "version": "10.14.0-prerelease",
+ "version": "10.14.0",
"description": "Data module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json
index 41cd298e6c076f..c307085bbea078 100644
--- a/packages/dataviews/package.json
+++ b/packages/dataviews/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dataviews",
- "version": "4.10.0-prerelease",
+ "version": "4.10.0",
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/date/package.json b/packages/date/package.json
index 1c6394aa66f500..4466f1120bc656 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/date",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Date module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json
index b25031fefb4570..e167373554ff62 100644
--- a/packages/dependency-extraction-webpack-plugin/package.json
+++ b/packages/dependency-extraction-webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dependency-extraction-webpack-plugin",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Extract WordPress script dependencies from webpack bundles.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json
index 3283e332faa0a3..535432cc64ac03 100644
--- a/packages/deprecated/package.json
+++ b/packages/deprecated/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/deprecated",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Deprecation utility for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/docgen/package.json b/packages/docgen/package.json
index 7c5d1ea3105b52..d42b430b8d31e5 100644
--- a/packages/docgen/package.json
+++ b/packages/docgen/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/docgen",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Autogenerate public API documentation from exports and JSDoc comments.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json
index 16ca4b03c2578e..c4f1f7ee3dabb8 100644
--- a/packages/dom-ready/package.json
+++ b/packages/dom-ready/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom-ready",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Execute callback after the DOM is loaded.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/dom/package.json b/packages/dom/package.json
index 5babbf730ba11a..0b4e1f26d0acb6 100644
--- a/packages/dom/package.json
+++ b/packages/dom/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "DOM utilities module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json
index 84db682b2077f3..e46ea5b833a84f 100644
--- a/packages/e2e-test-utils-playwright/package.json
+++ b/packages/e2e-test-utils-playwright/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-test-utils-playwright",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "End-To-End (E2E) test utils for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json
index 21f40de5c5ad4d..41f73b235d213e 100644
--- a/packages/e2e-test-utils/package.json
+++ b/packages/e2e-test-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-test-utils",
- "version": "11.14.0-prerelease",
+ "version": "11.14.0",
"description": "End-To-End (E2E) test utils for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index 3595d86c3b894b..759591e566e780 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-tests",
- "version": "8.14.0-prerelease",
+ "version": "8.14.0",
"description": "End-To-End (E2E) tests for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json
index f3ea45227e0881..6984e70088e86e 100644
--- a/packages/edit-post/package.json
+++ b/packages/edit-post/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-post",
- "version": "8.14.0-prerelease",
+ "version": "8.14.0",
"description": "Edit Post module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json
index 24a9a876639eaa..51045be503de31 100644
--- a/packages/edit-site/package.json
+++ b/packages/edit-site/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-site",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Edit Site Page module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json
index 89950f5594537c..b343188212239a 100644
--- a/packages/edit-widgets/package.json
+++ b/packages/edit-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-widgets",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Widgets Page module for WordPress..",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/editor/package.json b/packages/editor/package.json
index 7aadb123e6acc0..b19e2fb3dab710 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/editor",
- "version": "14.14.0-prerelease",
+ "version": "14.14.0",
"description": "Enhanced block editor for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/element/package.json b/packages/element/package.json
index c1ed918d6c61cd..cd205f74eccbf9 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/element",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Element React module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/env/package.json b/packages/env/package.json
index 71144a94a64ead..d86d518e41e497 100644
--- a/packages/env/package.json
+++ b/packages/env/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/env",
- "version": "10.14.0-prerelease",
+ "version": "10.14.0",
"description": "A zero-config, self contained local WordPress environment for development and testing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json
index 84c7a480af1414..ec5b759d46ae1a 100644
--- a/packages/escape-html/package.json
+++ b/packages/escape-html/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/escape-html",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Escape HTML utils.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 8f7c195a56ab4d..30d76ea374ad2f 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/eslint-plugin",
- "version": "22.0.0-prerelease",
+ "version": "22.0.0",
"description": "ESLint plugin for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/fields/package.json b/packages/fields/package.json
index 1dcb2acef13f6d..2c201e6f8d4ce0 100644
--- a/packages/fields/package.json
+++ b/packages/fields/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/fields",
- "version": "0.6.0-prerelease",
+ "version": "0.6.0",
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/format-library/package.json b/packages/format-library/package.json
index 1f7e88127cef23..e67542e26e18fa 100644
--- a/packages/format-library/package.json
+++ b/packages/format-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/format-library",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Format library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index c2d724d44bab7e..9ba87a51cf8edc 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/hooks",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress hooks library.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json
index ce6b60ac0599d8..ed949a1a39ce7f 100644
--- a/packages/html-entities/package.json
+++ b/packages/html-entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/html-entities",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "HTML entity utilities for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index d5ba99c00d4c0f..9242c409004ebf 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/i18n",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "WordPress internationalization (i18n) library.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/icons/package.json b/packages/icons/package.json
index 672b6537c1a4fc..2b321efdcc54e1 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/icons",
- "version": "10.14.0-prerelease",
+ "version": "10.14.0",
"description": "WordPress Icons package, based on dashicon.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json
index e74bbe138ac42f..8cf30ec4eecb4d 100644
--- a/packages/interactivity-router/package.json
+++ b/packages/interactivity-router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity-router",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Package that exposes state and actions from the `core/router` store, part of the Interactivity API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json
index d7b673f3b1d23f..784901d9e70ccc 100644
--- a/packages/interactivity/package.json
+++ b/packages/interactivity/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Package that provides a standard and simple way to handle the frontend interactivity of Gutenberg blocks.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/interface/package.json b/packages/interface/package.json
index ce09071aba14f9..351bca68ee3c2a 100644
--- a/packages/interface/package.json
+++ b/packages/interface/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interface",
- "version": "8.3.0-prerelease",
+ "version": "8.3.0",
"description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json
index 5a945ea65ae1e6..c9c96621bf74c5 100644
--- a/packages/is-shallow-equal/package.json
+++ b/packages/is-shallow-equal/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/is-shallow-equal",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Test for shallow equality between two objects or arrays.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json
index 5dbb81e5f4c547..611fbe34713f9b 100644
--- a/packages/jest-console/package.json
+++ b/packages/jest-console/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-console",
- "version": "8.14.0-prerelease",
+ "version": "8.14.0",
"description": "Custom Jest matchers for the Console object.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json
index c131b38e7201e7..e53da15a2c8364 100644
--- a/packages/jest-preset-default/package.json
+++ b/packages/jest-preset-default/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-preset-default",
- "version": "12.14.0-prerelease",
+ "version": "12.14.0",
"description": "Default Jest preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json
index 3bc406a9fd24d7..0a74c9f2ab32de 100644
--- a/packages/jest-puppeteer-axe/package.json
+++ b/packages/jest-puppeteer-axe/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-puppeteer-axe",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "Axe API integration with Jest and Puppeteer.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json
index 64d9303766c7b6..7e01cffbb5431e 100644
--- a/packages/keyboard-shortcuts/package.json
+++ b/packages/keyboard-shortcuts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keyboard-shortcuts",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Handling keyboard shortcuts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json
index 39dd24ad3372f2..14cb909c884854 100644
--- a/packages/keycodes/package.json
+++ b/packages/keycodes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keycodes",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Keycodes utilities for WordPress. Used to check for keyboard events across browsers/operating systems.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json
index ac6e0a2dd91417..3aa30657885f78 100644
--- a/packages/lazy-import/package.json
+++ b/packages/lazy-import/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/lazy-import",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Lazily import a module, installing it automatically if missing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json
index 4756308a4cdc57..834de576907a21 100644
--- a/packages/list-reusable-blocks/package.json
+++ b/packages/list-reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/list-reusable-blocks",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Adding Export/Import support to the reusable blocks listing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json
index 2541113e786ebf..6a79d295a6434a 100644
--- a/packages/media-utils/package.json
+++ b/packages/media-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/media-utils",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "WordPress Media Upload Utils.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/notices/package.json b/packages/notices/package.json
index 99592b5800ec11..3056e0bf84267c 100644
--- a/packages/notices/package.json
+++ b/packages/notices/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/notices",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "State management for notices.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json
index 371329b229ea3f..8cf174b83de3fa 100644
--- a/packages/npm-package-json-lint-config/package.json
+++ b/packages/npm-package-json-lint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/npm-package-json-lint-config",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "WordPress npm-package-json-lint shareable configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/nux/package.json b/packages/nux/package.json
index ab581d81f82dd4..d62f84e7e47c58 100644
--- a/packages/nux/package.json
+++ b/packages/nux/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/nux",
- "version": "9.14.0-prerelease",
+ "version": "9.14.0",
"description": "NUX (New User eXperience) module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/patterns/package.json b/packages/patterns/package.json
index 1a18a541fef60e..7f0036197d1bb7 100644
--- a/packages/patterns/package.json
+++ b/packages/patterns/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/patterns",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Management of user pattern editing.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/plugins/package.json b/packages/plugins/package.json
index 4ae47a3a0df717..800ef0a6e0d157 100644
--- a/packages/plugins/package.json
+++ b/packages/plugins/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/plugins",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "Plugins module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json
index d5559911533c8c..caecfb0939863e 100644
--- a/packages/postcss-plugins-preset/package.json
+++ b/packages/postcss-plugins-preset/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-plugins-preset",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "PostCSS sharable plugins preset for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json
index 254ba06f4fb00d..38881eb8a5e715 100644
--- a/packages/postcss-themes/package.json
+++ b/packages/postcss-themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-themes",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "PostCSS plugin to generate theme colors.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json
index b0274f304ca858..219f8edf721112 100644
--- a/packages/preferences-persistence/package.json
+++ b/packages/preferences-persistence/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences-persistence",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "Persistence utilities for `wordpress/preferences`.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/preferences/package.json b/packages/preferences/package.json
index ee3b7bc21cbbb6..45de983c52e6b2 100644
--- a/packages/preferences/package.json
+++ b/packages/preferences/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Utilities for managing WordPress preferences.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json
index 8686fa8331a9d3..d881e0846684cd 100644
--- a/packages/prettier-config/package.json
+++ b/packages/prettier-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/prettier-config",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress Prettier shared configuration.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/primitives/package.json b/packages/primitives/package.json
index d9c41745b72358..3fa92c0c2681a1 100644
--- a/packages/primitives/package.json
+++ b/packages/primitives/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/primitives",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress cross-platform primitives.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json
index 96903a6c8595ab..c1528daa6d1481 100644
--- a/packages/priority-queue/package.json
+++ b/packages/priority-queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/priority-queue",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Generic browser priority queue.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json
index c5efac2c2727f2..4e1c0727bf3a4d 100644
--- a/packages/private-apis/package.json
+++ b/packages/private-apis/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/private-apis",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "Internal experimental APIs for WordPress core.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json
index 6a0d648c68c6ae..6d268051bc3f3e 100644
--- a/packages/project-management-automation/package.json
+++ b/packages/project-management-automation/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/project-management-automation",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "GitHub Action that implements various automation to assist with managing the Gutenberg GitHub repository.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json
index 29f82a420d237b..78566b3e23efe3 100644
--- a/packages/react-i18n/package.json
+++ b/packages/react-i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-i18n",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "React bindings for @wordpress/i18n.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json
index 997b91bc37a6aa..de912f65e1a0b0 100644
--- a/packages/readable-js-assets-webpack-plugin/package.json
+++ b/packages/readable-js-assets-webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/readable-js-assets-webpack-plugin",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Generate a readable JS file for each JS asset.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json
index 924713125caccd..9ec7656b00e269 100644
--- a/packages/redux-routine/package.json
+++ b/packages/redux-routine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/redux-routine",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Redux middleware for generator coroutines.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json
index 4202e3f93e596d..2d40d8c087fcc8 100644
--- a/packages/reusable-blocks/package.json
+++ b/packages/reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/reusable-blocks",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "Reusable blocks utilities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json
index 82f05b03b7c878..39baaa28652d99 100644
--- a/packages/rich-text/package.json
+++ b/packages/rich-text/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/rich-text",
- "version": "7.14.0-prerelease",
+ "version": "7.14.0",
"description": "Rich text value and manipulation API.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/router/package.json b/packages/router/package.json
index 2b933cb8e06f41..5932e01f031733 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/router",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "Router API for WordPress pages.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/scripts/package.json b/packages/scripts/package.json
index b450d7c8708053..7b0d37a5344b25 100644
--- a/packages/scripts/package.json
+++ b/packages/scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/scripts",
- "version": "30.7.0-prerelease",
+ "version": "30.7.0",
"description": "Collection of reusable scripts for WordPress development.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json
index 98b97a3d20584a..b8865a16a056f1 100644
--- a/packages/server-side-render/package.json
+++ b/packages/server-side-render/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/server-side-render",
- "version": "5.14.0-prerelease",
+ "version": "5.14.0",
"description": "The component used with WordPress to server-side render a preview of dynamic blocks to display in the editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json
index 512e8fefbef479..2fd7961f7543cc 100644
--- a/packages/shortcode/package.json
+++ b/packages/shortcode/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/shortcode",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Shortcode module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json
index f6f5569a452c6c..d9257c1bb3dfc8 100644
--- a/packages/style-engine/package.json
+++ b/packages/style-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/style-engine",
- "version": "2.14.0-prerelease",
+ "version": "2.14.0",
"description": "A suite of parsers and compilers for WordPress styles.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index cf2593e8bb47dd..209f38e37ac46f 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/stylelint-config",
- "version": "23.6.0-prerelease",
+ "version": "23.6.0",
"description": "stylelint config for WordPress development.",
"author": "The WordPress Contributors",
"license": "MIT",
diff --git a/packages/sync/package.json b/packages/sync/package.json
index 24dfb105676962..7735c04e1886d8 100644
--- a/packages/sync/package.json
+++ b/packages/sync/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/sync",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "Sync Data.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/token-list/package.json b/packages/token-list/package.json
index 2da7e08b41e325..957dfec295f5ce 100644
--- a/packages/token-list/package.json
+++ b/packages/token-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/token-list",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Constructable, plain JavaScript DOMTokenList implementation, supporting non-browser runtimes.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json
index 67a8b188b2f354..321d9e51ad5fc7 100644
--- a/packages/undo-manager/package.json
+++ b/packages/undo-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/undo-manager",
- "version": "1.14.0-prerelease",
+ "version": "1.14.0",
"description": "A small package to manage undo/redo.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/url/package.json b/packages/url/package.json
index 6a2cbee6ac3b22..437761955e67cd 100644
--- a/packages/url/package.json
+++ b/packages/url/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/url",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress URL utilities.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/viewport/package.json b/packages/viewport/package.json
index f68bdd339f3e13..3514f4116e071a 100644
--- a/packages/viewport/package.json
+++ b/packages/viewport/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/viewport",
- "version": "6.14.0-prerelease",
+ "version": "6.14.0",
"description": "Viewport module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/warning/package.json b/packages/warning/package.json
index 7b1bbe2385b580..baf7b5d1925b32 100644
--- a/packages/warning/package.json
+++ b/packages/warning/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/warning",
- "version": "3.14.0-prerelease",
+ "version": "3.14.0",
"description": "Warning utility for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index 48b4f0d07177b3..a08c34d43bc510 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/widgets",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "Functionality used by the widgets block editor in the Widgets screen and the Customizer.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json
index 93d3e91215e3c6..b0b42cbe7900cc 100644
--- a/packages/wordcount/package.json
+++ b/packages/wordcount/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/wordcount",
- "version": "4.14.0-prerelease",
+ "version": "4.14.0",
"description": "WordPress word count utility.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
From 849ee8da92f1b96de67dc6dc70e17a54ed8203c9 Mon Sep 17 00:00:00 2001
From: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Date: Wed, 11 Dec 2024 17:09:03 +0900
Subject: [PATCH 47/74] DataViews: Fix text in action for setting site home
page (#67787)
Co-authored-by: t-hamano
Co-authored-by: mikachan
---
.../post-actions/set-as-homepage.js | 27 +++++++++----------
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/packages/editor/src/components/post-actions/set-as-homepage.js b/packages/editor/src/components/post-actions/set-as-homepage.js
index 70bdeeeefe70fb..0252c84e3ab3ff 100644
--- a/packages/editor/src/components/post-actions/set-as-homepage.js
+++ b/packages/editor/src/components/post-actions/set-as-homepage.js
@@ -47,9 +47,6 @@ const SetAsHomepageModal = ( { items, closeModal } ) => {
};
}
);
- const currentHomePageTitle = currentHomePage
- ? getItemTitle( currentHomePage )
- : '';
const { saveEditedEntityRecord, saveEntityRecord } =
useDispatch( coreStore );
@@ -89,23 +86,25 @@ const SetAsHomepageModal = ( { items, closeModal } ) => {
}
}
- const modalWarning =
- 'posts' === showOnFront
- ? __(
- 'This will replace the current homepage which is set to display latest posts.'
- )
- : sprintf(
- // translators: %s: title of the current home page.
- __( 'This will replace the current homepage: "%s"' ),
- currentHomePageTitle
- );
+ let modalWarning = '';
+ if ( 'posts' === showOnFront ) {
+ modalWarning = __(
+ 'This will replace the current homepage which is set to display latest posts.'
+ );
+ } else if ( currentHomePage ) {
+ modalWarning = sprintf(
+ // translators: %s: title of the current home page.
+ __( 'This will replace the current homepage: "%s"' ),
+ getItemTitle( currentHomePage )
+ );
+ }
const modalText = sprintf(
// translators: %1$s: title of the page to be set as the homepage, %2$s: homepage replacement warning message.
__( 'Set "%1$s" as the site homepage? %2$s' ),
pageTitle,
modalWarning
- );
+ ).trim();
// translators: Button label to confirm setting the specified page as the homepage.
const modalButtonLabel = __( 'Set homepage' );
From ed4c2d30cd0ce54c5324353c6e6c13751cf2a17d Mon Sep 17 00:00:00 2001
From: Aki Hamano <54422211+t-hamano@users.noreply.github.com>
Date: Wed, 11 Dec 2024 17:09:40 +0900
Subject: [PATCH 48/74] ChildLayoutControl: Use units defined in theme.json
(#67784)
Co-authored-by: t-hamano
Co-authored-by: tellthemachines
Co-authored-by: jhmonroe
---
.../src/components/child-layout-control/index.js | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/packages/block-editor/src/components/child-layout-control/index.js b/packages/block-editor/src/components/child-layout-control/index.js
index 022acf2e1074a4..20791d9751bcd4 100644
--- a/packages/block-editor/src/components/child-layout-control/index.js
+++ b/packages/block-editor/src/components/child-layout-control/index.js
@@ -9,6 +9,7 @@ import {
__experimentalHStack as HStack,
__experimentalVStack as VStack,
__experimentalToolsPanelItem as ToolsPanelItem,
+ __experimentalUseCustomUnits as useCustomUnits,
Flex,
FlexItem,
} from '@wordpress/components';
@@ -21,6 +22,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
*/
import { useGetNumberOfBlocksBeforeCell } from '../grid/use-get-number-of-blocks-before-cell';
import { store as blockEditorStore } from '../../store';
+import { useSettings } from '../use-settings';
function helpText( selfStretch, parentLayout ) {
const { orientation = 'horizontal' } = parentLayout;
@@ -98,6 +100,17 @@ function FlexControls( {
const hasFlexValue = () => !! selfStretch;
const flexResetLabel =
orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );
+ const [ availableUnits ] = useSettings( 'spacing.units' );
+ const units = useCustomUnits( {
+ availableUnits: availableUnits || [
+ '%',
+ 'px',
+ 'em',
+ 'rem',
+ 'vh',
+ 'vw',
+ ],
+ } );
const resetFlex = () => {
onChange( {
selfStretch: undefined,
@@ -167,6 +180,7 @@ function FlexControls( {
{ selfStretch === 'fixed' && (
{
onChange( {
selfStretch,
From 7952846e264d7089f86eb699a8a90e698b84adde Mon Sep 17 00:00:00 2001
From: Gutenberg Repository Automation
Date: Wed, 11 Dec 2024 08:20:54 +0000
Subject: [PATCH 49/74] Update Changelog for 19.9.0-rc.1
---
changelog.txt | 384 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 384 insertions(+)
diff --git a/changelog.txt b/changelog.txt
index 38b33267554982..8e7c1d84d7c7da 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,389 @@
== Changelog ==
+= 19.9.0-rc.1 =
+
+## Changelog
+
+### Enhancements
+
+- Feature: Add `navigation.isLoading` state to core/router store. ([67680](https://github.com/WordPress/gutenberg/pull/67680))
+- Update the title, description, and order of Experiments page. ([67762](https://github.com/WordPress/gutenberg/pull/67762))
+- wp-env: Add phpMyAdmin support. ([67588](https://github.com/WordPress/gutenberg/pull/67588))
+
+#### Components
+- Added enableAlpha prop to CustomGradientPicker and GradientPicker components. ([66974](https://github.com/WordPress/gutenberg/pull/66974))
+- BorderBoxControl: Reduce gap value when unlinked. ([67049](https://github.com/WordPress/gutenberg/pull/67049))
+- DateTime: Add default date/time to stories. ([67678](https://github.com/WordPress/gutenberg/pull/67678))
+- Deprecate `COLORS.white`. ([67649](https://github.com/WordPress/gutenberg/pull/67649))
+- Disabled: Suppress `contentEditable` warning in story. ([67679](https://github.com/WordPress/gutenberg/pull/67679))
+- Document layout in Storybook. ([67628](https://github.com/WordPress/gutenberg/pull/67628))
+- DropdownMenu: Increase option height to 40px. ([67435](https://github.com/WordPress/gutenberg/pull/67435))
+- DuotonePicker: Simplify Button styles. ([66641](https://github.com/WordPress/gutenberg/pull/66641))
+- Menu: Throw when subcomponents are not rendered inside top level Menu. ([67411](https://github.com/WordPress/gutenberg/pull/67411))
+- Popover: Use `anchor` instead of `anchorRef` in story. ([67674](https://github.com/WordPress/gutenberg/pull/67674))
+- Storybook: Remove unnecessary feature flags. ([67576](https://github.com/WordPress/gutenberg/pull/67576))
+- Storybook: Update `ArgsTable` to `Controls` in preview. ([67582](https://github.com/WordPress/gutenberg/pull/67582))
+- Storybook: Update control types from `null` to `undefined`. ([67581](https://github.com/WordPress/gutenberg/pull/67581))
+- Storybook: Use manager-api instead of addons package. ([67578](https://github.com/WordPress/gutenberg/pull/67578))
+- Update @ariakit/react to 0.4.13. ([65907](https://github.com/WordPress/gutenberg/pull/65907))
+- Update @ariakit/react to 0.4.15 and @ariakit/test to 0.4.7. ([67404](https://github.com/WordPress/gutenberg/pull/67404))
+
+#### Block Library
+- Cover Block: Image size option for featured image. ([67273](https://github.com/WordPress/gutenberg/pull/67273))
+- Feature: Allow Post Template block to get deeply nested within Query Block. ([67657](https://github.com/WordPress/gutenberg/pull/67657))
+- Image Block: Change how the Image's overlay styles are applied. ([67788](https://github.com/WordPress/gutenberg/pull/67788))
+- Navigation: Enable all non-interactive formats. ([67585](https://github.com/WordPress/gutenberg/pull/67585))
+- Query block: Move patterns modal to dropdown on block toolbar. ([66993](https://github.com/WordPress/gutenberg/pull/66993))
+- Separator block: Allow divs to be used as separators. ([67530](https://github.com/WordPress/gutenberg/pull/67530))
+- [ New Block ] Add Query Total block for displaying total query results or ranges. ([67629](https://github.com/WordPress/gutenberg/pull/67629))
+- [Block Library]: Update the relationship of `No results` block to `ancestor`. ([48348](https://github.com/WordPress/gutenberg/pull/48348))
+
+#### DataViews
+- Add header to the quick edit when bulk editing. ([67390](https://github.com/WordPress/gutenberg/pull/67390))
+- Data views: Expand configuration drop down on mobile. ([67715](https://github.com/WordPress/gutenberg/pull/67715))
+- Quick Edit: Add Template field. ([66591](https://github.com/WordPress/gutenberg/pull/66591))
+- Refactor actions to render modal outside of the menu. ([67664](https://github.com/WordPress/gutenberg/pull/67664))
+- Renders `DataForm` component only when data has been fetched. ([67694](https://github.com/WordPress/gutenberg/pull/67694))
+- Unify layout configuration. ([67477](https://github.com/WordPress/gutenberg/pull/67477))
+- Update bulk header with actions. ([67743](https://github.com/WordPress/gutenberg/pull/67743))
+
+#### Style Book
+- Add stylebook screen for classic themes. ([66851](https://github.com/WordPress/gutenberg/pull/66851))
+- Scroll to top at styles root. ([67605](https://github.com/WordPress/gutenberg/pull/67605))
+- Stylebook: Render overview colors in 4 columns. ([67597](https://github.com/WordPress/gutenberg/pull/67597))
+- Update style book headings to new design. ([67546](https://github.com/WordPress/gutenberg/pull/67546))
+
+#### Post Editor
+- Inline Commenting: Added new sidebar as extension of the canvas. ([67347](https://github.com/WordPress/gutenberg/pull/67347))
+- Inline Commenting: Re-order the comments in sidebar in which blocks are listed. ([66927](https://github.com/WordPress/gutenberg/pull/66927))
+- Inline commenting: UX Enhancements for Comments. ([67385](https://github.com/WordPress/gutenberg/pull/67385))
+
+#### Site Editor
+- Data Views: Add action for pages to set site homepage. ([65426](https://github.com/WordPress/gutenberg/pull/65426))
+- Sidebar: Update appearance of active items. ([67318](https://github.com/WordPress/gutenberg/pull/67318))
+- Style the selected template pattern. ([65917](https://github.com/WordPress/gutenberg/pull/65917))
+
+#### Data Layer
+- Data: Expose 'useSelect' warning to third-party consumers. ([67735](https://github.com/WordPress/gutenberg/pull/67735))
+- Data: Include more details when shallow equality fails in 'useSelect'. ([67713](https://github.com/WordPress/gutenberg/pull/67713))
+
+#### Global Styles
+- Controls in grid should match between sidebar panel and editor. ([67602](https://github.com/WordPress/gutenberg/pull/67602))
+- Shadows: Improve design and a11y of remove button. ([67705](https://github.com/WordPress/gutenberg/pull/67705))
+
+#### Block Editor
+- Prefer exact matches in Link Search results sorting. ([67367](https://github.com/WordPress/gutenberg/pull/67367))
+- Try direct drag (outside text editable). ([67305](https://github.com/WordPress/gutenberg/pull/67305))
+
+#### Zoom Out
+- Keep only copy, duplicate and delete in the zoom out more block toolbar menu item. ([67279](https://github.com/WordPress/gutenberg/pull/67279))
+
+#### Font Library
+- FontCollection: Update pagination controls. ([67143](https://github.com/WordPress/gutenberg/pull/67143))
+
+#### Colors
+- Add reset button to color control. ([67116](https://github.com/WordPress/gutenberg/pull/67116))
+
+
+### Bug Fixes
+
+- Exclude Set instance methods from polyfills. ([67230](https://github.com/WordPress/gutenberg/pull/67230))
+- Preload: Fix settings fields order. ([67450](https://github.com/WordPress/gutenberg/pull/67450))
+- Scripts: Make React Fast Refresh work with multiple blocks. ([64924](https://github.com/WordPress/gutenberg/pull/64924))
+- WP Scripts: Update webpack dependencies related to styling. ([67572](https://github.com/WordPress/gutenberg/pull/67572))
+
+#### Site Editor
+- Allow access to quick edit. ([67469](https://github.com/WordPress/gutenberg/pull/67469))
+- Edit Site: Fix sidebar template author navigation. ([67382](https://github.com/WordPress/gutenberg/pull/67382))
+- Fix Site editor navigation menu items alignment visual regression. ([67321](https://github.com/WordPress/gutenberg/pull/67321))
+- Fix sidebar item animation regression. ([67771](https://github.com/WordPress/gutenberg/pull/67771))
+- Fix sidebar plugins. ([67557](https://github.com/WordPress/gutenberg/pull/67557))
+- Fix the templates route on mobile. ([67547](https://github.com/WordPress/gutenberg/pull/67547))
+- Fix: Fixed site-editor crashing when added front-page template and clicking more option. ([67500](https://github.com/WordPress/gutenberg/pull/67500))
+- Fix: Fixed styling tab not opening on themes without style variations on mobile & desktop. ([67537](https://github.com/WordPress/gutenberg/pull/67537))
+- Preload: Parse post ID from p (path). ([67465](https://github.com/WordPress/gutenberg/pull/67465))
+- Remove default page slug. ([67673](https://github.com/WordPress/gutenberg/pull/67673))
+- Router: Fix addition and removal of empty classnames. ([67378](https://github.com/WordPress/gutenberg/pull/67378))
+- Wrap each router area in 'ErrorBoundary'. ([64245](https://github.com/WordPress/gutenberg/pull/64245))
+- useEditorTitle: Fix wrong request without ID. ([67475](https://github.com/WordPress/gutenberg/pull/67475))
+
+#### Block Editor
+- Animate `useScaleCanvas()` only when toggling zoomed out mode. ([67481](https://github.com/WordPress/gutenberg/pull/67481))
+- Drag and drop: Fix drop zones on block drag. ([67317](https://github.com/WordPress/gutenberg/pull/67317))
+- Drag and drop: Fix firefox compat logic. ([67439](https://github.com/WordPress/gutenberg/pull/67439))
+- Fix JS error in the 'useTabNav' hook. ([67102](https://github.com/WordPress/gutenberg/pull/67102))
+- FontFamilyControl: Restore margin bottom. ([67424](https://github.com/WordPress/gutenberg/pull/67424))
+- Inserter: Hide child blocks from the inserter when needed. ([67734](https://github.com/WordPress/gutenberg/pull/67734))
+- Inserter: Patterns: Remove loading indicator. ([67072](https://github.com/WordPress/gutenberg/pull/67072))
+- Inserter: Should receive focus on open. ([67754](https://github.com/WordPress/gutenberg/pull/67754))
+- Remove words count in the multi-selection inspector. ([67624](https://github.com/WordPress/gutenberg/pull/67624))
+- Storybook: Fix `BlockPatternsList` fixtures. ([67672](https://github.com/WordPress/gutenberg/pull/67672))
+- Drag and drop: Fix misplaced drop indicator. ([67434](https://github.com/WordPress/gutenberg/pull/67434))
+- Drag and drop: Fix scroll disorientation after drop. ([67405](https://github.com/WordPress/gutenberg/pull/67405))
+- Drag and drop: Restore moving animation. ([67417](https://github.com/WordPress/gutenberg/pull/67417))
+
+#### Block Library
+- Align Submenu block and Nav Link block by including description and wrapping span. ([67198](https://github.com/WordPress/gutenberg/pull/67198))
+- CommentsPagination: Set font-size to inherit for pagination items. ([67296](https://github.com/WordPress/gutenberg/pull/67296))
+- Fix latest post block spacing issue. ([66442](https://github.com/WordPress/gutenberg/pull/66442))
+- Fix: Caption with Link in Wide-Width and Full-Width Images Appears on two lines. ([67392](https://github.com/WordPress/gutenberg/pull/67392))
+- Fix: Don't show `aria-label` when its value is empty. ([67381](https://github.com/WordPress/gutenberg/pull/67381))
+- Navigation Block: Fix issue with double-clicking "Create a new menu" causing duplicate menus. ([67488](https://github.com/WordPress/gutenberg/pull/67488))
+- Pullquote block having design issue when text-decoration is choosen strikethrough. ([66707](https://github.com/WordPress/gutenberg/pull/66707))
+- Remove inline-block display from image anchor in style.scss. ([67368](https://github.com/WordPress/gutenberg/pull/67368))
+- Search block: Add space between attributes when using "Button only" option. ([61399](https://github.com/WordPress/gutenberg/pull/61399))
+- Updated 'Set featured image' text in dropdown. ([67775](https://github.com/WordPress/gutenberg/pull/67775))
+
+#### DataViews
+- Avoid double click handler on primary fields. ([67393](https://github.com/WordPress/gutenberg/pull/67393))
+- Better handling of missing onClickItem prop. ([67402](https://github.com/WordPress/gutenberg/pull/67402))
+- Fix filters lost when switching layouts. ([67740](https://github.com/WordPress/gutenberg/pull/67740))
+- Fix hidden List layout actions dropdown. ([67778](https://github.com/WordPress/gutenberg/pull/67778))
+- Fix reordering fields in list and grid layouts. ([67777](https://github.com/WordPress/gutenberg/pull/67777))
+- Fix: Duplicate template part refers to original name instead of duplicated name. ([67329](https://github.com/WordPress/gutenberg/pull/67329))
+- Preserve filters when switching layouts in templates dataviews. ([67744](https://github.com/WordPress/gutenberg/pull/67744))
+- QuickEdit: Prevent site-editor from crashing when slug is not an object. ([67577](https://github.com/WordPress/gutenberg/pull/67577))
+- Site Editor: Fix featured image not appearing in pages dataviews. ([67562](https://github.com/WordPress/gutenberg/pull/67562))
+
+#### Components
+- CustomSelectControl: Update Value from Fresh State. ([67733](https://github.com/WordPress/gutenberg/pull/67733))
+- Fix the 'ClipboardButton' effect cleanup. ([67399](https://github.com/WordPress/gutenberg/pull/67399))
+- Navigation: Fix active item hover color. ([67732](https://github.com/WordPress/gutenberg/pull/67732))
+- Scrollable: Fix story by declaring field as readonly. ([67683](https://github.com/WordPress/gutenberg/pull/67683))
+- Storybook: Fix control types. ([67646](https://github.com/WordPress/gutenberg/pull/67646))
+- Storybook: Fix storybook blocks imports. ([67684](https://github.com/WordPress/gutenberg/pull/67684))
+- Storybook: Fix table markup in Design Language - Radius documentation. ([67686](https://github.com/WordPress/gutenberg/pull/67686))
+- Theme: Fix contrast in nested story. ([67681](https://github.com/WordPress/gutenberg/pull/67681))
+
+#### Post Editor
+- Fix Meta boxes saving when they’re not present. ([67254](https://github.com/WordPress/gutenberg/pull/67254))
+- Fix hiding and showing of meta boxes. ([67504](https://github.com/WordPress/gutenberg/pull/67504))
+- Fix: Header layout spacing in Firefox. ([67074](https://github.com/WordPress/gutenberg/pull/67074))
+- Make sure Document Bar doesn’t go missing. ([67322](https://github.com/WordPress/gutenberg/pull/67322))
+- Update pre-publish panel wording to accurately describe the review process. ([67328](https://github.com/WordPress/gutenberg/pull/67328))
+
+#### Zoom Out
+- Fix for inserter. ([67495](https://github.com/WordPress/gutenberg/pull/67495))
+- Fix useZoomOut inserter behavior. ([67591](https://github.com/WordPress/gutenberg/pull/67591))
+- Fix zoom animation scrollbar. ([67536](https://github.com/WordPress/gutenberg/pull/67536))
+- UseScaleCanvas performance improvements. ([67496](https://github.com/WordPress/gutenberg/pull/67496))
+
+#### Write mode
+- Fix color of disabled buttons in dark toolbar. ([67348](https://github.com/WordPress/gutenberg/pull/67348))
+- Fix synced pattern editing in write mode and refactor block editing mode to reducer. ([67026](https://github.com/WordPress/gutenberg/pull/67026))
+- Fix: Remove parent block selector while in Write mode. ([67395](https://github.com/WordPress/gutenberg/pull/67395))
+- Fix: Write Mode mode persists as enabled in widget editor. ([67587](https://github.com/WordPress/gutenberg/pull/67587))
+
+#### Global Styles
+- Edit site: Remove empty preview border and redirect to editor in global styles navigation. ([67548](https://github.com/WordPress/gutenberg/pull/67548))
+- Fix: Styles section does not moves stylebook to typography. ([67423](https://github.com/WordPress/gutenberg/pull/67423))
+- Global Styles Preview: Don't use iframe component. ([67682](https://github.com/WordPress/gutenberg/pull/67682))
+
+#### Style Book
+- Fix critical error when blocks are not registered. ([67703](https://github.com/WordPress/gutenberg/pull/67703))
+
+#### Design Tools
+- Global Styles: Fix handling of booleans when stabilizing block supports. ([67552](https://github.com/WordPress/gutenberg/pull/67552))
+
+#### Block bindings
+- Revert "Extensibility: Make Block Bindings work with `editor.BlockEdit` hook". ([67516](https://github.com/WordPress/gutenberg/pull/67516))
+
+#### Patterns
+- Site Editor: Fix the patterns route on mobile. ([67467](https://github.com/WordPress/gutenberg/pull/67467))
+
+#### Focus Mode
+- Site Editor: Fix focus mode navigation. ([67458](https://github.com/WordPress/gutenberg/pull/67458))
+
+#### List View
+- Fix List View not updating when switching editor modes. ([67379](https://github.com/WordPress/gutenberg/pull/67379))
+
+#### Extensibility
+- Make Block Bindings work with `editor.BlockEdit` hook. ([67370](https://github.com/WordPress/gutenberg/pull/67370))
+
+#### Synced Patterns
+- Remove use of `contentOnly` block editing mode for synced patterns. ([67364](https://github.com/WordPress/gutenberg/pull/67364))
+
+#### Widgets Editor
+- Block Bindings: Remove client core sources registration in widgets. ([67349](https://github.com/WordPress/gutenberg/pull/67349))
+
+#### REST API
+- Support search_columns argument in the user endpoint. ([67330](https://github.com/WordPress/gutenberg/pull/67330))
+
+
+### Accessibility
+
+- [Dataviews] Fix: Space does not triggers the media button on grid view. ([67791](https://github.com/WordPress/gutenberg/pull/67791))
+
+#### Block Editor
+- BlockSwitcher: Refactor to use Button layout properly. ([67502](https://github.com/WordPress/gutenberg/pull/67502))
+- Remove one occurrence of incorrect usage of ItemGroup. ([67427](https://github.com/WordPress/gutenberg/pull/67427))
+
+#### DataViews
+- [a11y] Fix: Media button on the page view grid does not have an accessible name. ([67690](https://github.com/WordPress/gutenberg/pull/67690))
+
+#### Components
+- Fix incorrect usage of ItemGroup in the Image block filters panel. ([67513](https://github.com/WordPress/gutenberg/pull/67513))
+
+#### Post Editor
+- Fix EntitiesSavedStates panel dialog props. ([67351](https://github.com/WordPress/gutenberg/pull/67351))
+
+
+### Performance
+
+- Fix re-renders caused by `getEntityRecordsPermissions` after #67667. ([67770](https://github.com/WordPress/gutenberg/pull/67770))
+- Preload: Fix end-to-end test. ([67497](https://github.com/WordPress/gutenberg/pull/67497))
+- Site Editor: Pages: Preload template lookup. ([66654](https://github.com/WordPress/gutenberg/pull/66654))
+- [mini] Preload: Add post type. ([67518](https://github.com/WordPress/gutenberg/pull/67518))
+
+
+### Experiments
+
+- Move `duplicateTemplatePart` action to the `@wordpress/fields` package. ([65390](https://github.com/WordPress/gutenberg/pull/65390))
+
+
+### Documentation
+
+- Button: Revise documentation. ([66617](https://github.com/WordPress/gutenberg/pull/66617))
+- Docs: Fix Playwright Page Object Model link. ([67652](https://github.com/WordPress/gutenberg/pull/67652))
+- Docs: Include the strategy for setting `engines` for WordPress packages. ([67727](https://github.com/WordPress/gutenberg/pull/67727))
+- Docs: Remove invalid key projects links on the documentation. ([67491](https://github.com/WordPress/gutenberg/pull/67491))
+- Improve documentation for fields package. ([67580](https://github.com/WordPress/gutenberg/pull/67580))
+- Refine `getServerState()` & `getServerContext()` documentation. ([67499](https://github.com/WordPress/gutenberg/pull/67499))
+- Storybook: Add WritingModeControl story. ([67343](https://github.com/WordPress/gutenberg/pull/67343))
+- Storybook: Add stories for AlignmentToolbar and AlignmentControl components. ([67046](https://github.com/WordPress/gutenberg/pull/67046))
+- Storybook: Add stories for HeadingLevelDropdown component. ([67294](https://github.com/WordPress/gutenberg/pull/67294))
+- Storybook: Revert "Preview: ArgsTable => Controls (#67582)". ([67656](https://github.com/WordPress/gutenberg/pull/67656))
+- Storybook: Support keyword search in Icon Library. ([67442](https://github.com/WordPress/gutenberg/pull/67442))
+- Switch Several Links to https in Document Files. ([67706](https://github.com/WordPress/gutenberg/pull/67706))
+- Update README.md. ([67711](https://github.com/WordPress/gutenberg/pull/67711))
+- Update extending-the-query-loop-block.md. ([67529](https://github.com/WordPress/gutenberg/pull/67529))
+- Update global stylesheet docblocks with `custom-css` parameter. ([67716](https://github.com/WordPress/gutenberg/pull/67716))
+- Updated old URL in Documentation. ([67446](https://github.com/WordPress/gutenberg/pull/67446))
+
+
+### Code Quality
+
+- Convert lock unlock to generics. ([66682](https://github.com/WordPress/gutenberg/pull/66682))
+- CreateTemplatePartModal: Avoid identity warning in useSelect. ([67786](https://github.com/WordPress/gutenberg/pull/67786))
+- CreateTemplatePartModal: Replace `ts-ignore` with `ts-expect-error`. ([67709](https://github.com/WordPress/gutenberg/pull/67709))
+- Fix misc type compilation errors in editor and block editor packages. ([67410](https://github.com/WordPress/gutenberg/pull/67410))
+- Fix: Invalid JSDoc for optional string parameter and return value. ([67489](https://github.com/WordPress/gutenberg/pull/67489))
+- Fix: Remove unused test code on tools panel. ([67589](https://github.com/WordPress/gutenberg/pull/67589))
+- Removed trailing space in "Color randomizer ". ([67457](https://github.com/WordPress/gutenberg/pull/67457))
+- Update misc types and revert WPCompleter export from components. ([67599](https://github.com/WordPress/gutenberg/pull/67599))
+
+#### Components
+- BoxControl: Deprecate 36px default size. ([66704](https://github.com/WordPress/gutenberg/pull/66704))
+- BoxControl: Passive deprecate `onMouseOver`/`onMouseOut`. ([67332](https://github.com/WordPress/gutenberg/pull/67332))
+- BoxControl: Refactor and unify the different sides implementation. ([67626](https://github.com/WordPress/gutenberg/pull/67626))
+- CustomSelectControl: Deprecate 36px default size. ([67441](https://github.com/WordPress/gutenberg/pull/67441))
+- FormFileUpload: Deprecate 36px default size. ([67438](https://github.com/WordPress/gutenberg/pull/67438))
+- FormTokenField: Deprecate 36px default size. ([67454](https://github.com/WordPress/gutenberg/pull/67454))
+- NumberControl: Deprecate 36px default size. ([66730](https://github.com/WordPress/gutenberg/pull/66730))
+- RangeControl: Update the default marks styles to match the padding/margin control. ([67611](https://github.com/WordPress/gutenberg/pull/67611))
+- Remove `__unstableMotionContext` from `@wordpress/components`. ([67623](https://github.com/WordPress/gutenberg/pull/67623))
+- SlotFill: Remove explicit rerender from portal version. ([67471](https://github.com/WordPress/gutenberg/pull/67471))
+- Tabs: Overhaul unit tests. ([66140](https://github.com/WordPress/gutenberg/pull/66140))
+- ToolbarButton: Set size to "compact". ([67440](https://github.com/WordPress/gutenberg/pull/67440))
+- UnitControl : Deprecate 36px default size. ([66791](https://github.com/WordPress/gutenberg/pull/66791))
+
+#### Block Editor
+- Group 'onRemove' callback with other public APIs. ([67551](https://github.com/WordPress/gutenberg/pull/67551))
+- InspectorControlsSlot: Remove unused framer motion context forwarding. ([67522](https://github.com/WordPress/gutenberg/pull/67522))
+- LetteringSpacingControl: Deprecate 36px default size. ([67429](https://github.com/WordPress/gutenberg/pull/67429))
+- Reduce the 'isZoomOut' selector calls in the block toolbar. ([67594](https://github.com/WordPress/gutenberg/pull/67594))
+- Remove 'React.Children' legacy API in 'Warning' component. ([67675](https://github.com/WordPress/gutenberg/pull/67675))
+- Replace remaining custom deep cloning with 'structuredClone'. ([67707](https://github.com/WordPress/gutenberg/pull/67707))
+- Stabilize `LinkControl` Component. ([56384](https://github.com/WordPress/gutenberg/pull/56384))
+
+#### Site Editor
+- Remove .components-item-group selector in edit-site components[2]. ([67575](https://github.com/WordPress/gutenberg/pull/67575))
+- Site Editor Sidebar: Remove `hasGlobalStyleVariations` condition for the Styles nav item. ([67545](https://github.com/WordPress/gutenberg/pull/67545))
+- Unify layout with posts dataviews. ([67162](https://github.com/WordPress/gutenberg/pull/67162))
+- Use path based routing instead of query args and site-editor.php routes. ([67199](https://github.com/WordPress/gutenberg/pull/67199))
+
+#### Post Editor
+- Editor: Refactor 'PostPublishPanelPostpublish' to function component. ([67398](https://github.com/WordPress/gutenberg/pull/67398))
+- Editor: Use hooks instead of HOC in 'PostPublishButtonOrToggle'. ([67413](https://github.com/WordPress/gutenberg/pull/67413))
+- Remove PostSlugCheck and PostSlug unused components. ([67414](https://github.com/WordPress/gutenberg/pull/67414))
+
+#### DataViews
+- Create a single component for rendering the actions list. ([67558](https://github.com/WordPress/gutenberg/pull/67558))
+- Fix: Dataviews remove primary field concept from some classes. ([67689](https://github.com/WordPress/gutenberg/pull/67689))
+
+#### Data Layer
+- TypeScript: Convert factory utils in data package to TS. ([67667](https://github.com/WordPress/gutenberg/pull/67667))
+
+#### Shortcodes
+- Add types for shortcode package. ([67416](https://github.com/WordPress/gutenberg/pull/67416))
+
+#### Block bindings
+- Remove fallback for `context.postType` in post meta. ([67345](https://github.com/WordPress/gutenberg/pull/67345))
+
+#### Block hooks
+- Navigation block: Remove more obsolete Block Hooks helpers. ([67193](https://github.com/WordPress/gutenberg/pull/67193))
+
+
+### Tools
+
+- PR template: Add before/after table. ([62739](https://github.com/WordPress/gutenberg/pull/62739))
+
+#### Build Tooling
+- Build: Stop generating unused legacy scripts for core blocks. ([65268](https://github.com/WordPress/gutenberg/pull/65268))
+- CI: Skip native jobs. ([67799](https://github.com/WordPress/gutenberg/pull/67799))
+- DataViews build-wp: Don't bundle singleton WordPress packages. ([67590](https://github.com/WordPress/gutenberg/pull/67590))
+- DataViews build-wp: Don't bundle the date package. ([67612](https://github.com/WordPress/gutenberg/pull/67612))
+- Keycodes: Improve tree shaking by annotating exports as pure. ([67615](https://github.com/WordPress/gutenberg/pull/67615))
+- Upgrade TypeScript to 5.7 and fix types. ([67461](https://github.com/WordPress/gutenberg/pull/67461))
+
+#### Testing
+- e2e-test-utils-playwright: Increase timeout of site-editor selector. ([66672](https://github.com/WordPress/gutenberg/pull/66672))
+
+
+### Security
+
+#### npm Packages
+- Update npm dependencies to fix issues reported by audit. ([67708](https://github.com/WordPress/gutenberg/pull/67708))
+
+
+### Various
+
+#### Extensibility
+- Add ability to show drop cap setting in paragraph block by default. ([45994](https://github.com/WordPress/gutenberg/pull/45994))
+- DataViews: Move template and pattern title fields. ([67449](https://github.com/WordPress/gutenberg/pull/67449))
+- DataViews: Update `usePostFields` to accept postType. ([67380](https://github.com/WordPress/gutenberg/pull/67380))
+
+#### Plugin
+- Only override REST server for older WP versions. ([67779](https://github.com/WordPress/gutenberg/pull/67779))
+
+#### NUX
+- Welcome guide headline update. ([67654](https://github.com/WordPress/gutenberg/pull/67654))
+
+#### Block Locking
+- Simplify description and option names in the Lock modal dialog. ([67437](https://github.com/WordPress/gutenberg/pull/67437))
+
+
+## First-time contributors
+
+The following PRs were merged by first-time contributors:
+
+- @alexflorisca: e2e-test-utils-playwright: Increase timeout of site-editor selector. ([66672](https://github.com/WordPress/gutenberg/pull/66672))
+- @benazeer-ben: Site editor: Style the selected template pattern. ([65917](https://github.com/WordPress/gutenberg/pull/65917))
+- @creador-dev: Navigation Block: Fix issue with double-clicking "Create a new menu" causing duplicate menus. ([67488](https://github.com/WordPress/gutenberg/pull/67488))
+- @dknauss: Update README.md. ([67711](https://github.com/WordPress/gutenberg/pull/67711))
+- @im3dabasia: Removed trailing space in "Color randomizer ". ([67457](https://github.com/WordPress/gutenberg/pull/67457))
+- @Mayank-Tripathi32: Fix: Header layout spacing in Firefox. ([67074](https://github.com/WordPress/gutenberg/pull/67074))
+- @subodhr258: CustomSelectControl: Update Value from Fresh State. ([67733](https://github.com/WordPress/gutenberg/pull/67733))
+- @wwdes: Added enableAlpha prop to CustomGradientPicker and GradientPicker components. ([66974](https://github.com/WordPress/gutenberg/pull/66974))
+
+
+## Contributors
+
+The following contributors merged PRs in this release:
+
+@aaronrobertshaw @afercia @akasunil @alexflorisca @annezazu @benazeer-ben @ciampo @creador-dev @creativecoder @DAreRodz @dcalhoun @dknauss @draganescu @ellatrix @fabiankaegy @getdave @gigitux @gvgvgvijayan @gziolo @hbhalodia @im3dabasia @imrraaj @jameskoster @jeryj @jorgefilipecosta @jsnajdr @juanfra @louwie17 @Mamaduka @manzoorwanijk @matiasbenedetto @Mayank-Tripathi32 @mcsf @michalczaplinski @miminari @mirka @ntsekouras @oandregal @ockham @prajapatisagar @ramonjd @sabernhardt @SantosGuillamot @sarthaknagoshe2002 @sgomes @shail-mehta @stokesman @subodhr258 @Sukhendu2002 @t-hamano @talldan @tellthemachines @tyxla @viralsampat-multidots @wwdes @yogeshbhutkar @youknowriad
+
+
= 19.8.0 =
## Changelog
From 114aa686fa86a59e37d83f896551f59f74080709 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Greg=20Zi=C3=B3=C5=82kowski?=
Date: Wed, 11 Dec 2024 10:27:13 +0100
Subject: [PATCH 50/74] Extensibility: Make Block Bindings work with
`editor.BlockEdit` hook (2nd try) (#67523)
* Block Bindings: Refactor `withBlockBindingSupport`
* Fix issues reported by CI
* Move bindings handling to EditWithGeneratedProps
* Move sources context to `useMemo`
* Reuse `getBlockBindingsSources`
* Add e2e test
* Add missing dependencies to block bindings JS script in e2e test
* Refactor block bindings utils
* Final touches on EditWithGeneratedProps
* Improve block bindings utils
* Address feedback from code review
---------
Co-authored-by: Mario Santos
Co-authored-by: gziolo
Co-authored-by: SantosGuillamot
Co-authored-by: ellatrix
Co-authored-by: Mamaduka
---
.../src/components/block-edit/edit.js | 229 ++++++++++++-
.../block-list/use-block-props/index.js | 2 +-
.../src/components/rich-text/index.js | 2 +-
.../block-editor/src/hooks/block-bindings.js | 4 +-
packages/block-editor/src/hooks/index.js | 1 -
.../src/hooks/use-bindings-attributes.js | 322 ------------------
.../block-editor/src/utils/block-bindings.js | 95 ++++++
packages/e2e-tests/plugins/block-bindings.php | 6 +-
.../e2e-tests/plugins/block-bindings/index.js | 45 +++
.../various/block-bindings/post-meta.spec.js | 41 +++
10 files changed, 408 insertions(+), 339 deletions(-)
delete mode 100644 packages/block-editor/src/hooks/use-bindings-attributes.js
diff --git a/packages/block-editor/src/components/block-edit/edit.js b/packages/block-editor/src/components/block-edit/edit.js
index 83d0e3f406f829..27d3650f3a0902 100644
--- a/packages/block-editor/src/components/block-edit/edit.js
+++ b/packages/block-editor/src/components/block-edit/edit.js
@@ -6,18 +6,27 @@ import clsx from 'clsx';
/**
* WordPress dependencies
*/
-import { withFilters } from '@wordpress/components';
import {
getBlockDefaultClassName,
- hasBlockSupport,
getBlockType,
+ hasBlockSupport,
+ store as blocksStore,
} from '@wordpress/blocks';
-import { useContext, useMemo } from '@wordpress/element';
+import { withFilters } from '@wordpress/components';
+import { useRegistry, useSelect } from '@wordpress/data';
+import { useCallback, useContext, useMemo } from '@wordpress/element';
/**
* Internal dependencies
*/
import BlockContext from '../block-context';
+import isURLLike from '../link-control/is-url-like';
+import {
+ canBindAttribute,
+ hasPatternOverridesDefaultBinding,
+ replacePatternOverridesDefaultBinding,
+} from '../../utils/block-bindings';
+import { unlock } from '../../lock-unlock';
/**
* Default value used for blocks which do not define their own context needs,
@@ -48,27 +57,223 @@ const Edit = ( props ) => {
const EditWithFilters = withFilters( 'editor.BlockEdit' )( Edit );
const EditWithGeneratedProps = ( props ) => {
- const { attributes = {}, name } = props;
+ const { name, clientId, attributes, setAttributes } = props;
+ const registry = useRegistry();
const blockType = getBlockType( name );
const blockContext = useContext( BlockContext );
+ const registeredSources = useSelect(
+ ( select ) =>
+ unlock( select( blocksStore ) ).getAllBlockBindingsSources(),
+ []
+ );
- // Assign context values using the block type's declared context needs.
- const context = useMemo( () => {
- return blockType && blockType.usesContext
+ const { blockBindings, context, hasPatternOverrides } = useMemo( () => {
+ // Assign context values using the block type's declared context needs.
+ const computedContext = blockType?.usesContext
? Object.fromEntries(
Object.entries( blockContext ).filter( ( [ key ] ) =>
blockType.usesContext.includes( key )
)
)
: DEFAULT_BLOCK_CONTEXT;
- }, [ blockType, blockContext ] );
+ // Add context requested by Block Bindings sources.
+ if ( attributes?.metadata?.bindings ) {
+ Object.values( attributes?.metadata?.bindings || {} ).forEach(
+ ( binding ) => {
+ registeredSources[ binding?.source ]?.usesContext?.forEach(
+ ( key ) => {
+ computedContext[ key ] = blockContext[ key ];
+ }
+ );
+ }
+ );
+ }
+ return {
+ blockBindings: replacePatternOverridesDefaultBinding(
+ name,
+ attributes?.metadata?.bindings
+ ),
+ context: computedContext,
+ hasPatternOverrides: hasPatternOverridesDefaultBinding(
+ attributes?.metadata?.bindings
+ ),
+ };
+ }, [
+ name,
+ blockType?.usesContext,
+ blockContext,
+ attributes?.metadata?.bindings,
+ registeredSources,
+ ] );
+
+ const computedAttributes = useSelect(
+ ( select ) => {
+ if ( ! blockBindings ) {
+ return attributes;
+ }
+
+ const attributesFromSources = {};
+ const blockBindingsBySource = new Map();
+
+ for ( const [ attributeName, binding ] of Object.entries(
+ blockBindings
+ ) ) {
+ const { source: sourceName, args: sourceArgs } = binding;
+ const source = registeredSources[ sourceName ];
+ if ( ! source || ! canBindAttribute( name, attributeName ) ) {
+ continue;
+ }
+
+ blockBindingsBySource.set( source, {
+ ...blockBindingsBySource.get( source ),
+ [ attributeName ]: {
+ args: sourceArgs,
+ },
+ } );
+ }
+
+ if ( blockBindingsBySource.size ) {
+ for ( const [ source, bindings ] of blockBindingsBySource ) {
+ // Get values in batch if the source supports it.
+ let values = {};
+ if ( ! source.getValues ) {
+ Object.keys( bindings ).forEach( ( attr ) => {
+ // Default to the the source label when `getValues` doesn't exist.
+ values[ attr ] = source.label;
+ } );
+ } else {
+ values = source.getValues( {
+ select,
+ context,
+ clientId,
+ bindings,
+ } );
+ }
+ for ( const [ attributeName, value ] of Object.entries(
+ values
+ ) ) {
+ if (
+ attributeName === 'url' &&
+ ( ! value || ! isURLLike( value ) )
+ ) {
+ // Return null if value is not a valid URL.
+ attributesFromSources[ attributeName ] = null;
+ } else {
+ attributesFromSources[ attributeName ] = value;
+ }
+ }
+ }
+ }
+
+ return {
+ ...attributes,
+ ...attributesFromSources,
+ };
+ },
+ [
+ attributes,
+ blockBindings,
+ clientId,
+ context,
+ name,
+ registeredSources,
+ ]
+ );
+
+ const setBoundAttributes = useCallback(
+ ( nextAttributes ) => {
+ if ( ! blockBindings ) {
+ setAttributes( nextAttributes );
+ return;
+ }
+
+ registry.batch( () => {
+ const keptAttributes = { ...nextAttributes };
+ const blockBindingsBySource = new Map();
+
+ // Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.
+ for ( const [ attributeName, newValue ] of Object.entries(
+ keptAttributes
+ ) ) {
+ if (
+ ! blockBindings[ attributeName ] ||
+ ! canBindAttribute( name, attributeName )
+ ) {
+ continue;
+ }
+
+ const binding = blockBindings[ attributeName ];
+ const source = registeredSources[ binding?.source ];
+ if ( ! source?.setValues ) {
+ continue;
+ }
+ blockBindingsBySource.set( source, {
+ ...blockBindingsBySource.get( source ),
+ [ attributeName ]: {
+ args: binding.args,
+ newValue,
+ },
+ } );
+ delete keptAttributes[ attributeName ];
+ }
+
+ if ( blockBindingsBySource.size ) {
+ for ( const [
+ source,
+ bindings,
+ ] of blockBindingsBySource ) {
+ source.setValues( {
+ select: registry.select,
+ dispatch: registry.dispatch,
+ context,
+ clientId,
+ bindings,
+ } );
+ }
+ }
+
+ const hasParentPattern = !! context[ 'pattern/overrides' ];
+
+ if (
+ // Don't update non-connected attributes if the block is using pattern overrides
+ // and the editing is happening while overriding the pattern (not editing the original).
+ ! ( hasPatternOverrides && hasParentPattern ) &&
+ Object.keys( keptAttributes ).length
+ ) {
+ // Don't update caption and href until they are supported.
+ if ( hasPatternOverrides ) {
+ delete keptAttributes.caption;
+ delete keptAttributes.href;
+ }
+ setAttributes( keptAttributes );
+ }
+ } );
+ },
+ [
+ blockBindings,
+ clientId,
+ context,
+ hasPatternOverrides,
+ setAttributes,
+ registeredSources,
+ name,
+ registry,
+ ]
+ );
if ( ! blockType ) {
return null;
}
if ( blockType.apiVersion > 1 ) {
- return ;
+ return (
+
+ );
}
// Generate a class name for the block's editable form.
@@ -77,15 +282,17 @@ const EditWithGeneratedProps = ( props ) => {
: null;
const className = clsx(
generatedClassName,
- attributes.className,
+ attributes?.className,
props.className
);
return (
);
};
diff --git a/packages/block-editor/src/components/block-list/use-block-props/index.js b/packages/block-editor/src/components/block-list/use-block-props/index.js
index 554adccdc22c9d..14cda82fe7cd26 100644
--- a/packages/block-editor/src/components/block-list/use-block-props/index.js
+++ b/packages/block-editor/src/components/block-list/use-block-props/index.js
@@ -29,7 +29,7 @@ import { useBlockRefProvider } from './use-block-refs';
import { useIntersectionObserver } from './use-intersection-observer';
import { useScrollIntoView } from './use-scroll-into-view';
import { useFlashEditableBlocks } from '../../use-flash-editable-blocks';
-import { canBindBlock } from '../../../hooks/use-bindings-attributes';
+import { canBindBlock } from '../../../utils/block-bindings';
import { useFirefoxDraggableCompatibility } from './use-firefox-draggable-compatibility';
/**
diff --git a/packages/block-editor/src/components/rich-text/index.js b/packages/block-editor/src/components/rich-text/index.js
index bc8eca6ea94d05..768ffbb0cdd2dc 100644
--- a/packages/block-editor/src/components/rich-text/index.js
+++ b/packages/block-editor/src/components/rich-text/index.js
@@ -39,7 +39,7 @@ import FormatEdit from './format-edit';
import { getAllowedFormats } from './utils';
import { Content, valueToHTMLString } from './content';
import { withDeprecations } from './with-deprecations';
-import { canBindBlock } from '../../hooks/use-bindings-attributes';
+import { canBindBlock } from '../../utils/block-bindings';
import BlockContext from '../block-context';
export const keyboardShortcutContext = createContext();
diff --git a/packages/block-editor/src/hooks/block-bindings.js b/packages/block-editor/src/hooks/block-bindings.js
index e10696cc1257d7..2dab67d6293328 100644
--- a/packages/block-editor/src/hooks/block-bindings.js
+++ b/packages/block-editor/src/hooks/block-bindings.js
@@ -26,12 +26,12 @@ import { useViewportMatch } from '@wordpress/compose';
import {
canBindAttribute,
getBindableAttributes,
-} from '../hooks/use-bindings-attributes';
+ useBlockBindingsUtils,
+} from '../utils/block-bindings';
import { unlock } from '../lock-unlock';
import InspectorControls from '../components/inspector-controls';
import BlockContext from '../components/block-context';
import { useBlockEditContext } from '../components/block-edit';
-import { useBlockBindingsUtils } from '../utils/block-bindings';
import { store as blockEditorStore } from '../store';
const { Menu } = unlock( componentsPrivateApis );
diff --git a/packages/block-editor/src/hooks/index.js b/packages/block-editor/src/hooks/index.js
index 66ff60b691b66f..7f9b29376ad1fb 100644
--- a/packages/block-editor/src/hooks/index.js
+++ b/packages/block-editor/src/hooks/index.js
@@ -32,7 +32,6 @@ import './metadata';
import blockHooks from './block-hooks';
import blockBindingsPanel from './block-bindings';
import './block-renaming';
-import './use-bindings-attributes';
import './grid-visualizer';
createBlockEditFilter(
diff --git a/packages/block-editor/src/hooks/use-bindings-attributes.js b/packages/block-editor/src/hooks/use-bindings-attributes.js
deleted file mode 100644
index fdc617fda20c05..00000000000000
--- a/packages/block-editor/src/hooks/use-bindings-attributes.js
+++ /dev/null
@@ -1,322 +0,0 @@
-/**
- * WordPress dependencies
- */
-import { store as blocksStore } from '@wordpress/blocks';
-import { createHigherOrderComponent } from '@wordpress/compose';
-import { useRegistry, useSelect } from '@wordpress/data';
-import { useCallback, useMemo, useContext } from '@wordpress/element';
-import { addFilter } from '@wordpress/hooks';
-
-/**
- * Internal dependencies
- */
-import isURLLike from '../components/link-control/is-url-like';
-import { unlock } from '../lock-unlock';
-import BlockContext from '../components/block-context';
-
-/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */
-/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */
-
-/**
- * Given a binding of block attributes, returns a higher order component that
- * overrides its `attributes` and `setAttributes` props to sync any changes needed.
- *
- * @return {WPHigherOrderComponent} Higher-order component.
- */
-
-const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
- 'core/paragraph': [ 'content' ],
- 'core/heading': [ 'content' ],
- 'core/image': [ 'id', 'url', 'title', 'alt' ],
- 'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],
-};
-
-const DEFAULT_ATTRIBUTE = '__default';
-
-/**
- * Returns the bindings with the `__default` binding for pattern overrides
- * replaced with the full-set of supported attributes. e.g.:
- *
- * bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`
- * bindings returned: `{ content: { source: 'core/pattern-overrides' } }`
- *
- * @param {string} blockName The block name (e.g. 'core/paragraph').
- * @param {Object} bindings A block's bindings from the metadata attribute.
- *
- * @return {Object} The bindings with default replaced for pattern overrides.
- */
-function replacePatternOverrideDefaultBindings( blockName, bindings ) {
- // The `__default` binding currently only works for pattern overrides.
- if (
- bindings?.[ DEFAULT_ATTRIBUTE ]?.source === 'core/pattern-overrides'
- ) {
- const supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];
- const bindingsWithDefaults = {};
- for ( const attributeName of supportedAttributes ) {
- // If the block has mixed binding sources, retain any non pattern override bindings.
- const bindingSource = bindings[ attributeName ]
- ? bindings[ attributeName ]
- : { source: 'core/pattern-overrides' };
- bindingsWithDefaults[ attributeName ] = bindingSource;
- }
-
- return bindingsWithDefaults;
- }
-
- return bindings;
-}
-
-/**
- * Based on the given block name,
- * check if it is possible to bind the block.
- *
- * @param {string} blockName - The block name.
- * @return {boolean} Whether it is possible to bind the block to sources.
- */
-export function canBindBlock( blockName ) {
- return blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;
-}
-
-/**
- * Based on the given block name and attribute name,
- * check if it is possible to bind the block attribute.
- *
- * @param {string} blockName - The block name.
- * @param {string} attributeName - The attribute name.
- * @return {boolean} Whether it is possible to bind the block attribute.
- */
-export function canBindAttribute( blockName, attributeName ) {
- return (
- canBindBlock( blockName ) &&
- BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )
- );
-}
-
-export function getBindableAttributes( blockName ) {
- return BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];
-}
-
-export const withBlockBindingSupport = createHigherOrderComponent(
- ( BlockEdit ) => ( props ) => {
- const registry = useRegistry();
- const blockContext = useContext( BlockContext );
- const sources = useSelect( ( select ) =>
- unlock( select( blocksStore ) ).getAllBlockBindingsSources()
- );
- const { name, clientId, context, setAttributes } = props;
- const blockBindings = useMemo(
- () =>
- replacePatternOverrideDefaultBindings(
- name,
- props.attributes.metadata?.bindings
- ),
- [ props.attributes.metadata?.bindings, name ]
- );
-
- // While this hook doesn't directly call any selectors, `useSelect` is
- // used purposely here to ensure `boundAttributes` is updated whenever
- // there are attribute updates.
- // `source.getValues` may also call a selector via `registry.select`.
- const updatedContext = {};
- const boundAttributes = useSelect(
- ( select ) => {
- if ( ! blockBindings ) {
- return;
- }
-
- const attributes = {};
-
- const blockBindingsBySource = new Map();
-
- for ( const [ attributeName, binding ] of Object.entries(
- blockBindings
- ) ) {
- const { source: sourceName, args: sourceArgs } = binding;
- const source = sources[ sourceName ];
- if (
- ! source ||
- ! canBindAttribute( name, attributeName )
- ) {
- continue;
- }
-
- // Populate context.
- for ( const key of source.usesContext || [] ) {
- updatedContext[ key ] = blockContext[ key ];
- }
-
- blockBindingsBySource.set( source, {
- ...blockBindingsBySource.get( source ),
- [ attributeName ]: {
- args: sourceArgs,
- },
- } );
- }
-
- if ( blockBindingsBySource.size ) {
- for ( const [
- source,
- bindings,
- ] of blockBindingsBySource ) {
- // Get values in batch if the source supports it.
- let values = {};
- if ( ! source.getValues ) {
- Object.keys( bindings ).forEach( ( attr ) => {
- // Default to the the source label when `getValues` doesn't exist.
- values[ attr ] = source.label;
- } );
- } else {
- values = source.getValues( {
- select,
- context: updatedContext,
- clientId,
- bindings,
- } );
- }
- for ( const [ attributeName, value ] of Object.entries(
- values
- ) ) {
- if (
- attributeName === 'url' &&
- ( ! value || ! isURLLike( value ) )
- ) {
- // Return null if value is not a valid URL.
- attributes[ attributeName ] = null;
- } else {
- attributes[ attributeName ] = value;
- }
- }
- }
- }
-
- return attributes;
- },
- [ blockBindings, name, clientId, updatedContext, sources ]
- );
-
- const hasParentPattern = !! updatedContext[ 'pattern/overrides' ];
- const hasPatternOverridesDefaultBinding =
- props.attributes.metadata?.bindings?.[ DEFAULT_ATTRIBUTE ]
- ?.source === 'core/pattern-overrides';
-
- const _setAttributes = useCallback(
- ( nextAttributes ) => {
- registry.batch( () => {
- if ( ! blockBindings ) {
- setAttributes( nextAttributes );
- return;
- }
-
- const keptAttributes = { ...nextAttributes };
- const blockBindingsBySource = new Map();
-
- // Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.
- for ( const [ attributeName, newValue ] of Object.entries(
- keptAttributes
- ) ) {
- if (
- ! blockBindings[ attributeName ] ||
- ! canBindAttribute( name, attributeName )
- ) {
- continue;
- }
-
- const binding = blockBindings[ attributeName ];
- const source = sources[ binding?.source ];
- if ( ! source?.setValues ) {
- continue;
- }
- blockBindingsBySource.set( source, {
- ...blockBindingsBySource.get( source ),
- [ attributeName ]: {
- args: binding.args,
- newValue,
- },
- } );
- delete keptAttributes[ attributeName ];
- }
-
- if ( blockBindingsBySource.size ) {
- for ( const [
- source,
- bindings,
- ] of blockBindingsBySource ) {
- source.setValues( {
- select: registry.select,
- dispatch: registry.dispatch,
- context: updatedContext,
- clientId,
- bindings,
- } );
- }
- }
-
- if (
- // Don't update non-connected attributes if the block is using pattern overrides
- // and the editing is happening while overriding the pattern (not editing the original).
- ! (
- hasPatternOverridesDefaultBinding &&
- hasParentPattern
- ) &&
- Object.keys( keptAttributes ).length
- ) {
- // Don't update caption and href until they are supported.
- if ( hasPatternOverridesDefaultBinding ) {
- delete keptAttributes?.caption;
- delete keptAttributes?.href;
- }
- setAttributes( keptAttributes );
- }
- } );
- },
- [
- registry,
- blockBindings,
- name,
- clientId,
- updatedContext,
- setAttributes,
- sources,
- hasPatternOverridesDefaultBinding,
- hasParentPattern,
- ]
- );
-
- return (
- <>
-
- >
- );
- },
- 'withBlockBindingSupport'
-);
-
-/**
- * Filters a registered block's settings to enhance a block's `edit` component
- * to upgrade bound attributes.
- *
- * @param {WPBlockSettings} settings - Registered block settings.
- * @param {string} name - Block name.
- * @return {WPBlockSettings} Filtered block settings.
- */
-function shimAttributeSource( settings, name ) {
- if ( ! canBindBlock( name ) ) {
- return settings;
- }
-
- return {
- ...settings,
- edit: withBlockBindingSupport( settings.edit ),
- };
-}
-
-addFilter(
- 'blocks.registerBlockType',
- 'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',
- shimAttributeSource
-);
diff --git a/packages/block-editor/src/utils/block-bindings.js b/packages/block-editor/src/utils/block-bindings.js
index dcf80d985473b2..9a4c6acf9a9032 100644
--- a/packages/block-editor/src/utils/block-bindings.js
+++ b/packages/block-editor/src/utils/block-bindings.js
@@ -9,10 +9,105 @@ import { useDispatch, useRegistry } from '@wordpress/data';
import { store as blockEditorStore } from '../store';
import { useBlockEditContext } from '../components/block-edit';
+const DEFAULT_ATTRIBUTE = '__default';
+const PATTERN_OVERRIDES_SOURCE = 'core/pattern-overrides';
+const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
+ 'core/paragraph': [ 'content' ],
+ 'core/heading': [ 'content' ],
+ 'core/image': [ 'id', 'url', 'title', 'alt' ],
+ 'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],
+};
+
+/**
+ * Checks if the given object is empty.
+ *
+ * @param {?Object} object The object to check.
+ *
+ * @return {boolean} Whether the object is empty.
+ */
function isObjectEmpty( object ) {
return ! object || Object.keys( object ).length === 0;
}
+/**
+ * Based on the given block name, checks if it is possible to bind the block.
+ *
+ * @param {string} blockName The name of the block.
+ *
+ * @return {boolean} Whether it is possible to bind the block to sources.
+ */
+export function canBindBlock( blockName ) {
+ return blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;
+}
+
+/**
+ * Based on the given block name and attribute name, checks if it is possible to bind the block attribute.
+ *
+ * @param {string} blockName The name of the block.
+ * @param {string} attributeName The name of attribute.
+ *
+ * @return {boolean} Whether it is possible to bind the block attribute.
+ */
+export function canBindAttribute( blockName, attributeName ) {
+ return (
+ canBindBlock( blockName ) &&
+ BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )
+ );
+}
+
+/**
+ * Gets the bindable attributes for a given block.
+ *
+ * @param {string} blockName The name of the block.
+ *
+ * @return {string[]} The bindable attributes for the block.
+ */
+export function getBindableAttributes( blockName ) {
+ return BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];
+}
+
+/**
+ * Checks if the block has the `__default` binding for pattern overrides.
+ *
+ * @param {?Record} bindings A block's bindings from the metadata attribute.
+ *
+ * @return {boolean} Whether the block has the `__default` binding for pattern overrides.
+ */
+export function hasPatternOverridesDefaultBinding( bindings ) {
+ return bindings?.[ DEFAULT_ATTRIBUTE ]?.source === PATTERN_OVERRIDES_SOURCE;
+}
+
+/**
+ * Returns the bindings with the `__default` binding for pattern overrides
+ * replaced with the full-set of supported attributes. e.g.:
+ *
+ * - bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`
+ * - bindings returned: `{ content: { source: 'core/pattern-overrides' } }`
+ *
+ * @param {string} blockName The block name (e.g. 'core/paragraph').
+ * @param {?Record} bindings A block's bindings from the metadata attribute.
+ *
+ * @return {Object} The bindings with default replaced for pattern overrides.
+ */
+export function replacePatternOverridesDefaultBinding( blockName, bindings ) {
+ // The `__default` binding currently only works for pattern overrides.
+ if ( hasPatternOverridesDefaultBinding( bindings ) ) {
+ const supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];
+ const bindingsWithDefaults = {};
+ for ( const attributeName of supportedAttributes ) {
+ // If the block has mixed binding sources, retain any non pattern override bindings.
+ const bindingSource = bindings[ attributeName ]
+ ? bindings[ attributeName ]
+ : { source: PATTERN_OVERRIDES_SOURCE };
+ bindingsWithDefaults[ attributeName ] = bindingSource;
+ }
+
+ return bindingsWithDefaults;
+ }
+
+ return bindings;
+}
+
/**
* Contains utils to update the block `bindings` metadata.
*
diff --git a/packages/e2e-tests/plugins/block-bindings.php b/packages/e2e-tests/plugins/block-bindings.php
index b86673c2c523d0..1fd6d8468c77db 100644
--- a/packages/e2e-tests/plugins/block-bindings.php
+++ b/packages/e2e-tests/plugins/block-bindings.php
@@ -41,7 +41,11 @@ function gutenberg_test_block_bindings_registration() {
plugins_url( 'block-bindings/index.js', __FILE__ ),
array(
'wp-blocks',
- 'wp-private-apis',
+ 'wp-block-editor',
+ 'wp-components',
+ 'wp-compose',
+ 'wp-element',
+ 'wp-hooks',
),
filemtime( plugin_dir_path( __FILE__ ) . 'block-bindings/index.js' ),
true
diff --git a/packages/e2e-tests/plugins/block-bindings/index.js b/packages/e2e-tests/plugins/block-bindings/index.js
index 5c364257caed19..63c463e197fa8a 100644
--- a/packages/e2e-tests/plugins/block-bindings/index.js
+++ b/packages/e2e-tests/plugins/block-bindings/index.js
@@ -1,4 +1,9 @@
const { registerBlockBindingsSource } = wp.blocks;
+const { InspectorControls } = wp.blockEditor;
+const { PanelBody, TextControl } = wp.components;
+const { createHigherOrderComponent } = wp.compose;
+const { createElement: el, Fragment } = wp.element;
+const { addFilter } = wp.hooks;
const { fieldsList } = window.testingBindings || {};
const getValues = ( { bindings } ) => {
@@ -46,3 +51,43 @@ registerBlockBindingsSource( {
getValues,
canUserEditValue: () => true,
} );
+
+const withBlockBindingsInspectorControl = createHigherOrderComponent(
+ ( BlockEdit ) => {
+ return ( props ) => {
+ if ( ! props.attributes?.metadata?.bindings?.content ) {
+ return el( BlockEdit, props );
+ }
+
+ return el(
+ Fragment,
+ {},
+ el( BlockEdit, props ),
+ el(
+ InspectorControls,
+ {},
+ el(
+ PanelBody,
+ { title: 'Bindings' },
+ el( TextControl, {
+ __next40pxDefaultSize: true,
+ __nextHasNoMarginBottom: true,
+ label: 'Content',
+ value: props.attributes.content,
+ onChange: ( content ) =>
+ props.setAttributes( {
+ content,
+ } ),
+ } )
+ )
+ )
+ );
+ };
+ }
+);
+
+addFilter(
+ 'editor.BlockEdit',
+ 'testing/bindings-inspector-control',
+ withBlockBindingsInspectorControl
+);
diff --git a/test/e2e/specs/editor/various/block-bindings/post-meta.spec.js b/test/e2e/specs/editor/various/block-bindings/post-meta.spec.js
index 32334bfc777f2a..318707e22f098d 100644
--- a/test/e2e/specs/editor/various/block-bindings/post-meta.spec.js
+++ b/test/e2e/specs/editor/various/block-bindings/post-meta.spec.js
@@ -524,6 +524,47 @@ test.describe( 'Post Meta source', () => {
previewPage.locator( '#connected-paragraph' )
).toHaveText( 'new value' );
} );
+
+ test( 'should be possible to edit the value of the connected custom fields in the inspector control registered by the plugin', async ( {
+ editor,
+ page,
+ } ) => {
+ await editor.insertBlock( {
+ name: 'core/paragraph',
+ attributes: {
+ anchor: 'connected-paragraph',
+ content: 'fallback content',
+ metadata: {
+ bindings: {
+ content: {
+ source: 'core/post-meta',
+ args: {
+ key: 'movie_field',
+ },
+ },
+ },
+ },
+ },
+ } );
+ const contentInput = page.getByRole( 'textbox', {
+ name: 'Content',
+ } );
+ await expect( contentInput ).toHaveValue(
+ 'Movie field default value'
+ );
+ await contentInput.fill( 'new value' );
+ // Check that the paragraph content attribute didn't change.
+ const [ paragraphBlockObject ] = await editor.getBlocks();
+ expect( paragraphBlockObject.attributes.content ).toBe(
+ 'fallback content'
+ );
+ // Check the value of the custom field is being updated by visiting the frontend.
+ const previewPage = await editor.openPreviewPage();
+ await expect(
+ previewPage.locator( '#connected-paragraph' )
+ ).toHaveText( 'new value' );
+ } );
+
test( 'should be possible to connect movie fields through the attributes panel', async ( {
editor,
page,
From b659e9348c2055abca60c610a4c828954861a9aa Mon Sep 17 00:00:00 2001
From: James Koster
Date: Wed, 11 Dec 2024 09:34:05 +0000
Subject: [PATCH 51/74] Button: Increase font weight, add hover style to
`secondary` variant (#67325)
Co-authored-by: jameskoster
Co-authored-by: tyxla
Co-authored-by: mirka <0mirka00@git.wordpress.org>
Co-authored-by: jasmussen
Co-authored-by: matt-west
Co-authored-by: keoshi
Co-authored-by: jeffgolenski
Co-authored-by: elizaan36
---
packages/components/CHANGELOG.md | 1 +
packages/components/src/button/style.scss | 19 +++++++++----------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md
index c4c47f43024007..c9f63514c8a608 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -21,6 +21,7 @@
- `MenuItem`: Increase height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
- `MenuItemsChoice`: Increase option height to 40px ([#67435](https://github.com/WordPress/gutenberg/pull/67435)).
- `Navigation`: Fix active item hover color ([#67732](https://github.com/WordPress/gutenberg/pull/67732)).
+- `Button`: Adjust `secondary` variant hover style. ([#67325](https://github.com/WordPress/gutenberg/pull/67325)).
### Deprecations
diff --git a/packages/components/src/button/style.scss b/packages/components/src/button/style.scss
index 61455a54e26f6b..460aeaa2781cdf 100644
--- a/packages/components/src/button/style.scss
+++ b/packages/components/src/button/style.scss
@@ -9,7 +9,6 @@
display: inline-flex;
text-decoration: none;
font-family: inherit;
- font-weight: normal;
font-size: $default-font-size;
margin: 0;
border: 0;
@@ -139,8 +138,10 @@
color: $components-color-accent;
background: transparent;
- &:hover:not(:disabled, [aria-disabled="true"]) {
- box-shadow: inset 0 0 0 $border-width $components-color-accent-darker-10;
+ &:hover:not(:disabled, [aria-disabled="true"], .is-pressed) {
+ box-shadow: inset 0 0 0 $border-width $components-color-accent-darker-20;
+ color: $components-color-accent-darker-20;
+ background: color-mix(in srgb, $components-color-accent 4%, transparent);
}
&:disabled:not(:focus),
@@ -164,15 +165,12 @@
background: transparent;
&:hover:not(:disabled, [aria-disabled="true"]) {
- // TODO: Prepare for theming (https://github.com/WordPress/gutenberg/pull/45466/files#r1030872724)
- /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Allow tertiary buttons to use colors from the user admin color scheme. */
- background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
+ background: color-mix(in srgb, $components-color-accent 4%, transparent);
+ color: $components-color-accent-darker-20;
}
&:active:not(:disabled, [aria-disabled="true"]) {
- // TODO: Prepare for theming (https://github.com/WordPress/gutenberg/pull/45466/files#r1030872724)
- /* stylelint-disable-next-line declaration-property-value-disallowed-list -- Allow tertiary buttons to use colors from the user admin color scheme. */
- background: rgba(var(--wp-admin-theme-color--rgb), 0.08);
+ background: color-mix(in srgb, $components-color-accent 8%, transparent);
}
// Pull left if the tertiary button stands alone after a description, so as to vertically align with items above.
@@ -220,7 +218,8 @@
}
}
- &.is-tertiary {
+ &.is-tertiary,
+ &.is-secondary {
&:hover:not(:disabled, [aria-disabled="true"]) {
background: rgba($alert-red, 0.04);
}
From af34d1ef0bf3db2913c71fb1e9686c34a61f3ee2 Mon Sep 17 00:00:00 2001
From: Jorge Costa
Date: Wed, 11 Dec 2024 10:02:25 +0000
Subject: [PATCH 52/74] [Dataviews] Fix: Media item focus style is not visible
on Grid. (#67789)
Co-authored-by: jorgefilipecosta
Co-authored-by: oandregal
Co-authored-by: jameskoster
---
.../src/dataviews-layouts/grid/style.scss | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/packages/dataviews/src/dataviews-layouts/grid/style.scss b/packages/dataviews/src/dataviews-layouts/grid/style.scss
index e9fcb472dc3186..51db297b4025b7 100644
--- a/packages/dataviews/src/dataviews-layouts/grid/style.scss
+++ b/packages/dataviews/src/dataviews-layouts/grid/style.scss
@@ -30,11 +30,16 @@
.dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value {
color: $gray-900;
}
-
- .dataviews-view-grid__media::after {
- background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
- box-shadow: inset 0 0 0 $border-width var(--wp-admin-theme-color);
- }
+ }
+ &.is-selected .dataviews-view-grid__media::after,
+ .dataviews-view-grid__media:focus::after {
+ background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
+ }
+ &.is-selected .dataviews-view-grid__media::after {
+ box-shadow: inset 0 0 0 $border-width var(--wp-admin-theme-color);
+ }
+ .dataviews-view-grid__media:focus::after {
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
}
}
From db42416a94822534ec6a44c46534c89d975d8042 Mon Sep 17 00:00:00 2001
From: Marin Atanasov <8436925+tyxla@users.noreply.github.com>
Date: Wed, 11 Dec 2024 12:19:10 +0200
Subject: [PATCH 53/74] Components: Unite inline Ariakit imports (#67818)
Co-authored-by: tyxla
Co-authored-by: Mamaduka
---
.../components/src/custom-select-control-v2/custom-select.tsx | 3 +--
packages/components/src/menu/index.tsx | 3 +--
packages/components/src/radio-group/radio.tsx | 3 +--
packages/components/src/tab-panel/index.tsx | 3 +--
.../toggle-group-control/as-radio-group.tsx | 3 +--
packages/components/src/tooltip/index.tsx | 3 +--
6 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/packages/components/src/custom-select-control-v2/custom-select.tsx b/packages/components/src/custom-select-control-v2/custom-select.tsx
index bb458abcc282ff..9c3baf182a399a 100644
--- a/packages/components/src/custom-select-control-v2/custom-select.tsx
+++ b/packages/components/src/custom-select-control-v2/custom-select.tsx
@@ -2,7 +2,6 @@
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
/**
* WordPress dependencies
@@ -63,7 +62,7 @@ const CustomSelectButton = ( {
CustomSelectStore,
'onChange'
> ) => {
- const { value: currentValue } = useStoreState( store );
+ const { value: currentValue } = Ariakit.useStoreState( store );
const computedRenderSelectedValue = useMemo(
() => renderSelectedValue ?? defaultRenderSelectedValue,
diff --git a/packages/components/src/menu/index.tsx b/packages/components/src/menu/index.tsx
index 6f6e89b0a1c72b..9886f324823212 100644
--- a/packages/components/src/menu/index.tsx
+++ b/packages/components/src/menu/index.tsx
@@ -2,7 +2,6 @@
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
/**
* WordPress dependencies
@@ -109,7 +108,7 @@ const UnconnectedMenu = (
// Extract the side from the applied placement — useful for animations.
// Using `currentPlacement` instead of `placement` to make sure that we
// use the final computed placement (including "flips" etc).
- const appliedPlacementSide = useStoreState(
+ const appliedPlacementSide = Ariakit.useStoreState(
menuStore,
'currentPlacement'
).split( '-' )[ 0 ];
diff --git a/packages/components/src/radio-group/radio.tsx b/packages/components/src/radio-group/radio.tsx
index 782a737b6ba28a..4c54e0694f4bde 100644
--- a/packages/components/src/radio-group/radio.tsx
+++ b/packages/components/src/radio-group/radio.tsx
@@ -7,7 +7,6 @@ import { forwardRef, useContext } from '@wordpress/element';
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
/**
* Internal dependencies
@@ -28,7 +27,7 @@ function UnforwardedRadio(
) {
const { store, disabled } = useContext( RadioGroupContext );
- const selectedValue = useStoreState( store, 'value' );
+ const selectedValue = Ariakit.useStoreState( store, 'value' );
const isChecked = selectedValue !== undefined && selectedValue === value;
maybeWarnDeprecated36pxSize( {
diff --git a/packages/components/src/tab-panel/index.tsx b/packages/components/src/tab-panel/index.tsx
index be06b42fcd013f..ec4f33d875a381 100644
--- a/packages/components/src/tab-panel/index.tsx
+++ b/packages/components/src/tab-panel/index.tsx
@@ -2,7 +2,6 @@
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
import clsx from 'clsx';
import type { ForwardedRef } from 'react';
@@ -125,7 +124,7 @@ const UnforwardedTabPanel = (
} );
const selectedTabName = extractTabName(
- useStoreState( tabStore, 'selectedId' )
+ Ariakit.useStoreState( tabStore, 'selectedId' )
);
const setTabStoreSelectedId = useCallback(
diff --git a/packages/components/src/toggle-group-control/toggle-group-control/as-radio-group.tsx b/packages/components/src/toggle-group-control/toggle-group-control/as-radio-group.tsx
index 0166728dbafba4..56fb5faca56385 100644
--- a/packages/components/src/toggle-group-control/toggle-group-control/as-radio-group.tsx
+++ b/packages/components/src/toggle-group-control/toggle-group-control/as-radio-group.tsx
@@ -3,7 +3,6 @@
*/
import type { ForwardedRef } from 'react';
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
/**
* WordPress dependencies
@@ -70,7 +69,7 @@ function UnforwardedToggleGroupControlAsRadioGroup(
rtl: isRTL(),
} );
- const selectedValue = useStoreState( radio, 'value' );
+ const selectedValue = Ariakit.useStoreState( radio, 'value' );
const setValue = radio.setValue;
// Ensures that the active id is also reset after the value is "reset" by the consumer.
diff --git a/packages/components/src/tooltip/index.tsx b/packages/components/src/tooltip/index.tsx
index ce94daf67bfaba..b7184579ceca91 100644
--- a/packages/components/src/tooltip/index.tsx
+++ b/packages/components/src/tooltip/index.tsx
@@ -2,7 +2,6 @@
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { useStoreState } from '@ariakit/react';
import clsx from 'clsx';
/**
@@ -94,7 +93,7 @@ function UnforwardedTooltip(
placement: computedPlacement,
showTimeout: delay,
} );
- const mounted = useStoreState( tooltipStore, 'mounted' );
+ const mounted = Ariakit.useStoreState( tooltipStore, 'mounted' );
if ( isNestedInTooltip ) {
return isOnlyChild ? (
From b65823092b1a319ac533be48d33a09f5f9a239d1 Mon Sep 17 00:00:00 2001
From: Jorge Costa
Date: Wed, 11 Dec 2024 10:59:58 +0000
Subject: [PATCH 54/74] Fix: Templates and patterns are nesting two elements
with the button role (#67801)
Co-authored-by: jorgefilipecosta
Co-authored-by: oandregal
---
.../src/components/page-patterns/fields.js | 52 ++++---------------
.../src/components/page-patterns/style.scss | 22 --------
.../src/components/page-templates/fields.js | 22 +++-----
.../src/components/page-templates/style.scss | 18 -------
4 files changed, 17 insertions(+), 97 deletions(-)
diff --git a/packages/edit-site/src/components/page-patterns/fields.js b/packages/edit-site/src/components/page-patterns/fields.js
index f202664389f0ff..d884508e575068 100644
--- a/packages/edit-site/src/components/page-patterns/fields.js
+++ b/packages/edit-site/src/components/page-patterns/fields.js
@@ -15,50 +15,25 @@ import {
} from '@wordpress/block-editor';
import { Icon } from '@wordpress/icons';
import { parse } from '@wordpress/blocks';
-import { privateApis as routerPrivateApis } from '@wordpress/router';
/**
* Internal dependencies
*/
import {
- PATTERN_TYPES,
TEMPLATE_PART_POST_TYPE,
PATTERN_SYNC_TYPES,
OPERATOR_IS,
} from '../../utils/constants';
import { unlock } from '../../lock-unlock';
import { useAddedBy } from '../page-templates/hooks';
-import { defaultGetTitle } from './search-items';
-const { useLink } = unlock( routerPrivateApis );
const { useGlobalStyle } = unlock( blockEditorPrivateApis );
-function PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {
- return (
-
- );
-}
-
function PreviewField( { item } ) {
const descriptionId = useId();
const description = item.description || item?.excerpt?.raw;
- const isUserPattern = item.type === PATTERN_TYPES.user;
const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
const [ backgroundColor ] = useGlobalStyle( 'color.background' );
- const { onClick } = useLink(
- `/${ item.type }/${
- isUserPattern || isTemplatePart ? item.id : item.name
- }?canvas=edit`
- );
const blocks = useMemo( () => {
return (
item.blocks ??
@@ -73,23 +48,18 @@ function PreviewField( { item } ) {
-
- { isEmpty && isTemplatePart && __( 'Empty template part' ) }
- { isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }
- { ! isEmpty && (
-
-
-
- ) }
-
+ { isEmpty && isTemplatePart && __( 'Empty template part' ) }
+ { isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }
+ { ! isEmpty && (
+
+
+
+ ) }
{ !! description && (
{ description }
diff --git a/packages/edit-site/src/components/page-patterns/style.scss b/packages/edit-site/src/components/page-patterns/style.scss
index 72d53c2a721afc..1ee6ceb94ddbfc 100644
--- a/packages/edit-site/src/components/page-patterns/style.scss
+++ b/packages/edit-site/src/components/page-patterns/style.scss
@@ -12,28 +12,6 @@
width: 96px;
flex-grow: 0;
}
-
- .page-patterns-preview-field__button {
- box-shadow: none;
- border: none;
- padding: 0;
- background-color: unset;
- box-sizing: border-box;
- cursor: pointer;
- overflow: hidden;
- height: 100%;
- border-radius: $grid-unit-05;
-
- &:focus-visible {
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
- // Windows High Contrast mode will show this outline, but not the box-shadow.
- outline: 2px solid transparent;
- }
-
- &[aria-disabled="true"] {
- cursor: default;
- }
- }
}
.edit-site-patterns__pattern-icon {
diff --git a/packages/edit-site/src/components/page-templates/fields.js b/packages/edit-site/src/components/page-templates/fields.js
index 88c20ff27ebbce..97b427690901a6 100644
--- a/packages/edit-site/src/components/page-templates/fields.js
+++ b/packages/edit-site/src/components/page-templates/fields.js
@@ -16,7 +16,6 @@ import {
privateApis as blockEditorPrivateApis,
} from '@wordpress/block-editor';
import { EditorProvider } from '@wordpress/editor';
-import { privateApis as routerPrivateApis } from '@wordpress/router';
/**
* Internal dependencies
@@ -25,7 +24,6 @@ import { useAddedBy } from './hooks';
import usePatternSettings from '../page-patterns/use-pattern-settings';
import { unlock } from '../../lock-unlock';
-const { useLink } = unlock( routerPrivateApis );
const { useGlobalStyle } = unlock( blockEditorPrivateApis );
function PreviewField( { item } ) {
@@ -34,7 +32,6 @@ function PreviewField( { item } ) {
const blocks = useMemo( () => {
return parse( item.content.raw );
}, [ item.content.raw ] );
- const { onClick } = useLink( `/${ item.type }/${ item.id }?canvas=edit` );
const isEmpty = ! blocks?.length;
// Wrap everything in a block editor provider to ensure 'styles' that are needed
@@ -50,19 +47,12 @@ function PreviewField( { item } ) {
className="page-templates-preview-field"
style={ { backgroundColor } }
>
-
+ { isEmpty && __( 'Empty template' ) }
+ { ! isEmpty && (
+
+
+
+ ) }
);
diff --git a/packages/edit-site/src/components/page-templates/style.scss b/packages/edit-site/src/components/page-templates/style.scss
index 4432cf6bec4923..29df1f5bd0803c 100644
--- a/packages/edit-site/src/components/page-templates/style.scss
+++ b/packages/edit-site/src/components/page-templates/style.scss
@@ -5,24 +5,6 @@
width: 100%;
border-radius: $radius-medium;
- .page-templates-preview-field__button {
- box-shadow: none;
- border: none;
- padding: 0;
- background-color: unset;
- box-sizing: border-box;
- cursor: pointer;
- overflow: hidden;
- height: 100%;
- border-radius: $radius-medium;
-
- &:focus-visible {
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
- // Windows High Contrast mode will show this outline, but not the box-shadow.
- outline: 2px solid transparent;
- }
- }
-
.dataviews-view-list & {
.block-editor-block-preview__container {
height: 120px;
From f2ba0fdb4c7714e516f7e9045ac53e59401d5b82 Mon Sep 17 00:00:00 2001
From: Birgit Pauli-Haack
Date: Wed, 11 Dec 2024 13:42:12 +0100
Subject: [PATCH 55/74] Add a Playground blueprint json to the
/assets/blueprints folder of Plugin Repo (#67742)
* create dirs, add blueprint.json
* updated landing page and php setting
* add step to set admin_color to modern
Co-authored-by: bph
Co-authored-by: brandonpayton
---
assets/blueprints/blueprint.json | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 assets/blueprints/blueprint.json
diff --git a/assets/blueprints/blueprint.json b/assets/blueprints/blueprint.json
new file mode 100644
index 00000000000000..d0626ffc15dd90
--- /dev/null
+++ b/assets/blueprints/blueprint.json
@@ -0,0 +1,28 @@
+{
+ "$schema": "https://playground.wordpress.net/blueprint-schema.json",
+ "landingPage": "/wp-admin/post.php?post=1&action=edit",
+ "plugins": [ "gutenberg" ],
+ "login": true,
+ "features": {
+ "networking": true
+ },
+ "preferredVersions": {
+ "php": "latest",
+ "wp": "latest"
+ },
+ "steps": [
+ {
+ "step": "setSiteOptions",
+ "options": {
+ "blogname": "Testing Gutenberg"
+ }
+ },
+ {
+ "step": "updateUserMeta",
+ "meta": {
+ "admin_color": "modern"
+ },
+ "userId": 1
+ }
+ ]
+}
From 6470e097826f0ef15c90e821784b24c401b1903d Mon Sep 17 00:00:00 2001
From: Eshaan Dabasiya <76681468+im3dabasia@users.noreply.github.com>
Date: Wed, 11 Dec 2024 18:38:08 +0530
Subject: [PATCH 56/74] add: Added css classname to the itemgroup in
MainSidebarNavigationContent (#67825)
Co-authored-by: im3dabasia
Co-authored-by: jameskoster
Co-authored-by: t-hamano
---
.../src/components/sidebar-navigation-screen-main/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-main/index.js b/packages/edit-site/src/components/sidebar-navigation-screen-main/index.js
index e205de25636975..abcc7183f6604e 100644
--- a/packages/edit-site/src/components/sidebar-navigation-screen-main/index.js
+++ b/packages/edit-site/src/components/sidebar-navigation-screen-main/index.js
@@ -19,7 +19,7 @@ import { store as editSiteStore } from '../../store';
export function MainSidebarNavigationContent( { isBlockBasedTheme = true } ) {
return (
-
+
{ isBlockBasedTheme && (
<>
Date: Wed, 11 Dec 2024 10:15:36 -0300
Subject: [PATCH 57/74] Stylebook: avoid double line in subcategory titles
(#67752)
* avoid double line in titles
* Revert "avoid double line in titles"
This reverts commit bb96d6ba7fbf65ff943065758d14c313b864a524.
* use only border top
Co-authored-by: matiasbenedetto
Co-authored-by: tellthemachines
Co-authored-by: jasmussen
---
packages/edit-site/src/components/style-book/constants.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/packages/edit-site/src/components/style-book/constants.ts b/packages/edit-site/src/components/style-book/constants.ts
index 401d532b98cbb7..ea99279fd9e655 100644
--- a/packages/edit-site/src/components/style-book/constants.ts
+++ b/packages/edit-site/src/components/style-book/constants.ts
@@ -239,7 +239,6 @@ export const STYLE_BOOK_IFRAME_STYLES = `
.edit-site-style-book__subcategory-title {
font-size: 16px;
margin-bottom: 40px;
- border-bottom: 1px solid #ddd;
padding-bottom: 8px;
}
From b66f9ff095f5b70f9af15a50af1772c0e201a5e6 Mon Sep 17 00:00:00 2001
From: Jon Surrell
Date: Wed, 11 Dec 2024 14:30:39 +0100
Subject: [PATCH 58/74] Add --glob argument to rimraf cli scripts (#67829)
After a rimraf upgrade, windows machines would error when clean scripts were called.
Rimraf now requires a --glob argument to handled glob patterns.
---
Co-authored-by: sirreal
Co-authored-by: t-hamano
---
package.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index dbf69043c58292..b4fd877c826905 100644
--- a/package.json
+++ b/package.json
@@ -180,8 +180,8 @@
"build:packages": "npm run --silent build:package-types && node ./bin/packages/build.js",
"postbuild:packages": " npm run --if-present --workspaces build:wp",
"build:plugin-zip": "bash ./bin/build-plugin-zip.sh",
- "clean:package-types": "tsc --build --clean && rimraf \"./packages/*/build-types\"",
- "clean:packages": "rimraf \"./packages/*/@(build|build-module|build-wp|build-style)\"",
+ "clean:package-types": "tsc --build --clean && rimraf --glob './packages/*/build-types'",
+ "clean:packages": "rimraf --glob './packages/*/@(build|build-module|build-wp|build-style)'",
"component-usage-stats": "node ./node_modules/react-scanner/bin/react-scanner -c ./react-scanner.config.js",
"dev": "cross-env NODE_ENV=development npm run build:packages && concurrently \"wp-scripts start\" \"npm run dev:packages\"",
"dev:packages": "cross-env NODE_ENV=development concurrently \"node ./bin/packages/watch.js\" \"tsc --build --watch\"",
@@ -193,7 +193,7 @@
"docs:gen": "node ./docs/tool/index.js",
"docs:theme-ref": "node ./bin/api-docs/gen-theme-reference.mjs",
"env": "wp-env",
- "fixtures:clean": "rimraf \"test/integration/fixtures/blocks/*.+(json|serialized.html)\"",
+ "fixtures:clean": "rimraf --glob 'test/integration/fixtures/blocks/*.+(json|serialized.html)'",
"fixtures:generate": "cross-env GENERATE_MISSING_FIXTURES=y npm run test:unit test/integration/full-content/ && npm run format test/integration/fixtures/blocks/*.json",
"fixtures:regenerate": "npm-run-all fixtures:clean fixtures:generate",
"format": "wp-scripts format",
From bb8a14772e83049e1d255f317c735d7936734629 Mon Sep 17 00:00:00 2001
From: Dave Smith
Date: Wed, 11 Dec 2024 15:36:55 +0000
Subject: [PATCH 59/74] Hide separators for currently dragged section in Zoom
Out (#67638)
* Hide separators for currently dragged section
* Add comment by way of explanation
Co-authored-by: getdave
Co-authored-by: richtabor
Co-authored-by: mikachan
---
.../block-list/zoom-out-separator.js | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/packages/block-editor/src/components/block-list/zoom-out-separator.js b/packages/block-editor/src/components/block-list/zoom-out-separator.js
index f2e6d050141fb5..86191c1e4ce32c 100644
--- a/packages/block-editor/src/components/block-list/zoom-out-separator.js
+++ b/packages/block-editor/src/components/block-list/zoom-out-separator.js
@@ -33,6 +33,7 @@ export function ZoomOutSeparator( {
insertionPoint,
blockInsertionPointVisible,
blockInsertionPoint,
+ blocksBeingDragged,
} = useSelect( ( select ) => {
const {
getInsertionPoint,
@@ -40,6 +41,7 @@ export function ZoomOutSeparator( {
getSectionRootClientId,
isBlockInsertionPointVisible,
getBlockInsertionPoint,
+ getDraggedBlockClientIds,
} = unlock( select( blockEditorStore ) );
const root = getSectionRootClientId();
@@ -51,6 +53,7 @@ export function ZoomOutSeparator( {
insertionPoint: getInsertionPoint(),
blockInsertionPoint: getBlockInsertionPoint(),
blockInsertionPointVisible: isBlockInsertionPointVisible(),
+ blocksBeingDragged: getDraggedBlockClientIds(),
};
}, [] );
@@ -78,6 +81,7 @@ export function ZoomOutSeparator( {
insertionPoint &&
insertionPoint.hasOwnProperty( 'index' ) &&
clientId === sectionClientIds[ insertionPoint.index - 1 ];
+
// We want to show the zoom out separator in either of these conditions:
// 1. If the inserter has an insertion index set
// 2. We are dragging a pattern over an insertion point
@@ -97,6 +101,32 @@ export function ZoomOutSeparator( {
sectionClientIds[ blockInsertionPoint.index - 1 ] );
}
+ const blockBeingDraggedClientId = blocksBeingDragged[ 0 ];
+
+ const isCurrentBlockBeingDragged = blocksBeingDragged.includes( clientId );
+
+ const blockBeingDraggedIndex = sectionClientIds.indexOf(
+ blockBeingDraggedClientId
+ );
+ const blockBeingDraggedPreviousSiblingClientId =
+ blockBeingDraggedIndex > 0
+ ? sectionClientIds[ blockBeingDraggedIndex - 1 ]
+ : null;
+
+ const isCurrentBlockPreviousSiblingOfBlockBeingDragged =
+ blockBeingDraggedPreviousSiblingClientId === clientId;
+
+ // The separators are visually top/bottom of the block, but in actual fact
+ // the "top" separator is the "bottom" separator of the previous block.
+ // Therefore, this logic hides the separator if the current block is being dragged
+ // or if the current block is the previous sibling of the block being dragged.
+ if (
+ isCurrentBlockBeingDragged ||
+ isCurrentBlockPreviousSiblingOfBlockBeingDragged
+ ) {
+ isVisible = false;
+ }
+
return (
{ isVisible && (
From eb01c74959f6dc39d11a9060d15a4097932f49b1 Mon Sep 17 00:00:00 2001
From: Marin Atanasov <8436925+tyxla@users.noreply.github.com>
Date: Wed, 11 Dec 2024 17:56:49 +0200
Subject: [PATCH 60/74] Storybook: Upgrade to v8.0.x (#67574)
* Bump dependencies
* Patch storybook-source-link to import from @storybook/manager-api
* Add webpack5 compiler babel addon and enable react-docgen-typescript
* Use @storybook/icons in introduction docs
* Update storybook-source-link patch to use @storybook/icons
* Fix status icons
* Fix status icon styles
* Preview: ArgsTable => Controls
* Add explicit action spies
Co-authored-by: tyxla
Co-authored-by: ciampo
---
package-lock.json | 2784 +++++++----------
package.json | 26 +-
.../stories/index.story.tsx | 4 +
.../src/tab-panel/stories/index.story.tsx | 4 +
.../src/tabs/stories/index.story.tsx | 5 +
patches/storybook-source-link+2.0.9.patch | 55 +
storybook/main.js | 4 +
storybook/preview.js | 5 +-
storybook/sidebar.js | 6 +-
storybook/stories/docs/inline-icon.js | 10 +-
storybook/stories/docs/introduction.mdx | 3 +-
11 files changed, 1279 insertions(+), 1627 deletions(-)
create mode 100644 patches/storybook-source-link+2.0.9.patch
diff --git a/package-lock.json b/package-lock.json
index 2dde4727531b6f..ede83fa0e38c29 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,7 +24,7 @@
"@emotion/babel-plugin": "11.11.0",
"@emotion/jest": "11.7.1",
"@emotion/native": "11.0.0",
- "@geometricpanda/storybook-addon-badges": "2.0.1",
+ "@geometricpanda/storybook-addon-badges": "2.0.5",
"@octokit/rest": "16.26.0",
"@octokit/types": "6.34.0",
"@octokit/webhooks-types": "5.8.0",
@@ -33,16 +33,18 @@
"@react-native/babel-preset": "0.73.10",
"@react-native/metro-babel-transformer": "0.73.10",
"@react-native/metro-config": "0.73.4",
- "@storybook/addon-a11y": "7.6.15",
- "@storybook/addon-actions": "7.6.15",
- "@storybook/addon-controls": "7.6.15",
- "@storybook/addon-docs": "7.6.15",
- "@storybook/addon-toolbars": "7.6.15",
- "@storybook/addon-viewport": "7.6.15",
- "@storybook/react": "7.6.15",
- "@storybook/react-webpack5": "7.6.15",
- "@storybook/source-loader": "7.6.15",
- "@storybook/theming": "7.6.15",
+ "@storybook/addon-a11y": "8.0.10",
+ "@storybook/addon-actions": "8.0.10",
+ "@storybook/addon-controls": "8.0.10",
+ "@storybook/addon-docs": "8.0.10",
+ "@storybook/addon-toolbars": "8.0.10",
+ "@storybook/addon-viewport": "8.0.10",
+ "@storybook/addon-webpack5-compiler-babel": "3.0.3",
+ "@storybook/react": "8.0.10",
+ "@storybook/react-webpack5": "8.0.10",
+ "@storybook/source-loader": "8.0.10",
+ "@storybook/test": "8.0.10",
+ "@storybook/theming": "8.0.10",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "14.3.0",
"@testing-library/react-native": "12.4.3",
@@ -147,7 +149,7 @@
"snapshot-diff": "0.10.0",
"source-map-loader": "3.0.0",
"sprintf-js": "1.1.1",
- "storybook": "7.6.15",
+ "storybook": "8.0.10",
"storybook-source-link": "2.0.9",
"strip-json-comments": "5.0.0",
"style-loader": "3.2.1",
@@ -4652,9 +4654,9 @@
"integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
},
"node_modules/@emotion/use-insertion-effect-with-fallbacks": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz",
- "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz",
+ "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==",
"dev": true,
"peerDependencies": {
"react": ">=16.8.0"
@@ -5174,20 +5176,6 @@
"integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==",
"license": "MIT"
},
- "node_modules/@floating-ui/react-dom": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz",
- "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/dom": "^1.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
- }
- },
"node_modules/@floating-ui/utils": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz",
@@ -5244,18 +5232,18 @@
}
},
"node_modules/@geometricpanda/storybook-addon-badges": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@geometricpanda/storybook-addon-badges/-/storybook-addon-badges-2.0.1.tgz",
- "integrity": "sha512-dCEK/xJewuFe1d+ndF0hQIAJRnUsV9q5kuDmp7zvO7fTd7cDz0X9Bjz0lNRn6n4Z9bL9/iFHKzJESDHFfs4ihQ==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@geometricpanda/storybook-addon-badges/-/storybook-addon-badges-2.0.5.tgz",
+ "integrity": "sha512-FH56ly6ZhltjyKQWxUKORP67BxhL9FMJRByS5lqKZpeP8J2MMsMXG7eQmFXKcZGQORfVQye+1uYYWXweDOiFTQ==",
"dev": true,
"peerDependencies": {
- "@storybook/blocks": "^7.0.0",
- "@storybook/components": "^7.0.0",
- "@storybook/core-events": "^7.0.0",
- "@storybook/manager-api": "^7.0.0",
- "@storybook/preview-api": "^7.0.0",
- "@storybook/theming": "^7.0.0",
- "@storybook/types": "^7.0.0",
+ "@storybook/blocks": "^8.3.0",
+ "@storybook/components": "^8.3.0",
+ "@storybook/core-events": "^8.3.0",
+ "@storybook/manager-api": "^8.3.0",
+ "@storybook/preview-api": "^8.3.0",
+ "@storybook/theming": "^8.3.0",
+ "@storybook/types": "^8.3.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
@@ -5877,9 +5865,9 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
@@ -5896,12 +5884,6 @@
"integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==",
"dev": true
},
- "node_modules/@juggle/resize-observer": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
- "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
- "dev": true
- },
"node_modules/@kwsites/file-exists": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
@@ -6938,19 +6920,19 @@
}
},
"node_modules/@mdx-js/react": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz",
- "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz",
+ "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==",
"dev": true,
"dependencies": {
- "@types/mdx": "^2.0.0",
- "@types/react": ">=16"
+ "@types/mdx": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
},
"peerDependencies": {
+ "@types/react": ">=16",
"react": ">=16"
}
},
@@ -6982,7 +6964,6 @@
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -8815,15 +8796,6 @@
"streamx": "^2.15.0"
}
},
- "node_modules/@radix-ui/number": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz",
- "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- }
- },
"node_modules/@radix-ui/primitive": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz",
@@ -8833,57 +8805,6 @@
"@babel/runtime": "^7.13.10"
}
},
- "node_modules/@radix-ui/react-arrow": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz",
- "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-collection": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz",
- "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-slot": "1.0.2"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-compose-refs": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz",
@@ -8920,53 +8841,6 @@
}
}
},
- "node_modules/@radix-ui/react-direction": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz",
- "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz",
- "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1",
- "@radix-ui/react-use-escape-keydown": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-focus-guards": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz",
@@ -8985,33 +8859,6 @@
}
}
},
- "node_modules/@radix-ui/react-focus-scope": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz",
- "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-id": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz",
@@ -9031,64 +8878,6 @@
}
}
},
- "node_modules/@radix-ui/react-popper": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz",
- "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@floating-ui/react-dom": "^2.0.0",
- "@radix-ui/react-arrow": "1.0.3",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1",
- "@radix-ui/react-use-layout-effect": "1.0.1",
- "@radix-ui/react-use-rect": "1.0.1",
- "@radix-ui/react-use-size": "1.0.1",
- "@radix-ui/rect": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-portal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz",
- "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-primitive": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz",
@@ -9113,106 +8902,6 @@
}
}
},
- "node_modules/@radix-ui/react-roving-focus": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz",
- "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-collection": "1.0.3",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-direction": "1.0.1",
- "@radix-ui/react-id": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1",
- "@radix-ui/react-use-controllable-state": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-select": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz",
- "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/number": "1.0.1",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-collection": "1.0.3",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-direction": "1.0.1",
- "@radix-ui/react-dismissable-layer": "1.0.4",
- "@radix-ui/react-focus-guards": "1.0.1",
- "@radix-ui/react-focus-scope": "1.0.3",
- "@radix-ui/react-id": "1.0.1",
- "@radix-ui/react-popper": "1.1.2",
- "@radix-ui/react-portal": "1.0.3",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-slot": "1.0.2",
- "@radix-ui/react-use-callback-ref": "1.0.1",
- "@radix-ui/react-use-controllable-state": "1.0.1",
- "@radix-ui/react-use-layout-effect": "1.0.1",
- "@radix-ui/react-use-previous": "1.0.1",
- "@radix-ui/react-visually-hidden": "1.0.3",
- "aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.5"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-separator": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz",
- "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-slot": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz",
@@ -9232,92 +8921,6 @@
}
}
},
- "node_modules/@radix-ui/react-toggle": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz",
- "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-controllable-state": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-toggle-group": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz",
- "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-direction": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-roving-focus": "1.0.4",
- "@radix-ui/react-toggle": "1.0.3",
- "@radix-ui/react-use-controllable-state": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-toolbar": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz",
- "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-direction": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-roving-focus": "1.0.4",
- "@radix-ui/react-separator": "1.0.3",
- "@radix-ui/react-toggle-group": "1.0.4"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-use-callback-ref": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz",
@@ -9392,95 +8995,6 @@
}
}
},
- "node_modules/@radix-ui/react-use-previous": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz",
- "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-use-rect": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz",
- "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/rect": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-use-size": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz",
- "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-layout-effect": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-visually-hidden": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz",
- "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/rect": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz",
- "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- }
- },
"node_modules/@react-native-clipboard/clipboard": {
"version": "1.11.2",
"resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz",
@@ -11874,12 +11388,12 @@
}
},
"node_modules/@storybook/addon-a11y": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.6.15.tgz",
- "integrity": "sha512-8PxRMBJUSxNoceo2IYXFyZp3VU+/ONK/DsD0dj/fVrv7izFrS8aw2GWSsSMK8xAbEUpANXWMKGaSyvrRFVgsVQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.0.10.tgz",
+ "integrity": "sha512-ymeTRE1uWplifWUMc3tO5lLGn4buS/hUVWKRM11SqugmxRym55B4thCJU089HAEMY+V/imiCeOE63TT+DGsk8g==",
"dev": true,
"dependencies": {
- "@storybook/addon-highlight": "7.6.15",
+ "@storybook/addon-highlight": "8.0.10",
"axe-core": "^4.2.0"
},
"funding": {
@@ -11888,12 +11402,12 @@
}
},
"node_modules/@storybook/addon-actions": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.15.tgz",
- "integrity": "sha512-2Jfvbahe/tmq1iNnNxmcP0JnX0rqCuijjXXai9yMDV3koIMawn6t88MPVrdcso5ch/fxE45522nZqA3SZJbM4g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.0.10.tgz",
+ "integrity": "sha512-IEuc30UAFl7Ws0GwaY/whjBnGaViVEVjmPc+MXUym2wwwJbnCbI+BKJxPoYi/I7QJb5aUNToAE6pl2pDda2g3Q==",
"dev": true,
"dependencies": {
- "@storybook/core-events": "7.6.15",
+ "@storybook/core-events": "8.0.10",
"@storybook/global": "^5.0.0",
"@types/uuid": "^9.0.1",
"dequal": "^2.0.2",
@@ -11912,12 +11426,12 @@
"dev": true
},
"node_modules/@storybook/addon-controls": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.15.tgz",
- "integrity": "sha512-HXcG/Lr4ri7WUFz14Y5lEBTA1XmKy0E/DepW88XVy6YNsTpERVWEBcvjKoLAU1smKrfhVto96hK2AVFL3A8EBQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.0.10.tgz",
+ "integrity": "sha512-MAUtIJGayNSsfn3VZ6SjQwpRkb4ky+10oVfos+xX9GQ5+7RCs+oYMuE4+aiQvvfXNdV8v0pUGPUPeUzqfJmhOA==",
"dev": true,
"dependencies": {
- "@storybook/blocks": "7.6.15",
+ "@storybook/blocks": "8.0.10",
"lodash": "^4.17.21",
"ts-dedent": "^2.0.0"
},
@@ -11927,38 +11441,35 @@
}
},
"node_modules/@storybook/addon-docs": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.15.tgz",
- "integrity": "sha512-UPODqO+mrYaKyTSAtfRslxOFgSP/v/5vfDx896pbNTC4Sf8xLytoudw4I14hzkHmRdXiOnd21FqXJfmF/Onsvw==",
- "dev": true,
- "dependencies": {
- "@jest/transform": "^29.3.1",
- "@mdx-js/react": "^2.1.5",
- "@storybook/blocks": "7.6.15",
- "@storybook/client-logger": "7.6.15",
- "@storybook/components": "7.6.15",
- "@storybook/csf-plugin": "7.6.15",
- "@storybook/csf-tools": "7.6.15",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.0.10.tgz",
+ "integrity": "sha512-y+Agoez/hXZHKUMIZHU96T5V1v0cs4ArSNfjqDg9DPYcyQ88ihJNb6ZabIgzmEaJF/NncCW+LofWeUtkTwalkw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@mdx-js/react": "^3.0.0",
+ "@storybook/blocks": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/components": "8.0.10",
+ "@storybook/csf-plugin": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
"@storybook/global": "^5.0.0",
- "@storybook/mdx2-csf": "^1.0.0",
- "@storybook/node-logger": "7.6.15",
- "@storybook/postinstall": "7.6.15",
- "@storybook/preview-api": "7.6.15",
- "@storybook/react-dom-shim": "7.6.15",
- "@storybook/theming": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/react-dom-shim": "8.0.10",
+ "@storybook/theming": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"fs-extra": "^11.1.0",
- "remark-external-links": "^8.0.0",
- "remark-slug": "^6.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "rehype-external-links": "^3.0.0",
+ "rehype-slug": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/@storybook/addon-docs/node_modules/fs-extra": {
@@ -11997,9 +11508,9 @@
}
},
"node_modules/@storybook/addon-highlight": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.15.tgz",
- "integrity": "sha512-ptidWZJJcEM83YsxCjf+m1q8Rr9sN8piJ4PJlM2vyc4MLZY4q6htb1JJFeq3ov1Iz6SY9KjKc/zOkWo4L54nxw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.0.10.tgz",
+ "integrity": "sha512-40GB82t1e2LCCjqXcC6Z5lq1yIpA1+Yl5E2tKeggOVwg5HHAX02ESNDdBaIOlCqMkU3WKzjGPurDNOLUAbsV2g==",
"dev": true,
"dependencies": {
"@storybook/global": "^5.0.0"
@@ -12010,9 +11521,9 @@
}
},
"node_modules/@storybook/addon-toolbars": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.15.tgz",
- "integrity": "sha512-QougKS2eABB5Jd332i9tBpKgh2lN4aaqXkvmVC5egT5dOuJ9IeuZbGwiALef/uf1f3IuyUP41So9l2dI4u19aw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.0.10.tgz",
+ "integrity": "sha512-67HP6mTJU/gjRju01Z5HjeqoRiJMDlrMvMvjGBg7w5+tPNtjYqdelfe2+kcfU+Hf6dfcuqaBDwaUUGSv+RYtRQ==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -12020,9 +11531,9 @@
}
},
"node_modules/@storybook/addon-viewport": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.15.tgz",
- "integrity": "sha512-0esg0+onJftU2prD3n/sbxBTrTOIGQnZhbrKPP+/S26dVHuYaR/65XdwpRgXNY5PHK2yjU78HxiJP+Kyu75ntw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.0.10.tgz",
+ "integrity": "sha512-NJ88Nd/tXreHLyLeF3VP+b8Fu2KtUuJ0L4JYpEMmcdaejGARTrJJOU+pcZBiUqEHFeXQ8rDY8DKXhUJZQFQ1Wg==",
"dev": true,
"dependencies": {
"memoizerific": "^1.11.3"
@@ -12032,28 +11543,42 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/addon-webpack5-compiler-babel": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-webpack5-compiler-babel/-/addon-webpack5-compiler-babel-3.0.3.tgz",
+ "integrity": "sha512-rVQTTw+oxJltbVKaejIWSHwVKOBJs3au21f/pYXhV0aiNgNhxEa3vr79t/j0j8ox8uJtzM8XYOb7FlkvGfHlwQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.23.7",
+ "babel-loader": "^9.1.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@storybook/blocks": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.15.tgz",
- "integrity": "sha512-ODP7AVh2iIGblI5WKGokWSHbp9YQHc+Uce7JCGcnDbNavoy64Z6R6G+wXzF5jfl7xQlbhQ8yQCuSSL4GNdYTeA==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.0.10.tgz",
+ "integrity": "sha512-LOaxvcO2d4dT4YoWlQ0bq/c8qA3aHoqtyuvBjwbVn+359bjMtgj/91YuP9Y2+ggZZ4p+ttgvk39PcmJlNXlJsw==",
"dev": true,
"dependencies": {
- "@storybook/channels": "7.6.15",
- "@storybook/client-logger": "7.6.15",
- "@storybook/components": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/csf": "^0.1.2",
- "@storybook/docs-tools": "7.6.15",
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/components": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/docs-tools": "8.0.10",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.6.15",
- "@storybook/preview-api": "7.6.15",
- "@storybook/theming": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/manager-api": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/theming": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/lodash": "^4.14.167",
"color-convert": "^2.0.1",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
- "markdown-to-jsx": "^7.1.8",
+ "markdown-to-jsx": "7.3.2",
"memoizerific": "^1.11.3",
"polished": "^4.2.2",
"react-colorful": "^5.1.2",
@@ -12069,6 +11594,14 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
"node_modules/@storybook/blocks/node_modules/color-convert": {
@@ -12090,24 +11623,22 @@
"dev": true
},
"node_modules/@storybook/builder-manager": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.15.tgz",
- "integrity": "sha512-vfpfCywiasyP7vtbgLJhjssBEwUjZhBsRsubDAzumgOochPiKKPNwsSc5NU/4ZIGaC5zRO26kUaUqFIbJdTEUQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.0.10.tgz",
+ "integrity": "sha512-lo57jeeYuYCKYrmGOdLg25rMyiGYSTwJ+zYsQ3RvClVICjP6X0I1RCKAJDzkI0BixH6s1+w5ynD6X3PtDnhUuw==",
"dev": true,
"dependencies": {
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
- "@storybook/core-common": "7.6.15",
- "@storybook/manager": "7.6.15",
- "@storybook/node-logger": "7.6.15",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/manager": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
"@types/ejs": "^3.1.1",
- "@types/find-cache-dir": "^3.2.1",
"@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
"browser-assert": "^1.2.1",
"ejs": "^3.1.8",
- "esbuild": "^0.18.0",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
"esbuild-plugin-alias": "^0.2.1",
"express": "^4.17.3",
- "find-cache-dir": "^3.0.0",
"fs-extra": "^11.1.0",
"process": "^0.11.10",
"util": "^0.12.4"
@@ -12117,36 +11648,6 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/builder-manager/node_modules/fs-extra": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
@@ -12173,99 +11674,6 @@
"graceful-fs": "^4.1.6"
}
},
- "node_modules/@storybook/builder-manager/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/builder-manager/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@storybook/builder-manager/node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -12289,24 +11697,21 @@
}
},
"node_modules/@storybook/builder-webpack5": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.15.tgz",
- "integrity": "sha512-HF+TSK/eU2ld8uQ8VWgcAIzOQ2hjnEkzup363vGZkYUfsHsVbjMpZgf+foDjI4LZNfQ/RjcVEZxqJqIbpM0Sjg==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.23.2",
- "@storybook/channels": "7.6.15",
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-common": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/core-webpack": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/preview": "7.6.15",
- "@storybook/preview-api": "7.6.15",
- "@swc/core": "^1.3.82",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.0.10.tgz",
+ "integrity": "sha512-FrETNEPu9UcZD8yRIQhszcmdMMS73yXRbZFldeZzJ2b8lKNJG+tmqRwh5d5xEMzMrENYkDY+sXheOLSjKfvq9g==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/core-webpack": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/preview": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
"@types/node": "^18.0.0",
"@types/semver": "^7.3.4",
- "babel-loader": "^9.0.0",
"browser-assert": "^1.2.1",
"case-sensitive-paths-webpack-plugin": "^2.4.0",
"cjs-module-lexer": "^1.2.3",
@@ -12322,14 +11727,13 @@
"process": "^0.11.10",
"semver": "^7.3.7",
"style-loader": "^3.3.1",
- "swc-loader": "^0.2.3",
"terser-webpack-plugin": "^5.3.1",
"ts-dedent": "^2.0.0",
"url": "^0.11.0",
"util": "^0.12.4",
"util-deprecate": "^1.0.2",
"webpack": "5",
- "webpack-dev-middleware": "^6.1.1",
+ "webpack-dev-middleware": "^6.1.2",
"webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.5.0"
},
@@ -12455,15 +11859,14 @@
}
},
"node_modules/@storybook/channels": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.15.tgz",
- "integrity": "sha512-UPDYRzGkygYFa8QUpEiumWrvZm4u4RKVzgiBt9C4RmHORqkkZzL9LXhaZJp2SmIz1ND5gx6KR5ze8ZnAdwxxoQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.10.tgz",
+ "integrity": "sha512-3JLxfD7czlx31dAGvAYJ4J4BNE/Y2+hhj/dsV3xlQTHKVpnWknaoeYEC1a6YScyfsH6W+XmP2rzZKzH4EkLSGQ==",
"dev": true,
"dependencies": {
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-events": "7.6.15",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
"@storybook/global": "^5.0.0",
- "qs": "^6.10.0",
"telejson": "^7.2.0",
"tiny-invariant": "^1.3.1"
},
@@ -12473,23 +11876,22 @@
}
},
"node_modules/@storybook/cli": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.15.tgz",
- "integrity": "sha512-2QRqCyVGDSkraHxX2JPYkkFccbu5Uo+JYFaFJo4vmMXzDurjWON+Ga2B8FCTd4A8P4C02Ca/79jgQoyBB3xoew==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.0.10.tgz",
+ "integrity": "sha512-KUZEO2lyvOS2sRJEFXovt6+5b65iWsh7F8e8S1cM20fCM1rZAlWtwmoxmDVXDmyEp0wTrq4FrRxKnbo9UO518w==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.23.2",
- "@babel/preset-env": "^7.23.2",
+ "@babel/core": "^7.23.0",
"@babel/types": "^7.23.0",
"@ndelangen/get-tarball": "^3.0.7",
- "@storybook/codemod": "7.6.15",
- "@storybook/core-common": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/core-server": "7.6.15",
- "@storybook/csf-tools": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/telemetry": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/codemod": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/core-server": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/telemetry": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/semver": "^7.3.4",
"@yarnpkg/fslib": "2.10.3",
"@yarnpkg/libzip": "2.3.0",
@@ -12499,25 +11901,22 @@
"detect-indent": "^6.1.0",
"envinfo": "^7.7.3",
"execa": "^5.0.0",
- "express": "^4.17.3",
"find-up": "^5.0.0",
"fs-extra": "^11.1.0",
"get-npm-tarball-url": "^2.0.3",
- "get-port": "^5.1.1",
"giget": "^1.0.0",
"globby": "^11.0.2",
"jscodeshift": "^0.15.1",
"leven": "^3.1.0",
"ora": "^5.4.1",
- "prettier": "^2.8.0",
+ "prettier": "^3.1.1",
"prompts": "^2.4.0",
- "puppeteer-core": "^2.1.1",
"read-pkg-up": "^7.0.1",
"semver": "^7.3.7",
"strip-json-comments": "^3.0.1",
"tempy": "^1.0.1",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0"
},
"bin": {
"getstorybook": "bin/index.js",
@@ -12528,15 +11927,6 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/agent-base": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
- "dev": true,
- "engines": {
- "node": ">= 6.0.0"
- }
- },
"node_modules/@storybook/cli/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -12648,26 +12038,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/cli/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@storybook/cli/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -12677,19 +12047,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/cli/node_modules/https-proxy-agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
- "dev": true,
- "dependencies": {
- "agent-base": "5",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
"node_modules/@storybook/cli/node_modules/human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
@@ -12777,18 +12134,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/cli/node_modules/mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/@storybook/cli/node_modules/mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
@@ -12882,47 +12227,25 @@
}
},
"node_modules/@storybook/cli/node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
- "node_modules/@storybook/cli/node_modules/puppeteer-core": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz",
- "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==",
- "dev": true,
- "dependencies": {
- "@types/mime-types": "^2.1.0",
- "debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^4.0.0",
- "mime": "^2.0.3",
- "mime-types": "^2.1.25",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
- },
- "engines": {
- "node": ">=8.16.0"
- }
- },
"node_modules/@storybook/cli/node_modules/recast": {
"version": "0.23.9",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz",
"integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ast-types": "^0.16.1",
"esprima": "~4.0.0",
@@ -12947,18 +12270,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/cli/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/@storybook/cli/node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -12992,20 +12303,10 @@
"node": ">= 10.0.0"
}
},
- "node_modules/@storybook/cli/node_modules/ws": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz",
- "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "async-limiter": "~1.0.0"
- }
- },
"node_modules/@storybook/client-logger": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.15.tgz",
- "integrity": "sha512-n+K8IqnombqiQNnywVovS+lK61tvv/XSfgPt0cgvoF/hJZB0VDOMRjWsV+v9qQpj1TQEl1lLWeJwZMthTWupJA==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.10.tgz",
+ "integrity": "sha512-u38SbZNAunZzxZNHMJb9jkUwFkLyWxmvp4xtiRM3u9sMUShXoTnzbw1yKrxs+kYJjg+58UQPZ1JhEBRcHt5Oww==",
"dev": true,
"dependencies": {
"@storybook/global": "^5.0.0"
@@ -13016,25 +12317,26 @@
}
},
"node_modules/@storybook/codemod": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.15.tgz",
- "integrity": "sha512-NiEbTLCdacj6TMxC7G49IImXeMzkG8wpPr8Ayxm9HeG6q5UkiF5/DiZdqbJm2zaosOsOKWwvXg1t6Pq6Nivytg==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.0.10.tgz",
+ "integrity": "sha512-t45jKGs/eyR/nKVX6QgRtMZSAjJo5aXWWk3B24xVbW6ywr0jt1LC100FkHG4Af8cApIfh8uUmS9X05hMG5zGGA==",
"dev": true,
"dependencies": {
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.23.2",
"@babel/types": "^7.23.0",
- "@storybook/csf": "^0.1.2",
- "@storybook/csf-tools": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/cross-spawn": "^6.0.2",
"cross-spawn": "^7.0.3",
"globby": "^11.0.2",
"jscodeshift": "^0.15.1",
"lodash": "^4.17.21",
- "prettier": "^2.8.0",
- "recast": "^0.23.1"
+ "prettier": "^3.1.1",
+ "recast": "^0.23.5",
+ "tiny-invariant": "^1.3.1"
},
"funding": {
"type": "opencollective",
@@ -13106,15 +12408,15 @@
}
},
"node_modules/@storybook/codemod/node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
@@ -13125,7 +12427,6 @@
"resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz",
"integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ast-types": "^0.16.1",
"esprima": "~4.0.0",
@@ -13150,20 +12451,19 @@
}
},
"node_modules/@storybook/components": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.15.tgz",
- "integrity": "sha512-xD+maP7+C9HeZXi2vJ+uK9hXN4S4spP4uDj9pyZ9yViKb+ztEO6WpovUMT8WRQ0mMegWyLXkx3zqu43hZvXM1g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.0.10.tgz",
+ "integrity": "sha512-eo+oDDcm35YBB3dtDYDfcjJypNVPmRty85VWpAOBsJXpwp/fgU8csx0DM3KmhrQ4cWLf2WzcFowJwI1w+J88Sw==",
"dev": true,
"dependencies": {
- "@radix-ui/react-select": "^1.2.2",
- "@radix-ui/react-toolbar": "^1.0.4",
- "@storybook/client-logger": "7.6.15",
- "@storybook/csf": "^0.1.2",
+ "@radix-ui/react-slot": "^1.0.2",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/csf": "^0.1.4",
"@storybook/global": "^5.0.0",
- "@storybook/theming": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/theming": "8.0.10",
+ "@storybook/types": "8.0.10",
"memoizerific": "^1.11.3",
- "use-resize-observer": "^9.1.0",
"util-deprecate": "^1.0.2"
},
"funding": {
@@ -13175,36 +12475,23 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/core-client": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.15.tgz",
- "integrity": "sha512-jwWol+zo+ItKBzPm9i80bEL6seHMsV0wKSaViVMQ4TqHtEbNeFE8sFEc2NTr18VNBnQOdlQPnEWmdboXBUrGcA==",
- "dev": true,
- "dependencies": {
- "@storybook/client-logger": "7.6.15",
- "@storybook/preview-api": "7.6.15"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
"node_modules/@storybook/core-common": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.15.tgz",
- "integrity": "sha512-VGmcLJ5U1r1s8/YnLbKcyB4GnNL+/sZIPqwlcSKzDXO76HoVFv1kywf7PbASote7P3gdhLSxBdg95LH2bdIbmw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.10.tgz",
+ "integrity": "sha512-hsFlPieputaDQoxstnPa3pykTc4bUwEDgCHf8U43+/Z7qmLOQ9fpG+2CFW930rsCRghYpPreOvsmhY7lsGKWLQ==",
"dev": true,
"dependencies": {
- "@storybook/core-events": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/types": "7.6.15",
- "@types/find-cache-dir": "^3.2.1",
- "@types/node": "^18.0.0",
- "@types/node-fetch": "^2.6.4",
- "@types/pretty-hrtime": "^1.0.0",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/types": "8.0.10",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
"chalk": "^4.1.0",
- "esbuild": "^0.18.0",
+ "cross-spawn": "^7.0.3",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
"esbuild-register": "^3.5.0",
+ "execa": "^5.0.0",
"file-system-cache": "2.3.0",
"find-cache-dir": "^3.0.0",
"find-up": "^5.0.0",
@@ -13217,7 +12504,11 @@
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
- "ts-dedent": "^2.0.0"
+ "semver": "^7.3.7",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4"
},
"funding": {
"type": "opencollective",
@@ -13233,6 +12524,29 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/@storybook/core-common/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
@@ -13344,12 +12658,23 @@
"node": ">=14.14"
}
},
+ "node_modules/@storybook/core-common/node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/glob": {
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
- "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -13365,6 +12690,27 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/@storybook/core-common/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -13407,12 +12753,29 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@storybook/core-common/node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
- "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -13428,11 +12791,37 @@
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
}
},
+ "node_modules/@storybook/core-common/node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/core-common/node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/p-locate": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
@@ -13466,6 +12855,15 @@
"node": ">=8"
}
},
+ "node_modules/@storybook/core-common/node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/core-common/node_modules/pkg-dir": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
@@ -13487,15 +12885,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/core-common/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@storybook/core-common/node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -13505,10 +12894,23 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/@storybook/core-common/node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/@storybook/core-events": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.15.tgz",
- "integrity": "sha512-i4YnjGecbpGyrFe0340sPhQ9QjZZEBqvMy6kF4XWt6DYLHxZmsTj1HEdvxVl4Ej7V49Vw0Dm8MepJ1d4Y8MKrQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.10.tgz",
+ "integrity": "sha512-TuHPS6p5ZNr4vp4butLb4R98aFx0NRYCI/7VPhJEUH5rPiqNzE3PZd8DC8rnVxavsJ+jO1/y+egNKXRYkEcoPQ==",
"dev": true,
"dependencies": {
"ts-dedent": "^2.0.0"
@@ -13519,26 +12921,28 @@
}
},
"node_modules/@storybook/core-server": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.15.tgz",
- "integrity": "sha512-iIlxEAkrmKTSA3iGNqt/4QG7hf5suxBGYIB3DZAOfBo8EdZogMYaEmuCm5dbuaJr0mcVwlqwdhQiWb1VsR/NhA==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.0.10.tgz",
+ "integrity": "sha512-HYDw2QFBxg1X/d6g0rUhirOB5Jq6g90HBnyrZzxKoqKWJCNsCADSgM+h9HgtUw0jA97qBpIqmNO9n3mXFPWU/Q==",
"dev": true,
"dependencies": {
"@aw-web-design/x-default-browser": "1.4.126",
+ "@babel/core": "^7.23.9",
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-manager": "7.6.15",
- "@storybook/channels": "7.6.15",
- "@storybook/core-common": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/csf": "^0.1.2",
- "@storybook/csf-tools": "7.6.15",
- "@storybook/docs-mdx": "^0.1.0",
+ "@storybook/builder-manager": "8.0.10",
+ "@storybook/channels": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/csf-tools": "8.0.10",
+ "@storybook/docs-mdx": "3.0.0",
"@storybook/global": "^5.0.0",
- "@storybook/manager": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/preview-api": "7.6.15",
- "@storybook/telemetry": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/manager": "8.0.10",
+ "@storybook/manager-api": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/telemetry": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/detect-port": "^1.3.0",
"@types/node": "^18.0.0",
"@types/pretty-hrtime": "^1.0.0",
@@ -13551,7 +12955,7 @@
"express": "^4.17.3",
"fs-extra": "^11.1.0",
"globby": "^11.0.2",
- "ip": "^2.0.0",
+ "ip": "^2.0.1",
"lodash": "^4.17.21",
"open": "^8.4.0",
"pretty-hrtime": "^1.0.3",
@@ -13659,7 +13063,6 @@
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
"integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
@@ -13673,7 +13076,6 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
@@ -13691,14 +13093,14 @@
}
},
"node_modules/@storybook/core-webpack": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.15.tgz",
- "integrity": "sha512-6Qk/kc7OKcy4jNowQFz6TFLWM2NYeLoJ73dIbFnN2o8DYS5WwmQLZhZ+MRvr92M+w1nlnc268kaqooYmAj8Mnw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.0.10.tgz",
+ "integrity": "sha512-nfhdhulKk0BTQA2e5cuoEpu+mdZawMr7DNnpc29gkTl8sRsED+4TR5HTjWUVCRqMb/a1UNbY4QVe7ozM/rVNdQ==",
"dev": true,
"dependencies": {
- "@storybook/core-common": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/node": "^18.0.0",
"ts-dedent": "^2.0.0"
},
@@ -13718,12 +13120,12 @@
}
},
"node_modules/@storybook/csf-plugin": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.15.tgz",
- "integrity": "sha512-5Pm2B8XKNdG3fHyItWKbWnXHSRDFSvetlML+sMWGWYIjwOsnvPqt+gAvLksWhv/uJgDujGxNcPEh+/Y5C8ZAjQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.0.10.tgz",
+ "integrity": "sha512-0EsyEx/06sCjI8sn40r7cABtBU1vUKPMPD+S5mJiZymm73BgdARj0qZOlLoK2LP+t2pcaB/Cn7KX/uyhhv7M2g==",
"dev": true,
"dependencies": {
- "@storybook/csf-tools": "7.6.15",
+ "@storybook/csf-tools": "8.0.10",
"unplugin": "^1.3.1"
},
"funding": {
@@ -13732,19 +13134,19 @@
}
},
"node_modules/@storybook/csf-tools": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.15.tgz",
- "integrity": "sha512-8iKgg2cmbFTpVhRRJOqouhPcEh0c8ywabG4S8ICZvnJooSXUI9mD9p3tYCS7MYuSiHj0epa1Kkn9DtXJRo9o6g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.10.tgz",
+ "integrity": "sha512-xUc6fVIKoCujf/7JZhkYjrVXeNsTSoDrZFNmqLEmtfktJVqYdXY4LuSAtlBmAIyETi09ULTuuVexrcKFwjzuBA==",
"dev": true,
"dependencies": {
"@babel/generator": "^7.23.0",
"@babel/parser": "^7.23.0",
"@babel/traverse": "^7.23.2",
"@babel/types": "^7.23.0",
- "@storybook/csf": "^0.1.2",
- "@storybook/types": "7.6.15",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/types": "8.0.10",
"fs-extra": "^11.1.0",
- "recast": "^0.23.1",
+ "recast": "^0.23.5",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -13783,7 +13185,6 @@
"resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz",
"integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==",
"dev": true,
- "license": "MIT",
"dependencies": {
"ast-types": "^0.16.1",
"esprima": "~4.0.0",
@@ -13817,20 +13218,21 @@
}
},
"node_modules/@storybook/docs-mdx": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz",
- "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-3.0.0.tgz",
+ "integrity": "sha512-NmiGXl2HU33zpwTv1XORe9XG9H+dRUC1Jl11u92L4xr062pZtrShLmD4VKIsOQujxhhOrbxpwhNOt+6TdhyIdQ==",
"dev": true
},
"node_modules/@storybook/docs-tools": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.15.tgz",
- "integrity": "sha512-npZEaI9Wpn9uJcRXFElqyiRw8bSxt95mLywPiEEGMT2kE5FfXM8d5Uj5O64kzoXdRI9IhRPEEZZidOtA/UInfQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.0.10.tgz",
+ "integrity": "sha512-rg9KS81vEh13VMr4mAgs+7L4kYqoRtG7kVfV1WHxzJxjR3wYcVR0kP9gPTWV4Xha/TA3onHu9sxKxMTWha0urQ==",
"dev": true,
"dependencies": {
- "@storybook/core-common": "7.6.15",
- "@storybook/preview-api": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/doctrine": "^0.0.3",
"assert": "^2.1.0",
"doctrine": "^3.0.0",
@@ -13885,10 +13287,55 @@
"integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==",
"dev": true
},
+ "node_modules/@storybook/icons": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.3.0.tgz",
+ "integrity": "sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.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"
+ }
+ },
+ "node_modules/@storybook/instrumenter": {
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.0.10.tgz",
+ "integrity": "sha512-6IYjWeQFA5x68xRoW5dU4yAc1Hwq1ZBkZbXVgJbr5LJw5x+y8eKdZzIaOmSsSKOI96R7J5YWWd2WA1Q0nRurtg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/global": "^5.0.0",
+ "@storybook/preview-api": "8.0.10",
+ "@vitest/utils": "^1.3.1",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/instrumenter/node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/@storybook/manager": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.15.tgz",
- "integrity": "sha512-GGV2ElV5AOIApy/FSDzoSlLUbyd2VhQVD3TdNGRxNauYRjEO8ulXHw2tNbT6ludtpYpDTAILzI6zT/iag8hmPQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.0.10.tgz",
+ "integrity": "sha512-bojGglUQNry48L4siURc2zQKswavLzMh69rqsfL3ZXx+i+USfRfB7593azTlaZh0q6HO4bUAjB24RfQCyifLLQ==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -13896,19 +13343,20 @@
}
},
"node_modules/@storybook/manager-api": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.15.tgz",
- "integrity": "sha512-cPBsXcnJiaO3QyaEum2JgdihYea3cI03FeV35JdrBYLIelT4oqbYFnzjznsFg9+Ia9iAbz7aOBNyyRsWnC/UKw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.0.10.tgz",
+ "integrity": "sha512-LLu6YKQLWf5QB3h3RO8IevjLrSOew7aidIQPr9DIr9xC8wA7N2fQabr+qrJdE306p3cHZ0nzhYNYZxSjm4Dvdw==",
"dev": true,
"dependencies": {
- "@storybook/channels": "7.6.15",
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/csf": "^0.1.2",
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
"@storybook/global": "^5.0.0",
- "@storybook/router": "7.6.15",
- "@storybook/theming": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/router": "8.0.10",
+ "@storybook/theming": "8.0.10",
+ "@storybook/types": "8.0.10",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
@@ -13921,26 +13369,10 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/mdx2-csf": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz",
- "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==",
- "dev": true
- },
"node_modules/@storybook/node-logger": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.15.tgz",
- "integrity": "sha512-C+sCvRjR+5uVU3VTrfyv7/RlPBxesAjIucUAK0keGyIZ7sFQYCPdkm4m/C4s+TcubgAzVvuoUHlRrSppdA7WzQ==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/postinstall": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.15.tgz",
- "integrity": "sha512-DXQQ4kjAbQ7BSd9M4lDI/12vEEciYMP8uYFDlrPFjwD9LezsxtRiORkazjNRRX4730faO5zZsnWhXxCVkxck0g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.10.tgz",
+ "integrity": "sha512-UMmaUaA3VOX/mKLsSvOnbZre2/1tZ6hazA6H0eAnClKb51jRD1AJrsBYK+uHr/CAp7t710bB5U8apPov7hayDw==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -13948,50 +13380,60 @@
}
},
"node_modules/@storybook/preset-react-webpack": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.15.tgz",
- "integrity": "sha512-Oo3J7RKO/tFUVnRXs16tZGcX6n90gTpHdlT2Z1fZ+y8wEd9o+VvvKFEIIeMcRxf3hHa49R6Kbc4AQaE9FAuDlw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.0.10.tgz",
+ "integrity": "sha512-+I0x8snLl9sfc3xXh51YLXwp0Km4Jhri+JJeT2r+zSI3k/fdu5bLz5NFPcxDmRm5ZPpaQyiLc2Mge4txMkFsZw==",
"dev": true,
"dependencies": {
- "@babel/preset-flow": "^7.22.15",
- "@babel/preset-react": "^7.22.15",
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
- "@storybook/core-webpack": "7.6.15",
- "@storybook/docs-tools": "7.6.15",
- "@storybook/node-logger": "7.6.15",
- "@storybook/react": "7.6.15",
+ "@storybook/core-webpack": "8.0.10",
+ "@storybook/docs-tools": "8.0.10",
+ "@storybook/node-logger": "8.0.10",
+ "@storybook/react": "8.0.10",
"@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0",
"@types/node": "^18.0.0",
"@types/semver": "^7.3.4",
- "babel-plugin-add-react-displayname": "^0.0.5",
+ "find-up": "^5.0.0",
"fs-extra": "^11.1.0",
"magic-string": "^0.30.5",
"react-docgen": "^7.0.0",
- "react-refresh": "^0.14.0",
+ "resolve": "^1.22.8",
"semver": "^7.3.7",
+ "tsconfig-paths": "^4.2.0",
"webpack": "5"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@babel/core": "^7.22.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
"typescript": {
"optional": true
}
}
},
+ "node_modules/@storybook/preset-react-webpack/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@storybook/preset-react-webpack/node_modules/fs-extra": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
@@ -14018,6 +13460,68 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@storybook/preset-react-webpack/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/preset-react-webpack/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/preset-react-webpack/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/preset-react-webpack/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@storybook/preset-react-webpack/node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dev": true,
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@storybook/preset-react-webpack/node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -14028,9 +13532,9 @@
}
},
"node_modules/@storybook/preview": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.15.tgz",
- "integrity": "sha512-q8d9v0+Bo/DHLV68OyV3Klep4knf2GAbrlHhLW1X4jlPccuEDUojIfqfK7m48ayeIxJzO48fcO0JdKM1XABx7g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.0.10.tgz",
+ "integrity": "sha512-op7gZqop8PSFyPA4tc1Zds8jG6VnskwpYUUsa44pZoEez9PKEFCf4jE+7AQwbBS3hnuCb0CKBfASN8GRyoznbw==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -14038,23 +13542,23 @@
}
},
"node_modules/@storybook/preview-api": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.15.tgz",
- "integrity": "sha512-2KN9vlizF6sFlYsJEGnFqcQaJXs4TTdawC1VazVdtaMSHANDxxDu8F1cP+u7lpPH3DkNZUmTGQDBYfYY9xR0eQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.10.tgz",
+ "integrity": "sha512-uZ6btF7Iloz9TnDcKLQ5ydi2YK0cnulv/8FLQhBCwSrzLLLb+T2DGz0cAeuWZEvMUNWNmkWJ9PAFQFs09/8p/Q==",
"dev": true,
"dependencies": {
- "@storybook/channels": "7.6.15",
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-events": "7.6.15",
- "@storybook/csf": "^0.1.2",
+ "@storybook/channels": "8.0.10",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/csf": "^0.1.4",
"@storybook/global": "^5.0.0",
- "@storybook/types": "7.6.15",
+ "@storybook/types": "8.0.10",
"@types/qs": "^6.9.5",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
- "synchronous-promise": "^2.0.15",
+ "tiny-invariant": "^1.3.1",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -14064,18 +13568,17 @@
}
},
"node_modules/@storybook/react": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.6.15.tgz",
- "integrity": "sha512-oJMSh4iTGu6OqCmj0LhkuPyMkxGMTCoohN4HcDpXd96jCSyWotVebRsg9xm5ddB7f54e6DY4XDoGH0WnVoR23g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.0.10.tgz",
+ "integrity": "sha512-/MIMc02TNmiNXDzk55dm9+ujfNE5LVNeqqK+vxXWLlCZ0aXRAd1/ZLYeRFuYLgEETB7mh7IP8AXjvM68NX5HYg==",
"dev": true,
"dependencies": {
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-client": "7.6.15",
- "@storybook/docs-tools": "7.6.15",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/docs-tools": "8.0.10",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.6.15",
- "@storybook/react-dom-shim": "7.6.15",
- "@storybook/types": "7.6.15",
+ "@storybook/preview-api": "8.0.10",
+ "@storybook/react-dom-shim": "8.0.10",
+ "@storybook/types": "8.0.10",
"@types/escodegen": "^0.0.6",
"@types/estree": "^0.0.51",
"@types/node": "^18.0.0",
@@ -14087,12 +13590,13 @@
"lodash": "^4.17.21",
"prop-types": "^15.7.2",
"react-element-to-jsx-string": "^15.0.0",
+ "semver": "^7.3.7",
"ts-dedent": "^2.0.0",
"type-fest": "~2.19",
"util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"funding": {
"type": "opencollective",
@@ -14101,7 +13605,7 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "typescript": "*"
+ "typescript": ">= 4.2.x"
},
"peerDependenciesMeta": {
"typescript": {
@@ -14252,9 +13756,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.15.tgz",
- "integrity": "sha512-2+X0HIxIyvjfSKVyGGjSJJLEFJ2ox7Rr8FjlMiRo5QfoOJhohZuWH7p4Lw7JMwm5PotnjrwlfsZI3cCilYJeYA==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.0.10.tgz",
+ "integrity": "sha512-3x8EWEkZebpWpp1pwXEzdabGINwOQt8odM5+hsOlDRtFZBmUqmmzK0rtn7orlcGlOXO4rd6QuZj4Tc5WV28dVQ==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -14266,33 +13770,29 @@
}
},
"node_modules/@storybook/react-webpack5": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.15.tgz",
- "integrity": "sha512-TyYYSDho+4cQRBCVMKu7XDTCrAsLWaeldCoZm910e4DTXZUV3NDG8hVJIXzweaCu1o7JtDOelxsA6iizR/22GQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.0.10.tgz",
+ "integrity": "sha512-KqQTYiFBTfWJOKP4SxirXRNLYCaLxFlDmEyUjQHuBbA03fEnvTYlCR7Kv5leArvBTiMpat2IfPqXlc048PKFRw==",
"dev": true,
"dependencies": {
- "@storybook/builder-webpack5": "7.6.15",
- "@storybook/preset-react-webpack": "7.6.15",
- "@storybook/react": "7.6.15",
+ "@storybook/builder-webpack5": "8.0.10",
+ "@storybook/preset-react-webpack": "8.0.10",
+ "@storybook/react": "8.0.10",
"@types/node": "^18.0.0"
},
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@babel/core": "^7.22.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "typescript": "*"
+ "typescript": ">= 4.2.x"
},
"peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
"typescript": {
"optional": true
}
@@ -14329,12 +13829,12 @@
}
},
"node_modules/@storybook/router": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.15.tgz",
- "integrity": "sha512-5yhXXoVZ1iKUgeZoO8PGqBclrLgoJisxIYVK/Y1iJMXZ2ZvwUiTswLALT6lu97tSrcoBVxmqSghg0+U0YEU4Fg==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.0.10.tgz",
+ "integrity": "sha512-AZhgiet+EK0ZsPbaDgbbVTAHW2LAMCP1z/Un2uMBbdDeD0Ys29Af47AbEj/Ome5r1cqasLvzq2WXJlVXPNB0Zw==",
"dev": true,
"dependencies": {
- "@storybook/client-logger": "7.6.15",
+ "@storybook/client-logger": "8.0.10",
"memoizerific": "^1.11.3",
"qs": "^6.10.0"
},
@@ -14344,16 +13844,16 @@
}
},
"node_modules/@storybook/source-loader": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-7.6.15.tgz",
- "integrity": "sha512-E7LqjfvEUs2dn8ZWc1OfqzXU3vyi2/yP7rPHPRFjDUIpz1QI4IUCUIFY+n3YWkbk8wlmf6dV/2QYzYZPp6RD0g==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-8.0.10.tgz",
+ "integrity": "sha512-bv9FRPzELjcoMJLWLDqkUNh1zY0DiCgcvM+9qsZva8pxAD4fzrX+mgCS2vZVJHRg8wMAhw/ymdXixDUodHAvsw==",
"dev": true,
"dependencies": {
- "@storybook/csf": "^0.1.2",
- "@storybook/types": "7.6.15",
+ "@storybook/csf": "^0.1.4",
+ "@storybook/types": "8.0.10",
"estraverse": "^5.2.0",
"lodash": "^4.17.21",
- "prettier": "^2.8.0"
+ "prettier": "^3.1.1"
},
"funding": {
"type": "opencollective",
@@ -14370,29 +13870,29 @@
}
},
"node_modules/@storybook/source-loader/node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/@storybook/telemetry": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.15.tgz",
- "integrity": "sha512-klhKXLUS3OXozGEtMbbhKZLDfm+m3nNk2jvGwD6kkBenzFUzb0P2m8awxU7h1pBcKZKH/27U9t3KVzNFzWoWPw==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.0.10.tgz",
+ "integrity": "sha512-s4Uc+KZQkdmD2d+64Qf8wYknhQZwmjf2CxjIjv9b4KLsU/nyfDheK7Fzd1jhBKb2UQUlLW5HhZkBgs1RsZcDHA==",
"dev": true,
"dependencies": {
- "@storybook/client-logger": "7.6.15",
- "@storybook/core-common": "7.6.15",
- "@storybook/csf-tools": "7.6.15",
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-common": "8.0.10",
+ "@storybook/csf-tools": "8.0.10",
"chalk": "^4.1.0",
"detect-package-manager": "^2.0.1",
"fetch-retry": "^5.0.2",
@@ -14439,14 +13939,131 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/@storybook/test": {
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.0.10.tgz",
+ "integrity": "sha512-VqjzKJiOCjaZ0CjLeKygYk8uetiaiKbpIox+BrND9GtpEBHcRZA5AeFY2P1aSCOhsaDwuh4KRBxJWFug7DhWGQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/client-logger": "8.0.10",
+ "@storybook/core-events": "8.0.10",
+ "@storybook/instrumenter": "8.0.10",
+ "@storybook/preview-api": "8.0.10",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/user-event": "^14.5.2",
+ "@vitest/expect": "1.3.1",
+ "@vitest/spy": "^1.3.1",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/@testing-library/jest-dom": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz",
+ "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==",
+ "dev": true,
+ "dependencies": {
+ "@adobe/css-tools": "^4.4.0",
+ "aria-query": "^5.0.0",
+ "chalk": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "dom-accessibility-api": "^0.6.3",
+ "lodash": "^4.17.21",
+ "redent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/@testing-library/user-event": {
+ "version": "14.5.2",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz",
+ "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/aria-query": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/dom-accessibility-api": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
+ "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
+ "dev": true
+ },
+ "node_modules/@storybook/test/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/test/node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/@storybook/theming": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.15.tgz",
- "integrity": "sha512-9PpsHAbUf6o0w33/P3mnb7QheTmfGlTYCismj5HMM1O2/zY0kQK9XcG9W+Cyvu56D/lFC19fz9YHQY8W4AbfnQ==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.0.10.tgz",
+ "integrity": "sha512-7NHt7bMC7lPkwz9KdDpa6DkLoQZz5OV6jsx/qY91kcdLo1rpnRPAiVlJvmWesFxi1oXOpVDpHHllWzf8KDBv8A==",
"dev": true,
"dependencies": {
- "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
- "@storybook/client-logger": "7.6.15",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@storybook/client-logger": "8.0.10",
"@storybook/global": "^5.0.0",
"memoizerific": "^1.11.3"
},
@@ -14457,16 +14074,23 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
"node_modules/@storybook/types": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.15.tgz",
- "integrity": "sha512-tLH0lK6SXECSfMpKin9bge+7XiHZII17n6jc9ZI1TfSBZJyq3M6VzWh2r1C2lC97FlkcKXjIwM3n8h1xNjnI+A==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.10.tgz",
+ "integrity": "sha512-S/hKS7+SqNnYIehwxdQ4M2nnlfGDdYWAXdtPCVJCmS+YF2amgAxeuisiHbUg7eypds6VL0Oxk/j2nPEHOHk9pg==",
"dev": true,
"dependencies": {
- "@storybook/channels": "7.6.15",
- "@types/babel__core": "^7.0.0",
+ "@storybook/channels": "8.0.10",
"@types/express": "^4.7.0",
"file-system-cache": "2.3.0"
},
@@ -14864,216 +14488,6 @@
"url": "https://github.com/sponsors/gregberge"
}
},
- "node_modules/@swc/core": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.1.tgz",
- "integrity": "sha512-3y+Y8js+e7BbM16iND+6Rcs3jdiL28q3iVtYsCviYSSpP2uUVKkp5sJnCY4pg8AaVvyN7CGQHO7gLEZQ5ByozQ==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@swc/counter": "^0.1.2",
- "@swc/types": "^0.1.5"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/swc"
- },
- "optionalDependencies": {
- "@swc/core-darwin-arm64": "1.4.1",
- "@swc/core-darwin-x64": "1.4.1",
- "@swc/core-linux-arm-gnueabihf": "1.4.1",
- "@swc/core-linux-arm64-gnu": "1.4.1",
- "@swc/core-linux-arm64-musl": "1.4.1",
- "@swc/core-linux-x64-gnu": "1.4.1",
- "@swc/core-linux-x64-musl": "1.4.1",
- "@swc/core-win32-arm64-msvc": "1.4.1",
- "@swc/core-win32-ia32-msvc": "1.4.1",
- "@swc/core-win32-x64-msvc": "1.4.1"
- },
- "peerDependencies": {
- "@swc/helpers": "^0.5.0"
- },
- "peerDependenciesMeta": {
- "@swc/helpers": {
- "optional": true
- }
- }
- },
- "node_modules/@swc/core-darwin-arm64": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.1.tgz",
- "integrity": "sha512-ePyfx0348UbR4DOAW24TedeJbafnzha8liXFGuQ4bdXtEVXhLfPngprrxKrAddCuv42F9aTxydlF6+adD3FBhA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-darwin-x64": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.1.tgz",
- "integrity": "sha512-eLf4JSe6VkCMdDowjM8XNC5rO+BrgfbluEzAVtKR8L2HacNYukieumN7EzpYCi0uF1BYwu1ku6tLyG2r0VcGxA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.1.tgz",
- "integrity": "sha512-K8VtTLWMw+rkN/jDC9o/Q9SMmzdiHwYo2CfgkwVT29NsGccwmNhCQx6XoYiPKyKGIFKt4tdQnJHKUFzxUqQVtQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.1.tgz",
- "integrity": "sha512-0e8p4g0Bfkt8lkiWgcdiENH3RzkcqKtpRXIVNGOmVc0OBkvc2tpm2WTx/eoCnes2HpTT4CTtR3Zljj4knQ4Fvw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.1.tgz",
- "integrity": "sha512-b/vWGQo2n7lZVUnSQ7NBq3Qrj85GrAPPiRbpqaIGwOytiFSk8VULFihbEUwDe0rXgY4LDm8z8wkgADZcLnmdUA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.1.tgz",
- "integrity": "sha512-AFMQlvkKEdNi1Vk2GFTxxJzbICttBsOQaXa98kFTeWTnFFIyiIj2w7Sk8XRTEJ/AjF8ia8JPKb1zddBWr9+bEQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-linux-x64-musl": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.1.tgz",
- "integrity": "sha512-QX2MxIECX1gfvUVZY+jk528/oFkS9MAl76e3ZRvG2KC/aKlCQL0KSzcTSm13mOxkDKS30EaGRDRQWNukGpMeRg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.1.tgz",
- "integrity": "sha512-OklkJYXXI/tntD2zaY8i3iZldpyDw5q+NAP3k9OlQ7wXXf37djRsHLV0NW4+ZNHBjE9xp2RsXJ0jlOJhfgGoFA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.1.tgz",
- "integrity": "sha512-MBuc3/QfKX9FnLOU7iGN+6yHRTQaPQ9WskiC8s8JFiKQ+7I2p25tay2RplR9dIEEGgVAu6L7auv96LbNTh+FaA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.1.tgz",
- "integrity": "sha512-lu4h4wFBb/bOK6N2MuZwg7TrEpwYXgpQf5R7ObNSXL65BwZ9BG8XRzD+dLJmALu8l5N08rP/TrpoKRoGT4WSxw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@swc/counter": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
- "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
- "dev": true
- },
- "node_modules/@swc/types": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
- "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==",
- "dev": true
- },
"node_modules/@szmarczak/http-timer": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
@@ -15113,9 +14527,9 @@
"integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw=="
},
"node_modules/@testing-library/dom": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz",
- "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==",
+ "version": "9.3.4",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz",
+ "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
@@ -15563,9 +14977,9 @@
"dev": true
},
"node_modules/@types/emscripten": {
- "version": "1.39.10",
- "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz",
- "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==",
+ "version": "1.39.13",
+ "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz",
+ "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==",
"dev": true
},
"node_modules/@types/escodegen": {
@@ -15631,12 +15045,6 @@
"integrity": "sha512-g39Vp8ZJ3D0gXhhkhDidVvdy4QajkF7/PV6HGn23FMaMqE/tLC1JNHUeQ7SshKLsBjucakZsXBLkWULbGLdL5g==",
"dev": true
},
- "node_modules/@types/find-cache-dir": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz",
- "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==",
- "dev": true
- },
"node_modules/@types/find-root": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@types/find-root/-/find-root-1.1.2.tgz",
@@ -15667,6 +15075,15 @@
"resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.45.tgz",
"integrity": "sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ=="
},
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
"node_modules/@types/highlight-words-core": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@types/highlight-words-core/-/highlight-words-core-1.2.1.tgz",
@@ -15790,9 +15207,9 @@
"license": "MIT"
},
"node_modules/@types/mdx": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.6.tgz",
- "integrity": "sha512-sVcwEG10aFU2KcM7cIA0M410UPv/DesOPyG8zMVk0QUDexHA3lYmGucpEpZ2dtWWhi2ip3CG+5g/iH0PwoW4Fw==",
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
+ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
"dev": true
},
"node_modules/@types/method-override": {
@@ -15811,12 +15228,6 @@
"integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
"dev": true
},
- "node_modules/@types/mime-types": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz",
- "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==",
- "dev": true
- },
"node_modules/@types/minimatch": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -15858,16 +15269,6 @@
"undici-types": "~5.26.4"
}
},
- "node_modules/@types/node-fetch": {
- "version": "2.6.11",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz",
- "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "form-data": "^4.0.0"
- }
- },
"node_modules/@types/node-forge": {
"version": "1.3.11",
"resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz",
@@ -16763,6 +16164,12 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
+ "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
+ "dev": true
+ },
"node_modules/@use-gesture/core": {
"version": "10.3.1",
"resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.1.tgz",
@@ -16779,6 +16186,47 @@
"react": ">= 16.8.0"
}
},
+ "node_modules/@vitest/expect": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz",
+ "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==",
+ "dev": true,
+ "dependencies": {
+ "@vitest/spy": "1.3.1",
+ "@vitest/utils": "1.3.1",
+ "chai": "^4.3.10"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/spy": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz",
+ "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==",
+ "dev": true,
+ "dependencies": {
+ "tinyspy": "^2.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz",
+ "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==",
+ "dev": true,
+ "dependencies": {
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
"node_modules/@wdio/config": {
"version": "8.16.20",
"resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.16.20.tgz",
@@ -19412,6 +18860,15 @@
"inherits": "2.0.3"
}
},
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -19827,12 +19284,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/babel-plugin-add-react-displayname": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz",
- "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==",
- "dev": true
- },
"node_modules/babel-plugin-inline-json-import": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-inline-json-import/-/babel-plugin-inline-json-import-0.3.2.tgz",
@@ -21108,6 +20559,33 @@
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
"integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw=="
},
+ "node_modules/chai": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz",
+ "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
+ "dev": true,
+ "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.6",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chai/node_modules/type-detect": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz",
+ "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -21194,6 +20672,18 @@
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
+ "node_modules/check-error": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
+ "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
+ "dev": true,
+ "dependencies": {
+ "get-func-name": "^2.0.2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/check-node-version": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.1.0.tgz",
@@ -21575,9 +21065,9 @@
}
},
"node_modules/cli-table3": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
+ "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
"dev": true,
"dependencies": {
"string-width": "^4.2.0"
@@ -22235,6 +21725,12 @@
"node": ">=0.8.0"
}
},
+ "node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+ "dev": true
+ },
"node_modules/configstore": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
@@ -24010,6 +23506,18 @@
"integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
"dev": true
},
+ "node_modules/deep-eql": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
+ "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
+ "dev": true,
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -24724,9 +24232,9 @@
}
},
"node_modules/detect-port": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz",
- "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz",
+ "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==",
"dev": true,
"dependencies": {
"address": "^1.0.1",
@@ -24735,6 +24243,9 @@
"bin": {
"detect": "bin/detect-port.js",
"detect-port": "bin/detect-port.js"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
}
},
"node_modules/devtools-protocol": {
@@ -25598,9 +25109,9 @@
"dev": true
},
"node_modules/esbuild-register": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz",
- "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz",
+ "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
@@ -26452,6 +25963,15 @@
"node": ">=4.0"
}
},
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
"node_modules/esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
@@ -28336,6 +27856,15 @@
"node": "6.* || 8.* || >= 10.*"
}
},
+ "node_modules/get-func-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
+ "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/get-intrinsic": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
@@ -28581,18 +28110,18 @@
}
},
"node_modules/giget": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz",
- "integrity": "sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz",
+ "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==",
"dev": true,
"dependencies": {
- "citty": "^0.1.5",
+ "citty": "^0.1.6",
"consola": "^3.2.3",
- "defu": "^6.1.3",
- "node-fetch-native": "^1.6.1",
- "nypm": "^0.3.3",
+ "defu": "^6.1.4",
+ "node-fetch-native": "^1.6.3",
+ "nypm": "^0.3.8",
"ohash": "^1.1.3",
- "pathe": "^1.1.1",
+ "pathe": "^1.1.2",
"tar": "^6.2.0"
},
"bin": {
@@ -28707,9 +28236,9 @@
"optional": true
},
"node_modules/github-slugger": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz",
- "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
+ "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==",
"dev": true
},
"node_modules/glob": {
@@ -29226,6 +28755,45 @@
"node": ">= 0.4"
}
},
+ "node_modules/hast-util-heading-rank": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz",
+ "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-is-element": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
+ "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-string": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz",
+ "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -29430,9 +28998,9 @@
}
},
"node_modules/html-webpack-plugin": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz",
- "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==",
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz",
+ "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==",
"dev": true,
"dependencies": {
"@types/html-minifier-terser": "^6.0.0",
@@ -30304,12 +29872,15 @@
}
},
"node_modules/is-absolute-url": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
- "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz",
+ "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-accessor-descriptor": {
@@ -35045,6 +34616,15 @@
"loose-envify": "cli.js"
}
},
+ "node_modules/loupe": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
+ "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
+ "dev": true,
+ "dependencies": {
+ "get-func-name": "^2.0.1"
+ }
+ },
"node_modules/lower-case": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
@@ -35092,15 +34672,12 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz",
- "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==",
+ "version": "0.30.15",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.15.tgz",
+ "integrity": "sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==",
"dev": true,
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- },
- "engines": {
- "node": ">=12"
+ "@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/make-dir": {
@@ -35628,9 +35205,9 @@
"integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q=="
},
"node_modules/markdown-to-jsx": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz",
- "integrity": "sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==",
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz",
+ "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==",
"dev": true,
"engines": {
"node": ">= 10"
@@ -35812,58 +35389,6 @@
"unist-util-visit": "^1.1.0"
}
},
- "node_modules/mdast-util-definitions": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz",
- "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==",
- "dev": true,
- "dependencies": {
- "unist-util-visit": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "dev": true,
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/mdast-util-inject": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
@@ -37017,6 +36542,30 @@
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"dev": true
},
+ "node_modules/mlly": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.3.tgz",
+ "integrity": "sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "pathe": "^1.1.2",
+ "pkg-types": "^1.2.1",
+ "ufo": "^1.5.4"
+ }
+ },
+ "node_modules/mlly/node_modules/acorn": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/mock-match-media": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/mock-match-media/-/mock-match-media-0.4.2.tgz",
@@ -37641,9 +37190,9 @@
}
},
"node_modules/node-fetch-native": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz",
- "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==",
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz",
+ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==",
"dev": true
},
"node_modules/node-forge": {
@@ -38924,15 +38473,17 @@
}
},
"node_modules/nypm": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.6.tgz",
- "integrity": "sha512-2CATJh3pd6CyNfU5VZM7qSwFu0ieyabkEdnogE30Obn1czrmOYiZ8DOZLe1yBdLKWoyD3Mcy2maUs+0MR3yVjQ==",
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.12.tgz",
+ "integrity": "sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==",
"dev": true,
"dependencies": {
- "citty": "^0.1.5",
+ "citty": "^0.1.6",
+ "consola": "^3.2.3",
"execa": "^8.0.1",
"pathe": "^1.1.2",
- "ufo": "^1.3.2"
+ "pkg-types": "^1.2.0",
+ "ufo": "^1.5.4"
},
"bin": {
"nypm": "dist/cli.mjs"
@@ -38941,6 +38492,15 @@
"node": "^14.16.0 || >=16.10.0"
}
},
+ "node_modules/nypm/node_modules/consola": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
+ "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.18.0 || >=16.10.0"
+ }
+ },
"node_modules/nypm/node_modules/execa": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
@@ -39024,11 +38584,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/nypm/node_modules/npm-run-path/node_modules/path-key": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+ "node_modules/nypm/node_modules/onetime": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
"engines": {
"node": ">=12"
},
@@ -39036,14 +38599,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/nypm/node_modules/onetime": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
+ "node_modules/nypm/node_modules/path-key": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
- "dependencies": {
- "mimic-fn": "^4.0.0"
- },
"engines": {
"node": ">=12"
},
@@ -39282,9 +38842,9 @@
"dev": true
},
"node_modules/ohash": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz",
- "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz",
+ "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==",
"dev": true
},
"node_modules/on-finished": {
@@ -40526,6 +40086,15 @@
"integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
"dev": true
},
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/pbkdf2": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
@@ -40657,6 +40226,17 @@
"node": ">=4"
}
},
+ "node_modules/pkg-types": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz",
+ "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==",
+ "dev": true,
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.2",
+ "pathe": "^1.1.2"
+ }
+ },
"node_modules/platform": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz",
@@ -42338,9 +41918,9 @@
}
},
"node_modules/react-docgen": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz",
- "integrity": "sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.0.tgz",
+ "integrity": "sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==",
"dev": true,
"dependencies": {
"@babel/core": "^7.18.9",
@@ -43507,155 +43087,176 @@
"regjsparser": "bin/parser"
}
},
- "node_modules/relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "node_modules/rehype-external-links": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz",
+ "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==",
"dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/remark": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
- "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
"dependencies": {
- "remark-parse": "^6.0.0",
- "remark-stringify": "^6.0.0",
- "unified": "^7.0.0"
+ "@types/hast": "^3.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "hast-util-is-element": "^3.0.0",
+ "is-absolute-url": "^4.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "unist-util-visit": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-external-links": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz",
- "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==",
+ "node_modules/rehype-external-links/node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true
+ },
+ "node_modules/rehype-external-links/node_modules/unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
"dev": true,
"dependencies": {
- "extend": "^3.0.0",
- "is-absolute-url": "^3.0.0",
- "mdast-util-definitions": "^4.0.0",
- "space-separated-tokens": "^1.0.0",
- "unist-util-visit": "^2.0.0"
+ "@types/unist": "^3.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-external-links/node_modules/unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+ "node_modules/rehype-external-links/node_modules/unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
"dev": true,
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-external-links/node_modules/unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "node_modules/rehype-external-links/node_modules/unist-util-visit-parents": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
"dev": true,
"dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-external-links/node_modules/unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
+ "node_modules/rehype-slug": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz",
+ "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==",
"dev": true,
"dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
+ "@types/hast": "^3.0.0",
+ "github-slugger": "^2.0.0",
+ "hast-util-heading-rank": "^3.0.0",
+ "hast-util-to-string": "^3.0.0",
+ "unist-util-visit": "^5.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-parse": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
- "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
- "dependencies": {
- "collapse-white-space": "^1.0.2",
- "is-alphabetical": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-whitespace-character": "^1.0.0",
- "is-word-character": "^1.0.0",
- "markdown-escapes": "^1.0.0",
- "parse-entities": "^1.1.0",
- "repeat-string": "^1.5.4",
- "state-toggle": "^1.0.0",
- "trim": "0.0.1",
- "trim-trailing-lines": "^1.0.0",
- "unherit": "^1.0.4",
- "unist-util-remove-position": "^1.0.0",
- "vfile-location": "^2.0.0",
- "xtend": "^4.0.1"
- }
+ "node_modules/rehype-slug/node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true
},
- "node_modules/remark-slug": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz",
- "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==",
+ "node_modules/rehype-slug/node_modules/unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
"dev": true,
"dependencies": {
- "github-slugger": "^1.0.0",
- "mdast-util-to-string": "^1.0.0",
- "unist-util-visit": "^2.0.0"
+ "@types/unist": "^3.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-slug/node_modules/unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+ "node_modules/rehype-slug/node_modules/unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
"dev": true,
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-slug/node_modules/unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "node_modules/rehype-slug/node_modules/unist-util-visit-parents": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
"dev": true,
"dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-slug/node_modules/unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
"dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/remark": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
+ "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
"dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "remark-parse": "^6.0.0",
+ "remark-stringify": "^6.0.0",
+ "unified": "^7.0.0"
+ }
+ },
+ "node_modules/remark-parse": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
+ "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+ "dependencies": {
+ "collapse-white-space": "^1.0.2",
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "is-word-character": "^1.0.0",
+ "markdown-escapes": "^1.0.0",
+ "parse-entities": "^1.1.0",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^1.0.0",
+ "vfile-location": "^2.0.0",
+ "xtend": "^4.0.1"
}
},
"node_modules/remark-stringify": {
@@ -45808,9 +45409,9 @@
"deprecated": "See https://github.com/lydell/source-map-url#deprecated"
},
"node_modules/space-separated-tokens": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
- "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
"dev": true,
"funding": {
"type": "github",
@@ -46131,18 +45732,18 @@
}
},
"node_modules/store2": {
- "version": "2.14.2",
- "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz",
- "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==",
+ "version": "2.14.3",
+ "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz",
+ "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==",
"dev": true
},
"node_modules/storybook": {
- "version": "7.6.15",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.15.tgz",
- "integrity": "sha512-Ybezq9JRk5CBhzjgzZ/oT7mnU45UwhyVSGKW+PUKZGGUG9VH2hCrTEES9f/zEF82kj/5COVPyqR/5vlXuuS39A==",
+ "version": "8.0.10",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.0.10.tgz",
+ "integrity": "sha512-9/4oxISopLyr5xz7Du27mmQgcIfB7UTLlNzkK4IklWTiSgsOgYgZpsmIwymoXNtkrvh+QsqskdcUP1C7nNiEtw==",
"dev": true,
"dependencies": {
- "@storybook/cli": "7.6.15"
+ "@storybook/cli": "8.0.10"
},
"bin": {
"sb": "index.js",
@@ -47102,19 +46703,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/swc-loader": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz",
- "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==",
- "dev": true,
- "dependencies": {
- "@swc/counter": "^0.1.3"
- },
- "peerDependencies": {
- "@swc/core": "^1.2.147",
- "webpack": ">=2"
- }
- },
"node_modules/symbol-observable": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
@@ -47129,12 +46717,6 @@
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
},
- "node_modules/synchronous-promise": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz",
- "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==",
- "dev": true
- },
"node_modules/synckit": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
@@ -47494,7 +47076,6 @@
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
- "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -47537,7 +47118,6 @@
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
- "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -47829,6 +47409,15 @@
"integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
"dev": true
},
+ "node_modules/tinyspy": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz",
+ "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/titleize": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
@@ -47941,9 +47530,9 @@
}
},
"node_modules/tocbot": {
- "version": "4.25.0",
- "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz",
- "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==",
+ "version": "4.32.2",
+ "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.32.2.tgz",
+ "integrity": "sha512-UbVZNXX79LUqMzsnSTwE/YF/PYc2pg3G77D/jcolHd6lmw+oklzfcLtHSsmWBhOf1wfWD1HfYzdjGQef1VcQgg==",
"dev": true
},
"node_modules/toidentifier": {
@@ -48410,9 +47999,9 @@
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
},
"node_modules/ufo": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz",
- "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz",
+ "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==",
"dev": true
},
"node_modules/uglify-js": {
@@ -48688,23 +48277,23 @@
}
},
"node_modules/unplugin": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz",
- "integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==",
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.0.tgz",
+ "integrity": "sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==",
"dev": true,
"dependencies": {
- "acorn": "^8.11.3",
- "chokidar": "^3.5.3",
- "webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.1"
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
"node_modules/unplugin/node_modules/acorn": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz",
- "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
- "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -48716,8 +48305,7 @@
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/unset-value": {
"version": "1.0.0",
@@ -48981,19 +48569,6 @@
"react": "^16.8.0"
}
},
- "node_modules/use-resize-observer": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz",
- "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==",
- "dev": true,
- "dependencies": {
- "@juggle/resize-observer": "^3.3.1"
- },
- "peerDependencies": {
- "react": "16.8.0 - 18",
- "react-dom": "16.8.0 - 18"
- }
- },
"node_modules/use-sidecar": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
@@ -50505,7 +50080,6 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"dev": true,
- "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
diff --git a/package.json b/package.json
index b4fd877c826905..ce20056deb5ce9 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,7 @@
"@emotion/babel-plugin": "11.11.0",
"@emotion/jest": "11.7.1",
"@emotion/native": "11.0.0",
- "@geometricpanda/storybook-addon-badges": "2.0.1",
+ "@geometricpanda/storybook-addon-badges": "2.0.5",
"@octokit/rest": "16.26.0",
"@octokit/types": "6.34.0",
"@octokit/webhooks-types": "5.8.0",
@@ -42,16 +42,18 @@
"@react-native/babel-preset": "0.73.10",
"@react-native/metro-babel-transformer": "0.73.10",
"@react-native/metro-config": "0.73.4",
- "@storybook/addon-a11y": "7.6.15",
- "@storybook/addon-actions": "7.6.15",
- "@storybook/addon-controls": "7.6.15",
- "@storybook/addon-docs": "7.6.15",
- "@storybook/addon-toolbars": "7.6.15",
- "@storybook/addon-viewport": "7.6.15",
- "@storybook/react": "7.6.15",
- "@storybook/react-webpack5": "7.6.15",
- "@storybook/source-loader": "7.6.15",
- "@storybook/theming": "7.6.15",
+ "@storybook/addon-a11y": "8.0.10",
+ "@storybook/addon-actions": "8.0.10",
+ "@storybook/addon-controls": "8.0.10",
+ "@storybook/addon-docs": "8.0.10",
+ "@storybook/addon-toolbars": "8.0.10",
+ "@storybook/addon-viewport": "8.0.10",
+ "@storybook/addon-webpack5-compiler-babel": "3.0.3",
+ "@storybook/react": "8.0.10",
+ "@storybook/react-webpack5": "8.0.10",
+ "@storybook/source-loader": "8.0.10",
+ "@storybook/test": "8.0.10",
+ "@storybook/theming": "8.0.10",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "14.3.0",
"@testing-library/react-native": "12.4.3",
@@ -156,7 +158,7 @@
"snapshot-diff": "0.10.0",
"source-map-loader": "3.0.0",
"sprintf-js": "1.1.1",
- "storybook": "7.6.15",
+ "storybook": "8.0.10",
"storybook-source-link": "2.0.9",
"strip-json-comments": "5.0.0",
"style-loader": "3.2.1",
diff --git a/packages/components/src/custom-select-control-v2/stories/index.story.tsx b/packages/components/src/custom-select-control-v2/stories/index.story.tsx
index 75226314af8dbd..b65c599ec9997c 100644
--- a/packages/components/src/custom-select-control-v2/stories/index.story.tsx
+++ b/packages/components/src/custom-select-control-v2/stories/index.story.tsx
@@ -2,6 +2,7 @@
* External dependencies
*/
import type { Meta, StoryFn } from '@storybook/react';
+import { fn } from '@storybook/test';
/**
* WordPress dependencies
@@ -44,6 +45,9 @@ const meta: Meta< typeof CustomSelectControlV2 > = {
),
],
+ args: {
+ onChange: fn(),
+ },
};
export default meta;
diff --git a/packages/components/src/tab-panel/stories/index.story.tsx b/packages/components/src/tab-panel/stories/index.story.tsx
index 57a3cc311f863c..8f40c61beb5239 100644
--- a/packages/components/src/tab-panel/stories/index.story.tsx
+++ b/packages/components/src/tab-panel/stories/index.story.tsx
@@ -2,6 +2,7 @@
* External dependencies
*/
import type { Meta, StoryFn } from '@storybook/react';
+import { fn } from '@storybook/test';
/**
* WordPress dependencies
@@ -22,6 +23,9 @@ const meta: Meta< typeof TabPanel > = {
controls: { expanded: true },
docs: { canvas: { sourceState: 'shown' } },
},
+ args: {
+ onSelect: fn(),
+ },
};
export default meta;
diff --git a/packages/components/src/tabs/stories/index.story.tsx b/packages/components/src/tabs/stories/index.story.tsx
index 5b2fd621bbb436..e434bb501d85c9 100644
--- a/packages/components/src/tabs/stories/index.story.tsx
+++ b/packages/components/src/tabs/stories/index.story.tsx
@@ -2,6 +2,7 @@
* External dependencies
*/
import type { Meta, StoryFn } from '@storybook/react';
+import { fn } from '@storybook/test';
/**
* WordPress dependencies
@@ -39,6 +40,10 @@ const meta: Meta< typeof Tabs > = {
controls: { expanded: true },
docs: { canvas: { sourceState: 'shown' } },
},
+ args: {
+ onActiveTabIdChange: fn(),
+ onSelect: fn(),
+ },
};
export default meta;
diff --git a/patches/storybook-source-link+2.0.9.patch b/patches/storybook-source-link+2.0.9.patch
new file mode 100644
index 00000000000000..c1db218d953a90
--- /dev/null
+++ b/patches/storybook-source-link+2.0.9.patch
@@ -0,0 +1,55 @@
+diff --git a/node_modules/storybook-source-link/dist/esm/Tool.js b/node_modules/storybook-source-link/dist/esm/Tool.js
+index 100099e..53d37c4 100644
+--- a/node_modules/storybook-source-link/dist/esm/Tool.js
++++ b/node_modules/storybook-source-link/dist/esm/Tool.js
+@@ -1,7 +1,8 @@
+ import React from "react";
+-import { Icons, IconButton, TooltipMessage, WithTooltip } from "@storybook/components";
+-import { PARAM_KEY, PREFIX_PARAM_KEY, ICON_PARAM_KEY, INFO_LINK, TOOL_ID } from "./constants";
+-import { useParameter } from '@storybook/api';
++import { IconButton, TooltipMessage, WithTooltip } from "@storybook/components";
++import { RepoIcon } from '@storybook/icons';
++import { PARAM_KEY, PREFIX_PARAM_KEY, INFO_LINK, TOOL_ID } from "./constants";
++import { useParameter } from '@storybook/manager-api';
+
+ var Tooltip = function Tooltip() {
+ return /*#__PURE__*/React.createElement(TooltipMessage, {
+@@ -24,7 +25,6 @@ export var getLink = function getLink(prefix, link) {
+ export var Tool = function Tool() {
+ var param_link = useParameter(PARAM_KEY, null);
+ var param_prefix = useParameter(PREFIX_PARAM_KEY, null);
+- var param_icon = useParameter(ICON_PARAM_KEY, "repository");
+ var link = getLink(param_prefix, param_link);
+ return link ? /*#__PURE__*/React.createElement(IconButton, {
+ key: TOOL_ID,
+@@ -35,9 +35,7 @@ export var Tool = function Tool() {
+ window.open(link);
+ }
+ }
+- }, /*#__PURE__*/React.createElement(Icons, {
+- icon: param_icon
+- })) : /*#__PURE__*/React.createElement(WithTooltip, {
++ }, /*#__PURE__*/React.createElement(RepoIcon)) : /*#__PURE__*/React.createElement(WithTooltip, {
+ placement: "top",
+ trigger: "click",
+ tooltip: /*#__PURE__*/React.createElement(Tooltip, null)
+@@ -45,7 +43,5 @@ export var Tool = function Tool() {
+ key: TOOL_ID,
+ title: "View Source Repository",
+ active: false
+- }, /*#__PURE__*/React.createElement(Icons, {
+- icon: param_icon
+- })));
++ }, /*#__PURE__*/React.createElement(RepoIcon)));
+ };
+\ No newline at end of file
+diff --git a/node_modules/storybook-source-link/dist/esm/preset/manager.js b/node_modules/storybook-source-link/dist/esm/preset/manager.js
+index 845f81d..ca1d066 100644
+--- a/node_modules/storybook-source-link/dist/esm/preset/manager.js
++++ b/node_modules/storybook-source-link/dist/esm/preset/manager.js
+@@ -1,4 +1,4 @@
+-import { addons, types } from "@storybook/addons";
++import { addons, types } from "@storybook/manager-api";
+ import { ADDON_ID, TOOL_ID } from "../constants";
+ import { Tool } from "../Tool"; // Register the addon
+
diff --git a/storybook/main.js b/storybook/main.js
index 5261fbbf4726ab..8a1203938fba59 100644
--- a/storybook/main.js
+++ b/storybook/main.js
@@ -54,6 +54,7 @@ module.exports = {
'@storybook/addon-a11y',
'@storybook/addon-toolbars',
'@storybook/addon-actions',
+ '@storybook/addon-webpack5-compiler-babel',
'storybook-source-link',
'@geometricpanda/storybook-addon-badges',
],
@@ -64,6 +65,9 @@ module.exports = {
docs: {
autodocs: true,
},
+ typescript: {
+ reactDocgen: 'react-docgen-typescript',
+ },
webpackFinal: async ( config ) => {
return {
...config,
diff --git a/storybook/preview.js b/storybook/preview.js
index a7c9aa0c085fc1..e173ab3ed1e268 100644
--- a/storybook/preview.js
+++ b/storybook/preview.js
@@ -2,7 +2,7 @@
* External dependencies
*/
import {
- ArgsTable,
+ Controls,
Description,
Primary,
Stories,
@@ -114,8 +114,7 @@ export const parameters = {
- { /* `story="^"` enables Controls for the primary props table */ }
-
+
>
),
diff --git a/storybook/sidebar.js b/storybook/sidebar.js
index d8ff2ba777dd7d..ab438440e3b834 100644
--- a/storybook/sidebar.js
+++ b/storybook/sidebar.js
@@ -28,7 +28,9 @@ const Title = styled.span( {
const Icons = styled.span( {} );
-const Icon = styled.span( {} );
+const Icon = styled.span( {
+ lineHeight: 1,
+} );
/**
* Fetches tags from the Storybook API, and returns Icon
@@ -41,7 +43,7 @@ function useIcons( item ) {
return useMemo( () => {
let data = {};
- if ( item.isComponent && item.children?.length ) {
+ if ( item.type === 'component' && item.children?.length ) {
data = api.getData( item.children[ 0 ] ) ?? {};
}
diff --git a/storybook/stories/docs/inline-icon.js b/storybook/stories/docs/inline-icon.js
index d7d1fafc28723d..b947dbd534a00d 100644
--- a/storybook/stories/docs/inline-icon.js
+++ b/storybook/stories/docs/inline-icon.js
@@ -2,11 +2,13 @@
* External dependencies
*/
import styled from '@emotion/styled';
-import { Icons } from '@storybook/components';
-const StyledIcons = styled( Icons )`
+const IconWrapper = ( { icon, ...props } ) => {
+ const IconComponent = icon;
+ return ;
+};
+
+export const InlineIcon = styled( IconWrapper )`
display: inline-block !important;
width: 14px;
`;
-
-export const InlineIcon = ( props ) => ;
diff --git a/storybook/stories/docs/introduction.mdx b/storybook/stories/docs/introduction.mdx
index 731c570942f6b8..cff649d189bd42 100644
--- a/storybook/stories/docs/introduction.mdx
+++ b/storybook/stories/docs/introduction.mdx
@@ -1,4 +1,5 @@
import { Meta } from '@storybook/blocks';
+import { RepoIcon } from '@storybook/icons';
import { InlineIcon } from './inline-icon';
@@ -28,7 +29,7 @@ The site shows the individual components in the sidebar and the Canvas on the ri
To view the documentation for each component use the **Docs** menu item in the top toolbar.
-To view the source code for the component and its stories on GitHub, click the View Source Repository button in the top right corner.
+To view the source code for the component and its stories on GitHub, click the View Source Repository button in the top right corner.
To use it in your local development environment run the following command in the top level Gutenberg directory:
From 1a8771bc6c27721c7dfccabc807bca14c527801c Mon Sep 17 00:00:00 2001
From: Mitchell Austin
Date: Wed, 11 Dec 2024 08:05:40 -0800
Subject: [PATCH 61/74] Update platform docs intro so following it actually
works (#61341)
Unlinked contributors: aks30498.
Co-authored-by: youknowriad
Co-authored-by: michalczaplinski
Co-authored-by: ramonjd
---
platform-docs/docs/intro.md | 83 +++++++++++++++++++++----------------
1 file changed, 48 insertions(+), 35 deletions(-)
diff --git a/platform-docs/docs/intro.md b/platform-docs/docs/intro.md
index 05cfa103492f33..48f1410871ccef 100644
--- a/platform-docs/docs/intro.md
+++ b/platform-docs/docs/intro.md
@@ -4,17 +4,16 @@ sidebar_position: 1
# Getting Started
-Let's discover how to use the **Gutenberg Block Editor** to build your own block editor in less than 10 minutes**.
-
+Let's discover how to use the **Gutenberg Block Editor** to build your own block editor in less than 10 minutes.
## What you'll need
- [Node.js](https://nodejs.org/en/download/) version 20.10 or above.
-- We're going to be using "vite" to setup our single page application (SPA) that contains a block editor. You can use your own setup, and your own application for this.
+- We're going to be using "Vite" to setup our single page application (SPA) that contains a block editor. You can use your own setup, and your own application for this.
## Preparing the SPA powered by Vite.
-First bootstrap a vite project using `npm create vite@latest` and pick `Vanilla` variant and `JavaScript` as a language.
+First bootstrap a Vite project using `npm create vite@latest` and pick `React` variant and `JavaScript` as a language.
Once done, you can navigate to your application folder and run it locally using `npm run dev`. Open the displayed local URL in a browser.
@@ -28,58 +27,72 @@ To build a block editor, you need to install the following dependencies:
## JSX
-We're going to be using JSX to write our UI and components. So one of the first steps we need to do is to configure our build tooling, By default vite supports JSX and and outputs the result as a React pragma. The Block editor uses React so there's no need to configure anything here but if you're using a different bundler/build tool, make sure the JSX transpilation is setup properly.
+We're going to be using JSX to write our UI and components as the block editor is built with React. Using the Vite bootstrap described above there’s no need to configure anything as it outputs the result as a React pragma. If you're using a different bundler/build tool, you may need to configure the JSX transpilation to do the same.
## Bootstrap your block editor
-It's time to render our first block editor.
+It's time to render our first block editor. We’ll do this with changes to three files – `index.html`, `src/main.jsx`, and `src/App.jsx`.
+
+First, we’ll add the base styles are for the editor UI. In `index.html` add these styles in the ``:
+```html
+
+
+```
+:::note
+
+There are more styles needed but can’t be added here because they are for the editor’s content which is in a separate document within an `
-
+