From 93855161d2ad8e25b8db346f4d287a0733749994 Mon Sep 17 00:00:00 2001 From: karthick-murugan Date: Tue, 8 Oct 2024 12:40:49 +0530 Subject: [PATCH 001/489] Site Icon Focus Fix Added --- packages/edit-site/src/components/site-icon/style.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/edit-site/src/components/site-icon/style.scss b/packages/edit-site/src/components/site-icon/style.scss index a6cc7ad27fe5df..16a5d244c10e93 100644 --- a/packages/edit-site/src/components/site-icon/style.scss +++ b/packages/edit-site/src/components/site-icon/style.scss @@ -19,4 +19,10 @@ .edit-site-layout.is-full-canvas & { border-radius: 0; } + + // Add focus-visible styles + button[data-focus-visible="true"] & { + background: #1e90ff; + padding: 2px; + } } From 8a9faa661daa61d650a161e0e66d9e91f22ca673 Mon Sep 17 00:00:00 2001 From: karthick-murugan Date: Tue, 8 Oct 2024 14:28:56 +0530 Subject: [PATCH 002/489] Site Icon Focus for svg images --- packages/edit-site/src/components/site-icon/style.scss | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/edit-site/src/components/site-icon/style.scss b/packages/edit-site/src/components/site-icon/style.scss index 16a5d244c10e93..126127877f3378 100644 --- a/packages/edit-site/src/components/site-icon/style.scss +++ b/packages/edit-site/src/components/site-icon/style.scss @@ -7,6 +7,11 @@ // Make the WordPress icon not so big in full canvas. padding: $grid-unit-15; } + + // Add focus-visible styles + button[data-focus-visible="true"] & { + border: 2px solid #1e90ff; + } } .edit-site-site-icon__image { @@ -22,7 +27,6 @@ // Add focus-visible styles button[data-focus-visible="true"] & { - background: #1e90ff; - padding: 2px; + border: 2px solid #1e90ff; } } From c1913f7a5999e8d9fc1b8d16592a84f9a09f9613 Mon Sep 17 00:00:00 2001 From: karthick-murugan Date: Wed, 23 Oct 2024 18:20:29 +0530 Subject: [PATCH 003/489] CSS Feedback updated --- .../edit-site/src/components/site-icon/style.scss | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/edit-site/src/components/site-icon/style.scss b/packages/edit-site/src/components/site-icon/style.scss index 126127877f3378..6f140eede7ac4b 100644 --- a/packages/edit-site/src/components/site-icon/style.scss +++ b/packages/edit-site/src/components/site-icon/style.scss @@ -8,10 +8,6 @@ padding: $grid-unit-15; } - // Add focus-visible styles - button[data-focus-visible="true"] & { - border: 2px solid #1e90ff; - } } .edit-site-site-icon__image { @@ -25,8 +21,12 @@ border-radius: 0; } - // Add focus-visible styles - button[data-focus-visible="true"] & { - border: 2px solid #1e90ff; +} + +/* Apply focus border to both the site icon and image when the button is focused */ +button:focus { + .edit-site-site-icon__icon, + .edit-site-site-icon__image { + border: var(--wp-admin-border-width-focus) solid var(--wp-admin-theme-color); } } From 0006a709e37f8107b11655dd4bd2d8f578ed3b3c Mon Sep 17 00:00:00 2001 From: karthick-murugan Date: Wed, 23 Oct 2024 18:32:39 +0530 Subject: [PATCH 004/489] Remove space --- packages/edit-site/src/components/site-icon/style.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/edit-site/src/components/site-icon/style.scss b/packages/edit-site/src/components/site-icon/style.scss index 6f140eede7ac4b..3d396dcbf6f896 100644 --- a/packages/edit-site/src/components/site-icon/style.scss +++ b/packages/edit-site/src/components/site-icon/style.scss @@ -7,7 +7,6 @@ // Make the WordPress icon not so big in full canvas. padding: $grid-unit-15; } - } .edit-site-site-icon__image { From 96717abca5a977b9b4c393c101fa1d9021967bac Mon Sep 17 00:00:00 2001 From: Marco Ciampini Date: Thu, 3 Oct 2024 13:32:09 +0200 Subject: [PATCH 005/489] Composite: make items tabbable if active element gets removed (#65720) * Composite: make items tabbable when the active element is disconnected * Add unit test * Better test name * CHANGELOG --- Co-authored-by: ciampo Co-authored-by: diegohaz Co-authored-by: tyxla Co-authored-by: mirka <0mirka00@git.wordpress.org> Co-authored-by: afercia --- packages/components/CHANGELOG.md | 1 + packages/components/src/composite/item.tsx | 20 ++- .../components/src/composite/test/index.tsx | 123 ++++++++++++++++++ 3 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 packages/components/src/composite/test/index.tsx diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 4c00ea32bae2cb..449abca7b6420c 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -9,6 +9,7 @@ - `ToggleGroupControl`: Fix arrow key navigation in RTL ([#65735](https://github.com/WordPress/gutenberg/pull/65735)). - `ToggleGroupControl`: indicator doesn't jump around when the layout around it changes ([#65175](https://github.com/WordPress/gutenberg/pull/65175)). - `Composite`: fix legacy support for the store prop ([#65821](https://github.com/WordPress/gutenberg/pull/65821)). +- `Composite`: make items tabbable if active element gets removed ([#65720](https://github.com/WordPress/gutenberg/pull/65720)). ### Deprecations diff --git a/packages/components/src/composite/item.tsx b/packages/components/src/composite/item.tsx index 4a02f76039a5cf..edbf0b92e039af 100644 --- a/packages/components/src/composite/item.tsx +++ b/packages/components/src/composite/item.tsx @@ -26,5 +26,23 @@ export const CompositeItem = forwardRef< // obfuscated to discourage its use outside of the component's internals. const store = ( props.store ?? context.store ) as Ariakit.CompositeStore; - return ; + // If the active item is not connected, Composite may end up in a state + // where none of the items are tabbable. In this case, we force all items to + // be tabbable, so that as soon as an item received focus, it becomes active + // and Composite goes back to working as expected. + const tabbable = Ariakit.useStoreState( store, ( state ) => { + return ( + state?.activeId !== null && + ! store?.item( state?.activeId )?.element?.isConnected + ); + } ); + + return ( + + ); } ); diff --git a/packages/components/src/composite/test/index.tsx b/packages/components/src/composite/test/index.tsx new file mode 100644 index 00000000000000..64619aaed01bd6 --- /dev/null +++ b/packages/components/src/composite/test/index.tsx @@ -0,0 +1,123 @@ +/** + * External dependencies + */ +import { queryByAttribute, render, screen } from '@testing-library/react'; +import { click, press, waitFor } from '@ariakit/test'; +import type { ComponentProps } from 'react'; + +/** + * WordPress dependencies + */ +import { useState } from '@wordpress/element'; + +/** + * Internal dependencies + */ +import { Composite } from '..'; + +// This is necessary because of how Ariakit calculates page up and +// page down. Without this, nothing has a height, and so paging up +// and down doesn't behave as expected in tests. + +let clientHeightSpy: jest.SpiedGetter< + typeof HTMLElement.prototype.clientHeight +>; + +beforeAll( () => { + clientHeightSpy = jest + .spyOn( HTMLElement.prototype, 'clientHeight', 'get' ) + .mockImplementation( function getClientHeight( this: HTMLElement ) { + if ( this.tagName === 'BODY' ) { + return window.outerHeight; + } + return 50; + } ); +} ); + +afterAll( () => { + clientHeightSpy?.mockRestore(); +} ); + +async function renderAndValidate( ...args: Parameters< typeof render > ) { + const view = render( ...args ); + await waitFor( () => { + const activeButton = queryByAttribute( + 'data-active-item', + view.baseElement, + 'true' + ); + expect( activeButton ).not.toBeNull(); + } ); + return view; +} + +function RemoveItemTest( props: ComponentProps< typeof Composite > ) { + const [ showThirdItem, setShowThirdItem ] = useState( true ); + return ( + <> + + + Item 1 + Item 2 + { showThirdItem && Item 3 } + + + + ); +} + +describe( 'Composite', () => { + it( 'should remain focusable even when there are no elements in the DOM associated with the currently active ID', async () => { + await renderAndValidate( ); + + const toggleButton = screen.getByRole( 'button', { + name: 'Toggle third item', + } ); + + await press.Tab(); + await press.Tab(); + + expect( + screen.getByRole( 'button', { name: 'Item 1' } ) + ).toHaveFocus(); + + await press.ArrowRight(); + await press.ArrowRight(); + + expect( + screen.getByRole( 'button', { name: 'Item 3' } ) + ).toHaveFocus(); + + await click( toggleButton ); + + expect( + screen.queryByRole( 'button', { name: 'Item 3' } ) + ).not.toBeInTheDocument(); + + await press.ShiftTab(); + + expect( + screen.getByRole( 'button', { name: 'Item 2' } ) + ).toHaveFocus(); + + await click( toggleButton ); + + expect( + screen.getByRole( 'button', { name: 'Item 3' } ) + ).toBeVisible(); + + await press.ShiftTab(); + + expect( + screen.getByRole( 'button', { name: 'Item 2' } ) + ).toHaveFocus(); + + await press.ArrowRight(); + + expect( + screen.getByRole( 'button', { name: 'Item 3' } ) + ).toHaveFocus(); + } ); +} ); From b57b137eb7538c59d203bff121fe5ee780073a2e Mon Sep 17 00:00:00 2001 From: Daniel Richards Date: Thu, 3 Oct 2024 19:37:22 +0800 Subject: [PATCH 006/489] Top Toolbar: Show document bar when no block is selected even if block tools are expanded (#65839) * Top Toolbar: Show document bar when no block is selected even if block tools are expanded * Change variable name to hasBlockSelection ---- Co-authored-by: talldan Co-authored-by: andrewserong Co-authored-by: eatse21 --- packages/editor/src/components/header/index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/editor/src/components/header/index.js b/packages/editor/src/components/header/index.js index f49ada48997ce5..631643f26d4d5f 100644 --- a/packages/editor/src/components/header/index.js +++ b/packages/editor/src/components/header/index.js @@ -1,6 +1,7 @@ /** * WordPress dependencies */ +import { store as blockEditorStore } from '@wordpress/block-editor'; import { useSelect } from '@wordpress/data'; import { useMediaQuery, useViewportMatch } from '@wordpress/compose'; import { __unstableMotion as motion } from '@wordpress/components'; @@ -52,12 +53,13 @@ function Header( { const isLargeViewport = useViewportMatch( 'medium' ); const isTooNarrowForDocumentBar = useMediaQuery( '(max-width: 403px)' ); const { + postType, isTextEditor, isPublishSidebarOpened, showIconLabels, hasFixedToolbar, + hasBlockSelection, isNestedEntity, - postType, } = useSelect( ( select ) => { const { get: getPreference } = select( preferencesStore ); const { @@ -73,6 +75,8 @@ function Header( { isPublishSidebarOpened: _isPublishSidebarOpened(), showIconLabels: getPreference( 'core', 'showIconLabels' ), hasFixedToolbar: getPreference( 'core', 'fixedToolbar' ), + hasBlockSelection: + !! select( blockEditorStore ).getBlockSelectionStart(), isNestedEntity: !! getEditorSettings().onNavigateToPreviousEntityRecord, }; @@ -85,7 +89,9 @@ function Header( { const [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] = useState( true ); - const hasCenter = isBlockToolsCollapsed && ! isTooNarrowForDocumentBar; + const hasCenter = + ( ! hasBlockSelection || isBlockToolsCollapsed ) && + ! isTooNarrowForDocumentBar; const hasBackButton = useHasBackButton(); /* * The edit-post-header classname is only kept for backward compatability From 43f398cc6add6ca751091fae40a809607e689ce6 Mon Sep 17 00:00:00 2001 From: Ella <4710635+ellatrix@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:49:35 +0200 Subject: [PATCH 007/489] Remove user-select:text (#65662) Co-authored-by: ellatrix Co-authored-by: youknowriad Co-authored-by: getdave Co-authored-by: jasmussen --- .../src/components/block-list/content.scss | 10 ---------- packages/block-library/src/editor.scss | 1 - packages/block-library/src/post-content/editor.scss | 4 ---- 3 files changed, 15 deletions(-) delete mode 100644 packages/block-library/src/post-content/editor.scss diff --git a/packages/block-editor/src/components/block-list/content.scss b/packages/block-editor/src/components/block-list/content.scss index c5fda109d8b67d..6a88813b0c6049 100644 --- a/packages/block-editor/src/components/block-list/content.scss +++ b/packages/block-editor/src/components/block-list/content.scss @@ -91,14 +91,6 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b } } - // Ensure an accurate partial text selection. - // To do this, we disable text selection on the main container, then re-enable it only on the - // elements that actually get selected. - // To keep in mind: user-select is currently inherited to all nodes inside. - .has-multi-selection & { - user-select: none; - } - // Re-enable it on components inside. [class^="components-"] { user-select: text; @@ -117,11 +109,9 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b overflow-wrap: break-word; pointer-events: auto; - user-select: text; &.is-editing-disabled { pointer-events: none; - user-select: none; } &.has-negative-margin { diff --git a/packages/block-library/src/editor.scss b/packages/block-library/src/editor.scss index 0669a082b1086f..a16d5a6c2c69c7 100644 --- a/packages/block-library/src/editor.scss +++ b/packages/block-library/src/editor.scss @@ -55,7 +55,6 @@ @import "./query-pagination-numbers/editor.scss"; @import "./post-featured-image/editor.scss"; @import "./post-comments-form/editor.scss"; -@import "./post-content/editor.scss"; @import "./editor-elements.scss"; :root .editor-styles-wrapper { diff --git a/packages/block-library/src/post-content/editor.scss b/packages/block-library/src/post-content/editor.scss deleted file mode 100644 index 626774697aec5f..00000000000000 --- a/packages/block-library/src/post-content/editor.scss +++ /dev/null @@ -1,4 +0,0 @@ -// Disable text selection in the post content placeholder. -.wp-block-post-content.wp-block-post-content { - user-select: none; -} From 6d3f5948fb46d316422405b7f9e3181c54b78606 Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Thu, 3 Oct 2024 13:56:15 +0000 Subject: [PATCH 008/489] Bump plugin version to 19.4.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 466509dcf6b585..c9f4a8fc580200 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.5 * Requires PHP: 7.2 - * Version: 19.3.0 + * Version: 19.4.0-rc.1 * Author: Gutenberg Team * Text Domain: gutenberg * diff --git a/package-lock.json b/package-lock.json index c13e4cf2096cd0..c800d47891c180 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gutenberg", - "version": "19.3.0", + "version": "19.4.0-rc.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "gutenberg", - "version": "19.3.0", + "version": "19.4.0-rc.1", "hasInstallScript": true, "license": "GPL-2.0-or-later", "dependencies": { diff --git a/package.json b/package.json index 5ecd0ef57b3516..b240c89e76d42d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gutenberg", - "version": "19.3.0", + "version": "19.4.0-rc.1", "private": true, "description": "A new WordPress editor experience.", "author": "The WordPress Contributors", From 71a6559137e3ac3bcfe4d038fb9ac15ab067b41d Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Thu, 3 Oct 2024 14:04:53 +0000 Subject: [PATCH 009/489] 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 626488313977d1..7da784818f78c8 100644 --- a/packages/a11y/CHANGELOG.md +++ b/packages/a11y/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/a11y/package.json b/packages/a11y/package.json index d3337485a18284..d9b6c88bc783f6 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/a11y", - "version": "4.8.0", + "version": "4.9.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 7ac3e50c3fd8b6..caf30a752bb986 100644 --- a/packages/annotations/CHANGELOG.md +++ b/packages/annotations/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/annotations/package.json b/packages/annotations/package.json index edaae0ca7617bd..9b6c0af4195487 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/annotations", - "version": "3.8.0", + "version": "3.9.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 7c333170b6cc11..151afa5206c35c 100644 --- a/packages/api-fetch/CHANGELOG.md +++ b/packages/api-fetch/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ## 7.8.0 (2024-09-19) ## 7.7.0 (2024-09-05) diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json index 54fb852a75402e..20410c226aa970 100644 --- a/packages/api-fetch/package.json +++ b/packages/api-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/api-fetch", - "version": "7.8.0", + "version": "7.9.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 4bb494dcfff5c0..b56c0ada46a919 100644 --- a/packages/autop/CHANGELOG.md +++ b/packages/autop/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/autop/package.json b/packages/autop/package.json index 49ddffcf79f9ce..30594cc8cd4500 100644 --- a/packages/autop/package.json +++ b/packages/autop/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/autop", - "version": "4.8.0", + "version": "4.9.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 5a68cf8eb40400..8f15b849096f66 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.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json index d06a750eb0d91e..453ba0586b3bb7 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.8.0", + "version": "5.9.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 d878e1fb6b020c..d307791a37424a 100644 --- a/packages/babel-plugin-makepot/CHANGELOG.md +++ b/packages/babel-plugin-makepot/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json index 5c9cbb1384796b..1d519b806e2946 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.8.0", + "version": "6.9.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 b31be6ffd8d56d..c577d6fd038bcf 100644 --- a/packages/babel-preset-default/CHANGELOG.md +++ b/packages/babel-preset-default/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.9.0 (2024-10-03) + ### Bug Fixes - Fix a bug in 8.8.1 due to missing files in the published package ([#65481](https://github.com/WordPress/gutenberg/pull/65481)). diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json index 1203586ec20292..15cd827171f474 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.8.0", + "version": "8.9.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 ea6b765aea3f11..8e92ddeece4d20 100644 --- a/packages/base-styles/CHANGELOG.md +++ b/packages/base-styles/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json index c6ab374e1f5dd3..0af745e39db4db 100644 --- a/packages/base-styles/package.json +++ b/packages/base-styles/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/base-styles", - "version": "5.8.0", + "version": "5.9.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 c13c6e6faf6ac8..1631fe7e0618b3 100644 --- a/packages/blob/CHANGELOG.md +++ b/packages/blob/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/blob/package.json b/packages/blob/package.json index cbcf04ecf64882..067b7382a5513b 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blob", - "version": "4.8.0", + "version": "4.9.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 8c25431f1b5b5e..2677ce827c1d69 100644 --- a/packages/block-directory/CHANGELOG.md +++ b/packages/block-directory/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json index 974125a5f3f2c3..fbeeddafe875f0 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.8.0", + "version": "5.9.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 db61ff05e3c1ad..5e3151285966e2 100644 --- a/packages/block-editor/CHANGELOG.md +++ b/packages/block-editor/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.4.0 (2024-10-03) + ## 14.3.0 (2024-09-19) ## 14.2.0 (2024-09-05) diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json index a135f126d7eb3c..4773dda51f54b8 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-editor", - "version": "14.3.0", + "version": "14.4.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 08accf8c36d9e5..5ffd428b6dbdcf 100644 --- a/packages/block-library/CHANGELOG.md +++ b/packages/block-library/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.9.0 (2024-10-03) + ## 9.8.0 (2024-09-19) ## 9.7.0 (2024-09-05) diff --git a/packages/block-library/package.json b/packages/block-library/package.json index aa9daf62dda63a..b6a1154e9c8300 100644 --- a/packages/block-library/package.json +++ b/packages/block-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-library", - "version": "9.8.0", + "version": "9.9.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 47e1db147942ff..4104f5282ce3fb 100644 --- a/packages/block-serialization-default-parser/CHANGELOG.md +++ b/packages/block-serialization-default-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json index 60e638120952d8..93e3a5a38049d2 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.8.0", + "version": "5.9.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 173ce09db51e2b..87c683849585e0 100644 --- a/packages/block-serialization-spec-parser/CHANGELOG.md +++ b/packages/block-serialization-spec-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json index ab73fa1689ad67..87b5c051177c3f 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.8.0", + "version": "5.9.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 838983c17233ea..7e163fec2ad161 100644 --- a/packages/blocks/CHANGELOG.md +++ b/packages/blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 13.9.0 (2024-10-03) + ## 13.8.0 (2024-09-19) ## 13.7.0 (2024-09-05) diff --git a/packages/blocks/package.json b/packages/blocks/package.json index b2c24928b7c344..7594840fb58d5b 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blocks", - "version": "13.8.0", + "version": "13.9.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 cbe4763ea32706..9dae2564c1a32e 100644 --- a/packages/browserslist-config/CHANGELOG.md +++ b/packages/browserslist-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index cae627c406e817..24adbde9c53e85 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/browserslist-config", - "version": "6.8.0", + "version": "6.9.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 b8f45c79470040..2b268bd66f404e 100644 --- a/packages/commands/CHANGELOG.md +++ b/packages/commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/commands/package.json b/packages/commands/package.json index 769931293bd2fd..70465b15f18b29 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/commands", - "version": "1.8.0", + "version": "1.9.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 449abca7b6420c..1e9fdbe07c94e7 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 28.9.0 (2024-10-03) + ### Bug Fixes - `ToolsPanel`: atomic one-step state update when (un)registering panels ([#65564](https://github.com/WordPress/gutenberg/pull/65564)). diff --git a/packages/components/package.json b/packages/components/package.json index 98eb4c5de0430d..78af25cdff54a4 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/components", - "version": "28.8.0", + "version": "28.9.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 28269dca692a4f..e94eed5a08677b 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ### Bug Fixes - `useResizeObserver`: export legacy API at top-level for React Native ([#65588](https://github.com/WordPress/gutenberg/pull/65588)). diff --git a/packages/compose/package.json b/packages/compose/package.json index f52ac9956a75c1..a10486fade88e9 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/compose", - "version": "7.8.0", + "version": "7.9.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 2d8d93373f4c5e..bd259351a87999 100644 --- a/packages/core-commands/CHANGELOG.md +++ b/packages/core-commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json index a2d3c76ebe5d9c..575ef291eea45e 100644 --- a/packages/core-commands/package.json +++ b/packages/core-commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-commands", - "version": "1.8.0", + "version": "1.9.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 fcedd5d1100661..8a59c811840357 100644 --- a/packages/core-data/CHANGELOG.md +++ b/packages/core-data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ## 7.8.0 (2024-09-19) ## 7.7.0 (2024-09-05) diff --git a/packages/core-data/package.json b/packages/core-data/package.json index b0eadbcea26039..124f4bb6421fad 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-data", - "version": "7.8.0", + "version": "7.9.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 ad30a4b7e01955..2ff5f35ab3dce1 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.8.0", + "version": "2.9.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 e93bc0270ba953..9be4223c70f383 100644 --- a/packages/create-block-tutorial-template/CHANGELOG.md +++ b/packages/create-block-tutorial-template/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json index 67b0c9554ed988..11b94a63b8889e 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.8.0", + "version": "4.9.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 d3a8c1c75dd3fb..db161872fb9828 100644 --- a/packages/create-block/CHANGELOG.md +++ b/packages/create-block/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.52.0 (2024-10-03) + ## 4.51.0 (2024-09-19) ## 4.50.0 (2024-09-05) diff --git a/packages/create-block/package.json b/packages/create-block/package.json index e1522c887deef8..4b6cc0d4cb3867 100644 --- a/packages/create-block/package.json +++ b/packages/create-block/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block", - "version": "4.51.0", + "version": "4.52.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 061b656c892c79..46064bac3391ec 100644 --- a/packages/customize-widgets/CHANGELOG.md +++ b/packages/customize-widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json index 05edab039844b5..59cafbdb7edecf 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/customize-widgets", - "version": "5.8.0", + "version": "5.9.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 3d16450a7825b4..6e70039bc74765 100644 --- a/packages/data-controls/CHANGELOG.md +++ b/packages/data-controls/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json index 5d4d06d3c13cd8..6c549e200d603b 100644 --- a/packages/data-controls/package.json +++ b/packages/data-controls/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data-controls", - "version": "4.8.0", + "version": "4.9.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 f9ebf9eb17a68c..71db937ed73b48 100644 --- a/packages/data/CHANGELOG.md +++ b/packages/data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.9.0 (2024-10-03) + ## 10.8.0 (2024-09-19) ## 10.7.0 (2024-09-05) diff --git a/packages/data/package.json b/packages/data/package.json index 11396fe33e0876..15de6f05e7dabe 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data", - "version": "10.8.0", + "version": "10.9.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 6ce337d726e083..7569cfb93ac0b6 100644 --- a/packages/dataviews/CHANGELOG.md +++ b/packages/dataviews/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.5.0 (2024-10-03) + ## 4.4.0 (2024-09-19) ## 4.3.0 (2024-09-05) diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json index 6265d88a4ad82f..ebd313da5ab253 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dataviews", - "version": "4.4.0", + "version": "4.5.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 8c28ff83d53ed8..01e9cdc76984c8 100644 --- a/packages/date/CHANGELOG.md +++ b/packages/date/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/date/package.json b/packages/date/package.json index ad957a6393e1c8..f3f3682ca64b09 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/date", - "version": "5.8.0", + "version": "5.9.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 7c8f74d2906fed..c9d127e899fd73 100644 --- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md +++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ### Enhancements - Detection of magic comments is now done before minification ([#65582](https://github.com/WordPress/gutenberg/pull/65582)). diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json index a9368e1eb18259..b3e628dfc0acbf 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.8.0", + "version": "6.9.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 945bf44ad6a653..0fb389ad15d7e1 100644 --- a/packages/deprecated/CHANGELOG.md +++ b/packages/deprecated/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json index 245d459fb842e5..3732620632486c 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/deprecated", - "version": "4.8.0", + "version": "4.9.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 3e966fc4518d75..d01b1f9a9f62d7 100644 --- a/packages/docgen/CHANGELOG.md +++ b/packages/docgen/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/docgen/package.json b/packages/docgen/package.json index 9bd4581859193f..530ec87af0b8b7 100644 --- a/packages/docgen/package.json +++ b/packages/docgen/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/docgen", - "version": "2.8.0", + "version": "2.9.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 265e7b5947061a..a14e6185202376 100644 --- a/packages/dom-ready/CHANGELOG.md +++ b/packages/dom-ready/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json index 9f4ffbcf61e410..6715a44205c7b6 100644 --- a/packages/dom-ready/package.json +++ b/packages/dom-ready/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom-ready", - "version": "4.8.0", + "version": "4.9.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 77f85a59cada84..e5c95089da8c36 100644 --- a/packages/dom/CHANGELOG.md +++ b/packages/dom/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/dom/package.json b/packages/dom/package.json index 6707de05992697..2c794abc0a2c71 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom", - "version": "4.8.0", + "version": "4.9.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 b53821f46eefef..0c1833eed08495 100644 --- a/packages/e2e-test-utils-playwright/CHANGELOG.md +++ b/packages/e2e-test-utils-playwright/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json index f8e31ddc3c359a..ac0c9d8d4de3f0 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.8.0", + "version": "1.9.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 98c17f5b6ecb01..8a00b87a34dfd9 100644 --- a/packages/e2e-test-utils/CHANGELOG.md +++ b/packages/e2e-test-utils/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 11.9.0 (2024-10-03) + ## 11.8.0 (2024-09-19) ## 11.7.0 (2024-09-05) diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json index eeb0e66cb62a78..72c1589a399e51 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.8.0", + "version": "11.9.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 3fe696deaabb53..9d94db55206f10 100644 --- a/packages/e2e-tests/CHANGELOG.md +++ b/packages/e2e-tests/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.9.0 (2024-10-03) + ## 8.8.0 (2024-09-19) ## 8.7.0 (2024-09-05) diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 2ce38150c96a00..7ff65a2ee56cb6 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-tests", - "version": "8.8.0", + "version": "8.9.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 3eb52f26e65012..41a960ee4e5d27 100644 --- a/packages/edit-post/CHANGELOG.md +++ b/packages/edit-post/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.9.0 (2024-10-03) + ## 8.8.0 (2024-09-19) ## 8.7.0 (2024-09-05) diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index 1e5cbb13892a17..6269b80d482a23 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.8.0", + "version": "8.9.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 b14fb6dcd6d3e8..e2a728b3fc9ce9 100644 --- a/packages/edit-site/CHANGELOG.md +++ b/packages/edit-site/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index ef1cdaaa6a5c76..11a501377dcede 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.8.0", + "version": "6.9.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 6115fc42560f82..80fde2bfec86e7 100644 --- a/packages/edit-widgets/CHANGELOG.md +++ b/packages/edit-widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index f0cc613aa40fc2..8f920ecefa596d 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-widgets", - "version": "6.8.0", + "version": "6.9.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 6f31c1735021f6..dbd2884ab88560 100644 --- a/packages/editor/CHANGELOG.md +++ b/packages/editor/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.9.0 (2024-10-03) + ## 14.8.0 (2024-09-19) ## 14.7.0 (2024-09-05) diff --git a/packages/editor/package.json b/packages/editor/package.json index 29cbffcfb72221..15356fc279c62b 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/editor", - "version": "14.8.0", + "version": "14.9.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 ee63e4b5e70fa8..c480f3a0469b53 100644 --- a/packages/element/CHANGELOG.md +++ b/packages/element/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/element/package.json b/packages/element/package.json index 56759cdc23d91b..afa90afa11539e 100644 --- a/packages/element/package.json +++ b/packages/element/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/element", - "version": "6.8.0", + "version": "6.9.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 0b32fd808d9603..1adbc578b11e2f 100644 --- a/packages/env/CHANGELOG.md +++ b/packages/env/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.9.0 (2024-10-03) + ## 10.8.0 (2024-09-19) ## 10.7.0 (2024-09-05) diff --git a/packages/env/package.json b/packages/env/package.json index b1ea172a4303d9..9ccf40ed5400a4 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/env", - "version": "10.8.0", + "version": "10.9.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 c13edebda4480a..2ba6cc20e2438f 100644 --- a/packages/escape-html/CHANGELOG.md +++ b/packages/escape-html/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json index 8f68366006ce7c..2f1690a8bcef92 100644 --- a/packages/escape-html/package.json +++ b/packages/escape-html/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/escape-html", - "version": "3.8.0", + "version": "3.9.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 725872f8bf1011..7425062a1cf10e 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 21.2.0 (2024-10-03) + ## 21.1.0 (2024-09-19) ## 21.0.0 (2024-09-05) diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 4902acd2bcd0ae..9b90ff3580f7a1 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/eslint-plugin", - "version": "21.1.0", + "version": "21.2.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 e04ce921cdfdc4..986cbcdec80568 100644 --- a/packages/fields/CHANGELOG.md +++ b/packages/fields/CHANGELOG.md @@ -2,4 +2,6 @@ ## Unreleased +## 0.1.0 (2024-10-03) + Initial release. diff --git a/packages/fields/package.json b/packages/fields/package.json index 3da913d1ee9ae5..037f58fc2882b0 100644 --- a/packages/fields/package.json +++ b/packages/fields/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/fields", - "version": "0.0.1", + "version": "0.1.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 11a32094cffeab..a2a23524a7a9a5 100644 --- a/packages/format-library/CHANGELOG.md +++ b/packages/format-library/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/format-library/package.json b/packages/format-library/package.json index 03b1047d3fb9d8..f430142cdbbf33 100644 --- a/packages/format-library/package.json +++ b/packages/format-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/format-library", - "version": "5.8.0", + "version": "5.9.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 060e061b5c2843..962a94056fbbd2 100644 --- a/packages/hooks/CHANGELOG.md +++ b/packages/hooks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ### New Features - added new `doActionAsync` and `applyFiltersAsync` functions to run hooks in async mode ([#64204](https://github.com/WordPress/gutenberg/pull/64204)). diff --git a/packages/hooks/package.json b/packages/hooks/package.json index cf8e0a791a7471..bd537189fe1c38 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/hooks", - "version": "4.8.0", + "version": "4.9.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 e49251a8653624..99da545e4e9a93 100644 --- a/packages/html-entities/CHANGELOG.md +++ b/packages/html-entities/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json index 7196df00a8cd6a..b7f418d5067a56 100644 --- a/packages/html-entities/package.json +++ b/packages/html-entities/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/html-entities", - "version": "4.8.0", + "version": "4.9.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 928a0d6d0ef74b..613da356ace7fb 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 2e92335914271b..fdc9319331208b 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/i18n", - "version": "5.8.0", + "version": "5.9.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 ddf850dd116819..b1b19fdfbc0f2f 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.9.0 (2024-10-03) + ## 10.8.0 (2024-09-19) ### New Features diff --git a/packages/icons/package.json b/packages/icons/package.json index c1c1682ed6750f..cc00704636dce0 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/icons", - "version": "10.8.0", + "version": "10.9.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 1f8e91dec05474..7878796b9004cc 100644 --- a/packages/interactivity-router/CHANGELOG.md +++ b/packages/interactivity-router/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json index 8314d7b1b70d56..005524b8610fc7 100644 --- a/packages/interactivity-router/package.json +++ b/packages/interactivity-router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity-router", - "version": "2.8.0", + "version": "2.9.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 42f311973709dd..d35dfa7c81ae43 100644 --- a/packages/interactivity/CHANGELOG.md +++ b/packages/interactivity/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ### Enhancements diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json index 5b6ce90fc5184e..5539375122e0e4 100644 --- a/packages/interactivity/package.json +++ b/packages/interactivity/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity", - "version": "6.8.0", + "version": "6.9.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 f5e0d5e74762af..f590aeed5b6ccc 100644 --- a/packages/interface/CHANGELOG.md +++ b/packages/interface/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/interface/package.json b/packages/interface/package.json index 932c3fde03de4d..916a75cb286da9 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interface", - "version": "6.8.0", + "version": "6.9.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 ef424aaeebf220..44bbf38076085a 100644 --- a/packages/is-shallow-equal/CHANGELOG.md +++ b/packages/is-shallow-equal/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json index 462b97bda17214..f6ddb0f153f6a7 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.8.0", + "version": "5.9.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 2ed1dc24299f45..440d41bcc2dc36 100644 --- a/packages/jest-console/CHANGELOG.md +++ b/packages/jest-console/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.9.0 (2024-10-03) + ## 8.8.0 (2024-09-19) ## 8.7.0 (2024-09-05) diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json index d55ce881a09566..219db35b525f56 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-console", - "version": "8.8.0", + "version": "8.9.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 a3ecded683cd17..137c03dce8c7ad 100644 --- a/packages/jest-preset-default/CHANGELOG.md +++ b/packages/jest-preset-default/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 12.9.0 (2024-10-03) + ## 12.8.0 (2024-09-19) ## 12.7.0 (2024-09-05) diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json index 72be60b0f3376c..a4846a401b446c 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.8.0", + "version": "12.9.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 3e61ea09412d63..7e5503f13eddf1 100644 --- a/packages/jest-puppeteer-axe/CHANGELOG.md +++ b/packages/jest-puppeteer-axe/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ## 7.8.0 (2024-09-19) ## 7.7.0 (2024-09-05) diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json index 69fb9cfa181f44..faff90b0afc61d 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.8.0", + "version": "7.9.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 356e850692af4d..2c23a099857a33 100644 --- a/packages/keyboard-shortcuts/CHANGELOG.md +++ b/packages/keyboard-shortcuts/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json index 038e15ebc1532b..2585b02bf1c127 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keyboard-shortcuts", - "version": "5.8.0", + "version": "5.9.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 a578adb34bd3d3..1ef044b263e1f3 100644 --- a/packages/keycodes/CHANGELOG.md +++ b/packages/keycodes/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json index d63d5757dcbf31..6efb197356575d 100644 --- a/packages/keycodes/package.json +++ b/packages/keycodes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keycodes", - "version": "4.8.0", + "version": "4.9.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 6853a036fdaa50..c09059768e81a7 100644 --- a/packages/lazy-import/CHANGELOG.md +++ b/packages/lazy-import/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json index 758c1b5934a955..937afab3d68ba7 100644 --- a/packages/lazy-import/package.json +++ b/packages/lazy-import/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/lazy-import", - "version": "2.8.0", + "version": "2.9.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 852f30a2999175..eb0b3a7cf6b48f 100644 --- a/packages/list-reusable-blocks/CHANGELOG.md +++ b/packages/list-reusable-blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json index 03c1c11af9e49f..95102c8a0c1e22 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.8.0", + "version": "5.9.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 a25bdf05596f86..20272be5b7d7be 100644 --- a/packages/media-utils/CHANGELOG.md +++ b/packages/media-utils/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ### New Features diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json index e90ab5a98e87d6..971dc40a8232fc 100644 --- a/packages/media-utils/package.json +++ b/packages/media-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/media-utils", - "version": "5.8.0", + "version": "5.9.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 dbff0c69b7449d..1c4f629fb2c345 100644 --- a/packages/notices/CHANGELOG.md +++ b/packages/notices/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/notices/package.json b/packages/notices/package.json index 09056f5fe6818c..fb818a061801d6 100644 --- a/packages/notices/package.json +++ b/packages/notices/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/notices", - "version": "5.8.0", + "version": "5.9.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 ecf89f4df64717..511f6e8f3b6c4e 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.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json index 38080c1e09d834..0f33e57108b339 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.8.0", + "version": "5.9.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 51a49b1bf9314c..19ddfd39b2156d 100644 --- a/packages/nux/CHANGELOG.md +++ b/packages/nux/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.9.0 (2024-10-03) + ## 9.8.0 (2024-09-19) ## 9.7.0 (2024-09-05) diff --git a/packages/nux/package.json b/packages/nux/package.json index 8bc5bfea622f09..816a9218ce6b65 100644 --- a/packages/nux/package.json +++ b/packages/nux/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/nux", - "version": "9.8.0", + "version": "9.9.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 1579dd646228ff..e15ac90000ba4e 100644 --- a/packages/patterns/CHANGELOG.md +++ b/packages/patterns/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/patterns/package.json b/packages/patterns/package.json index e3563325f95fa7..3e2e96cd2bfa55 100644 --- a/packages/patterns/package.json +++ b/packages/patterns/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/patterns", - "version": "2.8.0", + "version": "2.9.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 18d5e1a38567dc..9b378eb71f5827 100644 --- a/packages/plugins/CHANGELOG.md +++ b/packages/plugins/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ## 7.8.0 (2024-09-19) ## 7.7.0 (2024-09-05) diff --git a/packages/plugins/package.json b/packages/plugins/package.json index e9e9bc0667f9a1..922cf572afd333 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/plugins", - "version": "7.8.0", + "version": "7.9.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 e4441308f0fe40..f21d7016240e03 100644 --- a/packages/postcss-plugins-preset/CHANGELOG.md +++ b/packages/postcss-plugins-preset/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json index 67c030b3a10706..aec85f2952f116 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.8.0", + "version": "5.9.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 c7d61b14eadf18..19c2acccf0f750 100644 --- a/packages/postcss-themes/CHANGELOG.md +++ b/packages/postcss-themes/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json index 864056ee0d61e5..fedfca942c28bb 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-themes", - "version": "6.8.0", + "version": "6.9.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 79a755f40bfd5b..b3f4193fa0c9ee 100644 --- a/packages/preferences-persistence/CHANGELOG.md +++ b/packages/preferences-persistence/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json index a82a883e2b5747..c88cc45540607f 100644 --- a/packages/preferences-persistence/package.json +++ b/packages/preferences-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences-persistence", - "version": "2.8.0", + "version": "2.9.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 840c476e8ece81..114027eed2e228 100644 --- a/packages/preferences/CHANGELOG.md +++ b/packages/preferences/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/preferences/package.json b/packages/preferences/package.json index fbd2cc46033ee7..05feb1c96c834e 100644 --- a/packages/preferences/package.json +++ b/packages/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences", - "version": "4.8.0", + "version": "4.9.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 28d178a87f980b..17b3fc88b5ccde 100644 --- a/packages/prettier-config/CHANGELOG.md +++ b/packages/prettier-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 27a72866e6126d..a20d8d93e776fa 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/prettier-config", - "version": "4.8.0", + "version": "4.9.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 f0bd389bb08b73..8c646a4dc6c5ca 100644 --- a/packages/primitives/CHANGELOG.md +++ b/packages/primitives/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/primitives/package.json b/packages/primitives/package.json index 2119fc70b11d1c..9a28f05b6b2582 100644 --- a/packages/primitives/package.json +++ b/packages/primitives/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/primitives", - "version": "4.8.0", + "version": "4.9.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 1c343e2cd0e818..7254d4e3f37185 100644 --- a/packages/priority-queue/CHANGELOG.md +++ b/packages/priority-queue/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json index a60c61528bd5ee..1104d9240cd3e7 100644 --- a/packages/priority-queue/package.json +++ b/packages/priority-queue/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/priority-queue", - "version": "3.8.0", + "version": "3.9.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 f7807d3667b8a8..bd13576ccbcd04 100644 --- a/packages/private-apis/CHANGELOG.md +++ b/packages/private-apis/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json index 957eec5e34b49e..6d33d8a1c583ce 100644 --- a/packages/private-apis/package.json +++ b/packages/private-apis/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/private-apis", - "version": "1.8.0", + "version": "1.9.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 797d6e3a9cfe2d..c48bc76452a5a5 100644 --- a/packages/project-management-automation/CHANGELOG.md +++ b/packages/project-management-automation/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json index e4e1a345f05567..bdaed741c9b331 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.8.0", + "version": "2.9.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 cdab707f520dc1..fa1b416809ca5c 100644 --- a/packages/react-i18n/CHANGELOG.md +++ b/packages/react-i18n/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json index dd4e513e333830..c235912776ea36 100644 --- a/packages/react-i18n/package.json +++ b/packages/react-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/react-i18n", - "version": "4.8.0", + "version": "4.9.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 5f28f282f760f8..c93a667a8faf00 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.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json index 7901045e659b28..ada467c56f07f2 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.8.0", + "version": "3.9.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 82c3b1b4c2e92b..8154e640d3c98f 100644 --- a/packages/redux-routine/CHANGELOG.md +++ b/packages/redux-routine/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json index 8e151e7d6bbfa3..362003cea44ff5 100644 --- a/packages/redux-routine/package.json +++ b/packages/redux-routine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/redux-routine", - "version": "5.8.0", + "version": "5.9.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 9ea28faa2e6c9e..5e94ec24079144 100644 --- a/packages/reusable-blocks/CHANGELOG.md +++ b/packages/reusable-blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json index 3e5e9cfb0ca77d..5cda09658eea7a 100644 --- a/packages/reusable-blocks/package.json +++ b/packages/reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/reusable-blocks", - "version": "5.8.0", + "version": "5.9.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 e456968e24875b..7fe0e351c6f5fe 100644 --- a/packages/rich-text/CHANGELOG.md +++ b/packages/rich-text/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.9.0 (2024-10-03) + ## 7.8.0 (2024-09-19) ## 7.7.0 (2024-09-05) diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json index a7e8e4b173c154..3987bef8c8aa9f 100644 --- a/packages/rich-text/package.json +++ b/packages/rich-text/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/rich-text", - "version": "7.8.0", + "version": "7.9.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 2d8d93373f4c5e..bd259351a87999 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/router/package.json b/packages/router/package.json index 5efc014ee221c9..9e0564538dc556 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/router", - "version": "1.8.0", + "version": "1.9.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 d24f9dfc7c02a4..e7b40a3c1f3463 100644 --- a/packages/scripts/CHANGELOG.md +++ b/packages/scripts/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 30.1.0 (2024-10-03) + ## 30.0.0 (2024-09-19) diff --git a/packages/scripts/package.json b/packages/scripts/package.json index f1546a9ff7b7e1..9cbec54f67114f 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/scripts", - "version": "30.0.0", + "version": "30.1.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 5acfc6a5cacae6..43de483ed7ae53 100644 --- a/packages/server-side-render/CHANGELOG.md +++ b/packages/server-side-render/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.9.0 (2024-10-03) + ## 5.8.0 (2024-09-19) ## 5.7.0 (2024-09-05) diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json index 6b6be2fb7e88d5..7e9a49faf24f90 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.8.0", + "version": "5.9.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 cc11e7806f00f4..e3efee9b49779e 100644 --- a/packages/shortcode/CHANGELOG.md +++ b/packages/shortcode/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json index c16f22d5023cfb..c8e721213510f1 100644 --- a/packages/shortcode/package.json +++ b/packages/shortcode/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/shortcode", - "version": "4.8.0", + "version": "4.9.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 43598ca011863e..3435553b63a713 100644 --- a/packages/style-engine/CHANGELOG.md +++ b/packages/style-engine/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.9.0 (2024-10-03) + ## 2.8.0 (2024-09-19) ## 2.7.0 (2024-09-05) diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json index 49327c487b2322..77ba258045df32 100644 --- a/packages/style-engine/package.json +++ b/packages/style-engine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/style-engine", - "version": "2.8.0", + "version": "2.9.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 7ba3f7fd28dd7c..ada350fe2fe577 100644 --- a/packages/stylelint-config/CHANGELOG.md +++ b/packages/stylelint-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 23.1.0 (2024-10-03) + ## 23.0.0 (2024-09-19) ### Breaking Changes diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json index 8aa35643b3d7e7..2c02cf016b0e1c 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/stylelint-config", - "version": "23.0.0", + "version": "23.1.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 4b4978c4eab1ba..00141ee08526d7 100644 --- a/packages/sync/CHANGELOG.md +++ b/packages/sync/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/sync/package.json b/packages/sync/package.json index b96133c749ad30..d9740c2e31deb1 100644 --- a/packages/sync/package.json +++ b/packages/sync/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/sync", - "version": "1.8.0", + "version": "1.9.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 068047bb7f8a58..77fb52c6ddd2a2 100644 --- a/packages/token-list/CHANGELOG.md +++ b/packages/token-list/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/token-list/package.json b/packages/token-list/package.json index 346623f3df1735..e09d5605f3d292 100644 --- a/packages/token-list/package.json +++ b/packages/token-list/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/token-list", - "version": "3.8.0", + "version": "3.9.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 a8ad0c1d7fbf0c..7375a328e01e9d 100644 --- a/packages/undo-manager/CHANGELOG.md +++ b/packages/undo-manager/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.9.0 (2024-10-03) + ## 1.8.0 (2024-09-19) ## 1.7.0 (2024-09-05) diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json index 1147efbb72a59d..ba44aaaeb11c24 100644 --- a/packages/undo-manager/package.json +++ b/packages/undo-manager/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/undo-manager", - "version": "1.8.0", + "version": "1.9.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 491eaf2e7b8ad2..93be01f8540a2e 100644 --- a/packages/url/CHANGELOG.md +++ b/packages/url/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/url/package.json b/packages/url/package.json index d04b42a2e19fb4..e736189718c585 100644 --- a/packages/url/package.json +++ b/packages/url/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/url", - "version": "4.8.0", + "version": "4.9.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 58850208f348c5..c80489b94eac6a 100644 --- a/packages/viewport/CHANGELOG.md +++ b/packages/viewport/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.9.0 (2024-10-03) + ## 6.8.0 (2024-09-19) ## 6.7.0 (2024-09-05) diff --git a/packages/viewport/package.json b/packages/viewport/package.json index 1a5d1a1c7f5b44..837eb3f36f7bf5 100644 --- a/packages/viewport/package.json +++ b/packages/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/viewport", - "version": "6.8.0", + "version": "6.9.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 248b318d7b576c..dc56abe7208cb2 100644 --- a/packages/warning/CHANGELOG.md +++ b/packages/warning/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.9.0 (2024-10-03) + ## 3.8.0 (2024-09-19) ## 3.7.0 (2024-09-05) diff --git a/packages/warning/package.json b/packages/warning/package.json index ded853e825cb0c..b01b0f0d6f6030 100644 --- a/packages/warning/package.json +++ b/packages/warning/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/warning", - "version": "3.8.0", + "version": "3.9.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 cf3d8c8eac0c2d..aaa2e56d0c625c 100644 --- a/packages/widgets/CHANGELOG.md +++ b/packages/widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/widgets/package.json b/packages/widgets/package.json index ccc2995650d81c..6dcf29d2c34eef 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/widgets", - "version": "4.8.0", + "version": "4.9.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 79a5a75b3ef833..9eeefc104183df 100644 --- a/packages/wordcount/CHANGELOG.md +++ b/packages/wordcount/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.9.0 (2024-10-03) + ## 4.8.0 (2024-09-19) ## 4.7.0 (2024-09-05) diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json index c8b610c9ccffe9..779306ee5b140d 100644 --- a/packages/wordcount/package.json +++ b/packages/wordcount/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/wordcount", - "version": "4.8.0", + "version": "4.9.0-prerelease", "description": "WordPress word count utility.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", From c815cffcad2bb358d32e375d67c1586f0f7a017d Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Thu, 3 Oct 2024 14:06:41 +0000 Subject: [PATCH 010/489] chore(release): publish - @wordpress/a11y@4.9.0 - @wordpress/annotations@3.9.0 - @wordpress/api-fetch@7.9.0 - @wordpress/autop@4.9.0 - @wordpress/babel-plugin-import-jsx-pragma@5.9.0 - @wordpress/babel-plugin-makepot@6.9.0 - @wordpress/babel-preset-default@8.9.0 - @wordpress/base-styles@5.9.0 - @wordpress/blob@4.9.0 - @wordpress/block-directory@5.9.0 - @wordpress/block-editor@14.4.0 - @wordpress/block-library@9.9.0 - @wordpress/block-serialization-default-parser@5.9.0 - @wordpress/block-serialization-spec-parser@5.9.0 - @wordpress/blocks@13.9.0 - @wordpress/browserslist-config@6.9.0 - @wordpress/commands@1.9.0 - @wordpress/components@28.9.0 - @wordpress/compose@7.9.0 - @wordpress/core-commands@1.9.0 - @wordpress/core-data@7.9.0 - @wordpress/create-block@4.52.0 - @wordpress/create-block-interactive-template@2.9.0 - @wordpress/create-block-tutorial-template@4.9.0 - @wordpress/customize-widgets@5.9.0 - @wordpress/data@10.9.0 - @wordpress/data-controls@4.9.0 - @wordpress/dataviews@4.5.0 - @wordpress/date@5.9.0 - @wordpress/dependency-extraction-webpack-plugin@6.9.0 - @wordpress/deprecated@4.9.0 - @wordpress/docgen@2.9.0 - @wordpress/dom@4.9.0 - @wordpress/dom-ready@4.9.0 - @wordpress/e2e-test-utils@11.9.0 - @wordpress/e2e-test-utils-playwright@1.9.0 - @wordpress/e2e-tests@8.9.0 - @wordpress/edit-post@8.9.0 - @wordpress/edit-site@6.9.0 - @wordpress/edit-widgets@6.9.0 - @wordpress/editor@14.9.0 - @wordpress/element@6.9.0 - @wordpress/env@10.9.0 - @wordpress/escape-html@3.9.0 - @wordpress/eslint-plugin@21.2.0 - @wordpress/fields@0.1.0 - @wordpress/format-library@5.9.0 - @wordpress/hooks@4.9.0 - @wordpress/html-entities@4.9.0 - @wordpress/i18n@5.9.0 - @wordpress/icons@10.9.0 - @wordpress/interactivity@6.9.0 - @wordpress/interactivity-router@2.9.0 - @wordpress/interface@6.9.0 - @wordpress/is-shallow-equal@5.9.0 - @wordpress/jest-console@8.9.0 - @wordpress/jest-preset-default@12.9.0 - @wordpress/jest-puppeteer-axe@7.9.0 - @wordpress/keyboard-shortcuts@5.9.0 - @wordpress/keycodes@4.9.0 - @wordpress/lazy-import@2.9.0 - @wordpress/list-reusable-blocks@5.9.0 - @wordpress/media-utils@5.9.0 - @wordpress/notices@5.9.0 - @wordpress/npm-package-json-lint-config@5.9.0 - @wordpress/nux@9.9.0 - @wordpress/patterns@2.9.0 - @wordpress/plugins@7.9.0 - @wordpress/postcss-plugins-preset@5.9.0 - @wordpress/postcss-themes@6.9.0 - @wordpress/preferences@4.9.0 - @wordpress/preferences-persistence@2.9.0 - @wordpress/prettier-config@4.9.0 - @wordpress/primitives@4.9.0 - @wordpress/priority-queue@3.9.0 - @wordpress/private-apis@1.9.0 - @wordpress/project-management-automation@2.9.0 - @wordpress/react-i18n@4.9.0 - @wordpress/readable-js-assets-webpack-plugin@3.9.0 - @wordpress/redux-routine@5.9.0 - @wordpress/reusable-blocks@5.9.0 - @wordpress/rich-text@7.9.0 - @wordpress/router@1.9.0 - @wordpress/scripts@30.1.0 - @wordpress/server-side-render@5.9.0 - @wordpress/shortcode@4.9.0 - @wordpress/style-engine@2.9.0 - @wordpress/stylelint-config@23.1.0 - @wordpress/sync@1.9.0 - @wordpress/token-list@3.9.0 - @wordpress/undo-manager@1.9.0 - @wordpress/url@4.9.0 - @wordpress/viewport@6.9.0 - @wordpress/warning@3.9.0 - @wordpress/widgets@4.9.0 - @wordpress/wordcount@4.9.0 --- package-lock.json | 190 +++++++++--------- 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, 191 insertions(+), 191 deletions(-) diff --git a/package-lock.json b/package-lock.json index c800d47891c180..48ffe440202c36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52564,7 +52564,7 @@ }, "packages/a11y": { "name": "@wordpress/a11y", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52578,7 +52578,7 @@ }, "packages/annotations": { "name": "@wordpress/annotations", - "version": "3.8.0", + "version": "3.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52606,7 +52606,7 @@ }, "packages/api-fetch": { "name": "@wordpress/api-fetch", - "version": "7.8.0", + "version": "7.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52620,7 +52620,7 @@ }, "packages/autop": { "name": "@wordpress/autop", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -52632,7 +52632,7 @@ }, "packages/babel-plugin-import-jsx-pragma": { "name": "@wordpress/babel-plugin-import-jsx-pragma", - "version": "5.8.0", + "version": "5.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -52645,7 +52645,7 @@ }, "packages/babel-plugin-makepot": { "name": "@wordpress/babel-plugin-makepot", - "version": "6.8.0", + "version": "6.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -52663,7 +52663,7 @@ }, "packages/babel-preset-default": { "name": "@wordpress/babel-preset-default", - "version": "8.8.0", + "version": "8.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -52686,7 +52686,7 @@ }, "packages/base-styles": { "name": "@wordpress/base-styles", - "version": "5.8.0", + "version": "5.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -52696,7 +52696,7 @@ }, "packages/blob": { "name": "@wordpress/blob", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -52708,7 +52708,7 @@ }, "packages/block-directory": { "name": "@wordpress/block-directory", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52744,7 +52744,7 @@ }, "packages/block-editor": { "name": "@wordpress/block-editor", - "version": "14.3.0", + "version": "14.4.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52843,7 +52843,7 @@ }, "packages/block-library": { "name": "@wordpress/block-library", - "version": "9.8.0", + "version": "9.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52909,7 +52909,7 @@ }, "packages/block-serialization-default-parser": { "name": "@wordpress/block-serialization-default-parser", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -52921,7 +52921,7 @@ }, "packages/block-serialization-spec-parser": { "name": "@wordpress/block-serialization-spec-parser", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "pegjs": "^0.10.0", @@ -52934,7 +52934,7 @@ }, "packages/blocks": { "name": "@wordpress/blocks", - "version": "13.8.0", + "version": "13.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -52988,7 +52988,7 @@ }, "packages/browserslist-config": { "name": "@wordpress/browserslist-config", - "version": "6.8.0", + "version": "6.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -52998,7 +52998,7 @@ }, "packages/commands": { "name": "@wordpress/commands", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53171,7 +53171,7 @@ }, "packages/components": { "name": "@wordpress/components", - "version": "28.8.0", + "version": "28.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.10", @@ -53291,7 +53291,7 @@ }, "packages/compose": { "name": "@wordpress/compose", - "version": "7.8.0", + "version": "7.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53328,7 +53328,7 @@ }, "packages/core-commands": { "name": "@wordpress/core-commands", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53357,7 +53357,7 @@ }, "packages/core-data": { "name": "@wordpress/core-data", - "version": "7.8.0", + "version": "7.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53402,7 +53402,7 @@ }, "packages/create-block": { "name": "@wordpress/create-block", - "version": "4.51.0", + "version": "4.52.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53430,7 +53430,7 @@ }, "packages/create-block-tutorial-template": { "name": "@wordpress/create-block-tutorial-template", - "version": "4.8.0", + "version": "4.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -53440,7 +53440,7 @@ }, "packages/customize-widgets": { "name": "@wordpress/customize-widgets", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53478,7 +53478,7 @@ }, "packages/data": { "name": "@wordpress/data", - "version": "10.8.0", + "version": "10.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53507,7 +53507,7 @@ }, "packages/data-controls": { "name": "@wordpress/data-controls", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53525,7 +53525,7 @@ }, "packages/dataviews": { "name": "@wordpress/dataviews", - "version": "4.4.0", + "version": "4.5.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.10", @@ -53582,7 +53582,7 @@ }, "packages/date": { "name": "@wordpress/date", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53597,7 +53597,7 @@ }, "packages/dependency-extraction-webpack-plugin": { "name": "@wordpress/dependency-extraction-webpack-plugin", - "version": "6.8.0", + "version": "6.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53613,7 +53613,7 @@ }, "packages/deprecated": { "name": "@wordpress/deprecated", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53626,7 +53626,7 @@ }, "packages/docgen": { "name": "@wordpress/docgen", - "version": "2.8.0", + "version": "2.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53648,7 +53648,7 @@ }, "packages/dom": { "name": "@wordpress/dom", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53661,7 +53661,7 @@ }, "packages/dom-ready": { "name": "@wordpress/dom-ready", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -53673,7 +53673,7 @@ }, "packages/e2e-test-utils": { "name": "@wordpress/e2e-test-utils", - "version": "11.8.0", + "version": "11.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53696,7 +53696,7 @@ }, "packages/e2e-test-utils-playwright": { "name": "@wordpress/e2e-test-utils-playwright", - "version": "1.8.0", + "version": "1.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53724,7 +53724,7 @@ }, "packages/e2e-tests": { "name": "@wordpress/e2e-tests", - "version": "8.8.0", + "version": "8.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -53764,7 +53764,7 @@ }, "packages/edit-post": { "name": "@wordpress/edit-post", - "version": "8.8.0", + "version": "8.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53811,7 +53811,7 @@ }, "packages/edit-site": { "name": "@wordpress/edit-site", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53873,7 +53873,7 @@ }, "packages/edit-widgets": { "name": "@wordpress/edit-widgets", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53916,7 +53916,7 @@ }, "packages/editor": { "name": "@wordpress/editor", - "version": "14.8.0", + "version": "14.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53978,7 +53978,7 @@ }, "packages/element": { "name": "@wordpress/element", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -53997,7 +53997,7 @@ }, "packages/env": { "name": "@wordpress/env", - "version": "10.8.0", + "version": "10.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54139,7 +54139,7 @@ }, "packages/escape-html": { "name": "@wordpress/escape-html", - "version": "3.8.0", + "version": "3.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -54151,7 +54151,7 @@ }, "packages/eslint-plugin": { "name": "@wordpress/eslint-plugin", - "version": "21.1.0", + "version": "21.2.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54194,7 +54194,7 @@ }, "packages/fields": { "name": "@wordpress/fields", - "version": "0.0.1", + "version": "0.1.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54230,7 +54230,7 @@ }, "packages/format-library": { "name": "@wordpress/format-library", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54258,7 +54258,7 @@ }, "packages/hooks": { "name": "@wordpress/hooks", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -54270,7 +54270,7 @@ }, "packages/html-entities": { "name": "@wordpress/html-entities", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -54282,7 +54282,7 @@ }, "packages/i18n": { "name": "@wordpress/i18n", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54302,7 +54302,7 @@ }, "packages/icons": { "name": "@wordpress/icons", - "version": "10.8.0", + "version": "10.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54316,7 +54316,7 @@ }, "packages/interactivity": { "name": "@wordpress/interactivity", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@preact/signals": "^1.2.2", @@ -54329,7 +54329,7 @@ }, "packages/interactivity-router": { "name": "@wordpress/interactivity-router", - "version": "2.8.0", + "version": "2.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/a11y": "file:../a11y", @@ -54366,7 +54366,7 @@ }, "packages/interface": { "name": "@wordpress/interface", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54395,7 +54395,7 @@ }, "packages/is-shallow-equal": { "name": "@wordpress/is-shallow-equal", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -54407,7 +54407,7 @@ }, "packages/jest-console": { "name": "@wordpress/jest-console", - "version": "8.8.0", + "version": "8.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54424,7 +54424,7 @@ }, "packages/jest-preset-default": { "name": "@wordpress/jest-preset-default", - "version": "12.8.0", + "version": "12.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54442,7 +54442,7 @@ }, "packages/jest-puppeteer-axe": { "name": "@wordpress/jest-puppeteer-axe", - "version": "7.8.0", + "version": "7.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54465,7 +54465,7 @@ }, "packages/keyboard-shortcuts": { "name": "@wordpress/keyboard-shortcuts", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54483,7 +54483,7 @@ }, "packages/keycodes": { "name": "@wordpress/keycodes", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54496,7 +54496,7 @@ }, "packages/lazy-import": { "name": "@wordpress/lazy-import", - "version": "2.8.0", + "version": "2.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54511,7 +54511,7 @@ }, "packages/list-reusable-blocks": { "name": "@wordpress/list-reusable-blocks", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54534,7 +54534,7 @@ }, "packages/media-utils": { "name": "@wordpress/media-utils", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54550,7 +54550,7 @@ }, "packages/notices": { "name": "@wordpress/notices", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54567,7 +54567,7 @@ }, "packages/npm-package-json-lint-config": { "name": "@wordpress/npm-package-json-lint-config", - "version": "5.8.0", + "version": "5.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -54580,7 +54580,7 @@ }, "packages/nux": { "name": "@wordpress/nux", - "version": "9.8.0", + "version": "9.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54603,7 +54603,7 @@ }, "packages/patterns": { "name": "@wordpress/patterns", - "version": "2.8.0", + "version": "2.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54633,7 +54633,7 @@ }, "packages/plugins": { "name": "@wordpress/plugins", - "version": "7.8.0", + "version": "7.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54656,7 +54656,7 @@ }, "packages/postcss-plugins-preset": { "name": "@wordpress/postcss-plugins-preset", - "version": "5.8.0", + "version": "5.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54673,7 +54673,7 @@ }, "packages/postcss-themes": { "name": "@wordpress/postcss-themes", - "version": "6.8.0", + "version": "6.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -54686,7 +54686,7 @@ }, "packages/preferences": { "name": "@wordpress/preferences", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54712,7 +54712,7 @@ }, "packages/preferences-persistence": { "name": "@wordpress/preferences-persistence", - "version": "2.8.0", + "version": "2.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54725,7 +54725,7 @@ }, "packages/prettier-config": { "name": "@wordpress/prettier-config", - "version": "4.8.0", + "version": "4.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -54738,7 +54738,7 @@ }, "packages/primitives": { "name": "@wordpress/primitives", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54755,7 +54755,7 @@ }, "packages/priority-queue": { "name": "@wordpress/priority-queue", - "version": "3.8.0", + "version": "3.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54768,7 +54768,7 @@ }, "packages/private-apis": { "name": "@wordpress/private-apis", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -54780,7 +54780,7 @@ }, "packages/project-management-automation": { "name": "@wordpress/project-management-automation", - "version": "2.8.0", + "version": "2.9.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -54810,7 +54810,7 @@ }, "packages/react-i18n": { "name": "@wordpress/react-i18n", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -54966,7 +54966,7 @@ }, "packages/readable-js-assets-webpack-plugin": { "name": "@wordpress/readable-js-assets-webpack-plugin", - "version": "3.8.0", + "version": "3.9.0", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -54979,7 +54979,7 @@ }, "packages/redux-routine": { "name": "@wordpress/redux-routine", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55024,7 +55024,7 @@ }, "packages/reusable-blocks": { "name": "@wordpress/reusable-blocks", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55051,7 +55051,7 @@ }, "packages/rich-text": { "name": "@wordpress/rich-text", - "version": "7.8.0", + "version": "7.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55075,7 +55075,7 @@ }, "packages/router": { "name": "@wordpress/router", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55094,7 +55094,7 @@ }, "packages/scripts": { "name": "@wordpress/scripts", - "version": "30.0.0", + "version": "30.1.0", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -55549,7 +55549,7 @@ }, "packages/server-side-render": { "name": "@wordpress/server-side-render", - "version": "5.8.0", + "version": "5.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55575,7 +55575,7 @@ }, "packages/shortcode": { "name": "@wordpress/shortcode", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55588,7 +55588,7 @@ }, "packages/style-engine": { "name": "@wordpress/style-engine", - "version": "2.8.0", + "version": "2.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55601,7 +55601,7 @@ }, "packages/stylelint-config": { "name": "@wordpress/stylelint-config", - "version": "23.0.0", + "version": "23.1.0", "dev": true, "license": "MIT", "dependencies": { @@ -55719,7 +55719,7 @@ }, "packages/sync": { "name": "@wordpress/sync", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55740,7 +55740,7 @@ }, "packages/token-list": { "name": "@wordpress/token-list", - "version": "3.8.0", + "version": "3.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" @@ -55752,7 +55752,7 @@ }, "packages/undo-manager": { "name": "@wordpress/undo-manager", - "version": "1.8.0", + "version": "1.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55765,7 +55765,7 @@ }, "packages/url": { "name": "@wordpress/url", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55778,7 +55778,7 @@ }, "packages/viewport": { "name": "@wordpress/viewport", - "version": "6.8.0", + "version": "6.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55796,7 +55796,7 @@ }, "packages/warning": { "name": "@wordpress/warning", - "version": "3.8.0", + "version": "3.9.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -55805,7 +55805,7 @@ }, "packages/widgets": { "name": "@wordpress/widgets", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", @@ -55833,7 +55833,7 @@ }, "packages/wordcount": { "name": "@wordpress/wordcount", - "version": "4.8.0", + "version": "4.9.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" diff --git a/packages/a11y/package.json b/packages/a11y/package.json index d9b6c88bc783f6..e3868dca8b6baf 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/a11y", - "version": "4.9.0-prerelease", + "version": "4.9.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 9b6c0af4195487..ab482712954252 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/annotations", - "version": "3.9.0-prerelease", + "version": "3.9.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 20410c226aa970..3ad4425db40309 100644 --- a/packages/api-fetch/package.json +++ b/packages/api-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/api-fetch", - "version": "7.9.0-prerelease", + "version": "7.9.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 30594cc8cd4500..9320cfc26213aa 100644 --- a/packages/autop/package.json +++ b/packages/autop/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/autop", - "version": "4.9.0-prerelease", + "version": "4.9.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 453ba0586b3bb7..47ecbcccd5eb2f 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.9.0-prerelease", + "version": "5.9.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 1d519b806e2946..d04a20a7164594 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.9.0-prerelease", + "version": "6.9.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 15cd827171f474..f98ac198e22730 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.9.0-prerelease", + "version": "8.9.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 0af745e39db4db..b1da65dde47970 100644 --- a/packages/base-styles/package.json +++ b/packages/base-styles/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/base-styles", - "version": "5.9.0-prerelease", + "version": "5.9.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 067b7382a5513b..96d35105fc8246 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blob", - "version": "4.9.0-prerelease", + "version": "4.9.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 fbeeddafe875f0..b1f0aaf2a599ad 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.9.0-prerelease", + "version": "5.9.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 4773dda51f54b8..1c6c313345d723 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-editor", - "version": "14.4.0-prerelease", + "version": "14.4.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 b6a1154e9c8300..ac25e1cdb815ab 100644 --- a/packages/block-library/package.json +++ b/packages/block-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-library", - "version": "9.9.0-prerelease", + "version": "9.9.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 93e3a5a38049d2..5dabca2d129452 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.9.0-prerelease", + "version": "5.9.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 87b5c051177c3f..38469f4d295298 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.9.0-prerelease", + "version": "5.9.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 7594840fb58d5b..644e428cb686b4 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blocks", - "version": "13.9.0-prerelease", + "version": "13.9.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 24adbde9c53e85..0c4d314203483b 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/browserslist-config", - "version": "6.9.0-prerelease", + "version": "6.9.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 70465b15f18b29..6fd5fdf9971e46 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/commands", - "version": "1.9.0-prerelease", + "version": "1.9.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 78af25cdff54a4..0a2b7b0d0431be 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/components", - "version": "28.9.0-prerelease", + "version": "28.9.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 a10486fade88e9..83ffd1d2b364f1 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/compose", - "version": "7.9.0-prerelease", + "version": "7.9.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 575ef291eea45e..1eed9f5348145a 100644 --- a/packages/core-commands/package.json +++ b/packages/core-commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-commands", - "version": "1.9.0-prerelease", + "version": "1.9.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 124f4bb6421fad..4037bd577c3233 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-data", - "version": "7.9.0-prerelease", + "version": "7.9.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 2ff5f35ab3dce1..e8b38dab906cca 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.9.0-prerelease", + "version": "2.9.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 11b94a63b8889e..9eceb95dda83c5 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.9.0-prerelease", + "version": "4.9.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 4b6cc0d4cb3867..7c31cb57687f00 100644 --- a/packages/create-block/package.json +++ b/packages/create-block/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block", - "version": "4.52.0-prerelease", + "version": "4.52.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 59cafbdb7edecf..7231de9ac1b18f 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/customize-widgets", - "version": "5.9.0-prerelease", + "version": "5.9.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 6c549e200d603b..cf4aab46c6daee 100644 --- a/packages/data-controls/package.json +++ b/packages/data-controls/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data-controls", - "version": "4.9.0-prerelease", + "version": "4.9.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 15de6f05e7dabe..7ba4efc4592254 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data", - "version": "10.9.0-prerelease", + "version": "10.9.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 ebd313da5ab253..d5b465a3f7b2de 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dataviews", - "version": "4.5.0-prerelease", + "version": "4.5.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 f3f3682ca64b09..3023e0cba30e51 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/date", - "version": "5.9.0-prerelease", + "version": "5.9.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 b3e628dfc0acbf..2eb71b69864232 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.9.0-prerelease", + "version": "6.9.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 3732620632486c..2c7d69a11ea921 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/deprecated", - "version": "4.9.0-prerelease", + "version": "4.9.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 530ec87af0b8b7..2829246f9e4309 100644 --- a/packages/docgen/package.json +++ b/packages/docgen/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/docgen", - "version": "2.9.0-prerelease", + "version": "2.9.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 6715a44205c7b6..56913124da79f3 100644 --- a/packages/dom-ready/package.json +++ b/packages/dom-ready/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom-ready", - "version": "4.9.0-prerelease", + "version": "4.9.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 2c794abc0a2c71..c80beed815ea90 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom", - "version": "4.9.0-prerelease", + "version": "4.9.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 ac0c9d8d4de3f0..ebec29be94c89d 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.9.0-prerelease", + "version": "1.9.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 72c1589a399e51..a91938f54dd52c 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.9.0-prerelease", + "version": "11.9.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 7ff65a2ee56cb6..714542e115c823 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-tests", - "version": "8.9.0-prerelease", + "version": "8.9.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 6269b80d482a23..dd2eaa5115bafb 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.9.0-prerelease", + "version": "8.9.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 11a501377dcede..bd86d74c686801 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.9.0-prerelease", + "version": "6.9.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 8f920ecefa596d..e9d0f18df460a6 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-widgets", - "version": "6.9.0-prerelease", + "version": "6.9.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 15356fc279c62b..8781b0b992d94f 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/editor", - "version": "14.9.0-prerelease", + "version": "14.9.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 afa90afa11539e..dc96c5a83b182a 100644 --- a/packages/element/package.json +++ b/packages/element/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/element", - "version": "6.9.0-prerelease", + "version": "6.9.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 9ccf40ed5400a4..ef0a9ca1832013 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/env", - "version": "10.9.0-prerelease", + "version": "10.9.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 2f1690a8bcef92..b45f4c236f41eb 100644 --- a/packages/escape-html/package.json +++ b/packages/escape-html/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/escape-html", - "version": "3.9.0-prerelease", + "version": "3.9.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 9b90ff3580f7a1..6638473b94b184 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/eslint-plugin", - "version": "21.2.0-prerelease", + "version": "21.2.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 037f58fc2882b0..d0dd29138c5e5f 100644 --- a/packages/fields/package.json +++ b/packages/fields/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/fields", - "version": "0.1.0-prerelease", + "version": "0.1.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 f430142cdbbf33..fa2f45682a2b7c 100644 --- a/packages/format-library/package.json +++ b/packages/format-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/format-library", - "version": "5.9.0-prerelease", + "version": "5.9.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 bd537189fe1c38..841dcd33afb7fa 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/hooks", - "version": "4.9.0-prerelease", + "version": "4.9.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 b7f418d5067a56..fe0c1314b1a387 100644 --- a/packages/html-entities/package.json +++ b/packages/html-entities/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/html-entities", - "version": "4.9.0-prerelease", + "version": "4.9.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 fdc9319331208b..7dc84901cafea1 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/i18n", - "version": "5.9.0-prerelease", + "version": "5.9.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 cc00704636dce0..39395b2b76cb0b 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/icons", - "version": "10.9.0-prerelease", + "version": "10.9.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 005524b8610fc7..529d7a2ad1f32f 100644 --- a/packages/interactivity-router/package.json +++ b/packages/interactivity-router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity-router", - "version": "2.9.0-prerelease", + "version": "2.9.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 5539375122e0e4..417ec8a2d337ba 100644 --- a/packages/interactivity/package.json +++ b/packages/interactivity/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interactivity", - "version": "6.9.0-prerelease", + "version": "6.9.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 916a75cb286da9..cb55a37da29b54 100644 --- a/packages/interface/package.json +++ b/packages/interface/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/interface", - "version": "6.9.0-prerelease", + "version": "6.9.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 f6ddb0f153f6a7..bd28c31fc750b2 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.9.0-prerelease", + "version": "5.9.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 219db35b525f56..a35f92896950fc 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/jest-console", - "version": "8.9.0-prerelease", + "version": "8.9.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 a4846a401b446c..1a64cc47294f31 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.9.0-prerelease", + "version": "12.9.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 faff90b0afc61d..71674e12e0df94 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.9.0-prerelease", + "version": "7.9.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 2585b02bf1c127..bf71b807329f77 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keyboard-shortcuts", - "version": "5.9.0-prerelease", + "version": "5.9.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 6efb197356575d..cfff9c69844232 100644 --- a/packages/keycodes/package.json +++ b/packages/keycodes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/keycodes", - "version": "4.9.0-prerelease", + "version": "4.9.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 937afab3d68ba7..8343dcfeed00be 100644 --- a/packages/lazy-import/package.json +++ b/packages/lazy-import/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/lazy-import", - "version": "2.9.0-prerelease", + "version": "2.9.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 95102c8a0c1e22..4971c35c947eb2 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.9.0-prerelease", + "version": "5.9.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 971dc40a8232fc..25bdb46a352bbb 100644 --- a/packages/media-utils/package.json +++ b/packages/media-utils/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/media-utils", - "version": "5.9.0-prerelease", + "version": "5.9.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 fb818a061801d6..b6712776778e13 100644 --- a/packages/notices/package.json +++ b/packages/notices/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/notices", - "version": "5.9.0-prerelease", + "version": "5.9.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 0f33e57108b339..abde4d2490cc9b 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.9.0-prerelease", + "version": "5.9.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 816a9218ce6b65..f633695d5490a2 100644 --- a/packages/nux/package.json +++ b/packages/nux/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/nux", - "version": "9.9.0-prerelease", + "version": "9.9.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 3e2e96cd2bfa55..b9654af383f723 100644 --- a/packages/patterns/package.json +++ b/packages/patterns/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/patterns", - "version": "2.9.0-prerelease", + "version": "2.9.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 922cf572afd333..7772c7361cd5bc 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/plugins", - "version": "7.9.0-prerelease", + "version": "7.9.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 aec85f2952f116..8e1db61b9668c2 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.9.0-prerelease", + "version": "5.9.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 fedfca942c28bb..e7752b3aaa3526 100644 --- a/packages/postcss-themes/package.json +++ b/packages/postcss-themes/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/postcss-themes", - "version": "6.9.0-prerelease", + "version": "6.9.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 c88cc45540607f..1872840d8a8cc9 100644 --- a/packages/preferences-persistence/package.json +++ b/packages/preferences-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences-persistence", - "version": "2.9.0-prerelease", + "version": "2.9.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 05feb1c96c834e..722212c3d0d48b 100644 --- a/packages/preferences/package.json +++ b/packages/preferences/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/preferences", - "version": "4.9.0-prerelease", + "version": "4.9.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 a20d8d93e776fa..3f77e6bb125bb5 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/prettier-config", - "version": "4.9.0-prerelease", + "version": "4.9.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 9a28f05b6b2582..4bf8849c0dba4a 100644 --- a/packages/primitives/package.json +++ b/packages/primitives/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/primitives", - "version": "4.9.0-prerelease", + "version": "4.9.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 1104d9240cd3e7..991d5a207c780c 100644 --- a/packages/priority-queue/package.json +++ b/packages/priority-queue/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/priority-queue", - "version": "3.9.0-prerelease", + "version": "3.9.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 6d33d8a1c583ce..ada754f9405259 100644 --- a/packages/private-apis/package.json +++ b/packages/private-apis/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/private-apis", - "version": "1.9.0-prerelease", + "version": "1.9.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 bdaed741c9b331..67ad670628efcd 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.9.0-prerelease", + "version": "2.9.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 c235912776ea36..acf4656d65496b 100644 --- a/packages/react-i18n/package.json +++ b/packages/react-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/react-i18n", - "version": "4.9.0-prerelease", + "version": "4.9.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 ada467c56f07f2..8f90b19356c4ee 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.9.0-prerelease", + "version": "3.9.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 362003cea44ff5..80857aa15908d0 100644 --- a/packages/redux-routine/package.json +++ b/packages/redux-routine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/redux-routine", - "version": "5.9.0-prerelease", + "version": "5.9.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 5cda09658eea7a..8936c97e247683 100644 --- a/packages/reusable-blocks/package.json +++ b/packages/reusable-blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/reusable-blocks", - "version": "5.9.0-prerelease", + "version": "5.9.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 3987bef8c8aa9f..f9ecb72cfb6d0e 100644 --- a/packages/rich-text/package.json +++ b/packages/rich-text/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/rich-text", - "version": "7.9.0-prerelease", + "version": "7.9.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 9e0564538dc556..7686f90a27c495 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/router", - "version": "1.9.0-prerelease", + "version": "1.9.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 9cbec54f67114f..29fef4864a991d 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/scripts", - "version": "30.1.0-prerelease", + "version": "30.1.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 7e9a49faf24f90..d7dd1311a2f107 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.9.0-prerelease", + "version": "5.9.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 c8e721213510f1..b0e2f5eb34181d 100644 --- a/packages/shortcode/package.json +++ b/packages/shortcode/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/shortcode", - "version": "4.9.0-prerelease", + "version": "4.9.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 77ba258045df32..80babe6bcd4ca5 100644 --- a/packages/style-engine/package.json +++ b/packages/style-engine/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/style-engine", - "version": "2.9.0-prerelease", + "version": "2.9.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 2c02cf016b0e1c..3cb8b481dd4201 100644 --- a/packages/stylelint-config/package.json +++ b/packages/stylelint-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/stylelint-config", - "version": "23.1.0-prerelease", + "version": "23.1.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 d9740c2e31deb1..27f618f3345584 100644 --- a/packages/sync/package.json +++ b/packages/sync/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/sync", - "version": "1.9.0-prerelease", + "version": "1.9.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 e09d5605f3d292..69c59f5ff582fb 100644 --- a/packages/token-list/package.json +++ b/packages/token-list/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/token-list", - "version": "3.9.0-prerelease", + "version": "3.9.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 ba44aaaeb11c24..c08951947ee377 100644 --- a/packages/undo-manager/package.json +++ b/packages/undo-manager/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/undo-manager", - "version": "1.9.0-prerelease", + "version": "1.9.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 e736189718c585..9fa2c416619cf2 100644 --- a/packages/url/package.json +++ b/packages/url/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/url", - "version": "4.9.0-prerelease", + "version": "4.9.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 837eb3f36f7bf5..cc990e6732ba86 100644 --- a/packages/viewport/package.json +++ b/packages/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/viewport", - "version": "6.9.0-prerelease", + "version": "6.9.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 b01b0f0d6f6030..7499ced5cb962f 100644 --- a/packages/warning/package.json +++ b/packages/warning/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/warning", - "version": "3.9.0-prerelease", + "version": "3.9.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 6dcf29d2c34eef..bf73872934da55 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/widgets", - "version": "4.9.0-prerelease", + "version": "4.9.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 779306ee5b140d..b813249f1f7d75 100644 --- a/packages/wordcount/package.json +++ b/packages/wordcount/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/wordcount", - "version": "4.9.0-prerelease", + "version": "4.9.0", "description": "WordPress word count utility.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", From 3527a6feed86877dc5c8a41df99d2d95d9957efc Mon Sep 17 00:00:00 2001 From: Gutenberg Repository Automation Date: Thu, 3 Oct 2024 14:41:28 +0000 Subject: [PATCH 011/489] Update Changelog for 19.4.0-rc.1 --- changelog.txt | 337 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 337 insertions(+) diff --git a/changelog.txt b/changelog.txt index b802a88a14202c..06d92230737fc5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,342 @@ == Changelog == += 19.4.0-rc.1 = + + +## Changelog + +### Enhancements + +#### Block Library +- Added keywords to query loop block. ([65515](https://github.com/WordPress/gutenberg/pull/65515)) +- Added: DropZone when sitelogo is present. ([65596](https://github.com/WordPress/gutenberg/pull/65596)) +- Avatar: Add block example. ([65509](https://github.com/WordPress/gutenberg/pull/65509)) +- Buttons: add box-sizing:Border-box rule. ([65716](https://github.com/WordPress/gutenberg/pull/65716)) +- Comment Author Name: Add block example. ([65558](https://github.com/WordPress/gutenberg/pull/65558)) +- Comment Content: Add block example. ([65559](https://github.com/WordPress/gutenberg/pull/65559)) +- Comment Date: Add block example. ([65632](https://github.com/WordPress/gutenberg/pull/65632)) +- Comment Edit/Reply Links: Add block examples. ([65601](https://github.com/WordPress/gutenberg/pull/65601)) +- Comment Pagination: Add previous and next link block examples. ([65633](https://github.com/WordPress/gutenberg/pull/65633)) +- Comments Pagination Numbers: Add block example. ([65635](https://github.com/WordPress/gutenberg/pull/65635)) +- Comments Title: Add block example. ([65557](https://github.com/WordPress/gutenberg/pull/65557)) +- File block: Allow content only editing. ([65787](https://github.com/WordPress/gutenberg/pull/65787)) +- Navigation block: Use `apply_block_hooks_to_content()`. ([65703](https://github.com/WordPress/gutenberg/pull/65703)) +- Post Navigation Link: Add block examples. ([65552](https://github.com/WordPress/gutenberg/pull/65552)) +- Query No Results: Add block example. ([65555](https://github.com/WordPress/gutenberg/pull/65555)) +- Query Pagination Numbers: Add block example. ([65636](https://github.com/WordPress/gutenberg/pull/65636)) +- Query Pagination: Add block example. ([65556](https://github.com/WordPress/gutenberg/pull/65556)) +- Query Title: Add block example. ([65554](https://github.com/WordPress/gutenberg/pull/65554)) +- Revert: Time To Read: Add block example. ([65510](https://github.com/WordPress/gutenberg/pull/65510)) +- Table of Contents: Try maintaining block example attributes. ([65549](https://github.com/WordPress/gutenberg/pull/65549)) +- Term Description: Add block example. ([65553](https://github.com/WordPress/gutenberg/pull/65553)) +- Time To Read: Add block example. ([65512](https://github.com/WordPress/gutenberg/pull/65512)) + +#### Components +- Light branding for the reference site. ([65764](https://github.com/WordPress/gutenberg/pull/65764)) +- BorderControl: Use `__next40pxDefaultSize` prop for Reset button. ([65682](https://github.com/WordPress/gutenberg/pull/65682)) +- Composite: Always await initial render setup in unit tests. ([65823](https://github.com/WordPress/gutenberg/pull/65823)) +- DatePicker: Use compact button size. ([65653](https://github.com/WordPress/gutenberg/pull/65653)) +- Guide: Update finish button to use the new default size. ([65680](https://github.com/WordPress/gutenberg/pull/65680)) +- Navigator: Add support for exit animation. ([64777](https://github.com/WordPress/gutenberg/pull/64777)) +- Remove `useEvent` from components package. ([65388](https://github.com/WordPress/gutenberg/pull/65388)) +- Simplify MenuGroup component styles. ([65561](https://github.com/WordPress/gutenberg/pull/65561)) +- Storybook: Allow for case-agnostic filtering of icons. ([65780](https://github.com/WordPress/gutenberg/pull/65780)) +- ToggleGroupControl: Improve animation. ([65175](https://github.com/WordPress/gutenberg/pull/65175)) +- Tabs: Tweak sizing and overflow behavior of TabList. ([64371](https://github.com/WordPress/gutenberg/pull/64371)) + +#### Zoom Out +- Add prompt to zoom out separator. ([65392](https://github.com/WordPress/gutenberg/pull/65392)) +- Make sections `contentOnly` in Zoom Out. ([65396](https://github.com/WordPress/gutenberg/pull/65396)) +- Move the toggle button to before the device preview dropdown. ([65446](https://github.com/WordPress/gutenberg/pull/65446)) +- Only show zoom out inserters on block selection. ([65759](https://github.com/WordPress/gutenberg/pull/65759)) + +#### Block Editor +- Hide block transforms in contentOnly mode for non-content blocks. ([65394](https://github.com/WordPress/gutenberg/pull/65394)) +- Inserter: Always show the list of all patterns in the inserter. ([65611](https://github.com/WordPress/gutenberg/pull/65611)) +- MediaPlaceholder: Use InputControl in URL popover. ([65656](https://github.com/WordPress/gutenberg/pull/65656)) +- Use proper named `File` when uploading external images. ([65693](https://github.com/WordPress/gutenberg/pull/65693)) + +#### Data Views +- DataForm - Add combined fields support. ([65399](https://github.com/WordPress/gutenberg/pull/65399)) +- Filter UI: Remove popover max height. ([65835](https://github.com/WordPress/gutenberg/pull/65835)) +- Dataviews configuration dropdown: Remove style overrides. ([65373](https://github.com/WordPress/gutenberg/pull/65373)) + +#### Post Editor +- Edit Post: Remove unnecessary effect in `InitPatternModal`. ([65734](https://github.com/WordPress/gutenberg/pull/65734)) +- Editor: Consistent external media pre-publish image/button sizes. ([65668](https://github.com/WordPress/gutenberg/pull/65668)) + +#### Global Styles +- Editor Canvas: Tweak close button. ([65694](https://github.com/WordPress/gutenberg/pull/65694)) +- Style book: Create static categories. ([65430](https://github.com/WordPress/gutenberg/pull/65430)) + +#### Edit Mode +- Update tools menus with Write / Design order. ([65721](https://github.com/WordPress/gutenberg/pull/65721)) + +#### Select Mode +- Select Mode: Updates to the block toolbar. ([65485](https://github.com/WordPress/gutenberg/pull/65485)) +- Select Mode: Use the content-only behavior in select mode. ([65204](https://github.com/WordPress/gutenberg/pull/65204)) + +#### Icons +- Adds envelope icon. ([65638](https://github.com/WordPress/gutenberg/pull/65638)) + +#### Site Editor +- Global Styles: Remove navigator screen overrides. ([65522](https://github.com/WordPress/gutenberg/pull/65522)) +- Command Palette: "Add new page" within the site editor creates new page in site editor. ([65476](https://github.com/WordPress/gutenberg/pull/65476)) +- Update elevation in the site editor. ([65410](https://github.com/WordPress/gutenberg/pull/65410)) + +#### Block bindings +- Connected blocks, add backdrop-color. ([65233](https://github.com/WordPress/gutenberg/pull/65233)) + +#### Extensibility +- Stabilize the PreSavePost and SavePost filters. ([64198](https://github.com/WordPress/gutenberg/pull/64198)) + +#### Base Styles +- Base styles: Add type tokens. ([65418](https://github.com/WordPress/gutenberg/pull/65418)) + +#### Tools +- Composer: Allow composer/installers 2.x. ([65356](https://github.com/WordPress/gutenberg/pull/65356)) + +#### Block hooks +- Hooks: Add support for async filters and actions. ([64204](https://github.com/WordPress/gutenberg/pull/64204)) + +### New APIs + +- Revert "Make `wordpress/fields` a private package". ([65477](https://github.com/WordPress/gutenberg/pull/65477)) +- Stabilise role attribute property. ([65484](https://github.com/WordPress/gutenberg/pull/65484)) + +#### Block bindings +- Open the stable editor APIs. ([65713](https://github.com/WordPress/gutenberg/pull/65713)) + +#### Components +- Navigator: Stabilize and export APIs. ([64613](https://github.com/WordPress/gutenberg/pull/64613)) + +### Bug Fixes + +#### Components +- Block Editor: Validate options for the 'HeadingLevelDropdown' component. ([65425](https://github.com/WordPress/gutenberg/pull/65425)) +- Composite: Fix legacy implementation passing store prop. ([65821](https://github.com/WordPress/gutenberg/pull/65821)) +- Composite: Make items tabbable if active element gets removed. ([65720](https://github.com/WordPress/gutenberg/pull/65720)) +- Navigator: Fix isInitial logic. ([65527](https://github.com/WordPress/gutenberg/pull/65527)) +- Restore accidentally removed entries in changelog (components package). ([65804](https://github.com/WordPress/gutenberg/pull/65804)) +- useToolsPanel: Calculate derived state in reducer to prevent too many renders. ([65564](https://github.com/WordPress/gutenberg/pull/65564)) +- useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state. ([65494](https://github.com/WordPress/gutenberg/pull/65494)) + +#### Zoom Out +- Fix focus loss when deleting selected block in zoom out mode. ([65761](https://github.com/WordPress/gutenberg/pull/65761)) +- Handle zoom out when changing device preview. ([65444](https://github.com/WordPress/gutenberg/pull/65444)) +- Hide Zoom Out Inserters when dragging into canvas. ([65789](https://github.com/WordPress/gutenberg/pull/65789)) +- Makes spacing consistent in zoom out vertical toolbar. ([63994](https://github.com/WordPress/gutenberg/pull/63994)) +- Remove one occurrence of the verb Toggle from Zoom out control. ([65609](https://github.com/WordPress/gutenberg/pull/65609)) +- Reset zoom out level when device type is changed. ([65652](https://github.com/WordPress/gutenberg/pull/65652)) +- Resize cover block only in normal mode. ([65731](https://github.com/WordPress/gutenberg/pull/65731)) + +#### Block Editor +- Fix unable to remove empty blocks on merge. ([65262](https://github.com/WordPress/gutenberg/pull/65262)) +- Inserter: Fix Block visibility manager. ([65700](https://github.com/WordPress/gutenberg/pull/65700)) +- Link autocompleter: Decode post title HTML entities. ([65589](https://github.com/WordPress/gutenberg/pull/65589)) +- Openverse: Prevent multiple insertions during upload. ([65719](https://github.com/WordPress/gutenberg/pull/65719)) +- Paste Handler: Try to fix pasting text with formatting. ([63779](https://github.com/WordPress/gutenberg/pull/63779)) +- Remove user-select:Text. ([65662](https://github.com/WordPress/gutenberg/pull/65662)) +- Editor: Remove edit template menu item from block settings menu in blocks outside template. ([65560](https://github.com/WordPress/gutenberg/pull/65560)) +- Top Toolbar: Show document bar when no block is selected even if block tools are expanded. ([65839](https://github.com/WordPress/gutenberg/pull/65839)) +- Revert "Allow multi-select on iOS Safari/touch devices". ([65414](https://github.com/WordPress/gutenberg/pull/65414)) + +#### Global Styles +- Avoid errors when a fontSize preset is not available. ([65791](https://github.com/WordPress/gutenberg/pull/65791)) +- Fix: Shadow/Font size preset panel crashes the editor. ([65765](https://github.com/WordPress/gutenberg/pull/65765)) +- Revert "Font Library: Group fonts by source (#63211)". ([65590](https://github.com/WordPress/gutenberg/pull/65590)) +- Tweak entity save panel button. ([65695](https://github.com/WordPress/gutenberg/pull/65695)) + +#### Block bindings +- Fix editing protected custom fields in block bindings. ([65658](https://github.com/WordPress/gutenberg/pull/65658)) +- Fix showing bindings field values in theme templates. ([65639](https://github.com/WordPress/gutenberg/pull/65639)) +- Only pass context included in `usesContext` from rich text component. ([65618](https://github.com/WordPress/gutenberg/pull/65618)) +- Use `registry` instead of `select` in `canUserEditValue`. ([65659](https://github.com/WordPress/gutenberg/pull/65659)) + +#### Block Library +- Categories block: Escape label. ([65540](https://github.com/WordPress/gutenberg/pull/65540)) +- Search block: Reset size correctly when clearing unit control. ([65468](https://github.com/WordPress/gutenberg/pull/65468)) +- Social Links: Fix block appender size. ([65769](https://github.com/WordPress/gutenberg/pull/65769)) + +#### Site Editor +- Fix: Makes edit mode selector persistent in top toolbar mode. ([65511](https://github.com/WordPress/gutenberg/pull/65511)) +- Global styles: Do not navigate twice to home screen when opening the sidebar. ([65523](https://github.com/WordPress/gutenberg/pull/65523)) +- Make resizable frame compatible with RTL languages. ([65545](https://github.com/WordPress/gutenberg/pull/65545)) +- Command Palette: Fix "Add new page" command for hybrid theme. ([65534](https://github.com/WordPress/gutenberg/pull/65534)) +- Export `useResizeObserver` React Native version directly. ([65588](https://github.com/WordPress/gutenberg/pull/65588)) +- Fix `useResizeObserver` bugs. ([65389](https://github.com/WordPress/gutenberg/pull/65389)) +- Fix aria-checked attribute not set for plugin settings buttons in Options dropdown. ([65667](https://github.com/WordPress/gutenberg/pull/65667)) +- Revert "useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state". ([65533](https://github.com/WordPress/gutenberg/pull/65533)) + +#### Focus Mode +- Limit zoom out toggle to specific post types. ([65732](https://github.com/WordPress/gutenberg/pull/65732)) + +#### List View +- Fix miscolored icons. ([65707](https://github.com/WordPress/gutenberg/pull/65707)) + +#### Media +- Fix output buffering for cross-origin isolation. ([65701](https://github.com/WordPress/gutenberg/pull/65701)) + +#### Block Directory +- Fix downloadable block item alignment. ([65677](https://github.com/WordPress/gutenberg/pull/65677)) + +#### Typography +- Remove additional Typeset screen and surface typesets in the typography panel. ([65579](https://github.com/WordPress/gutenberg/pull/65579)) + +#### Widgets Editor +- Fixed the focus cutoff of the editor buttons in the widgets editor. ([65395](https://github.com/WordPress/gutenberg/pull/65395)) + +#### Post Editor +- Omit meta boxes on “design” type posts. ([64990](https://github.com/WordPress/gutenberg/pull/64990)) + +#### Data Views +- Fix grid layout padding on small screens. ([64878](https://github.com/WordPress/gutenberg/pull/64878)) + +#### Build Tools +- Babel preset: Add missing pkg files. ([65481](https://github.com/WordPress/gutenberg/pull/65481)) +- Temp disable test for Classic Block Media issue. ([65793](https://github.com/WordPress/gutenberg/pull/65793)) + +#### Select Mode +- Select Mode: Blocks outside the main sections root should be disabled. ([65518](https://github.com/WordPress/gutenberg/pull/65518)) +- Select Mode: Prevent the inbetween inserter from triggering within sections. ([65529](https://github.com/WordPress/gutenberg/pull/65529)) + +### Accessibility + +#### Post Editor +- Make the Settings panel toggle button show its keyboard shortcut in its tooltip. ([65322](https://github.com/WordPress/gutenberg/pull/65322)) +- Resizable Editor: Make the editor resizable with arrow keys. ([65546](https://github.com/WordPress/gutenberg/pull/65546)) + +#### Components +- ToggleGroupControl: Fix arrow key navigation in RTL. ([65735](https://github.com/WordPress/gutenberg/pull/65735)) + +#### Zoom Out +- Don't show tooltip in zoom out toggle button when showIconLabels is true. ([65573](https://github.com/WordPress/gutenberg/pull/65573)) + +#### Block Library +- Improve the Query Loop block display settings labels. ([65524](https://github.com/WordPress/gutenberg/pull/65524)) + +#### Block Editor +- Updates LayoutTypeSwitcher to use ToggleGroupControl. ([65498](https://github.com/WordPress/gutenberg/pull/65498)) + +#### Code Quality +- A11y: Move script module HTML printing to 6.7 compat. ([65620](https://github.com/WordPress/gutenberg/pull/65620)) +- Update to use a11y script module package in Core. ([65539](https://github.com/WordPress/gutenberg/pull/65539)) + +#### Site Editor +- Update icon in home button. ([65497](https://github.com/WordPress/gutenberg/pull/65497)) + +### Performance + +#### Block Library +- Script Modules: Centralize (re)registration. ([65460](https://github.com/WordPress/gutenberg/pull/65460)) + +#### Block Editor +- Remove editorMode from blockProps. ([65326](https://github.com/WordPress/gutenberg/pull/65326)) +- Move insertionPoint state to block-editor store/rename existing insertionPoint to insertionCue. ([65098](https://github.com/WordPress/gutenberg/pull/65098)) + + +### Documentation + +- Block Bindings: Add `@since` tag in bindings apis JSDocs. ([65796](https://github.com/WordPress/gutenberg/pull/65796)) +- Block Editor: Fix README for FontFamilyControl component. ([65660](https://github.com/WordPress/gutenberg/pull/65660)) +- Composite: Add "With Tooltip" storybook example. ([65817](https://github.com/WordPress/gutenberg/pull/65817)) +- DataViews documentation: Add high-level graph explaining DataViews and data sources interaction. ([65457](https://github.com/WordPress/gutenberg/pull/65457)) +- Docs/interactivity api router package readme. ([62062](https://github.com/WordPress/gutenberg/pull/62062)) +- Docs: Remove PHPDoc for non-existing parameter. ([65640](https://github.com/WordPress/gutenberg/pull/65640)) +- Navigator: Fix README heading hierarchy. ([65763](https://github.com/WordPress/gutenberg/pull/65763)) +- Packages documentation: Minor typo corrections. ([65664](https://github.com/WordPress/gutenberg/pull/65664)) +- Plugin: Fix small typo in readme.txt file. ([65634](https://github.com/WordPress/gutenberg/pull/65634)) +- RichText: Fix JSDoc block typos. ([65607](https://github.com/WordPress/gutenberg/pull/65607)) +- SelectControl: Add story for `prefix` slot. ([65730](https://github.com/WordPress/gutenberg/pull/65730)) +- Update JSDoc block for RichText package to-html-string. ([65688](https://github.com/WordPress/gutenberg/pull/65688)) +- Update block-filters.md. ([64959](https://github.com/WordPress/gutenberg/pull/64959)) +- iAPI: Refactor types and add a "Core Concepts - Using TypeScript" guide. ([64577](https://github.com/WordPress/gutenberg/pull/64577)) + +### Code Quality + +#### Components +- BorderBoxControl: Promote to stable. ([65586](https://github.com/WordPress/gutenberg/pull/65586)) +- BorderControl: Promote to stable. ([65475](https://github.com/WordPress/gutenberg/pull/65475)) +- BoxControl: Promote to stable. ([65469](https://github.com/WordPress/gutenberg/pull/65469)) +- Cleanup unused `ToggleGroupControl` configuration values. ([65456](https://github.com/WordPress/gutenberg/pull/65456)) +- Fix `useInstanceId` hook references. ([65733](https://github.com/WordPress/gutenberg/pull/65733)) +- Navigator: Internal refactor in preparation for stabilization. ([65671](https://github.com/WordPress/gutenberg/pull/65671)) +- Navigator: Mark experimental exports as deprecated. ([65802](https://github.com/WordPress/gutenberg/pull/65802)) +- SearchControl: Fix rest props mutation. ([65740](https://github.com/WordPress/gutenberg/pull/65740)) +- `ToggleGroupControl`: Clean up animation logic. ([65808](https://github.com/WordPress/gutenberg/pull/65808)) + +#### Block Editor +- Button: Add `__next40pxDefaultSize` in block-editor 6. ([65742](https://github.com/WordPress/gutenberg/pull/65742)) +- Decouple "zoom/scaling the canvas" from zoom out mode (without mode rename). ([65482](https://github.com/WordPress/gutenberg/pull/65482)) +- Don't memoize 'getContentLockingParent' and 'getParentSectionBlock' selectors. ([65649](https://github.com/WordPress/gutenberg/pull/65649)) +- Inserter: Update how we compute the actual insertion point for blocks. ([65490](https://github.com/WordPress/gutenberg/pull/65490)) +- LinkControl: Fix unneeded `props` prop. ([65650](https://github.com/WordPress/gutenberg/pull/65650)) +- Navigator: Use stable export instead of experimental export. ([65753](https://github.com/WordPress/gutenberg/pull/65753)) +- Button: Add `__next40pxDefaultSize` in dataviews, reusable-blocks, etc. ([65715](https://github.com/WordPress/gutenberg/pull/65715)) +- Fix: Button Replace remaining 40px default size violations [Block Directory]. ([65467](https://github.com/WordPress/gutenberg/pull/65467)) +- Fix: Button Replace remaining 40px default size violations [Block Editor 2]. ([65308](https://github.com/WordPress/gutenberg/pull/65308)) +- Fix: Button Replace remaining 40px default size violations [Block Editor 3]. ([65225](https://github.com/WordPress/gutenberg/pull/65225)) +- Fix: Button Replace remaining 40px default size violations [Block Editor 5]. ([65361](https://github.com/WordPress/gutenberg/pull/65361)) +- Fix: Button: Replace remaining 40px default size violation [Edit Site 1]. ([65226](https://github.com/WordPress/gutenberg/pull/65226)) +- Fix: Button: Replace remaining 40px default size violation [Edit Site 3]. ([65309](https://github.com/WordPress/gutenberg/pull/65309)) + +#### Block bindings +- Only pass `usesContext` properties to editor APIs. ([65661](https://github.com/WordPress/gutenberg/pull/65661)) +- Refactor passing select and dispatch instead of full Registry. ([65710](https://github.com/WordPress/gutenberg/pull/65710)) +- Unify logic in `getPostMetaFields` function. ([65462](https://github.com/WordPress/gutenberg/pull/65462)) + +#### Post Editor +- Customize widgets, edit post: Refactor Button to new sizes. ([65807](https://github.com/WordPress/gutenberg/pull/65807)) +- Header: Remove unused property `isZoomedOutView` in `useSelect()`. ([65628](https://github.com/WordPress/gutenberg/pull/65628)) + +#### Block Library +- Blocks: Don't memoize 'hasContentRoleAttribute' selector. ([65617](https://github.com/WordPress/gutenberg/pull/65617)) +- Blocks: Update '__experimentalHasContentRoleAttribute' deprecation. ([65616](https://github.com/WordPress/gutenberg/pull/65616)) + +#### Global Styles +- Global style revisions: Remove unnecessary `goTo` navigation call. ([65810](https://github.com/WordPress/gutenberg/pull/65810)) + +#### Site Editor +- Edit Site: Fix `useLink` prop mutation. ([65739](https://github.com/WordPress/gutenberg/pull/65739)) + +#### Data Views +- Migrate store/actions from editor package to fields package. ([65289](https://github.com/WordPress/gutenberg/pull/65289)) + + +### Tools + +#### Testing +- Block Bindings: Refactor end-to-end tests. ([65526](https://github.com/WordPress/gutenberg/pull/65526)) +- GH Actions: Run the tests against PHP 8.3. ([65357](https://github.com/WordPress/gutenberg/pull/65357)) +- Revert "Temp disable test for Classic Block Media issue.". ([65809](https://github.com/WordPress/gutenberg/pull/65809)) + +#### Build Tooling +- Composer: Prevent a lock file from being created. ([65359](https://github.com/WordPress/gutenberg/pull/65359)) +- Composer: Update minimum required PHPUnit Polyfills. ([65355](https://github.com/WordPress/gutenberg/pull/65355)) +- PHP unit tests: Remove WP_RUN_CORE_TESTS const. ([65631](https://github.com/WordPress/gutenberg/pull/65631)) +- DEWP: Check for magic comments before minification. ([65582](https://github.com/WordPress/gutenberg/pull/65582)) +- DEWP: Handle cyclical module dependencies. ([65291](https://github.com/WordPress/gutenberg/pull/65291)) +- Label enforcer: Add `Gutenberg plugin` to the list of single required labels. ([65253](https://github.com/WordPress/gutenberg/pull/65253)) + +## First-time contributors + +The following PRs were merged by first-time contributors: + +- @auareyou: Light branding for the reference site. ([65764](https://github.com/WordPress/gutenberg/pull/65764)) +- @crisbusquets: Adds envelope icon. ([65638](https://github.com/WordPress/gutenberg/pull/65638)) +- @davy440: Update block-filters.md. ([64959](https://github.com/WordPress/gutenberg/pull/64959)) +- @dhruvang21: Fix: Button Replace remaining 40px default size violations [Block Editor 2]. ([65308](https://github.com/WordPress/gutenberg/pull/65308)) +- @PARTHVATALIYA: Fix: Button Replace remaining 40px default size violations [Block Editor 5]. ([65361](https://github.com/WordPress/gutenberg/pull/65361)) +- @spadeshoe: Updates LayoutTypeSwitcher to use ToggleGroupControl. ([65498](https://github.com/WordPress/gutenberg/pull/65498)) + + +## Contributors + +The following contributors merged PRs in this release: + +@aaronrobertshaw @afercia @amitraj2203 @anomiex @auareyou @carolinan @cbravobernal @ciampo @crisbusquets @DaniGuardiola @davy440 @dhruvang21 @djcowan @draganescu @ellatrix @getdave @gigitux @hbhalodia @jameskoster @jasmussen @jeryj @jffng @jrfnl @jsnajdr @juanmaguitar @keoshi @kevin940726 @louwie17 @luisherranz @Mamaduka @manzoorwanijk @matiasbenedetto @michalczaplinski @mirka @mtias @noisysocks @oandregal @ockham @PARTHVATALIYA @peterwilsoncc @philwp @priethor @ramonjd @SantosGuillamot @shail-mehta @sirreal @Soean @spadeshoe @stokesman @swissspidy @t-hamano @talldan @tyxla @vcanales @vipul0425 @youknowriad + + = 19.3.0 = ## Changelog From 6a57e44ddc09bf5c9ae4e57acb79c16192dba719 Mon Sep 17 00:00:00 2001 From: Lena Morita Date: Fri, 4 Oct 2024 01:52:32 +0900 Subject: [PATCH 012/489] Button: Move to stricter lint rule for 40px size adherence (#65840) * Fix last remaining instance * Button: Move to stricter lint rule * Tweak wording to account for `size` variants Co-authored-by: mirka <0mirka00@git.wordpress.org> Co-authored-by: ciampo Co-authored-by: tyxla --- .eslintrc.js | 11 ++--------- .../src/components/post-template/classic-theme.js | 3 +-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 2e92b495691873..211ddd9bc35860 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -322,6 +322,7 @@ module.exports = { 'BorderBoxControl', 'BorderControl', 'BoxControl', + 'Button', 'ComboboxControl', 'CustomSelectControl', 'DimensionControl', @@ -343,7 +344,7 @@ module.exports = { selector: `JSXOpeningElement[name.name="${ componentName }"]:not(:has(JSXAttribute[name.name="__next40pxDefaultSize"][value.expression.value!=false])):not(:has(JSXAttribute[name.name="size"][value.value!="default"]))`, message: componentName + - ' should have the `__next40pxDefaultSize` prop to opt-in to the new default size.', + ' should have the `__next40pxDefaultSize` prop when using the default size.', } ) ), { // Falsy `__next40pxDefaultSize` without a `render` prop. @@ -352,14 +353,6 @@ module.exports = { message: 'FormFileUpload should have the `__next40pxDefaultSize` prop to opt-in to the new default size.', }, - // Temporary rules until all existing components have the `__next40pxDefaultSize` prop. - ...[ 'Button' ].map( ( componentName ) => ( { - // Not strict. Allows pre-existing __next40pxDefaultSize={ false } usage until they are all manually updated. - selector: `JSXOpeningElement[name.name="${ componentName }"]:not(:has(JSXAttribute[name.name="__next40pxDefaultSize"])):not(:has(JSXAttribute[name.name="size"]))`, - message: - componentName + - ' should have the `__next40pxDefaultSize` prop to opt-in to the new default size.', - } ) ), ], }, }, diff --git a/packages/editor/src/components/post-template/classic-theme.js b/packages/editor/src/components/post-template/classic-theme.js index 8127a18909f5cc..4a65a9b4c75636 100644 --- a/packages/editor/src/components/post-template/classic-theme.js +++ b/packages/editor/src/components/post-template/classic-theme.js @@ -177,8 +177,7 @@ function PostTemplateDropdownContent( { onClose } ) { { canEdit && onNavigateToEntityRecord && (

@@ -83,4 +83,16 @@ class="foo" data-testid="can use classes with several dashes" > +

+
+ +
diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-class/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-class/view.js index f008ae910673fd..9ae5207c0e05c5 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-class/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-class/view.js @@ -15,9 +15,9 @@ const { state } = store( 'directive-class', { toggleFalseValue: () => { state.falseValue = ! state.falseValue; }, - toggleContextFalseValue: () => { + toggleContextValue: () => { const context = getContext(); - context.falseValue = ! context.falseValue; + context.value = ! context.value; }, }, } ); diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-init/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-init/view.js index 9990e2743c8799..a8c70a4a907207 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-init/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-init/view.js @@ -12,7 +12,7 @@ const { directive } = privateApis( directive( 'show-mock', ( { directives: { 'show-mock': showMock }, element, evaluate } ) => { - const entry = showMock.find( ( { suffix } ) => suffix === 'default' ); + const entry = showMock.find( ( { suffix } ) => suffix === null ); if ( ! evaluate( entry ) ) { return null; } diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-on-document/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-on-document/view.js index 19ffc2a530193b..b9689ac978f85f 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-on-document/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-on-document/view.js @@ -12,7 +12,7 @@ const { directive } = privateApis( directive( 'show-mock', ( { directives: { 'show-mock': showMock }, element, evaluate } ) => { - const entry = showMock.find( ( { suffix } ) => suffix === 'default' ); + const entry = showMock.find( ( { suffix } ) => suffix === null ); if ( ! evaluate( entry ) ) { return null; } diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-on-window/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-on-window/view.js index e22379ad4d0775..ef72e266e10759 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-on-window/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-on-window/view.js @@ -12,7 +12,7 @@ const { directive } = privateApis( directive( 'show-mock', ( { directives: { 'show-mock': showMock }, element, evaluate } ) => { - const entry = showMock.find( ( { suffix } ) => suffix === 'default' ); + const entry = showMock.find( ( { suffix } ) => suffix === null ); if ( ! evaluate( entry ) ) { return null; } diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-run/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-run/view.js index cb9be34b2460a8..125ac392042306 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-run/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-run/view.js @@ -21,9 +21,7 @@ directive( element, evaluate, } ) => { - const entry = showChildren.find( - ( { suffix } ) => suffix === 'default' - ); + const entry = showChildren.find( ( { suffix } ) => suffix === null ); return evaluate( entry ) ? element : cloneElement( element, { children: null } ); diff --git a/packages/e2e-tests/plugins/interactive-blocks/directive-watch/view.js b/packages/e2e-tests/plugins/interactive-blocks/directive-watch/view.js index af2d452a104319..ad035811a0bcd7 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/directive-watch/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/directive-watch/view.js @@ -12,7 +12,7 @@ const { directive } = privateApis( directive( 'show-mock', ( { directives: { 'show-mock': showMock }, element, evaluate } ) => { - const entry = showMock.find( ( { suffix } ) => suffix === 'default' ); + const entry = showMock.find( ( { suffix } ) => suffix === null ); if ( ! evaluate( entry ) ) { return null; } diff --git a/packages/e2e-tests/plugins/interactive-blocks/tovdom-islands/view.js b/packages/e2e-tests/plugins/interactive-blocks/tovdom-islands/view.js index 2993a273486c2b..8016e931624a16 100644 --- a/packages/e2e-tests/plugins/interactive-blocks/tovdom-islands/view.js +++ b/packages/e2e-tests/plugins/interactive-blocks/tovdom-islands/view.js @@ -12,7 +12,7 @@ const { directive, h } = privateApis( directive( 'show-mock', ( { directives: { 'show-mock': showMock }, element, evaluate } ) => { - const entry = showMock.find( ( { suffix } ) => suffix === 'default' ); + const entry = showMock.find( ( { suffix } ) => suffix === null ); if ( ! evaluate( entry ) ) { element.props.children = h( diff --git a/packages/interactivity/CHANGELOG.md b/packages/interactivity/CHANGELOG.md index f4431d108dc360..7a510bd89b0f78 100644 --- a/packages/interactivity/CHANGELOG.md +++ b/packages/interactivity/CHANGELOG.md @@ -4,6 +4,7 @@ ### Bug Fixes +- Fix an issue where "default" could not be used as a directive suffix ([#65815](https://github.com/WordPress/gutenberg/pull/65815)). - Correctly handle lazily added, deeply nested properties with `deepMerge()` ([#65465](https://github.com/WordPress/gutenberg/pull/65465)). ## 6.9.0 (2024-10-03) diff --git a/packages/interactivity/src/directives.tsx b/packages/interactivity/src/directives.tsx index 340880954683da..31e07d095e0a4c 100644 --- a/packages/interactivity/src/directives.tsx +++ b/packages/interactivity/src/directives.tsx @@ -18,7 +18,14 @@ import { splitTask, isPlainObject, } from './utils'; -import { directive, getEvaluate, type DirectiveEntry } from './hooks'; +import { + directive, + getEvaluate, + isDefaultDirectiveSuffix, + isNonDefaultDirectiveSuffix, + type DirectiveCallback, + type DirectiveEntry, +} from './hooks'; import { getScope } from './scopes'; import { proxifyState, proxifyContext, deepMerge } from './proxies'; @@ -86,11 +93,13 @@ const cssStringToObject = ( * * @param type 'window' or 'document' */ -const getGlobalEventDirective = ( type: 'window' | 'document' ) => { +const getGlobalEventDirective = ( + type: 'window' | 'document' +): DirectiveCallback => { return ( { directives, evaluate } ) => { directives[ `on-${ type }` ] - .filter( ( { suffix } ) => suffix !== 'default' ) - .forEach( ( entry: DirectiveEntry ) => { + .filter( isNonDefaultDirectiveSuffix ) + .forEach( ( entry ) => { const eventName = entry.suffix.split( '--', 1 )[ 0 ]; useInit( () => { const cb = ( event: Event ) => evaluate( entry, event ); @@ -108,11 +117,13 @@ const getGlobalEventDirective = ( type: 'window' | 'document' ) => { * * @param type 'window' or 'document' */ -const getGlobalAsyncEventDirective = ( type: 'window' | 'document' ) => { +const getGlobalAsyncEventDirective = ( + type: 'window' | 'document' +): DirectiveCallback => { return ( { directives, evaluate } ) => { directives[ `on-async-${ type }` ] - .filter( ( { suffix } ) => suffix !== 'default' ) - .forEach( ( entry: DirectiveEntry ) => { + .filter( isNonDefaultDirectiveSuffix ) + .forEach( ( entry ) => { const eventName = entry.suffix.split( '--', 1 )[ 0 ]; useInit( () => { const cb = async ( event: Event ) => { @@ -139,9 +150,7 @@ export default () => { context: inheritedContext, } ) => { const { Provider } = inheritedContext; - const defaultEntry = context.find( - ( { suffix } ) => suffix === 'default' - ); + const defaultEntry = context.find( isDefaultDirectiveSuffix ); const { client: inheritedClient, server: inheritedServer } = useContext( inheritedContext ); @@ -256,15 +265,13 @@ export default () => { // data-wp-on--[event] directive( 'on', ( { directives: { on }, element, evaluate } ) => { const events = new Map< string, Set< DirectiveEntry > >(); - on.filter( ( { suffix } ) => suffix !== 'default' ).forEach( - ( entry ) => { - const event = entry.suffix.split( '--' )[ 0 ]; - if ( ! events.has( event ) ) { - events.set( event, new Set< DirectiveEntry >() ); - } - events.get( event )!.add( entry ); + on.filter( isNonDefaultDirectiveSuffix ).forEach( ( entry ) => { + const event = entry.suffix.split( '--' )[ 0 ]; + if ( ! events.has( event ) ) { + events.set( event, new Set< DirectiveEntry >() ); } - ); + events.get( event )!.add( entry ); + } ); events.forEach( ( entries, eventType ) => { const existingHandler = element.props[ `on${ eventType }` ]; @@ -308,7 +315,7 @@ export default () => { ( { directives: { 'on-async': onAsync }, element, evaluate } ) => { const events = new Map< string, Set< DirectiveEntry > >(); onAsync - .filter( ( { suffix } ) => suffix !== 'default' ) + .filter( isNonDefaultDirectiveSuffix ) .forEach( ( entry ) => { const event = entry.suffix.split( '--' )[ 0 ]; if ( ! events.has( event ) ) { @@ -350,7 +357,7 @@ export default () => { 'class', ( { directives: { class: classNames }, element, evaluate } ) => { classNames - .filter( ( { suffix } ) => suffix !== 'default' ) + .filter( isNonDefaultDirectiveSuffix ) .forEach( ( entry ) => { const className = entry.suffix; const result = evaluate( entry ); @@ -391,119 +398,112 @@ export default () => { // data-wp-style--[style-prop] directive( 'style', ( { directives: { style }, element, evaluate } ) => { - style - .filter( ( { suffix } ) => suffix !== 'default' ) - .forEach( ( entry ) => { - const styleProp = entry.suffix; - const result = evaluate( entry ); - element.props.style = element.props.style || {}; - if ( typeof element.props.style === 'string' ) { - element.props.style = cssStringToObject( - element.props.style - ); - } + style.filter( isNonDefaultDirectiveSuffix ).forEach( ( entry ) => { + const styleProp = entry.suffix; + const result = evaluate( entry ); + element.props.style = element.props.style || {}; + if ( typeof element.props.style === 'string' ) { + element.props.style = cssStringToObject( element.props.style ); + } + if ( ! result ) { + delete element.props.style[ styleProp ]; + } else { + element.props.style[ styleProp ] = result; + } + + useInit( () => { + /* + * This seems necessary because Preact doesn't change the styles on + * the hydration, so we have to do it manually. It doesn't need deps + * because it only needs to do it the first time. + */ if ( ! result ) { - delete element.props.style[ styleProp ]; + ( + element.ref as RefObject< HTMLElement > + ).current!.style.removeProperty( styleProp ); } else { - element.props.style[ styleProp ] = result; + ( element.ref as RefObject< HTMLElement > ).current!.style[ + styleProp + ] = result; } - - useInit( () => { - /* - * This seems necessary because Preact doesn't change the styles on - * the hydration, so we have to do it manually. It doesn't need deps - * because it only needs to do it the first time. - */ - if ( ! result ) { - ( - element.ref as RefObject< HTMLElement > - ).current!.style.removeProperty( styleProp ); - } else { - ( - element.ref as RefObject< HTMLElement > - ).current!.style[ styleProp ] = result; - } - } ); } ); + } ); } ); // data-wp-bind--[attribute] directive( 'bind', ( { directives: { bind }, element, evaluate } ) => { - bind.filter( ( { suffix } ) => suffix !== 'default' ).forEach( - ( entry ) => { - const attribute = entry.suffix; - const result = evaluate( entry ); - element.props[ attribute ] = result; + bind.filter( isNonDefaultDirectiveSuffix ).forEach( ( entry ) => { + const attribute = entry.suffix; + const result = evaluate( entry ); + element.props[ attribute ] = result; + + /* + * This is necessary because Preact doesn't change the attributes on the + * hydration, so we have to do it manually. It only needs to do it the + * first time. After that, Preact will handle the changes. + */ + useInit( () => { + const el = ( element.ref as RefObject< HTMLElement > ).current!; /* - * This is necessary because Preact doesn't change the attributes on the - * hydration, so we have to do it manually. It only needs to do it the - * first time. After that, Preact will handle the changes. + * We set the value directly to the corresponding HTMLElement instance + * property excluding the following special cases. We follow Preact's + * logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L110-L129 */ - useInit( () => { - const el = ( element.ref as RefObject< HTMLElement > ) - .current!; - - /* - * We set the value directly to the corresponding HTMLElement instance - * property excluding the following special cases. We follow Preact's - * logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L110-L129 - */ - if ( attribute === 'style' ) { - if ( typeof result === 'string' ) { - el.style.cssText = result; - } - return; - } else if ( - attribute !== 'width' && - attribute !== 'height' && - attribute !== 'href' && - attribute !== 'list' && - attribute !== 'form' && - /* - * The value for `tabindex` follows the parsing rules for an - * integer. If that fails, or if the attribute isn't present, then - * the browsers should "follow platform conventions to determine if - * the element should be considered as a focusable area", - * practically meaning that most elements get a default of `-1` (not - * focusable), but several also get a default of `0` (focusable in - * order after all elements with a positive `tabindex` value). - * - * @see https://html.spec.whatwg.org/#tabindex-value - */ - attribute !== 'tabIndex' && - attribute !== 'download' && - attribute !== 'rowSpan' && - attribute !== 'colSpan' && - attribute !== 'role' && - attribute in el - ) { - try { - el[ attribute ] = - result === null || result === undefined - ? '' - : result; - return; - } catch ( err ) {} + if ( attribute === 'style' ) { + if ( typeof result === 'string' ) { + el.style.cssText = result; } + return; + } else if ( + attribute !== 'width' && + attribute !== 'height' && + attribute !== 'href' && + attribute !== 'list' && + attribute !== 'form' && /* - * aria- and data- attributes have no boolean representation. - * A `false` value is different from the attribute not being - * present, so we can't remove it. - * We follow Preact's logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136 + * The value for `tabindex` follows the parsing rules for an + * integer. If that fails, or if the attribute isn't present, then + * the browsers should "follow platform conventions to determine if + * the element should be considered as a focusable area", + * practically meaning that most elements get a default of `-1` (not + * focusable), but several also get a default of `0` (focusable in + * order after all elements with a positive `tabindex` value). + * + * @see https://html.spec.whatwg.org/#tabindex-value */ - if ( - result !== null && - result !== undefined && - ( result !== false || attribute[ 4 ] === '-' ) - ) { - el.setAttribute( attribute, result ); - } else { - el.removeAttribute( attribute ); - } - } ); - } - ); + attribute !== 'tabIndex' && + attribute !== 'download' && + attribute !== 'rowSpan' && + attribute !== 'colSpan' && + attribute !== 'role' && + attribute in el + ) { + try { + el[ attribute ] = + result === null || result === undefined + ? '' + : result; + return; + } catch ( err ) {} + } + /* + * aria- and data- attributes have no boolean representation. + * A `false` value is different from the attribute not being + * present, so we can't remove it. + * We follow Preact's logic: https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136 + */ + if ( + result !== null && + result !== undefined && + ( result !== false || attribute[ 4 ] === '-' ) + ) { + el.setAttribute( attribute, result ); + } else { + el.removeAttribute( attribute ); + } + } ); + } ); } ); // data-wp-ignore @@ -528,7 +528,7 @@ export default () => { // data-wp-text directive( 'text', ( { directives: { text }, element, evaluate } ) => { - const entry = text.find( ( { suffix } ) => suffix === 'default' ); + const entry = text.find( isDefaultDirectiveSuffix ); if ( ! entry ) { element.props.children = null; return; @@ -565,12 +565,13 @@ export default () => { const inheritedValue = useContext( inheritedContext ); const [ entry ] = each; - const { namespace, suffix } = entry; + const { namespace } = entry; const list = evaluate( entry ); + const itemProp = isNonDefaultDirectiveSuffix( entry ) + ? kebabToCamelCase( entry.suffix ) + : 'item'; return list.map( ( item ) => { - const itemProp = - suffix === 'default' ? 'item' : kebabToCamelCase( suffix ); const itemContext = proxifyContext( proxifyState( namespace, {} ), inheritedValue.client[ namespace ] diff --git a/packages/interactivity/src/hooks.tsx b/packages/interactivity/src/hooks.tsx index 6b55ec014aa799..e9b9f48ba3518e 100644 --- a/packages/interactivity/src/hooks.tsx +++ b/packages/interactivity/src/hooks.tsx @@ -23,9 +23,29 @@ import { getScope, setScope, resetScope, type Scope } from './scopes'; export interface DirectiveEntry { value: string | object; namespace: string; + suffix: string | null; +} + +export interface NonDefaultSuffixDirectiveEntry extends DirectiveEntry { suffix: string; } +export interface DefaultSuffixDirectiveEntry extends DirectiveEntry { + suffix: null; +} + +export function isNonDefaultDirectiveSuffix( + entry: DirectiveEntry +): entry is NonDefaultSuffixDirectiveEntry { + return entry.suffix !== null; +} + +export function isDefaultDirectiveSuffix( + entry: DirectiveEntry +): entry is DefaultSuffixDirectiveEntry { + return entry.suffix === null; +} + type DirectiveEntries = Record< string, DirectiveEntry[] >; interface DirectiveArgs { @@ -56,7 +76,7 @@ interface DirectiveArgs { evaluate: Evaluate; } -interface DirectiveCallback { +export interface DirectiveCallback { ( args: DirectiveArgs ): VNode< any > | null | void; } @@ -107,7 +127,7 @@ const directivePriorities: Record< string, number > = {}; * directive( * 'alert', // Name without the `data-wp-` prefix. * ( { directives: { alert }, element, evaluate } ) => { - * const defaultEntry = alert.find( entry => entry.suffix === 'default' ); + * const defaultEntry = alert.find( isDefaultDirectiveSuffix ); * element.props.onclick = () => { alert( evaluate( defaultEntry ) ); } * } * ) @@ -126,7 +146,7 @@ const directivePriorities: Record< string, number > = {}; * * ``` * Note that, in the previous example, the directive callback gets the path - * value (`state.alert`) from the directive entry with suffix `default`. A + * value (`state.alert`) from the directive entry with suffix `null`. A * custom suffix can also be specified by appending `--` to the directive * attribute, followed by the suffix, like in the following HTML snippet: * @@ -311,9 +331,7 @@ options.vnode = ( vnode: VNode< any > ) => { const props = vnode.props; const directives = props.__directives; if ( directives.key ) { - vnode.key = directives.key.find( - ( { suffix } ) => suffix === 'default' - ).value; + vnode.key = directives.key.find( isDefaultDirectiveSuffix ).value; } delete props.__directives; const priorityLevels = getPriorityLevels( directives ); diff --git a/packages/interactivity/src/vdom.ts b/packages/interactivity/src/vdom.ts index 98deca656cfa6c..b533a130e4a6f0 100644 --- a/packages/interactivity/src/vdom.ts +++ b/packages/interactivity/src/vdom.ts @@ -7,6 +7,7 @@ import { h, type ComponentChild, type JSX } from 'preact'; */ import { directivePrefix as p } from './constants'; import { warn } from './utils'; +import { type DirectiveEntry } from './hooks'; const ignoreAttr = `data-${ p }-ignore`; const islandAttr = `data-${ p }-interactive`; @@ -139,26 +140,25 @@ export function toVdom( root: Node ): Array< ComponentChild > { } if ( directives.length ) { - props.__directives = directives.reduce( - ( obj, [ name, ns, value ] ) => { - const directiveMatch = directiveParser.exec( name ); - if ( directiveMatch === null ) { - warn( `Found malformed directive name: ${ name }.` ); - return obj; - } - const prefix = directiveMatch[ 1 ] || ''; - const suffix = directiveMatch[ 2 ] || 'default'; - - obj[ prefix ] = obj[ prefix ] || []; - obj[ prefix ].push( { - namespace: ns ?? currentNamespace(), - value, - suffix, - } ); + props.__directives = directives.reduce< + Record< string, Array< DirectiveEntry > > + >( ( obj, [ name, ns, value ] ) => { + const directiveMatch = directiveParser.exec( name ); + if ( directiveMatch === null ) { + warn( `Found malformed directive name: ${ name }.` ); return obj; - }, - {} - ); + } + const prefix = directiveMatch[ 1 ] || ''; + const suffix = directiveMatch[ 2 ] || null; + + obj[ prefix ] = obj[ prefix ] || []; + obj[ prefix ].push( { + namespace: ns ?? currentNamespace()!, + value: value as DirectiveEntry[ 'value' ], + suffix, + } ); + return obj; + }, {} ); } // @ts-expect-error Fixed in upcoming preact release https://github.com/preactjs/preact/pull/4334 diff --git a/test/e2e/specs/interactivity/directive-class.spec.ts b/test/e2e/specs/interactivity/directive-class.spec.ts index b7e085aba15143..96b725568767ae 100644 --- a/test/e2e/specs/interactivity/directive-class.spec.ts +++ b/test/e2e/specs/interactivity/directive-class.spec.ts @@ -108,4 +108,14 @@ test.describe( 'data-wp-class', () => { const el = page.getByTestId( 'can use classes with several dashes' ); await expect( el ).toHaveClass( 'main-bg----color' ); } ); + + test( 'can use "default" as a class name', async ( { page } ) => { + const el = page.getByTestId( 'class name default' ); + const btn = page.getByTestId( 'toggle class name default' ); + await expect( el ).not.toHaveClass( 'default' ); + await btn.click(); + await expect( el ).toHaveClass( 'default' ); + await btn.click(); + await expect( el ).not.toHaveClass( 'default' ); + } ); } ); From 5a59680750a605117c5ecbd665f06099d31313c4 Mon Sep 17 00:00:00 2001 From: Dani Guardiola Date: Mon, 7 Oct 2024 21:55:47 +0200 Subject: [PATCH 040/489] Tabs: unify vertical tabs styles (#65387) * Remove inserter pattern overrides * Make font weights 400 (inactive) and 500 (active) * Apply styles only when vertical. * Make vertical indicator theme accent color at 4% opacity. * Make height 48px. * Add radius. * Also use hover styles in focus-visible. * Fix indicator not visible in inserter > patterns/media. * Adjust padding. * Tweak focus ring. * Wrap long labels. * Add chevron and fix a few minor details. * Fix merge issues. * Fix focus indicator (gets cropped with the new overflow auto setting) * Fix unwanted chevron. * Fix unwanted nested scrollbar in inserter > patterns/media vertical tabs. * Switch to transform for performance. * Adjust border-radius based on scaling factor. Co-authored-by: DaniGuardiola Co-authored-by: ciampo Co-authored-by: stokesman Co-authored-by: jameskoster Co-authored-by: jasmussen Co-authored-by: t-hamano Co-authored-by: ndiego Co-authored-by: jeryj * Apply feedback. * Add changelog entry. * Switch to `padding-inline`. * Remove unnecessary styles. * Fix horizontal tabs height. * Remove more unnecessary styles (padding). * Make horizontal padding specific to inline. * Make flex/whitespace styles more explicit. * Make scroll margin specific to vertical tabs. * The "inline" in inline-flex is unnecessary and confusing, removed it. * Remove unnecessary position: relative * Make resets more explicit * Remove unnecessary text-align. * Improve comment * Remove unnecessary margin-left * Clean up TabList styles. * Adjust text-align. * Clean up selector * Fix focus indicator * Clean up position: relative. * Fix typo. * Add position: relative back. * Improve focus indicator when selectOnMove is enabled. * Add fade in effect to chevron when selectOnMove is enabled. * Use [data-focus-visible] consistently. * Styles clean up. * Add comment for clarity. * Move scroll-margin to the right place. * Use CSS variable for accuracy. * Fix overflow. * Skip failing test for Safari :( * Fix flashing issue. * Transition chevron only on selected and not on hover or focus-visible. * Improve chevron opacity transition with suggested value. * fix changelog --- .../inserter/category-tabs/index.js | 12 +- .../src/components/inserter/style.scss | 42 +---- packages/components/CHANGELOG.md | 4 + packages/components/src/tabs/styles.ts | 152 +++++++++++++----- packages/components/src/tabs/tab.tsx | 10 +- packages/components/src/tabs/tablist.tsx | 1 + test/e2e/specs/editor/various/a11y.spec.js | 7 + 7 files changed, 131 insertions(+), 97 deletions(-) diff --git a/packages/block-editor/src/components/inserter/category-tabs/index.js b/packages/block-editor/src/components/inserter/category-tabs/index.js index 6a02cf1a170c45..6d8f5fcbca1334 100644 --- a/packages/block-editor/src/components/inserter/category-tabs/index.js +++ b/packages/block-editor/src/components/inserter/category-tabs/index.js @@ -2,14 +2,10 @@ * WordPress dependencies */ import { usePrevious, useReducedMotion } from '@wordpress/compose'; -import { isRTL } from '@wordpress/i18n'; import { - __experimentalHStack as HStack, - FlexBlock, privateApis as componentsPrivateApis, __unstableMotion as motion, } from '@wordpress/components'; -import { Icon, chevronRight, chevronLeft } from '@wordpress/icons'; /** * Internal dependencies @@ -55,18 +51,12 @@ function CategoryTabs( { - - { category.label } - - + { category.label } ) ) } diff --git a/packages/block-editor/src/components/inserter/style.scss b/packages/block-editor/src/components/inserter/style.scss index f3fa8d1e7df04b..9e727b13795249 100644 --- a/packages/block-editor/src/components/inserter/style.scss +++ b/packages/block-editor/src/components/inserter/style.scss @@ -214,55 +214,15 @@ $block-inserter-tabs-height: 44px; .block-editor-inserter__media-tabs-container, .block-editor-inserter__block-patterns-tabs-container { + flex-grow: 1; padding: $grid-unit-20; - height: 100%; display: flex; flex-direction: column; justify-content: space-between; } .block-editor-inserter__category-tablist { - display: flex; - flex-direction: column; - border: none; margin-bottom: $grid-unit-10; - // Push the listitem wrapping the "explore" button to the bottom of the panel. - div[role="listitem"]:last-child { - margin-top: auto; - } - - // Temporarily disable the component's indicator animation. - // TODO: remove in favor of using the native component's styles and behavior, - // see https://github.com/WordPress/gutenberg/pull/62879#issuecomment-2219720582 - &[aria-orientation="vertical"]::after { - content: none; - } - - .block-editor-inserter__category-tab { - // Account for the icon on the right so that it's visually balanced. - padding: $grid-unit-10 $grid-unit-05 $grid-unit-10 $grid-unit-15; - text-align: left; - font-weight: inherit; - display: block; - position: relative; - height: auto; - - &[aria-selected="true"] { - color: var(--wp-admin-theme-color); - - .components-flex-item { - filter: brightness(0.95); - } - - svg { - fill: var(--wp-admin-theme-color); - } - } - - &::before { - display: none; - } - } } .block-editor-inserter__category-panel { diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 0bf9776d01a5de..4ae124347187e7 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -8,6 +8,10 @@ - `RangeControl`: do not tooltip contents to the DOM when not shown ([#65875](https://github.com/WordPress/gutenberg/pull/65875)). - `Tabs`: fix skipping indication animation glitch ([#65878](https://github.com/WordPress/gutenberg/pull/65878)). +### Enhancements + +- `Tabs`: revamped vertical orientation styles ([#65387](https://github.com/WordPress/gutenberg/pull/65387)). + ## 28.9.0 (2024-10-03) ### Bug Fixes diff --git a/packages/components/src/tabs/styles.ts b/packages/components/src/tabs/styles.ts index 4f6b4a4c7c8dcb..926abc3e34b102 100644 --- a/packages/components/src/tabs/styles.ts +++ b/packages/components/src/tabs/styles.ts @@ -9,18 +9,15 @@ import * as Ariakit from '@ariakit/react'; */ import { COLORS, CONFIG } from '../utils'; import { space } from '../utils/space'; +import Icon from '../icon'; export const TabListWrapper = styled.div` - position: relative; display: flex; align-items: stretch; - flex-direction: row; - text-align: center; overflow-x: auto; &[aria-orientation='vertical'] { flex-direction: column; - text-align: start; } :where( [aria-orientation='horizontal'] ) { @@ -40,11 +37,12 @@ export const TabListWrapper = styled.div` @media not ( prefers-reduced-motion ) { &[data-indicator-animated]::before { - transition-property: transform; + transition-property: transform, border-radius, border-block; transition-duration: 0.2s; transition-timing-function: ease-out; } } + position: relative; &::before { content: ''; position: absolute; @@ -59,7 +57,7 @@ export const TabListWrapper = styled.div` /* Using a large value to avoid antialiasing rounding issues when scaling in the transform, see: https://stackoverflow.com/a/52159123 */ --antialiasing-factor: 100; - &:not( [aria-orientation='vertical'] ) { + &[aria-orientation='horizontal'] { --fade-width: 4rem; --fade-gradient-base: transparent 0%, black var( --fade-width ); --fade-gradient-composed: var( --fade-gradient-base ), black 60%, @@ -104,40 +102,67 @@ export const TabListWrapper = styled.div` ${ COLORS.theme.accent }; } } - &[aria-orientation='vertical']::before { - top: 0; - left: 0; - width: 100%; - height: calc( var( --antialiasing-factor ) * 1px ); - transform: translateY( calc( var( --selected-top, 0 ) * 1px ) ) - scaleY( + &[aria-orientation='vertical'] { + &::before { + /* Adjusting the border radius to match the scaling in the y axis. */ + border-radius: ${ CONFIG.radiusSmall } / calc( - var( --selected-height, 0 ) / var( --antialiasing-factor ) - ) + ${ CONFIG.radiusSmall } / + ( + var( --selected-height, 0 ) / + var( --antialiasing-factor ) + ) + ); + top: 0; + left: 0; + width: 100%; + height: calc( var( --antialiasing-factor ) * 1px ); + transform: translateY( calc( var( --selected-top, 0 ) * 1px ) ) + scaleY( + calc( + var( --selected-height, 0 ) / + var( --antialiasing-factor ) + ) + ); + background-color: color-mix( + in srgb, + ${ COLORS.theme.accent }, + transparent 96% ); - background-color: ${ COLORS.theme.gray[ 100 ] }; + } + &[data-select-on-move='true']:has( + :is( :focus-visible, [data-focus-visible] ) + )::before { + box-sizing: border-box; + border: var( --wp-admin-border-width-focus ) solid + ${ COLORS.theme.accent }; + /* Adjusting the border width to match the scaling in the y axis. */ + border-block-width: calc( + var( --wp-admin-border-width-focus, 1px ) / + ( + var( --selected-height, 0 ) / + var( --antialiasing-factor ) + ) + ); + } } `; export const Tab = styled( Ariakit.Tab )` & { - scroll-margin: 24px; - flex-grow: 1; - flex-shrink: 0; - display: inline-flex; - align-items: center; - position: relative; + /* Resets */ border-radius: 0; - height: ${ space( 12 ) }; background: transparent; border: none; box-shadow: none; + + flex: 1 0 auto; + white-space: nowrap; + display: flex; + align-items: center; cursor: pointer; - line-height: 1.2; // Some languages characters e.g. Japanese may have a native higher line-height. - padding: ${ space( 4 ) }; - margin-left: 0; - font-weight: 500; - text-align: inherit; + line-height: 1.2; // Characters in some languages (e.g. Japanese) may have a native higher line-height. + font-weight: 400; color: ${ COLORS.theme.foreground }; &[aria-disabled='true'] { @@ -145,24 +170,19 @@ export const Tab = styled( Ariakit.Tab )` color: ${ COLORS.ui.textDisabled }; } - &:not( [aria-disabled='true'] ):hover { + &:not( [aria-disabled='true'] ):is( :hover, [data-focus-visible] ) { color: ${ COLORS.theme.accent }; } &:focus:not( :disabled ) { - position: relative; box-shadow: none; outline: none; } - // Focus. + // Focus indicator. + position: relative; &::after { - content: ''; position: absolute; - top: ${ space( 3 ) }; - right: ${ space( 3 ) }; - bottom: ${ space( 3 ) }; - left: ${ space( 3 ) }; pointer-events: none; // Draw the indicator. @@ -175,23 +195,69 @@ export const Tab = styled( Ariakit.Tab )` opacity: 0; @media not ( prefers-reduced-motion ) { - transition: opacity 0.1s linear; + transition: opacity 0.15s 0.15s linear; } } - &:focus-visible::after { + &[data-focus-visible]::after { opacity: 1; } } + [aria-orientation='horizontal'] & { + padding-inline: ${ space( 4 ) }; + height: ${ space( 12 ) }; + text-align: center; + scroll-margin: 24px; + + &::after { + content: ''; + inset: ${ space( 3 ) }; + } + } + [aria-orientation='vertical'] & { - min-height: ${ space( - 10 - ) }; // Avoid fixed height to allow for long strings that go in multiple lines. + padding: ${ space( 2 ) } ${ space( 3 ) }; + min-height: ${ space( 10 ) }; + text-align: start; + + &[aria-selected='true'] { + color: ${ COLORS.theme.accent }; + fill: currentColor; + } + } + [aria-orientation='vertical'][data-select-on-move='false'] &::after { + content: ''; + inset: var( --wp-admin-border-width-focus ); } +`; + +export const TabChildren = styled.span` + flex-grow: 1; +`; +export const TabChevron = styled( Icon )` + flex-shrink: 0; + margin-inline-end: ${ space( -1 ) }; [aria-orientation='horizontal'] & { - justify-content: center; + display: none; + } + opacity: 0; + [role='tab']:is( [aria-selected='true'], [data-focus-visible], :hover ) & { + opacity: 1; + } + // The chevron is transitioned into existence when selectOnMove is enabled, + // because otherwise it looks jarring, as it shows up outside of the focus + // indicator that's being animated at the same time. + @media not ( prefers-reduced-motion ) { + [data-select-on-move='true'] + [role='tab']:is( [aria-selected='true'], ) + & { + transition: opacity 0.3s ease-in; + } + } + &:dir( rtl ) { + rotate: 180deg; } `; @@ -201,7 +267,7 @@ export const TabPanel = styled( Ariakit.TabPanel )` outline: none; } - &:focus-visible { + &[data-focus-visible] { box-shadow: 0 0 0 var( --wp-admin-border-width-focus ) ${ COLORS.theme.accent }; // Windows high contrast mode. diff --git a/packages/components/src/tabs/tab.tsx b/packages/components/src/tabs/tab.tsx index e1aa85c636cdd1..29f6111adc8397 100644 --- a/packages/components/src/tabs/tab.tsx +++ b/packages/components/src/tabs/tab.tsx @@ -10,8 +10,13 @@ import { forwardRef } from '@wordpress/element'; import type { TabProps } from './types'; import warning from '@wordpress/warning'; import { useTabsContext } from './context'; -import { Tab as StyledTab } from './styles'; +import { + Tab as StyledTab, + TabChildren as StyledTabChildren, + TabChevron as StyledTabChevron, +} from './styles'; import type { WordPressComponentProps } from '../context'; +import { chevronRight } from '@wordpress/icons'; export const Tab = forwardRef< HTMLButtonElement, @@ -33,7 +38,8 @@ export const Tab = forwardRef< render={ render } { ...otherProps } > - { children } + { children } + ); } ); diff --git a/packages/components/src/tabs/tablist.tsx b/packages/components/src/tabs/tablist.tsx index a861d3294aae66..512a3eb6724289 100644 --- a/packages/components/src/tabs/tablist.tsx +++ b/packages/components/src/tabs/tablist.tsx @@ -115,6 +115,7 @@ export const TabList = forwardRef< render={ } onBlur={ onBlur } tabIndex={ -1 } + data-select-on-move={ selectOnMove ? 'true' : 'false' } { ...otherProps } className={ clsx( overflow.first && 'is-overflowing-first', diff --git a/test/e2e/specs/editor/various/a11y.spec.js b/test/e2e/specs/editor/various/a11y.spec.js index 3ec7318ab89e78..8f63b57fda657f 100644 --- a/test/e2e/specs/editor/various/a11y.spec.js +++ b/test/e2e/specs/editor/various/a11y.spec.js @@ -123,7 +123,14 @@ test.describe( 'a11y (@firefox, @webkit)', () => { test( 'should make the modal content focusable when it is scrollable', async ( { page, pageUtils, + browserName, } ) => { + // eslint-disable-next-line playwright/no-skipped-test + test.skip( + browserName === 'webkit', + 'Known bug with focus order in Safari.' + ); + // Note: this test depends on a particular viewport height to determine whether or not // the modal content is scrollable. If this tests fails and needs to be debugged locally, // double-check the viewport height when running locally versus in CI. Additionally, From 7c8a59137409c55900d7fecdc0c462c03c3cd974 Mon Sep 17 00:00:00 2001 From: Nik Tsekouras Date: Tue, 8 Oct 2024 00:15:52 +0300 Subject: [PATCH 041/489] Simplify logical expression in `InitPatternModal` (#65922) Co-authored-by: ntsekouras Co-authored-by: tyxla --- packages/edit-post/src/components/init-pattern-modal/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/edit-post/src/components/init-pattern-modal/index.js b/packages/edit-post/src/components/init-pattern-modal/index.js index 4288557ec712d6..1bfeadd73f94a6 100644 --- a/packages/edit-post/src/components/init-pattern-modal/index.js +++ b/packages/edit-post/src/components/init-pattern-modal/index.js @@ -27,8 +27,8 @@ export default function InitPatternModal() { isNewPost: isCleanNewPost(), }; }, [] ); - const [ isModalOpen, setIsModalOpen ] = useState( () => - isNewPost && postType === 'wp_block' ? true : false + const [ isModalOpen, setIsModalOpen ] = useState( + () => isNewPost && postType === 'wp_block' ); if ( postType !== 'wp_block' || ! isNewPost ) { From 7fff8a498b091b65600598003d79823efdc3fb74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 20:27:25 -0400 Subject: [PATCH 042/489] Bump the github-actions group with 2 updates (#65916) Bumps the github-actions group with 2 updates: [actions/cache](https://github.com/actions/cache) and [ruby/setup-ruby](https://github.com/ruby/setup-ruby). Updates `actions/cache` from 4.0.2 to 4.1.0 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/0c45773b623bea8c8e75f6c82b208c3cf94ea4f9...2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2) Updates `ruby/setup-ruby` from 1.194.0 to 1.195.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/c04af2bb7258bb6a03df1d3c1865998ac9390972...086ffb1a2090c870a3f881cc91ea83aa4243d408) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: desrosj --- .github/workflows/pull-request-automation.yml | 2 +- .github/workflows/rnmobile-android-runner.yml | 4 ++-- .github/workflows/rnmobile-ios-runner.yml | 8 ++++---- .github/workflows/unit-test.yml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull-request-automation.yml b/.github/workflows/pull-request-automation.yml index 2006eafd81cc7d..f85b8510067569 100644 --- a/.github/workflows/pull-request-automation.yml +++ b/.github/workflows/pull-request-automation.yml @@ -24,7 +24,7 @@ jobs: check-latest: true - name: Cache NPM packages - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm diff --git a/.github/workflows/rnmobile-android-runner.yml b/.github/workflows/rnmobile-android-runner.yml index 9392ba100af713..729d1d20fd7e7b 100644 --- a/.github/workflows/rnmobile-android-runner.yml +++ b/.github/workflows/rnmobile-android-runner.yml @@ -37,7 +37,7 @@ jobs: uses: ./.github/setup-node - name: Restore tests setup cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: path: | ~/.appium @@ -50,7 +50,7 @@ jobs: uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 - name: AVD cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 id: avd-cache with: path: | diff --git a/.github/workflows/rnmobile-ios-runner.yml b/.github/workflows/rnmobile-ios-runner.yml index cf065ad1cdf7db..475937eb58f5f8 100644 --- a/.github/workflows/rnmobile-ios-runner.yml +++ b/.github/workflows/rnmobile-ios-runner.yml @@ -27,7 +27,7 @@ jobs: with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} - - uses: ruby/setup-ruby@c04af2bb7258bb6a03df1d3c1865998ac9390972 # v1.194.0 + - uses: ruby/setup-ruby@086ffb1a2090c870a3f881cc91ea83aa4243d408 # v1.195.0 with: # `.ruby-version` file location working-directory: packages/react-native-editor/ios @@ -42,7 +42,7 @@ jobs: uses: ./.github/setup-node - name: Restore tests setup cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: path: | ~/.appium @@ -55,7 +55,7 @@ jobs: run: find package-lock.json packages/react-native-editor/ios packages/react-native-aztec/ios packages/react-native-bridge/ios -type f -print0 | sort -z | xargs -0 shasum | tee ios-checksums.txt - name: Restore build cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: path: | packages/react-native-editor/ios/build/GutenbergDemo/Build/Products/Release-iphonesimulator/GutenbergDemo.app @@ -63,7 +63,7 @@ jobs: key: ${{ runner.os }}-ios-build-${{ matrix.xcode }}-${{ matrix.device }}-${{ hashFiles('ios-checksums.txt') }} - name: Restore pods cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: path: | packages/react-native-editor/ios/Pods diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index bfa35492589a48..47b5e9f76ea7b0 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -296,7 +296,7 @@ jobs: run: echo "date=$(/bin/date -u --date='last Mon' "+%F")" >> $GITHUB_OUTPUT - name: Cache PHPCS scan cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 with: path: .cache/phpcs.json key: ${{ runner.os }}-date-${{ steps.get-date.outputs.date }}-phpcs-cache-${{ hashFiles('**/composer.json', 'phpcs.xml.dist') }} From a547a00f800d6413b1e91dd89a842d05af4a24a5 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Tue, 8 Oct 2024 08:48:41 +0200 Subject: [PATCH 043/489] Match visible label of search inputs with their actual label. (#65458) * Match visible label of search inputs with their actual label. * Adjust more tests. * Adjust more tests. Co-authored-by: afercia Co-authored-by: mirka <0mirka00@git.wordpress.org> Co-authored-by: jameskoster --- .../pattern-explorer-sidebar.js | 2 +- .../src/components/inserter/menu.js | 2 +- .../src/components/inserter/quick-inserter.js | 2 +- .../components/link-control/search-input.js | 9 +- .../components/link-control/search-results.js | 15 +- .../src/components/link-control/test/index.js | 130 +++++++++++------- .../media-replace-flow/test/index.js | 2 +- .../src/query/edit/pattern-selection-modal.js | 2 +- .../src/template-part/edit/selection-modal.js | 2 +- .../global-styles/screen-block-list.js | 2 +- .../hierarchical-term-selector.js | 1 + test/e2e/specs/editor/blocks/buttons.spec.js | 8 +- test/e2e/specs/editor/blocks/group.spec.js | 5 +- test/e2e/specs/editor/blocks/links.spec.js | 6 +- .../blocks/navigation-list-view.spec.js | 4 +- .../specs/editor/blocks/navigation.spec.js | 4 +- .../editor/plugins/allowed-blocks.spec.js | 2 +- .../editor/plugins/block-directory.spec.js | 4 +- .../editor/plugins/block-variations.spec.js | 4 +- .../editor/various/adding-patterns.spec.js | 2 +- .../editor/various/allowed-patterns.spec.js | 4 +- .../editor/various/inserting-blocks.spec.js | 14 +- .../editor/various/parsing-patterns.spec.js | 2 +- .../e2e/specs/editor/various/patterns.spec.js | 2 +- .../block-style-variations.spec.js | 5 +- .../site-editor/global-styles-sidebar.spec.js | 2 +- .../site-editor/site-editor-inserter.spec.js | 8 +- .../specs/widgets/customizing-widgets.spec.js | 6 +- .../e2e/specs/widgets/editing-widgets.spec.js | 4 +- 29 files changed, 136 insertions(+), 119 deletions(-) diff --git a/packages/block-editor/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js b/packages/block-editor/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js index d258c24da10cfb..89384bc0537143 100644 --- a/packages/block-editor/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +++ b/packages/block-editor/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js @@ -40,7 +40,7 @@ function PatternsExplorerSearch( { searchValue, setSearchValue } ) { __nextHasNoMarginBottom onChange={ setSearchValue } value={ searchValue } - label={ __( 'Search for patterns' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } /> diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js index a32251a1a71d05..fa72728f6de20c 100644 --- a/packages/block-editor/src/components/inserter/menu.js +++ b/packages/block-editor/src/components/inserter/menu.js @@ -168,7 +168,7 @@ function InserterMenu( setFilterValue( value ); } } value={ filterValue } - label={ __( 'Search for blocks and patterns' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } /> { !! delayedFilterValue && ( diff --git a/packages/block-editor/src/components/inserter/quick-inserter.js b/packages/block-editor/src/components/inserter/quick-inserter.js index 7c7f836842b418..9f393a7ce15202 100644 --- a/packages/block-editor/src/components/inserter/quick-inserter.js +++ b/packages/block-editor/src/components/inserter/quick-inserter.js @@ -116,7 +116,7 @@ export default function QuickInserter( { onChange={ ( value ) => { setFilterValue( value ); } } - label={ __( 'Search for blocks and patterns' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } /> ) } diff --git a/packages/block-editor/src/components/link-control/search-input.js b/packages/block-editor/src/components/link-control/search-input.js index f41884092e4894..3f109b8a371552 100644 --- a/packages/block-editor/src/components/link-control/search-input.js +++ b/packages/block-editor/src/components/link-control/search-input.js @@ -1,7 +1,6 @@ /** * WordPress dependencies */ -import { useInstanceId } from '@wordpress/compose'; import { forwardRef, useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; @@ -58,7 +57,6 @@ const LinkControlSearchInput = forwardRef( ? fetchSuggestions || genericSearchHandler : noopSearchHandler; - const instanceId = useInstanceId( LinkControlSearchInput ); const [ focusedSuggestion, setFocusedSuggestion ] = useState(); /** @@ -76,7 +74,6 @@ const LinkControlSearchInput = forwardRef( const handleRenderSuggestions = ( props ) => renderSuggestions( { ...props, - instanceId, withCreateSuggestion, createSuggestionButtonText, suggestionsQuery, @@ -116,16 +113,18 @@ const LinkControlSearchInput = forwardRef( } }; + const inputLabel = placeholder ?? __( 'Search or type URL' ); + return (
- { labelText } - - ); return (
- { searchResultsLabel }
{ suggestions.map( ( suggestion, index ) => { diff --git a/packages/block-editor/src/components/link-control/test/index.js b/packages/block-editor/src/components/link-control/test/index.js index fa8c4d86eae5c9..e416b9b522a53c 100644 --- a/packages/block-editor/src/components/link-control/test/index.js +++ b/packages/block-editor/src/components/link-control/test/index.js @@ -138,7 +138,9 @@ describe( 'Basic rendering', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); expect( searchInput ).toBeVisible(); } ); @@ -147,7 +149,9 @@ describe( 'Basic rendering', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); expect( searchInput ).toBeVisible(); // Make sure we use the ARIA 1.0 pattern with aria-owns. @@ -170,7 +174,9 @@ describe( 'Basic rendering', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, 'Hello' ); @@ -283,7 +289,9 @@ describe( 'Basic rendering', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -296,7 +304,7 @@ describe( 'Basic rendering', () => { render( ); expect( - screen.queryByRole( 'combobox', { name: 'Link' } ) + screen.queryByRole( 'combobox', { name: 'Search or type URL' } ) ).not.toBeInTheDocument(); } ); @@ -309,7 +317,7 @@ describe( 'Basic rendering', () => { ); expect( - screen.getByRole( 'combobox', { name: 'Link' } ) + screen.getByRole( 'combobox', { name: 'Search or type URL' } ) ).toBeVisible(); } ); @@ -327,7 +335,7 @@ describe( 'Basic rendering', () => { await user.click( editButton ); expect( - screen.getByRole( 'combobox', { name: 'Link' } ) + screen.getByRole( 'combobox', { name: 'Search or type URL' } ) ).toBeVisible(); // If passed `forceIsEditingLink` of `false` while editing, should @@ -340,7 +348,7 @@ describe( 'Basic rendering', () => { ); expect( - screen.queryByRole( 'combobox', { name: 'Link' } ) + screen.queryByRole( 'combobox', { name: 'Search or type URL' } ) ).not.toBeInTheDocument(); } ); @@ -428,7 +436,7 @@ describe( 'Basic rendering', () => { // Should revert back to editing mode. expect( - screen.getByRole( 'combobox', { name: 'Link' } ) + screen.getByRole( 'combobox', { name: 'Search or type URL' } ) ).toBeVisible(); } ); } ); @@ -450,7 +458,9 @@ describe( 'Searching for a link', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -475,7 +485,7 @@ describe( 'Searching for a link', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -526,7 +536,7 @@ describe( 'Searching for a link', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -558,7 +568,9 @@ describe( 'Searching for a link', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -601,7 +613,9 @@ describe( 'Searching for a link', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, 'anything' ); @@ -618,7 +632,9 @@ describe( 'Searching for a link', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -648,7 +664,9 @@ describe( 'Searching for a link', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, 'couldbeurlorentitysearchterm' ); @@ -679,7 +697,7 @@ describe( 'Manual link entry', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -715,7 +733,7 @@ describe( 'Manual link entry', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); if ( searchString.length ) { @@ -749,7 +767,7 @@ describe( 'Manual link entry', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Remove the existing link. @@ -830,7 +848,7 @@ describe( 'Manual link entry', () => { await toggleSettingsDrawer( user ); let searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); let textInput = screen.getByRole( 'textbox', { @@ -865,7 +883,7 @@ describe( 'Manual link entry', () => { // Re-query the inputs as they have been replaced. searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); textInput = screen.getByRole( 'textbox', { @@ -913,7 +931,7 @@ describe( 'Manual link entry', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -949,7 +967,7 @@ describe( 'Link submission', () => { render( ); const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); const submitButton = screen.getByRole( 'button', { @@ -988,7 +1006,7 @@ describe( 'Link submission', () => { render( ); const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); const createSubmitButton = screen.queryByRole( 'button', { @@ -1035,9 +1053,9 @@ describe( 'Default search suggestions', () => { // Verify input has no value has default suggestions should only show // when this does not have a value. // Search Input UI. - expect( screen.getByRole( 'combobox', { name: 'Link' } ) ).toHaveValue( - '' - ); + expect( + screen.getByRole( 'combobox', { name: 'Search or type URL' } ) + ).toHaveValue( '' ); // Ensure only called once as a guard against potential infinite // re-render loop within `componentDidUpdate` calling `updateSuggestions` @@ -1064,7 +1082,9 @@ describe( 'Default search suggestions', () => { } ); await user.click( currentLinkBtn ); - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Search input is set to the URL value. expect( searchInput ).toHaveValue( initialValue.url ); @@ -1086,7 +1106,9 @@ describe( 'Default search suggestions', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -1124,7 +1146,9 @@ describe( 'Default search suggestions', () => { render( ); - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); const searchResultsField = screen.queryByRole( 'listbox', { name: 'Suggestions', @@ -1183,7 +1207,7 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -1250,7 +1274,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, 'Some new page to create' ); @@ -1299,7 +1325,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, entityNameText ); @@ -1342,7 +1370,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, entityNameText ); @@ -1366,7 +1396,7 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); const searchResultsField = screen.queryByRole( 'listbox' ); @@ -1387,7 +1417,7 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); const searchResultsField = screen.queryByRole( 'listbox' ); @@ -1411,7 +1441,7 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -1445,7 +1475,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { render( ); // Search Input UI. - searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchText ); @@ -1460,7 +1492,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => { await user.click( createButton ); - searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); const errorNotice = screen.getAllByText( 'API response returned invalid entity.' @@ -1533,7 +1567,9 @@ describe( 'Selecting links', () => { // Simulate searching for a term. await user.click( currentLinkBtn ); - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); currentLinkUI = screen.queryByLabelText( 'Currently selected' ); // We should be back to showing the search input. @@ -1574,7 +1610,7 @@ describe( 'Selecting links', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -1636,7 +1672,7 @@ describe( 'Selecting links', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. @@ -1726,7 +1762,7 @@ describe( 'Selecting links', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Step down into the search results, highlighting the first result item. @@ -1784,7 +1820,7 @@ describe( 'Selecting links', () => { // focus the search input const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); fireEvent.focus( searchInput ); @@ -2006,7 +2042,9 @@ describe( 'Post types', () => { render( ); // Search Input UI. - const searchInput = screen.getByRole( 'combobox', { name: 'Link' } ); + const searchInput = screen.getByRole( 'combobox', { + name: 'Search or type URL', + } ); // Simulate searching for a term. await user.type( searchInput, searchTerm ); @@ -2034,7 +2072,7 @@ describe( 'Post types', () => { // Search Input UI. const searchInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Simulate searching for a term. diff --git a/packages/block-editor/src/components/media-replace-flow/test/index.js b/packages/block-editor/src/components/media-replace-flow/test/index.js index 1d326804f0dcca..dace470aa67b0f 100644 --- a/packages/block-editor/src/components/media-replace-flow/test/index.js +++ b/packages/block-editor/src/components/media-replace-flow/test/index.js @@ -110,7 +110,7 @@ describe( 'General media replace flow', () => { ); const mediaURLInput = screen.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', expanded: false, } ); diff --git a/packages/block-library/src/query/edit/pattern-selection-modal.js b/packages/block-library/src/query/edit/pattern-selection-modal.js index 7fa29d0d894f1d..41a339908c5644 100644 --- a/packages/block-library/src/query/edit/pattern-selection-modal.js +++ b/packages/block-library/src/query/edit/pattern-selection-modal.js @@ -70,7 +70,7 @@ export default function PatternSelectionModal( { __nextHasNoMarginBottom onChange={ setSearchValue } value={ searchValue } - label={ __( 'Search for patterns' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } />
diff --git a/packages/block-library/src/template-part/edit/selection-modal.js b/packages/block-library/src/template-part/edit/selection-modal.js index 1df7314aaca0bb..5fa5d9786d8c96 100644 --- a/packages/block-library/src/template-part/edit/selection-modal.js +++ b/packages/block-library/src/template-part/edit/selection-modal.js @@ -80,7 +80,7 @@ export default function TemplatePartSelectionModal( { __nextHasNoMarginBottom onChange={ setSearchValue } value={ searchValue } - label={ __( 'Search for replacements' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } />
diff --git a/packages/edit-site/src/components/global-styles/screen-block-list.js b/packages/edit-site/src/components/global-styles/screen-block-list.js index 0f7d2540fb04df..51807ba79aa111 100644 --- a/packages/edit-site/src/components/global-styles/screen-block-list.js +++ b/packages/edit-site/src/components/global-styles/screen-block-list.js @@ -174,7 +174,7 @@ function ScreenBlockList() { className="edit-site-block-types-search" onChange={ setFilterValue } value={ filterValue } - label={ __( 'Search for blocks' ) } + label={ __( 'Search' ) } placeholder={ __( 'Search' ) } /> diff --git a/packages/editor/src/components/post-taxonomies/hierarchical-term-selector.js b/packages/editor/src/components/post-taxonomies/hierarchical-term-selector.js index 071453f4f3f626..e019185b8a97cd 100644 --- a/packages/editor/src/components/post-taxonomies/hierarchical-term-selector.js +++ b/packages/editor/src/components/post-taxonomies/hierarchical-term-selector.js @@ -411,6 +411,7 @@ export function HierarchicalTermSelector( { slug } ) { __next40pxDefaultSize __nextHasNoMarginBottom label={ filterLabel } + placeholder={ filterLabel } value={ filterValue } onChange={ setFilter } /> diff --git a/test/e2e/specs/editor/blocks/buttons.spec.js b/test/e2e/specs/editor/blocks/buttons.spec.js index f62732470d9747..25bc2d6101024a 100644 --- a/test/e2e/specs/editor/blocks/buttons.spec.js +++ b/test/e2e/specs/editor/blocks/buttons.spec.js @@ -60,7 +60,7 @@ test.describe( 'Buttons', () => { ).toBeFocused(); await pageUtils.pressKeys( 'primary+k' ); await expect( - page.locator( 'role=combobox[name="Link"i]' ) + page.locator( 'role=combobox[name="Search or type URL"i]' ) ).toBeFocused(); await page.keyboard.press( 'Escape' ); await expect( @@ -91,7 +91,7 @@ test.describe( 'Buttons', () => { ).toBeFocused(); await pageUtils.pressKeys( 'primary+k' ); await expect( - page.locator( 'role=combobox[name="Link"i]' ) + page.locator( 'role=combobox[name="Search or type URL"i]' ) ).toBeFocused(); await page.keyboard.type( 'https://example.com' ); await page.keyboard.press( 'Enter' ); @@ -123,7 +123,9 @@ test.describe( 'Buttons', () => { ).toBeFocused(); await pageUtils.pressKeys( 'primary+k' ); - const urlInput = page.locator( 'role=combobox[name="Link"i]' ); + const urlInput = page.locator( + 'role=combobox[name="Search or type URL"i]' + ); await expect( urlInput ).toBeFocused(); await page.keyboard.type( 'example.com' ); diff --git a/test/e2e/specs/editor/blocks/group.spec.js b/test/e2e/specs/editor/blocks/group.spec.js index ccf522d8c4d533..871974c1f44dd4 100644 --- a/test/e2e/specs/editor/blocks/group.spec.js +++ b/test/e2e/specs/editor/blocks/group.spec.js @@ -19,10 +19,7 @@ test.describe( 'Group', () => { await inserterButton.click(); - await page.type( - 'role=searchbox[name="Search for blocks and patterns"i]', - 'Group' - ); + await page.type( 'role=searchbox[name="Search"i]', 'Group' ); await page.click( 'role=listbox[name="Blocks"i] >> role=option[name="Group"i]' diff --git a/test/e2e/specs/editor/blocks/links.spec.js b/test/e2e/specs/editor/blocks/links.spec.js index 02400fe9c9dd8a..5206f5b6689e14 100644 --- a/test/e2e/specs/editor/blocks/links.spec.js +++ b/test/e2e/specs/editor/blocks/links.spec.js @@ -116,7 +116,7 @@ test.describe( 'Links', () => { await expect( page.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ) ).toHaveValue( '' ); } ); @@ -393,7 +393,7 @@ test.describe( 'Links', () => { await pageUtils.pressKeys( 'primary+k' ); const urlInput = page.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); // Expect the "Link" combobox to be visible and focused @@ -498,7 +498,7 @@ test.describe( 'Links', () => { await expect( linkPopover.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ) ).toHaveValue( URL ); diff --git a/test/e2e/specs/editor/blocks/navigation-list-view.spec.js b/test/e2e/specs/editor/blocks/navigation-list-view.spec.js index 2d5189a6bd6529..2f9963169a5230 100644 --- a/test/e2e/specs/editor/blocks/navigation-list-view.spec.js +++ b/test/e2e/specs/editor/blocks/navigation-list-view.spec.js @@ -174,7 +174,7 @@ test.describe( 'Navigation block - List view editing', () => { // Expect to see the block inserter. await expect( page.getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) ).toBeFocused(); @@ -588,7 +588,7 @@ class LinkControl { getSearchInput() { return this.page.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); } diff --git a/test/e2e/specs/editor/blocks/navigation.spec.js b/test/e2e/specs/editor/blocks/navigation.spec.js index 19da69cd27c4aa..83e95a08c0f6a2 100644 --- a/test/e2e/specs/editor/blocks/navigation.spec.js +++ b/test/e2e/specs/editor/blocks/navigation.spec.js @@ -615,7 +615,7 @@ class Navigation { getLinkControlSearch() { return this.page.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); } @@ -668,7 +668,7 @@ class Navigation { */ async addPage( label ) { const linkControlSearch = this.page.getByRole( 'combobox', { - name: 'Link', + name: 'Search or type URL', } ); await expect( linkControlSearch ).toBeFocused(); diff --git a/test/e2e/specs/editor/plugins/allowed-blocks.spec.js b/test/e2e/specs/editor/plugins/allowed-blocks.spec.js index 4211e428238218..6c8f4ead41c6f9 100644 --- a/test/e2e/specs/editor/plugins/allowed-blocks.spec.js +++ b/test/e2e/specs/editor/plugins/allowed-blocks.spec.js @@ -27,7 +27,7 @@ test.describe( 'Allowed Blocks Filter', () => { const searchbox = page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ); await searchbox.fill( 'Paragraph' ); diff --git a/test/e2e/specs/editor/plugins/block-directory.spec.js b/test/e2e/specs/editor/plugins/block-directory.spec.js index 28700e787e8836..f9bf1f85151864 100644 --- a/test/e2e/specs/editor/plugins/block-directory.spec.js +++ b/test/e2e/specs/editor/plugins/block-directory.spec.js @@ -135,7 +135,7 @@ test.describe( 'Block Directory', () => { */ await blockLibrary .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( '@$@@Dsdsdfw2$@' ); @@ -226,7 +226,7 @@ test.describe( 'Block Directory', () => { await blockLibrary .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( MOCK_BLOCK1.title ); diff --git a/test/e2e/specs/editor/plugins/block-variations.spec.js b/test/e2e/specs/editor/plugins/block-variations.spec.js index 4c5488af4443f6..653680b48e1e66 100644 --- a/test/e2e/specs/editor/plugins/block-variations.spec.js +++ b/test/e2e/specs/editor/plugins/block-variations.spec.js @@ -28,7 +28,7 @@ test.describe( 'Block variations', () => { await page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Quote' ); @@ -69,7 +69,7 @@ test.describe( 'Block variations', () => { await page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Paragraph' ); diff --git a/test/e2e/specs/editor/various/adding-patterns.spec.js b/test/e2e/specs/editor/various/adding-patterns.spec.js index 35192dd364dc66..b634798b455403 100644 --- a/test/e2e/specs/editor/various/adding-patterns.spec.js +++ b/test/e2e/specs/editor/various/adding-patterns.spec.js @@ -13,7 +13,7 @@ test.describe( 'adding patterns', () => { await page.getByRole( 'tab', { name: 'Patterns' } ).click(); await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', 'Standard' ); diff --git a/test/e2e/specs/editor/various/allowed-patterns.spec.js b/test/e2e/specs/editor/various/allowed-patterns.spec.js index 83d44403d60ee2..a99b1f5c291066 100644 --- a/test/e2e/specs/editor/various/allowed-patterns.spec.js +++ b/test/e2e/specs/editor/various/allowed-patterns.spec.js @@ -26,7 +26,7 @@ test.describe( 'Allowed Patterns', () => { name: 'Block Library', } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Test:' ); @@ -69,7 +69,7 @@ test.describe( 'Allowed Patterns', () => { name: 'Block Library', } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Test:' ); diff --git a/test/e2e/specs/editor/various/inserting-blocks.spec.js b/test/e2e/specs/editor/various/inserting-blocks.spec.js index b4f23c8b8e2bbf..83b919585a695c 100644 --- a/test/e2e/specs/editor/various/inserting-blocks.spec.js +++ b/test/e2e/specs/editor/various/inserting-blocks.spec.js @@ -76,7 +76,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { ); await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', 'Heading' ); @@ -139,7 +139,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { ); await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', 'Heading' ); @@ -197,7 +197,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { const PATTERN_NAME = 'Standard'; await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', PATTERN_NAME ); @@ -286,7 +286,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { 'role=region[name="Editor top bar"i] >> role=button[name="Toggle block inserter"i]' ); await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', PATTERN_NAME ); await page.hover( @@ -353,7 +353,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { const PATTERN_NAME = 'Standard'; await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', PATTERN_NAME ); @@ -596,7 +596,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { await page .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .first() .fill( 'Verse' ); @@ -606,7 +606,7 @@ test.describe( 'Inserting blocks (@firefox, @webkit)', () => { page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .first() ).toHaveValue( 'Verse' ); diff --git a/test/e2e/specs/editor/various/parsing-patterns.spec.js b/test/e2e/specs/editor/various/parsing-patterns.spec.js index d8abe7a46fbc1b..62c8ba2de24104 100644 --- a/test/e2e/specs/editor/various/parsing-patterns.spec.js +++ b/test/e2e/specs/editor/various/parsing-patterns.spec.js @@ -37,7 +37,7 @@ test.describe( 'Parsing patterns', () => { } ); } ); await page.fill( - 'role=region[name="Block Library"i] >> role=searchbox[name="Search for blocks and patterns"i]', + 'role=region[name="Block Library"i] >> role=searchbox[name="Search"i]', 'whitespace' ); await page diff --git a/test/e2e/specs/editor/various/patterns.spec.js b/test/e2e/specs/editor/various/patterns.spec.js index 781d4657a20b90..7204f2bace51a5 100644 --- a/test/e2e/specs/editor/various/patterns.spec.js +++ b/test/e2e/specs/editor/various/patterns.spec.js @@ -500,7 +500,7 @@ test.describe( 'Synced pattern', () => { .click(); await page .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Awesome empty' ); diff --git a/test/e2e/specs/site-editor/block-style-variations.spec.js b/test/e2e/specs/site-editor/block-style-variations.spec.js index 122b42a571b078..97ebc74db8308a 100644 --- a/test/e2e/specs/site-editor/block-style-variations.spec.js +++ b/test/e2e/specs/site-editor/block-style-variations.spec.js @@ -321,10 +321,7 @@ async function addPageContent( editor, page ) { 'role=button[name="Toggle block inserter"i]' ); await inserterButton.click(); - await page.type( - 'role=searchbox[name="Search for blocks and patterns"i]', - 'Group' - ); + await page.type( 'role=searchbox[name="Search"i]', 'Group' ); await page.click( 'role=listbox[name="Blocks"i] >> role=option[name="Group"i]' ); diff --git a/test/e2e/specs/site-editor/global-styles-sidebar.spec.js b/test/e2e/specs/site-editor/global-styles-sidebar.spec.js index 257ebc38f3b4dd..0b034def6a3063 100644 --- a/test/e2e/specs/site-editor/global-styles-sidebar.spec.js +++ b/test/e2e/specs/site-editor/global-styles-sidebar.spec.js @@ -32,7 +32,7 @@ test.describe( 'Global styles sidebar', () => { .click(); await page - .getByRole( 'searchbox', { name: 'Search for blocks' } ) + .getByRole( 'searchbox', { name: 'Search' } ) .fill( 'heading' ); // Matches both Heading and Table of Contents blocks. 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 98cb8e4e74149c..acb0c5409f9b09 100644 --- a/test/e2e/specs/site-editor/site-editor-inserter.spec.js +++ b/test/e2e/specs/site-editor/site-editor-inserter.spec.js @@ -28,16 +28,12 @@ test.describe( 'Site Editor Inserter', () => { // Visibility check await expect( - page.locator( - 'role=searchbox[name="Search for blocks and patterns"i]' - ) + page.locator( 'role=searchbox[name="Search"i]' ) ).toBeVisible(); await page.click( 'role=button[name="Toggle block inserter"i]' ); //Hidden State check await expect( - page.locator( - 'role=searchbox[name="Search for blocks and patterns"i]' - ) + page.locator( 'role=searchbox[name="Search"i]' ) ).toBeHidden(); } ); diff --git a/test/e2e/specs/widgets/customizing-widgets.spec.js b/test/e2e/specs/widgets/customizing-widgets.spec.js index 38e9d3ee2c58ab..04b09da84928e1 100644 --- a/test/e2e/specs/widgets/customizing-widgets.spec.js +++ b/test/e2e/specs/widgets/customizing-widgets.spec.js @@ -79,7 +79,7 @@ test.describe( 'Widgets Customizer', () => { ); const inlineInserterSearchBox = page.locator( - 'role=searchbox[name="Search for blocks and patterns"i]' + 'role=searchbox[name="Search"i]' ); await expect( inlineInserterSearchBox ).toBeFocused(); @@ -651,9 +651,7 @@ class WidgetsCustomizerPage { 'role=toolbar[name="Document tools"i] >> role=button[name="Add block"i]' ); - const searchBox = this.page.locator( - 'role=searchbox[name="Search for blocks and patterns"i]' - ); + const searchBox = this.page.locator( 'role=searchbox[name="Search"i]' ); // Clear the input. await searchBox.evaluate( ( node ) => { diff --git a/test/e2e/specs/widgets/editing-widgets.spec.js b/test/e2e/specs/widgets/editing-widgets.spec.js index 28e9aac437572c..92a264492c018d 100644 --- a/test/e2e/specs/widgets/editing-widgets.spec.js +++ b/test/e2e/specs/widgets/editing-widgets.spec.js @@ -207,7 +207,7 @@ test.describe( 'Widgets screen', () => { await inBetweenInserterButton.click(); const inserterSearchBox = page.getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ); await expect( inserterSearchBox ).toBeFocused(); @@ -704,7 +704,7 @@ class WidgetsScreen { await blockLibrary .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( blockName ); From 89a86cf8b392f6aa7eba4f612e82435c6ae25492 Mon Sep 17 00:00:00 2001 From: Hit Bhalodia <58802366+hbhalodia@users.noreply.github.com> Date: Tue, 8 Oct 2024 12:37:10 +0530 Subject: [PATCH 044/489] Fix: Embed Block: Match HTML in the editor and frontend (#65478) * Add the fix for embed to resemeble exact markup as frontend and backend * Fix e2e test for updated embed block * Add the blockprops className to use the newClassname * Fix the code syntax for the same * Add the missing class on editor for the embed block * Add is-type- class to the editor embed block Co-authored-by: hbhalodia Co-authored-by: t-hamano --- packages/block-library/src/embed/edit.js | 21 +++++++++++++++++-- .../block-library/src/embed/embed-preview.js | 20 ++---------------- .../specs/editor/various/embedding.spec.js | 6 +++--- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/packages/block-library/src/embed/edit.js b/packages/block-library/src/embed/edit.js index da3dac3e3d62b5..c0a10a20e31fc4 100644 --- a/packages/block-library/src/embed/edit.js +++ b/packages/block-library/src/embed/edit.js @@ -30,6 +30,7 @@ import { useBlockProps } from '@wordpress/block-editor'; import { store as coreStore } from '@wordpress/core-data'; import { View } from '@wordpress/primitives'; import { getAuthority } from '@wordpress/url'; +import { Caption } from '../utils/caption'; const EmbedEdit = ( props ) => { const { @@ -261,7 +262,15 @@ const EmbedEdit = ( props ) => { toggleResponsive={ toggleResponsive } switchBackToURLInput={ () => setIsEditingURL( true ) } /> - +
{ attributes={ attributes } setAttributes={ setAttributes } /> - + +
); }; diff --git a/packages/block-library/src/embed/embed-preview.js b/packages/block-library/src/embed/embed-preview.js index 1a230faf0c3d57..c0c7d5942d1d78 100644 --- a/packages/block-library/src/embed/embed-preview.js +++ b/packages/block-library/src/embed/embed-preview.js @@ -21,7 +21,6 @@ import { getAuthority } from '@wordpress/url'; * Internal dependencies */ import WpEmbedPreview from './wp-embed-preview'; -import { Caption } from '../utils/caption'; export default function EmbedPreview( { preview, @@ -32,9 +31,6 @@ export default function EmbedPreview( { className, icon, label, - insertBlocksAfter, - attributes, - setAttributes, } ) { const [ interactive, setInteractive ] = useState( false ); @@ -96,11 +92,7 @@ export default function EmbedPreview( { /* eslint-enable jsx-a11y/no-static-element-interactions */ return ( -
+ <> { previewable ? ( embedWrapper ) : ( @@ -122,14 +114,6 @@ export default function EmbedPreview( {

) } - -
+ ); } diff --git a/test/e2e/specs/editor/various/embedding.spec.js b/test/e2e/specs/editor/various/embedding.spec.js index fb9746dce52e3c..fe488f91301749 100644 --- a/test/e2e/specs/editor/various/embedding.spec.js +++ b/test/e2e/specs/editor/various/embedding.spec.js @@ -134,15 +134,15 @@ test.describe( 'Embedding content', () => { 'https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/' ); await expect( - currenEmbedBlock.locator( 'figure' ), + currenEmbedBlock, 'WordPress valid content. Should render valid figure element.' - ).toHaveClass( 'wp-block-embed' ); + ).toHaveClass( /wp-block-embed/ ); await embedUtils.insertEmbed( 'https://www.youtube.com/watch?v=lXMskKTw3Bc' ); await expect( - currenEmbedBlock.locator( 'figure' ), + currenEmbedBlock, 'Video content. Should render valid figure element, and include the aspect ratio class.' ).toHaveClass( /wp-embed-aspect-16-9/ ); From c89b0fcabb722eee41be5ace6fd7a861d4715453 Mon Sep 17 00:00:00 2001 From: Daniel Richards Date: Tue, 8 Oct 2024 17:45:15 +0800 Subject: [PATCH 045/489] Pattern block: Ensure consistent editing of overrides in Write Mode (#65408) * Move pattern block block editing state to store selector Fix broken `getEnabledBlockParents` selector unit tests Update test Fix flash of content when in zoom out mode * Combine into one selector * Add unit tests * Add zoom out pattern block editing mode test ---- Co-authored-by: talldan Co-authored-by: getdave Co-authored-by: youknowriad Co-authored-by: draganescu --- .../src/store/private-selectors.js | 18 +++ packages/block-editor/src/store/selectors.js | 38 ++++++ .../src/store/test/private-selectors.js | 3 +- .../block-editor/src/store/test/selectors.js | 112 +++++++++++++++++- packages/block-library/src/block/edit.js | 57 +-------- 5 files changed, 175 insertions(+), 53 deletions(-) diff --git a/packages/block-editor/src/store/private-selectors.js b/packages/block-editor/src/store/private-selectors.js index c3228980310656..eeb987fc00f616 100644 --- a/packages/block-editor/src/store/private-selectors.js +++ b/packages/block-editor/src/store/private-selectors.js @@ -684,3 +684,21 @@ export function getClosestAllowedInsertionPointForPattern( export function getInsertionPoint( state ) { return state.insertionPoint; } + +/** + * Retrieves the number of parent pattern blocks. + * + * @param {Object} state Global application state. + * @param {string} clientId The block client ID. + * + * @return {number} The number of parent pattern blocks. + */ +export function getParentPatternCount( state, clientId ) { + const parents = getBlockParents( state, clientId ); + return parents.reduce( ( count, parent ) => { + if ( getBlockName( state, parent ) === 'core/block' ) { + return count + 1; + } + return count; + }, 0 ); +} diff --git a/packages/block-editor/src/store/selectors.js b/packages/block-editor/src/store/selectors.js index 6cf6aae296141f..812c48c87e7dca 100644 --- a/packages/block-editor/src/store/selectors.js +++ b/packages/block-editor/src/store/selectors.js @@ -40,6 +40,7 @@ import { getSectionRootClientId, isSectionBlock, getParentSectionBlock, + getParentPatternCount, } from './private-selectors'; /** @@ -2972,6 +2973,43 @@ export const getBlockEditingMode = createRegistrySelector( clientId = ''; } + // Handle pattern blocks (core/block) and the content of those blocks. + const parentPatternCount = getParentPatternCount( state, clientId ); + + // Make the outer pattern block content only mode. + if ( + getBlockName( state, clientId ) === 'core/block' && + parentPatternCount === 0 + ) { + return 'contentOnly'; + } + + if ( parentPatternCount > 0 ) { + // Disable nested patterns. + if ( parentPatternCount > 1 ) { + return 'disabled'; + } + + // Disable pattern content editing in zoom-out mode. + const _isZoomOut = + __unstableGetEditorMode( state ) === 'zoom-out'; + if ( _isZoomOut ) { + return 'disabled'; + } + + // If the block has a binding of any kind, allow content only editing. + const attributes = getBlockAttributes( state, clientId ); + if ( + Object.keys( attributes?.metadata?.bindings ?? {} ) + ?.length > 0 + ) { + return 'contentOnly'; + } + + // Otherwise, the block is part of the pattern source and should not be editable. + return 'disabled'; + } + // In zoom-out mode, override the behavior set by // __unstableSetBlockEditingMode to only allow editing the top-level // sections. diff --git a/packages/block-editor/src/store/test/private-selectors.js b/packages/block-editor/src/store/test/private-selectors.js index cbb75daa4baaa0..cca0714f3856d7 100644 --- a/packages/block-editor/src/store/test/private-selectors.js +++ b/packages/block-editor/src/store/test/private-selectors.js @@ -428,7 +428,6 @@ describe( 'private selectors', () => { 'e178812d-ce5e-48c7-a945-8ae4ffcbbb7c', ], ] ), - order: new Map( [ [ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337', @@ -443,6 +442,7 @@ describe( 'private selectors', () => { ], [ '', [ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337' ] ], ] ), + byClientId: new Map( [] ), }, blockEditingModes: new Map( [ [ '', 'disabled' ], @@ -495,6 +495,7 @@ describe( 'private selectors', () => { ], [ '', [ 'ef45d5fd-5234-4fd5-ac4f-c3736c7f9337' ] ], ] ), + byClientId: new Map( [] ), }, blockEditingModes: new Map( [ [ '', 'disabled' ], diff --git a/packages/block-editor/src/store/test/selectors.js b/packages/block-editor/src/store/test/selectors.js index a08c2e0dde1508..67af4d1b631162 100644 --- a/packages/block-editor/src/store/test/selectors.js +++ b/packages/block-editor/src/store/test/selectors.js @@ -3079,7 +3079,7 @@ describe( 'selectors', () => { byClientId: new Map( Object.entries( { block1: { name: 'core/test-block-ancestor' }, - block2: { name: 'core/block' }, + block2: { name: 'core/group' }, block3: { name: 'core/test-block-parent' }, } ) ), @@ -4668,4 +4668,114 @@ describe( 'getBlockEditingMode', () => { ) ).toBe( 'disabled' ); } ); + + describe( 'pattern blocks', () => { + const patternBlockState = { + settings: {}, + blocks: { + byClientId: new Map( + Object.entries( { + 'pattern-a': { name: 'core/block' }, + 'pattern-b': { name: 'core/block' }, + 'heading-a': { name: 'core/heading' }, + 'paragraph-a': { name: 'core/paragraph' }, + 'paragraph-b': { name: 'core/paragraph' }, + } ) + ), + order: new Map( + Object.entries( { + '': [ 'pattern-a' ], + 'pattern-a': [ + 'heading-a', + 'paragraph-a', + 'pattern-b', + ], + 'pattern-b': [ 'paragraph-b' ], + } ) + ), + parents: new Map( + Object.entries( { + 'paragraph-b': 'pattern-b', + 'pattern-b': 'pattern-a', + 'paragraph-a': 'pattern-a', + 'heading-a': 'pattern-a', + 'pattern-a': '', + } ) + ), + blockListSettings: { + 'pattern-a': {}, + 'pattern-b': {}, + }, + attributes: new Map( + Object.entries( { + 'paragraph-a': { + metadata: { + bindings: { + __default: { + source: 'core/pattern-overrides', + }, + }, + }, + }, + 'paragraph-b': { + metadata: { + bindings: { + __default: { + source: 'core/pattern-overrides', + }, + }, + }, + }, + } ) + ), + }, + }; + + it( 'should return contentOnly for the outer pattern block', () => { + expect( + getBlockEditingMode( patternBlockState, 'pattern-a' ) + ).toBe( 'contentOnly' ); + } ); + + it( 'should return contentOnly for blocks with bindings in the outer pattern', () => { + expect( + getBlockEditingMode( patternBlockState, 'paragraph-a' ) + ).toBe( 'contentOnly' ); + } ); + + it( 'should return disabled for unbound blocks', () => { + expect( + getBlockEditingMode( patternBlockState, 'heading-a' ) + ).toBe( 'disabled' ); + } ); + + it( 'should return disabled for the nested pattern', () => { + expect( + getBlockEditingMode( patternBlockState, 'pattern-a' ) + ).toBe( 'contentOnly' ); + } ); + + it( 'should return disabled for blocks with bindings in the nested pattern', () => { + expect( + getBlockEditingMode( patternBlockState, 'paragraph-b' ) + ).toBe( 'disabled' ); + } ); + + it( 'should disable all inner blocks of the outer pattern in zoom out mode with the outer pattern in content only mode', () => { + const state = { + ...patternBlockState, + editorMode: 'zoom-out', + }; + expect( getBlockEditingMode( state, 'pattern-a' ) ).toBe( + 'contentOnly' + ); + [ 'paragraph-a', 'paragraph-b', 'heading-a', 'pattern-b' ].forEach( + ( block ) => { + expect( getBlockEditingMode( state, block ) ).toBe( + 'disabled' + ); + } + ); + } ); + } ); } ); diff --git a/packages/block-library/src/block/edit.js b/packages/block-library/src/block/edit.js index 104b07157cba74..3d4d07e52b386a 100644 --- a/packages/block-library/src/block/edit.js +++ b/packages/block-library/src/block/edit.js @@ -7,7 +7,7 @@ import clsx from 'clsx'; * WordPress dependencies */ import { useSelect, useDispatch } from '@wordpress/data'; -import { useRef, useMemo, useEffect } from '@wordpress/element'; +import { useRef, useMemo } from '@wordpress/element'; import { useEntityRecord, store as coreStore, @@ -37,12 +37,10 @@ import { getBlockBindingsSource } from '@wordpress/blocks'; /** * Internal dependencies */ -import { name as patternBlockName } from './index'; import { unlock } from '../lock-unlock'; const { useLayoutClasses } = unlock( blockEditorPrivateApis ); -const { isOverridableBlock, hasOverridableBlocks } = - unlock( patternsPrivateApis ); +const { hasOverridableBlocks } = unlock( patternsPrivateApis ); const fullAlignments = [ 'full', 'wide', 'left', 'right' ]; @@ -75,22 +73,6 @@ const useInferredLayout = ( blocks, parentLayout ) => { }, [ blocks, parentLayout ] ); }; -function setBlockEditMode( setEditMode, blocks, mode ) { - blocks.forEach( ( block ) => { - const editMode = - mode || - ( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' ); - setEditMode( block.clientId, editMode ); - - setBlockEditMode( - setEditMode, - block.innerBlocks, - // Disable editing for nested patterns. - block.name === patternBlockName ? 'disabled' : mode - ); - } ); -} - function RecursionWarning() { const blockProps = useBlockProps(); return ( @@ -171,7 +153,6 @@ function ReusableBlockEdit( { name, attributes: { ref, content }, __unstableParentLayout: parentLayout, - clientId: patternClientId, setAttributes, } ) { const { record, hasResolved } = useEntityRecord( @@ -184,49 +165,24 @@ function ReusableBlockEdit( { } ); const isMissing = hasResolved && ! record; - const { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } = + const { __unstableMarkLastChangeAsPersistent } = useDispatch( blockEditorStore ); - const { - innerBlocks, - onNavigateToEntityRecord, - editingMode, - hasPatternOverridesSource, - } = useSelect( + const { onNavigateToEntityRecord, hasPatternOverridesSource } = useSelect( ( select ) => { - const { getBlocks, getSettings, getBlockEditingMode } = - select( blockEditorStore ); + const { getSettings } = select( blockEditorStore ); // For editing link to the site editor if the theme and user permissions support it. return { - innerBlocks: getBlocks( patternClientId ), onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord, - editingMode: getBlockEditingMode( patternClientId ), hasPatternOverridesSource: !! getBlockBindingsSource( 'core/pattern-overrides' ), }; }, - [ patternClientId ] + [] ); - // Sync the editing mode of the pattern block with the inner blocks. - useEffect( () => { - setBlockEditMode( - setBlockEditingMode, - innerBlocks, - // Disable editing if the pattern itself is disabled. - editingMode === 'disabled' || ! hasPatternOverridesSource - ? 'disabled' - : undefined - ); - }, [ - editingMode, - innerBlocks, - setBlockEditingMode, - hasPatternOverridesSource, - ] ); - const canOverrideBlocks = useMemo( () => hasPatternOverridesSource && hasOverridableBlocks( blocks ), [ hasPatternOverridesSource, blocks ] @@ -244,7 +200,6 @@ function ReusableBlockEdit( { } ); const innerBlocksProps = useInnerBlocksProps( blockProps, { - templateLock: 'all', layout, value: blocks, onInput: NOOP, From e74d9d634a30cb66aad3bf48b53c85c89386f990 Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Tue, 8 Oct 2024 19:21:12 +0900 Subject: [PATCH 046/489] e2e: fix Block Visibility test (#65939) Co-authored-by: t-hamano --- test/e2e/specs/editor/various/block-visibility.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/e2e/specs/editor/various/block-visibility.spec.js b/test/e2e/specs/editor/various/block-visibility.spec.js index bed337624275e4..814276af6e25f1 100644 --- a/test/e2e/specs/editor/various/block-visibility.spec.js +++ b/test/e2e/specs/editor/various/block-visibility.spec.js @@ -48,7 +48,7 @@ test.describe( 'Block Visibility', () => { await page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Heading' ); @@ -89,7 +89,7 @@ test.describe( 'Block Visibility', () => { await page .getByRole( 'region', { name: 'Block Library' } ) .getByRole( 'searchbox', { - name: 'Search for blocks and patterns', + name: 'Search', } ) .fill( 'Heading' ); From 67454c0e667cf5f1d70b719e72952dde70595572 Mon Sep 17 00:00:00 2001 From: Andrea Fercia Date: Tue, 8 Oct 2024 12:34:43 +0200 Subject: [PATCH 047/489] Fix navigate regions shortcuts on the back button WP logo slot (#63611) * Avoid to pass unnecessary props to useNavigateRegions. * Remove bubblesVirtually from WP logo slot. * Restore bubblesVirtually. * Move useNavigateRegions to an outermost ancestor. * Remove no longer used enableRegionNavigation prop. * Add changelog entry --------- Co-authored-by: afercia Co-authored-by: stokesman Co-authored-by: kevin940726 Co-authored-by: Mamaduka Co-authored-by: getdave Co-authored-by: youknowriad --- .../edit-post/src/components/layout/index.js | 89 ++++++++++--------- .../edit-site/src/components/editor/index.js | 1 - .../edit-site/src/components/layout/index.js | 30 ++----- .../src/components/layout/index.js | 25 ++++-- .../src/components/layout/interface.js | 15 ---- .../src/components/editor-interface/index.js | 15 ---- packages/interface/CHANGELOG.md | 4 + .../components/interface-skeleton/index.js | 14 +-- 8 files changed, 78 insertions(+), 115 deletions(-) diff --git a/packages/edit-post/src/components/layout/index.js b/packages/edit-post/src/components/layout/index.js index 66fa9dd5d93b8a..e7411fe8c3ab6e 100644 --- a/packages/edit-post/src/components/layout/index.js +++ b/packages/edit-post/src/components/layout/index.js @@ -47,6 +47,7 @@ import { SlotFillProvider, Tooltip, VisuallyHidden, + __unstableUseNavigateRegions as useNavigateRegions, } from '@wordpress/components'; import { useMediaQuery, @@ -482,6 +483,8 @@ function Layout( { document.body.classList.remove( 'show-icon-labels' ); } + const navigateRegionsProps = useNavigateRegions(); + const className = clsx( 'edit-post-layout', 'is-mode-' + mode, { 'has-metaboxes': hasActiveMetaboxes, } ); @@ -567,47 +570,53 @@ function Layout( { - - } - extraContent={ - ! isDistractionFree && - showMetaBoxes && ( - - ) - } +
- - - - - - - - - - - - - - { backButton } - - + + } + extraContent={ + ! isDistractionFree && + showMetaBoxes && ( + + ) + } + > + + + + + + + + + + + + + + { backButton } + + +
); diff --git a/packages/edit-site/src/components/editor/index.js b/packages/edit-site/src/components/editor/index.js index 855225081236c8..ae8749a3677afd 100644 --- a/packages/edit-site/src/components/editor/index.js +++ b/packages/edit-site/src/components/editor/index.js @@ -230,7 +230,6 @@ export default function EditSiteEditor( { isPostsList = false } ) { 'show-icon-labels': showIconLabels, } ) } styles={ styles } - enableRegionNavigation={ false } customSaveButton={ _isPreviewingTheme && } diff --git a/packages/edit-site/src/components/layout/index.js b/packages/edit-site/src/components/layout/index.js index c54b7efa382c66..2619f7c96dcf74 100644 --- a/packages/edit-site/src/components/layout/index.js +++ b/packages/edit-site/src/components/layout/index.js @@ -20,7 +20,6 @@ import { } from '@wordpress/compose'; import { __ } from '@wordpress/i18n'; import { useState, useRef, useEffect } from '@wordpress/element'; -import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; import { CommandMenu } from '@wordpress/commands'; import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor'; import { @@ -57,28 +56,13 @@ export default function Layout( { route } ) { useCommands(); const isMobileViewport = useViewportMatch( 'medium', '<' ); const toggleRef = useRef(); - const { canvasMode, previousShortcut, nextShortcut } = useSelect( - ( select ) => { - const { getAllShortcutKeyCombinations } = select( - keyboardShortcutsStore - ); - const { getCanvasMode } = unlock( select( editSiteStore ) ); - return { - canvasMode: getCanvasMode(), - previousShortcut: getAllShortcutKeyCombinations( - 'core/editor/previous-region' - ), - nextShortcut: getAllShortcutKeyCombinations( - 'core/editor/next-region' - ), - }; - }, - [] - ); - const navigateRegionsProps = useNavigateRegions( { - previous: previousShortcut, - next: nextShortcut, - } ); + const { canvasMode } = useSelect( ( select ) => { + const { getCanvasMode } = unlock( select( editSiteStore ) ); + return { + canvasMode: getCanvasMode(), + }; + }, [] ); + const navigateRegionsProps = useNavigateRegions(); const disableMotion = useReducedMotion(); const [ canvasResizer, canvasSize ] = useResizeObserver(); const isEditorLoading = useIsSiteEditorLoading(); diff --git a/packages/edit-widgets/src/components/layout/index.js b/packages/edit-widgets/src/components/layout/index.js index 54338d10fb8503..4fc70a6c0c74eb 100644 --- a/packages/edit-widgets/src/components/layout/index.js +++ b/packages/edit-widgets/src/components/layout/index.js @@ -5,6 +5,7 @@ import { __, sprintf } from '@wordpress/i18n'; import { useDispatch } from '@wordpress/data'; import { PluginArea } from '@wordpress/plugins'; import { store as noticesStore } from '@wordpress/notices'; +import { __unstableUseNavigateRegions as useNavigateRegions } from '@wordpress/components'; /** * Internal dependencies @@ -31,17 +32,25 @@ function Layout( { blockEditorSettings } ) { ); } + const navigateRegionsProps = useNavigateRegions(); + return ( - - - - - - - + + + + + + + +
); } diff --git a/packages/edit-widgets/src/components/layout/interface.js b/packages/edit-widgets/src/components/layout/interface.js index ee46251eca2245..bec40a6e830699 100644 --- a/packages/edit-widgets/src/components/layout/interface.js +++ b/packages/edit-widgets/src/components/layout/interface.js @@ -11,7 +11,6 @@ import { store as interfaceStore, } from '@wordpress/interface'; import { __ } from '@wordpress/i18n'; -import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; import { store as preferencesStore } from '@wordpress/preferences'; /** @@ -43,8 +42,6 @@ function Interface( { blockEditorSettings } ) { hasSidebarEnabled, isInserterOpened, isListViewOpened, - previousShortcut, - nextShortcut, } = useSelect( ( select ) => ( { hasSidebarEnabled: !! select( @@ -56,14 +53,6 @@ function Interface( { blockEditorSettings } ) { 'core/edit-widgets', 'showBlockBreadcrumbs' ), - previousShortcut: select( - keyboardShortcutsStore - ).getAllShortcutKeyCombinations( - 'core/edit-widgets/previous-region' - ), - nextShortcut: select( - keyboardShortcutsStore - ).getAllShortcutKeyCombinations( 'core/edit-widgets/next-region' ), } ), [] ); @@ -112,10 +101,6 @@ function Interface( { blockEditorSettings } ) { ) } - shortcuts={ { - previous: previousShortcut, - next: nextShortcut, - } } /> ); } diff --git a/packages/editor/src/components/editor-interface/index.js b/packages/editor/src/components/editor-interface/index.js index 0709b91175712d..6dc4c3fe770608 100644 --- a/packages/editor/src/components/editor-interface/index.js +++ b/packages/editor/src/components/editor-interface/index.js @@ -15,7 +15,6 @@ import { BlockBreadcrumb, BlockToolbar, } from '@wordpress/block-editor'; -import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; import { useViewportMatch } from '@wordpress/compose'; import { useState, useCallback } from '@wordpress/element'; @@ -49,7 +48,6 @@ const interfaceLabels = { export default function EditorInterface( { className, - enableRegionNavigation, styles, children, forceIsDirty, @@ -69,8 +67,6 @@ export default function EditorInterface( { isListViewOpened, isDistractionFree, isPreviewMode, - previousShortcut, - nextShortcut, showBlockBreadcrumbs, documentLabel, isZoomOut, @@ -88,12 +84,6 @@ export default function EditorInterface( { isListViewOpened: select( editorStore ).isListViewOpened(), isDistractionFree: get( 'core', 'distractionFree' ), isPreviewMode: editorSettings.__unstableIsPreviewMode, - previousShortcut: select( - keyboardShortcutsStore - ).getAllShortcutKeyCombinations( 'core/editor/previous-region' ), - nextShortcut: select( - keyboardShortcutsStore - ).getAllShortcutKeyCombinations( 'core/editor/next-region' ), showBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ), // translators: Default label for the Document in the Block Breadcrumb. documentLabel: postTypeLabel || _x( 'Document', 'noun' ), @@ -121,7 +111,6 @@ export default function EditorInterface( { return ( ); } diff --git a/packages/interface/CHANGELOG.md b/packages/interface/CHANGELOG.md index f590aeed5b6ccc..985fed5a140437 100644 --- a/packages/interface/CHANGELOG.md +++ b/packages/interface/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Breaking Changes + +- `InterfaceSkeleton` no longer supports region navigation and its props `enableRegionNavigation` and `shortcuts` are removed. ([#63611](https://github.com/WordPress/gutenberg/pull/63611)). It’s recommended to add region navigation with the higher-order component `navigateRegions` or the hook `__unstableUseNavigateRegions` from `@wordpress/components`. + ## 6.9.0 (2024-10-03) ## 6.8.0 (2024-09-19) diff --git a/packages/interface/src/components/interface-skeleton/index.js b/packages/interface/src/components/interface-skeleton/index.js index a1fd20b642206f..0a49db4f159d88 100644 --- a/packages/interface/src/components/interface-skeleton/index.js +++ b/packages/interface/src/components/interface-skeleton/index.js @@ -8,13 +8,11 @@ import clsx from 'clsx'; */ import { forwardRef, useEffect } from '@wordpress/element'; import { - __unstableUseNavigateRegions as useNavigateRegions, __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence, } from '@wordpress/components'; import { __, _x } from '@wordpress/i18n'; import { - useMergeRefs, useReducedMotion, useViewportMatch, useResizeObserver, @@ -85,10 +83,6 @@ function InterfaceSkeleton( actions, labels, className, - enableRegionNavigation = true, - // Todo: does this need to be a prop. - // Can we use a dependency to keyboard-shortcuts directly? - shortcuts, }, ref ) { @@ -101,7 +95,6 @@ function InterfaceSkeleton( duration: disableMotion ? 0 : ANIMATION_DURATION, ease: [ 0.6, 0, 0.4, 1 ], }; - const navigateRegionsProps = useNavigateRegions( shortcuts ); useHTMLClass( 'interface-interface-skeleton__html-container' ); const defaultLabels = { @@ -123,15 +116,10 @@ function InterfaceSkeleton( return (
From 068080a8bdbee6df6004f17f997c1d69e3ce9485 Mon Sep 17 00:00:00 2001 From: "Joen A." <1204802+jasmussen@users.noreply.github.com> Date: Tue, 8 Oct 2024 13:00:03 +0200 Subject: [PATCH 048/489] Update "hidden" icon to be clearer, and invert logic as used in Data Views (#65914) Co-authored-by: jasmussen Co-authored-by: t-hamano Co-authored-by: jameskoster --- packages/dataviews/CHANGELOG.md | 2 ++ .../dataviews/src/components/dataviews-view-config/index.tsx | 2 +- packages/icons/CHANGELOG.md | 4 ++++ packages/icons/src/library/unseen.js | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/dataviews/CHANGELOG.md b/packages/dataviews/CHANGELOG.md index 7569cfb93ac0b6..ebc35e336d6876 100644 --- a/packages/dataviews/CHANGELOG.md +++ b/packages/dataviews/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Invert the logic for which icon to show in `DataViews` when using the filter view. Icons now match the action of the button label. ([#65914](https://github.com/WordPress/gutenberg/pull/65914)). + ## 4.5.0 (2024-10-03) ## 4.4.0 (2024-09-19) diff --git a/packages/dataviews/src/components/dataviews-view-config/index.tsx b/packages/dataviews/src/components/dataviews-view-config/index.tsx index 02e81b2b0913d8..ec4a5f9a7f1d0a 100644 --- a/packages/dataviews/src/components/dataviews-view-config/index.tsx +++ b/packages/dataviews/src/components/dataviews-view-config/index.tsx @@ -358,7 +358,7 @@ function FieldItem( { } }, 50 ); } } - icon={ isVisible ? seen : unseen } + icon={ isVisible ? unseen : seen } label={ isVisible ? sprintf( diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index b1b19fdfbc0f2f..c0ee7aab2cf986 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Enhancements + +- Update `unseen` icon to be a strike-through eye, rather than a closed eye, to match provide consistency. ([#65914](https://github.com/WordPress/gutenberg/pull/65914)). + ## 10.9.0 (2024-10-03) ## 10.8.0 (2024-09-19) diff --git a/packages/icons/src/library/unseen.js b/packages/icons/src/library/unseen.js index 384c67d08ff55f..bb73a2199e1ee4 100644 --- a/packages/icons/src/library/unseen.js +++ b/packages/icons/src/library/unseen.js @@ -5,7 +5,7 @@ import { SVG, Path } from '@wordpress/primitives'; const unseen = ( - + ); From 45a90f617bdc510e5d2af6aa869cf78b3bff9390 Mon Sep 17 00:00:00 2001 From: Mario Santos <34552881+SantosGuillamot@users.noreply.github.com> Date: Tue, 8 Oct 2024 13:06:15 +0200 Subject: [PATCH 049/489] Block Bindings: Register bindings sources in widgets screens (#65937) * Register sources in customize-widgets * Register sources in edit-widgets Co-authored-by: SantosGuillamot Co-authored-by: gziolo --- package-lock.json | 2 ++ packages/customize-widgets/package.json | 1 + packages/customize-widgets/src/index.js | 11 +++++++++++ packages/edit-widgets/package.json | 1 + packages/edit-widgets/src/index.js | 10 +++++++++- 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 4f52b5ca3e465a..5de2d0320139ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53494,6 +53494,7 @@ "@wordpress/core-data": "file:../core-data", "@wordpress/data": "file:../data", "@wordpress/dom": "file:../dom", + "@wordpress/editor": "file:../editor", "@wordpress/element": "file:../element", "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", @@ -53929,6 +53930,7 @@ "@wordpress/data": "file:../data", "@wordpress/deprecated": "file:../deprecated", "@wordpress/dom": "file:../dom", + "@wordpress/editor": "file:../editor", "@wordpress/element": "file:../element", "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json index 7231de9ac1b18f..32f79cbd3c3b5d 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -33,6 +33,7 @@ "@wordpress/core-data": "file:../core-data", "@wordpress/data": "file:../data", "@wordpress/dom": "file:../dom", + "@wordpress/editor": "file:../editor", "@wordpress/element": "file:../element", "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", diff --git a/packages/customize-widgets/src/index.js b/packages/customize-widgets/src/index.js index 5de010fa8bd37e..35be3c2ee4b14b 100644 --- a/packages/customize-widgets/src/index.js +++ b/packages/customize-widgets/src/index.js @@ -17,6 +17,7 @@ import { store as blocksStore, } from '@wordpress/blocks'; import { dispatch } from '@wordpress/data'; +import { privateApis as editorPrivateApis } from '@wordpress/editor'; import { store as preferencesStore } from '@wordpress/preferences'; /** @@ -26,6 +27,7 @@ import CustomizeWidgets from './components/customize-widgets'; import getSidebarSection from './controls/sidebar-section'; import getSidebarControl from './controls/sidebar-control'; import './filters'; +import { unlock } from './lock-unlock'; const { wp } = window; @@ -37,6 +39,11 @@ const DISABLED_BLOCKS = [ ]; const ENABLE_EXPERIMENTAL_FSE_BLOCKS = false; +const { + registerCoreBlockBindingsSources, + bootstrapBlockBindingsSourcesFromServer, +} = unlock( editorPrivateApis ); + /** * Initializes the widgets block editor in the customizer. * @@ -60,6 +67,10 @@ export function initialize( editorName, blockEditorSettings ) { ); } ); registerCoreBlocks( coreBlocks ); + bootstrapBlockBindingsSourcesFromServer( + blockEditorSettings?.blockBindingsSources + ); + registerCoreBlockBindingsSources(); registerLegacyWidgetBlock(); if ( globalThis.IS_GUTENBERG_PLUGIN ) { __experimentalRegisterExperimentalCoreBlocks( { diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index e9d0f18df460a6..39bdee011a55c1 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -38,6 +38,7 @@ "@wordpress/data": "file:../data", "@wordpress/deprecated": "file:../deprecated", "@wordpress/dom": "file:../dom", + "@wordpress/editor": "file:../editor", "@wordpress/element": "file:../element", "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", diff --git a/packages/edit-widgets/src/index.js b/packages/edit-widgets/src/index.js index f8247d733f1a15..fadd488a702cfe 100644 --- a/packages/edit-widgets/src/index.js +++ b/packages/edit-widgets/src/index.js @@ -9,6 +9,7 @@ import { } from '@wordpress/blocks'; import { dispatch } from '@wordpress/data'; import deprecated from '@wordpress/deprecated'; +import { privateApis as editorPrivateApis } from '@wordpress/editor'; import { StrictMode, createRoot } from '@wordpress/element'; import { registerCoreBlocks, @@ -29,7 +30,7 @@ import { store as preferencesStore } from '@wordpress/preferences'; import './store'; import './filters'; import * as widgetArea from './blocks/widget-area'; - +import { unlock } from './lock-unlock'; import Layout from './components/layout'; import { ALLOW_REUSABLE_BLOCKS, @@ -43,6 +44,11 @@ const disabledBlocks = [ ...( ALLOW_REUSABLE_BLOCKS ? [] : [ 'core/block' ] ), ]; +const { + registerCoreBlockBindingsSources, + bootstrapBlockBindingsSourcesFromServer, +} = unlock( editorPrivateApis ); + /** * Initializes the block editor in the widgets screen. * @@ -72,6 +78,8 @@ export function initializeEditor( id, settings ) { dispatch( blocksStore ).reapplyBlockTypeFilters(); registerCoreBlocks( coreBlocks ); + bootstrapBlockBindingsSourcesFromServer( settings?.blockBindingsSources ); + registerCoreBlockBindingsSources(); registerLegacyWidgetBlock(); if ( globalThis.IS_GUTENBERG_PLUGIN ) { __experimentalRegisterExperimentalCoreBlocks( { From be48daae2abfc825afd5bd1a5cf8e16a08d69b05 Mon Sep 17 00:00:00 2001 From: Marco Ciampini Date: Tue, 8 Oct 2024 14:31:22 +0200 Subject: [PATCH 050/489] Global styles: leave screen if current shadow entry gets deleted (#65935) * Global styles: leave screen if current shadow entry gets deleted * Refine approach * Apply feedback --- Co-authored-by: ciampo Co-authored-by: t-hamano Co-authored-by: tyxla Co-authored-by: nith53 Co-authored-by: benniledl --- .../global-styles/shadows-edit-panel.js | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/packages/edit-site/src/components/global-styles/shadows-edit-panel.js b/packages/edit-site/src/components/global-styles/shadows-edit-panel.js index 61bed62cff3d64..af5f3445a51190 100644 --- a/packages/edit-site/src/components/global-styles/shadows-edit-panel.js +++ b/packages/edit-site/src/components/global-styles/shadows-edit-panel.js @@ -35,7 +35,7 @@ import { reset, moreVertical, } from '@wordpress/icons'; -import { useState, useMemo } from '@wordpress/element'; +import { useState, useMemo, useEffect } from '@wordpress/element'; /** * Internal dependencies @@ -73,12 +73,30 @@ const presetShadowMenuItems = [ export default function ShadowsEditPanel() { const { + goBack, params: { category, slug }, - goTo, } = useNavigator(); const [ shadows, setShadows ] = useGlobalSetting( `shadow.presets.${ category }` ); + + useEffect( () => { + const hasCurrentShadow = shadows?.some( + ( shadow ) => shadow.slug === slug + ); + // If the shadow being edited doesn't exist anymore in the global styles setting, navigate back + // to prevent the user from editing a non-existent shadow entry. + // This can happen, for example: + // - when the user deletes the shadow + // - when the user resets the styles while editing a custom shadow + // + // The check on the slug is necessary to prevent a double back navigation when the user triggers + // a backward navigation by interacting with the screen's UI. + if ( !! slug && ! hasCurrentShadow ) { + goBack(); + } + }, [ shadows, slug, goBack ] ); + const [ baseShadows ] = useGlobalSetting( `shadow.presets.${ category }`, undefined, @@ -123,9 +141,7 @@ export default function ShadowsEditPanel() { }; const handleShadowDelete = () => { - const updatedShadows = shadows.filter( ( s ) => s.slug !== slug ); - setShadows( updatedShadows ); - goTo( `/shadows` ); + setShadows( shadows.filter( ( s ) => s.slug !== slug ) ); }; const handleShadowRename = ( newName ) => { From 774abb9fab8efec385722082cd364c4cb9ca8e21 Mon Sep 17 00:00:00 2001 From: Marco Ciampini Date: Tue, 8 Oct 2024 14:32:02 +0200 Subject: [PATCH 051/489] Global styles: improve Navigator usage in typography panel (#65942) * Global styles: remove trailing slack from font sizes screen path * Remove unncessary goTo * Use goBack instead of goTo, add extra slug check to avoid double goBack call --- Co-authored-by: ciampo Co-authored-by: tyxla --- .../src/components/global-styles/font-sizes/font-size.js | 9 ++++----- .../global-styles/font-sizes/font-sizes-count.js | 2 +- packages/edit-site/src/components/global-styles/ui.js | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/edit-site/src/components/global-styles/font-sizes/font-size.js b/packages/edit-site/src/components/global-styles/font-sizes/font-size.js index b99703d39c8d62..43418f9caf5eb6 100644 --- a/packages/edit-site/src/components/global-styles/font-sizes/font-size.js +++ b/packages/edit-site/src/components/global-styles/font-sizes/font-size.js @@ -36,7 +36,7 @@ function FontSize() { const { params: { origin, slug }, - goTo, + goBack, } = useNavigator(); const [ fontSizes, setFontSizes ] = useGlobalSetting( @@ -53,10 +53,10 @@ function FontSize() { // Navigate to the font sizes list if the font size is not available. useEffect( () => { - if ( ! fontSize ) { - goTo( '/typography/font-sizes/', { isBack: true } ); + if ( !! slug && ! fontSize ) { + goBack(); } - }, [ fontSize, goTo ] ); + }, [ slug, fontSize, goBack ] ); if ( ! origin || ! slug || ! fontSize ) { return null; @@ -158,7 +158,6 @@ function FontSize() { __( 'Manage the font size %s.' ), fontSize.name ) } - onBack={ () => goTo( '/typography/font-sizes/' ) } /> { origin === 'custom' && ( diff --git a/packages/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js b/packages/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js index 8c8c79772ecbf3..c268648a134a74 100644 --- a/packages/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js +++ b/packages/edit-site/src/components/global-styles/font-sizes/font-sizes-count.js @@ -24,7 +24,7 @@ function FontSizes() { diff --git a/packages/edit-site/src/components/global-styles/ui.js b/packages/edit-site/src/components/global-styles/ui.js index fbc3e461e6abb6..d534da901cd2e2 100644 --- a/packages/edit-site/src/components/global-styles/ui.js +++ b/packages/edit-site/src/components/global-styles/ui.js @@ -302,7 +302,7 @@ function GlobalStylesUI() { - + From 59a54afc9f6b63197eed303375ef0d5b2ab2a5a4 Mon Sep 17 00:00:00 2001 From: Matias Benedetto Date: Tue, 8 Oct 2024 10:11:07 -0300 Subject: [PATCH 052/489] List all active fonts in the typography section (#65806) * list all active fonts * sort active fonts alphabetically also skip unnecessary sorts * abstract font source mapping into function --------- Co-authored-by: Vicente Canales <1157901+vcanales@users.noreply.github.com> --- .../components/global-styles/font-families.js | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/packages/edit-site/src/components/global-styles/font-families.js b/packages/edit-site/src/components/global-styles/font-families.js index 5332478823c210..cd1697b7b79bd8 100644 --- a/packages/edit-site/src/components/global-styles/font-families.js +++ b/packages/edit-site/src/components/global-styles/font-families.js @@ -25,6 +25,19 @@ import { unlock } from '../../lock-unlock'; const { useGlobalSetting } = unlock( blockEditorPrivateApis ); +/** + * Maps the fonts with the source, if available. + * + * @param {Array} fonts The fonts to map. + * @param {string} source The source of the fonts. + * @return {Array} The mapped fonts. + */ +function mapFontsWithSource( fonts, source ) { + return fonts + ? fonts.map( ( f ) => setUIValuesNeeded( f, { source } ) ) + : []; +} + function FontFamilies() { const { baseCustomFonts, modalTabOpen, setModalTabOpen } = useContext( FontLibraryContext ); @@ -34,18 +47,12 @@ function FontFamilies() { undefined, 'base' ); - const themeFonts = fontFamilies?.theme - ? fontFamilies.theme - .map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) ) - .sort( ( a, b ) => a.name.localeCompare( b.name ) ) - : []; - const customFonts = fontFamilies?.custom - ? fontFamilies.custom - .map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) ) - .sort( ( a, b ) => a.name.localeCompare( b.name ) ) - : []; - const hasFonts = 0 < customFonts.length || 0 < themeFonts.length; - + const themeFonts = mapFontsWithSource( fontFamilies?.theme, 'theme' ); + const customFonts = mapFontsWithSource( fontFamilies?.custom, 'custom' ); + const activeFonts = [ ...themeFonts, ...customFonts ].sort( ( a, b ) => + a.name.localeCompare( b.name ) + ); + const hasFonts = 0 < activeFonts.length; const hasInstalledFonts = hasFonts || baseFontFamilies?.theme?.length > 0 || @@ -61,11 +68,11 @@ function FontFamilies() { ) } - { [ ...themeFonts, ...customFonts ].length > 0 && ( + { activeFonts.length > 0 && ( <> { __( 'Fonts' ) } - { themeFonts.map( ( font ) => ( + { activeFonts.map( ( font ) => ( Date: Tue, 8 Oct 2024 14:13:16 +0100 Subject: [PATCH 053/489] Use correct label in PHP Backport documentation (#65908) Co-authored-by: getdave Co-authored-by: kevin940726 --- docs/contributors/code/back-merging-to-wp-core.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributors/code/back-merging-to-wp-core.md b/docs/contributors/code/back-merging-to-wp-core.md index d6c283629e1938..2ae1efb1727415 100644 --- a/docs/contributors/code/back-merging-to-wp-core.md +++ b/docs/contributors/code/back-merging-to-wp-core.md @@ -31,7 +31,7 @@ There are however certain exceptions to that rule. PRs with the following criter - Does not contain changes to PHP code. - Has label `Backport from WordPress Core` - this code is already in WP Core and is being synchronized back to Gutenberg. -- Has label `Backport to WordPress Core` - this code has already been synchronized to WP Core. +- Has label `Backported to WordPress Core` - this code has already been synchronized to WP Core. ## Further Reading From 2d9d08881060e0b7d91b4c3b6e16750830bb22e4 Mon Sep 17 00:00:00 2001 From: Mitchell Austin Date: Tue, 8 Oct 2024 07:15:44 -0700 Subject: [PATCH 054/489] Post editor: Fix "typewriter" spacing style application (#65885) * Add parameter to enable/disable hook * Separate concerns of useEditorStyles and usePaddingAppender Co-authored-by: t-hamano --- .../edit-post/src/components/layout/index.js | 53 ++++++++----------- .../components/layout/use-padding-appender.js | 22 +++----- 2 files changed, 29 insertions(+), 46 deletions(-) diff --git a/packages/edit-post/src/components/layout/index.js b/packages/edit-post/src/components/layout/index.js index e7411fe8c3ab6e..20ef22b5f0eb25 100644 --- a/packages/edit-post/src/components/layout/index.js +++ b/packages/edit-post/src/components/layout/index.js @@ -85,27 +85,17 @@ const DESIGN_POST_TYPES = [ 'wp_navigation', ]; -function useEditorStyles() { - const { - hasThemeStyleSupport, - editorSettings, - isZoomedOutView, - renderingMode, - postType, - } = useSelect( ( select ) => { - const { __unstableGetEditorMode } = select( blockEditorStore ); - const { getCurrentPostType, getRenderingMode } = select( editorStore ); - const _postType = getCurrentPostType(); +function useEditorStyles( ...additionalStyles ) { + const { hasThemeStyleSupport, editorSettings } = useSelect( ( select ) => { return { hasThemeStyleSupport: select( editPostStore ).isFeatureActive( 'themeStyles' ), editorSettings: select( editorStore ).getEditorSettings(), - isZoomedOutView: __unstableGetEditorMode() === 'zoom-out', - renderingMode: getRenderingMode(), - postType: _postType, }; }, [] ); + const addedStyles = additionalStyles.join( '\n' ); + // Compute the default styles. return useMemo( () => { const presetStyles = @@ -142,19 +132,8 @@ function useEditorStyles() { ? editorSettings.styles ?? [] : defaultEditorStyles; - // Add a space for the typewriter effect. When typing in the last block, - // there needs to be room to scroll up. - if ( - ! isZoomedOutView && - renderingMode === 'post-only' && - ! DESIGN_POST_TYPES.includes( postType ) - ) { - return [ - ...baseStyles, - { - css: ':root :where(.editor-styles-wrapper)::after {content: ""; display: block; height: 40vh;}', - }, - ]; + if ( addedStyles ) { + return [ ...baseStyles, { css: addedStyles } ]; } return baseStyles; @@ -163,7 +142,7 @@ function useEditorStyles() { editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, - postType, + addedStyles, ] ); } @@ -395,7 +374,6 @@ function Layout( { } ) { useCommands(); useEditPostCommands(); - const paddingAppenderRef = usePaddingAppender(); const shouldIframe = useShouldIframe(); const { createErrorNotice } = useDispatch( noticesStore ); const { @@ -419,6 +397,7 @@ function Layout( { hasHistory, isWelcomeGuideVisible, templateId, + enablePaddingAppender, } = useSelect( ( select ) => { const { get } = select( preferencesStore ); @@ -434,9 +413,12 @@ function Layout( { kind: 'postType', name: 'wp_template', } ); + const { __unstableGetEditorMode } = select( blockEditorStore ); + const { getEditorMode, getRenderingMode } = select( editorStore ); + const isRenderingPostOnly = getRenderingMode() === 'post-only'; return { - mode: select( editorStore ).getEditorMode(), + mode: getEditorMode(), isFullscreenActive: select( editPostStore ).isFeatureActive( 'fullscreenMode' ), hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(), @@ -446,7 +428,7 @@ function Layout( { isDistractionFree: get( 'core', 'distractionFree' ), showMetaBoxes: ! DESIGN_POST_TYPES.includes( currentPostType ) && - select( editorStore ).getRenderingMode() === 'post-only', + isRenderingPostOnly, isWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ), templateId: supportsTemplateMode && @@ -455,10 +437,17 @@ function Layout( { ! isEditingTemplate ? getEditedPostTemplateId() : null, + enablePaddingAppender: + __unstableGetEditorMode() !== 'zoom-out' && + isRenderingPostOnly && + ! DESIGN_POST_TYPES.includes( currentPostType ), }; }, [ currentPostType, isEditingTemplate, settings.supportsTemplateMode ] ); + const [ paddingAppenderRef, paddingStyle ] = usePaddingAppender( + enablePaddingAppender + ); // Set the right context for the command palette const commandContext = hasBlockSelected @@ -474,7 +463,7 @@ function Layout( { } ), [ settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord ] ); - const styles = useEditorStyles(); + const styles = useEditorStyles( paddingStyle ); // We need to add the show-icon-labels class to the body element so it is applied to modals. if ( showIconLabels ) { diff --git a/packages/edit-post/src/components/layout/use-padding-appender.js b/packages/edit-post/src/components/layout/use-padding-appender.js index efd46a485058ca..edffc6f3dd07c9 100644 --- a/packages/edit-post/src/components/layout/use-padding-appender.js +++ b/packages/edit-post/src/components/layout/use-padding-appender.js @@ -6,27 +6,20 @@ import { useRefEffect } from '@wordpress/compose'; import { store as blockEditorStore } from '@wordpress/block-editor'; import { isUnmodifiedDefaultBlock } from '@wordpress/blocks'; -export function usePaddingAppender() { +// Ruleset to add space for the typewriter effect. When typing in the last +// block, there needs to be room to scroll up. +const CSS = + ':root :where(.editor-styles-wrapper)::after {content: ""; display: block; height: 40vh;}'; + +export function usePaddingAppender( enabled ) { const registry = useRegistry(); - return useRefEffect( + const effect = useRefEffect( ( node ) => { function onMouseDown( event ) { if ( event.target !== node ) { return; } - const { ownerDocument } = node; - const { defaultView } = ownerDocument; - - const pseudoHeight = defaultView.parseInt( - defaultView.getComputedStyle( node, ':after' ).height, - 10 - ); - - if ( ! pseudoHeight ) { - return; - } - // Only handle clicks under the last child. const lastChild = node.lastElementChild; if ( ! lastChild ) { @@ -64,4 +57,5 @@ export function usePaddingAppender() { }, [ registry ] ); + return enabled ? [ effect, CSS ] : []; } From 4714e526c53a07140250142ac5ee2a5ea41f5cea Mon Sep 17 00:00:00 2001 From: Matt West Date: Tue, 8 Oct 2024 15:21:04 +0100 Subject: [PATCH 055/489] Icons: Update cloud upload and add cloud download icon. (#65906) Co-authored-by: matt-west Co-authored-by: jameskoster Co-authored-by: jasmussen --- .../test/__snapshots__/index.js.snap | 2 +- packages/icons/CHANGELOG.md | 5 +++++ packages/icons/src/index.js | 1 + packages/icons/src/library/cloud-download.js | 12 ++++++++++++ packages/icons/src/library/cloud-upload.js | 2 +- 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 packages/icons/src/library/cloud-download.js diff --git a/packages/editor/src/components/post-saved-state/test/__snapshots__/index.js.snap b/packages/editor/src/components/post-saved-state/test/__snapshots__/index.js.snap index 95ea3db54b511e..ee8d46d393c487 100644 --- a/packages/editor/src/components/post-saved-state/test/__snapshots__/index.js.snap +++ b/packages/editor/src/components/post-saved-state/test/__snapshots__/index.js.snap @@ -16,7 +16,7 @@ exports[`PostSavedState returns a disabled button if the post is not saveable 1` xmlns="http://www.w3.org/2000/svg" > diff --git a/packages/icons/CHANGELOG.md b/packages/icons/CHANGELOG.md index c0ee7aab2cf986..e33269cd7be390 100644 --- a/packages/icons/CHANGELOG.md +++ b/packages/icons/CHANGELOG.md @@ -4,6 +4,11 @@ ### Enhancements +- Update `cloudUpload` icon to improve visibility of the up arrow. + +### New Features + +- Add new `cloudDownload` icon. - Update `unseen` icon to be a strike-through eye, rather than a closed eye, to match provide consistency. ([#65914](https://github.com/WordPress/gutenberg/pull/65914)). ## 10.9.0 (2024-10-03) diff --git a/packages/icons/src/index.js b/packages/icons/src/index.js index 586911ffc746b2..1601f04ac0c22e 100644 --- a/packages/icons/src/index.js +++ b/packages/icons/src/index.js @@ -50,6 +50,7 @@ export { default as chevronUpDown } from './library/chevron-up-down'; export { default as classic } from './library/classic'; export { default as close } from './library/close'; export { default as closeSmall } from './library/close-small'; +export { default as cloudDownload } from './library/cloud-download'; export { default as cloudUpload } from './library/cloud-upload'; export { default as cloud } from './library/cloud'; export { default as code } from './library/code'; diff --git a/packages/icons/src/library/cloud-download.js b/packages/icons/src/library/cloud-download.js new file mode 100644 index 00000000000000..ad24c7cbcd1436 --- /dev/null +++ b/packages/icons/src/library/cloud-download.js @@ -0,0 +1,12 @@ +/** + * WordPress dependencies + */ +import { SVG, Path } from '@wordpress/primitives'; + +const cloudDownload = ( + + + +); + +export default cloudDownload; diff --git a/packages/icons/src/library/cloud-upload.js b/packages/icons/src/library/cloud-upload.js index 1df5a19d8742de..d7ab407cf615d2 100644 --- a/packages/icons/src/library/cloud-upload.js +++ b/packages/icons/src/library/cloud-upload.js @@ -5,7 +5,7 @@ import { SVG, Path } from '@wordpress/primitives'; const cloudUpload = ( - + ); From 3793b281641ecb13a29ccf41d9992883fc7d4e81 Mon Sep 17 00:00:00 2001 From: Michal Date: Tue, 8 Oct 2024 15:46:17 +0100 Subject: [PATCH 056/489] Interactivity API: Improvements to the experimental full-page navigation (#64067) * fix: Add initial data population in interactivity router * chore: Update element.innerText to element.textContent in head.ts file * feat: Exclude src and href attributes when copying head element attributes * chore: Populate initial data in interactivity router * chore: Move Populate initial data in interactivity router * Wait for `load` event of script element before returning from `fetchHeadAssets()` function * feat: Update head tags to improve prefetching of scripts and stylesheets This commit modifies the `updateHead` function in `head.ts` to improve support for lazy loading of scripts and stylesheets. It preloades the script modules using `modulepreload`, imports the necessary scripts using dynamic imports and adds the `preload` link elements for stylesheets. * Do not load interactivity script modules in development mode when full page navigation is enabled * Format interactivity-api.php * Update interactivity script module registration to use version from asset files - Added logic to retrieve version information from `index.min.asset.php` and `router.min.asset.php` files. - Updated `wp_register_script_module` calls to use the retrieved version instead of the default version when full-page navigation is not enabled. * empty commit * Rename populateInitialData to populateServerData * remove populateServerData * try: remove the webpack comment * try: remove the await import() * bring back the async import * Move headElements to head.ts * Revert "try: remove the webpack comment" This reverts commit 62e527e1769162894881eba76fc33bd96e3fa7eb. * default_version => router_version * Remove the changes to interactivity-api.php * Make `renderRegions` async * Update TS type of the stylesheets variable Co-authored-by: Jon Surrell * Replace Array.from() with direct forEach() on NodeList in head.ts: * Check if href is null * Clarify why we only prefetch script modules * Add changelog --------- Co-authored-by: michalczaplinski Co-authored-by: DAreRodz Co-authored-by: sirreal Co-authored-by: gziolo Co-authored-by: luisherranz Co-authored-by: westonruter --- packages/interactivity-router/CHANGELOG.md | 8 ++ packages/interactivity-router/src/head.ts | 114 ++++++++++++--------- packages/interactivity-router/src/index.ts | 56 +++++----- 3 files changed, 106 insertions(+), 72 deletions(-) diff --git a/packages/interactivity-router/CHANGELOG.md b/packages/interactivity-router/CHANGELOG.md index 7878796b9004cc..4f794899096683 100644 --- a/packages/interactivity-router/CHANGELOG.md +++ b/packages/interactivity-router/CHANGELOG.md @@ -2,6 +2,14 @@ ## Unreleased +### Enhancements + +- Improvements to the experimental full-page navigation ([#64067](https://github.com/WordPress/gutenberg/pull/64067)): + - Remove the `src` attributes from prefetched script tags. + - Use `.textContent` instead of `.innerText` to set `