diff --git a/package-lock.json b/package-lock.json
index 5e837ca5d61b36..12fd4d2c44d286 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53180,7 +53180,7 @@
},
"packages/a11y": {
"name": "@wordpress/a11y",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53194,7 +53194,7 @@
},
"packages/annotations": {
"name": "@wordpress/annotations",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53222,7 +53222,7 @@
},
"packages/api-fetch": {
"name": "@wordpress/api-fetch",
- "version": "7.2.0",
+ "version": "7.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53236,7 +53236,7 @@
},
"packages/autop": {
"name": "@wordpress/autop",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -53248,7 +53248,7 @@
},
"packages/babel-plugin-import-jsx-pragma": {
"name": "@wordpress/babel-plugin-import-jsx-pragma",
- "version": "5.2.0",
+ "version": "5.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -53261,7 +53261,7 @@
},
"packages/babel-plugin-makepot": {
"name": "@wordpress/babel-plugin-makepot",
- "version": "6.2.0",
+ "version": "6.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -53279,7 +53279,7 @@
},
"packages/babel-preset-default": {
"name": "@wordpress/babel-preset-default",
- "version": "8.2.0",
+ "version": "8.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -53302,7 +53302,7 @@
},
"packages/base-styles": {
"name": "@wordpress/base-styles",
- "version": "5.2.0",
+ "version": "5.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -53312,7 +53312,7 @@
},
"packages/blob": {
"name": "@wordpress/blob",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -53324,7 +53324,7 @@
},
"packages/block-directory": {
"name": "@wordpress/block-directory",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53336,7 +53336,6 @@
"@wordpress/compose": "file:../compose",
"@wordpress/core-data": "file:../core-data",
"@wordpress/data": "file:../data",
- "@wordpress/edit-post": "file:../edit-post",
"@wordpress/editor": "file:../editor",
"@wordpress/element": "file:../element",
"@wordpress/hooks": "file:../hooks",
@@ -53360,7 +53359,7 @@
},
"packages/block-editor": {
"name": "@wordpress/block-editor",
- "version": "13.2.0",
+ "version": "13.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53457,7 +53456,7 @@
},
"packages/block-library": {
"name": "@wordpress/block-library",
- "version": "9.2.0",
+ "version": "9.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53523,7 +53522,7 @@
},
"packages/block-serialization-default-parser": {
"name": "@wordpress/block-serialization-default-parser",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -53535,7 +53534,7 @@
},
"packages/block-serialization-spec-parser": {
"name": "@wordpress/block-serialization-spec-parser",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"pegjs": "^0.10.0",
@@ -53548,7 +53547,7 @@
},
"packages/blocks": {
"name": "@wordpress/blocks",
- "version": "13.2.0",
+ "version": "13.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53601,7 +53600,7 @@
},
"packages/browserslist-config": {
"name": "@wordpress/browserslist-config",
- "version": "6.2.0",
+ "version": "6.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -53611,7 +53610,7 @@
},
"packages/commands": {
"name": "@wordpress/commands",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53636,7 +53635,7 @@
},
"packages/components": {
"name": "@wordpress/components",
- "version": "28.2.0",
+ "version": "28.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@ariakit/react": "^0.3.12",
@@ -53728,7 +53727,7 @@
},
"packages/compose": {
"name": "@wordpress/compose",
- "version": "7.2.0",
+ "version": "7.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53765,7 +53764,7 @@
},
"packages/core-commands": {
"name": "@wordpress/core-commands",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53793,7 +53792,7 @@
},
"packages/core-data": {
"name": "@wordpress/core-data",
- "version": "7.2.0",
+ "version": "7.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53837,7 +53836,7 @@
},
"packages/create-block": {
"name": "@wordpress/create-block",
- "version": "4.45.0",
+ "version": "4.46.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -53865,7 +53864,7 @@
},
"packages/create-block-tutorial-template": {
"name": "@wordpress/create-block-tutorial-template",
- "version": "4.2.0",
+ "version": "4.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -53875,7 +53874,7 @@
},
"packages/customize-widgets": {
"name": "@wordpress/customize-widgets",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53913,7 +53912,7 @@
},
"packages/data": {
"name": "@wordpress/data",
- "version": "10.2.0",
+ "version": "10.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53942,7 +53941,7 @@
},
"packages/data-controls": {
"name": "@wordpress/data-controls",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -53960,7 +53959,7 @@
},
"packages/dataviews": {
"name": "@wordpress/dataviews",
- "version": "2.2.0",
+ "version": "3.0.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@ariakit/react": "^0.3.12",
@@ -54021,7 +54020,7 @@
},
"packages/date": {
"name": "@wordpress/date",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54036,7 +54035,7 @@
},
"packages/dependency-extraction-webpack-plugin": {
"name": "@wordpress/dependency-extraction-webpack-plugin",
- "version": "6.2.0",
+ "version": "6.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54052,7 +54051,7 @@
},
"packages/deprecated": {
"name": "@wordpress/deprecated",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54065,7 +54064,7 @@
},
"packages/docgen": {
"name": "@wordpress/docgen",
- "version": "2.2.0",
+ "version": "2.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54087,7 +54086,7 @@
},
"packages/dom": {
"name": "@wordpress/dom",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54100,7 +54099,7 @@
},
"packages/dom-ready": {
"name": "@wordpress/dom-ready",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -54112,7 +54111,7 @@
},
"packages/e2e-test-utils": {
"name": "@wordpress/e2e-test-utils",
- "version": "11.2.0",
+ "version": "11.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54135,7 +54134,7 @@
},
"packages/e2e-test-utils-playwright": {
"name": "@wordpress/e2e-test-utils-playwright",
- "version": "1.2.0",
+ "version": "1.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54163,7 +54162,7 @@
},
"packages/e2e-tests": {
"name": "@wordpress/e2e-tests",
- "version": "8.2.0",
+ "version": "8.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54203,7 +54202,7 @@
},
"packages/edit-post": {
"name": "@wordpress/edit-post",
- "version": "8.2.0",
+ "version": "8.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54250,7 +54249,7 @@
},
"packages/edit-site": {
"name": "@wordpress/edit-site",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54312,7 +54311,7 @@
},
"packages/edit-widgets": {
"name": "@wordpress/edit-widgets",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54355,7 +54354,7 @@
},
"packages/editor": {
"name": "@wordpress/editor",
- "version": "14.2.0",
+ "version": "14.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54415,7 +54414,7 @@
},
"packages/element": {
"name": "@wordpress/element",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54434,7 +54433,7 @@
},
"packages/env": {
"name": "@wordpress/env",
- "version": "10.2.0",
+ "version": "10.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54576,7 +54575,7 @@
},
"packages/escape-html": {
"name": "@wordpress/escape-html",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -54588,7 +54587,7 @@
},
"packages/eslint-plugin": {
"name": "@wordpress/eslint-plugin",
- "version": "19.2.0",
+ "version": "20.0.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54631,7 +54630,7 @@
},
"packages/format-library": {
"name": "@wordpress/format-library",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54659,7 +54658,7 @@
},
"packages/hooks": {
"name": "@wordpress/hooks",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -54671,7 +54670,7 @@
},
"packages/html-entities": {
"name": "@wordpress/html-entities",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -54683,7 +54682,7 @@
},
"packages/i18n": {
"name": "@wordpress/i18n",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54703,7 +54702,7 @@
},
"packages/icons": {
"name": "@wordpress/icons",
- "version": "10.2.0",
+ "version": "10.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54717,7 +54716,7 @@
},
"packages/interactivity": {
"name": "@wordpress/interactivity",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@preact/signals": "^1.2.2",
@@ -54731,7 +54730,7 @@
},
"packages/interactivity-router": {
"name": "@wordpress/interactivity-router",
- "version": "2.2.0",
+ "version": "2.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@wordpress/interactivity": "file:../interactivity"
@@ -54792,7 +54791,7 @@
},
"packages/interface": {
"name": "@wordpress/interface",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54821,7 +54820,7 @@
},
"packages/is-shallow-equal": {
"name": "@wordpress/is-shallow-equal",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -54833,7 +54832,7 @@
},
"packages/jest-console": {
"name": "@wordpress/jest-console",
- "version": "8.2.0",
+ "version": "8.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54850,7 +54849,7 @@
},
"packages/jest-preset-default": {
"name": "@wordpress/jest-preset-default",
- "version": "12.2.0",
+ "version": "12.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54868,7 +54867,7 @@
},
"packages/jest-puppeteer-axe": {
"name": "@wordpress/jest-puppeteer-axe",
- "version": "7.2.0",
+ "version": "7.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54891,7 +54890,7 @@
},
"packages/keyboard-shortcuts": {
"name": "@wordpress/keyboard-shortcuts",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54909,7 +54908,7 @@
},
"packages/keycodes": {
"name": "@wordpress/keycodes",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54922,7 +54921,7 @@
},
"packages/lazy-import": {
"name": "@wordpress/lazy-import",
- "version": "2.2.0",
+ "version": "2.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -54937,7 +54936,7 @@
},
"packages/list-reusable-blocks": {
"name": "@wordpress/list-reusable-blocks",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54960,7 +54959,7 @@
},
"packages/media-utils": {
"name": "@wordpress/media-utils",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54976,7 +54975,7 @@
},
"packages/notices": {
"name": "@wordpress/notices",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -54993,7 +54992,7 @@
},
"packages/npm-package-json-lint-config": {
"name": "@wordpress/npm-package-json-lint-config",
- "version": "5.2.0",
+ "version": "5.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -55006,7 +55005,7 @@
},
"packages/nux": {
"name": "@wordpress/nux",
- "version": "9.2.0",
+ "version": "9.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55029,7 +55028,7 @@
},
"packages/patterns": {
"name": "@wordpress/patterns",
- "version": "2.2.0",
+ "version": "2.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55059,7 +55058,7 @@
},
"packages/plugins": {
"name": "@wordpress/plugins",
- "version": "7.2.0",
+ "version": "7.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55082,7 +55081,7 @@
},
"packages/postcss-plugins-preset": {
"name": "@wordpress/postcss-plugins-preset",
- "version": "5.2.0",
+ "version": "5.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -55099,7 +55098,7 @@
},
"packages/postcss-themes": {
"name": "@wordpress/postcss-themes",
- "version": "6.2.0",
+ "version": "6.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -55112,7 +55111,7 @@
},
"packages/preferences": {
"name": "@wordpress/preferences",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55138,7 +55137,7 @@
},
"packages/preferences-persistence": {
"name": "@wordpress/preferences-persistence",
- "version": "2.2.0",
+ "version": "2.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55151,7 +55150,7 @@
},
"packages/prettier-config": {
"name": "@wordpress/prettier-config",
- "version": "4.2.0",
+ "version": "4.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -55164,7 +55163,7 @@
},
"packages/primitives": {
"name": "@wordpress/primitives",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55178,7 +55177,7 @@
},
"packages/priority-queue": {
"name": "@wordpress/priority-queue",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55191,7 +55190,7 @@
},
"packages/private-apis": {
"name": "@wordpress/private-apis",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -55203,7 +55202,7 @@
},
"packages/project-management-automation": {
"name": "@wordpress/project-management-automation",
- "version": "2.2.0",
+ "version": "2.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -55233,7 +55232,7 @@
},
"packages/react-i18n": {
"name": "@wordpress/react-i18n",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55389,7 +55388,7 @@
},
"packages/readable-js-assets-webpack-plugin": {
"name": "@wordpress/readable-js-assets-webpack-plugin",
- "version": "3.2.0",
+ "version": "3.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"engines": {
@@ -55402,7 +55401,7 @@
},
"packages/redux-routine": {
"name": "@wordpress/redux-routine",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55447,7 +55446,7 @@
},
"packages/reusable-blocks": {
"name": "@wordpress/reusable-blocks",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55474,7 +55473,7 @@
},
"packages/rich-text": {
"name": "@wordpress/rich-text",
- "version": "7.2.0",
+ "version": "7.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55498,7 +55497,7 @@
},
"packages/router": {
"name": "@wordpress/router",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55517,7 +55516,7 @@
},
"packages/scripts": {
"name": "@wordpress/scripts",
- "version": "28.2.0",
+ "version": "28.3.0",
"dev": true,
"license": "GPL-2.0-or-later",
"dependencies": {
@@ -55904,7 +55903,7 @@
},
"packages/server-side-render": {
"name": "@wordpress/server-side-render",
- "version": "5.2.0",
+ "version": "5.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55930,7 +55929,7 @@
},
"packages/shortcode": {
"name": "@wordpress/shortcode",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55943,7 +55942,7 @@
},
"packages/style-engine": {
"name": "@wordpress/style-engine",
- "version": "2.2.0",
+ "version": "2.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55956,7 +55955,7 @@
},
"packages/stylelint-config": {
"name": "@wordpress/stylelint-config",
- "version": "22.2.0",
+ "version": "22.3.0",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -55973,7 +55972,7 @@
},
"packages/sync": {
"name": "@wordpress/sync",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -55994,7 +55993,7 @@
},
"packages/token-list": {
"name": "@wordpress/token-list",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -56006,7 +56005,7 @@
},
"packages/undo-manager": {
"name": "@wordpress/undo-manager",
- "version": "1.2.0",
+ "version": "1.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -56019,7 +56018,7 @@
},
"packages/url": {
"name": "@wordpress/url",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -56032,7 +56031,7 @@
},
"packages/viewport": {
"name": "@wordpress/viewport",
- "version": "6.2.0",
+ "version": "6.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -56050,7 +56049,7 @@
},
"packages/warning": {
"name": "@wordpress/warning",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "GPL-2.0-or-later",
"engines": {
"node": ">=18.12.0",
@@ -56059,7 +56058,7 @@
},
"packages/widgets": {
"name": "@wordpress/widgets",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0",
@@ -56087,7 +56086,7 @@
},
"packages/wordcount": {
"name": "@wordpress/wordcount",
- "version": "4.2.0",
+ "version": "4.3.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@babel/runtime": "^7.16.0"
@@ -68759,7 +68758,6 @@
"@wordpress/compose": "file:../compose",
"@wordpress/core-data": "file:../core-data",
"@wordpress/data": "file:../data",
- "@wordpress/edit-post": "file:../edit-post",
"@wordpress/editor": "file:../editor",
"@wordpress/element": "file:../element",
"@wordpress/hooks": "file:../hooks",
diff --git a/packages/a11y/CHANGELOG.md b/packages/a11y/CHANGELOG.md
index d7098f67238bda..21b652007a5054 100644
--- a/packages/a11y/CHANGELOG.md
+++ b/packages/a11y/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/a11y/package.json b/packages/a11y/package.json
index 0e9590381a290a..8490040f7cc038 100644
--- a/packages/a11y/package.json
+++ b/packages/a11y/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/a11y",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 b92426072f1351..cf66e51c07fd38 100644
--- a/packages/annotations/CHANGELOG.md
+++ b/packages/annotations/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/annotations/package.json b/packages/annotations/package.json
index 2f030df0e6cb96..dc02bda978dcf2 100644
--- a/packages/annotations/package.json
+++ b/packages/annotations/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/annotations",
- "version": "3.2.0",
+ "version": "3.3.0",
"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 6abbab65d6a821..cee6a82f04f24c 100644
--- a/packages/api-fetch/CHANGELOG.md
+++ b/packages/api-fetch/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
## 7.2.0 (2024-06-26)
## 7.1.0 (2024-06-15)
diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json
index 112d5d8fb501d4..81c479cca7a02e 100644
--- a/packages/api-fetch/package.json
+++ b/packages/api-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/api-fetch",
- "version": "7.2.0",
+ "version": "7.3.0",
"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 cfff0201fc277e..7c2d08b9121cc4 100644
--- a/packages/autop/CHANGELOG.md
+++ b/packages/autop/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/autop/package.json b/packages/autop/package.json
index a232e196e3c241..3a0e732001760a 100644
--- a/packages/autop/package.json
+++ b/packages/autop/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/autop",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/babel-plugin-import-jsx-pragma/CHANGELOG.md
index 7bb25199ff8471..8503a9df98cb7b 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.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json
index 88d09cecebf374..98612895b03d6f 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/babel-plugin-makepot/CHANGELOG.md
index 19214e1c791779..9411389ef00995 100644
--- a/packages/babel-plugin-makepot/CHANGELOG.md
+++ b/packages/babel-plugin-makepot/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json
index 1ff539297bddb2..aac782362c2226 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.2.0",
+ "version": "6.3.0",
"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 56b58422f47f35..d6ec60b7fd3d9a 100644
--- a/packages/babel-preset-default/CHANGELOG.md
+++ b/packages/babel-preset-default/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.3.0 (2024-07-10)
+
## 8.2.0 (2024-06-26)
## 8.1.0 (2024-06-15)
diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json
index 6a44e479bd02bd..a6beb303d0bc59 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.2.0",
+ "version": "8.3.0",
"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 89149ee5044f7a..6bcaabfa640cef 100644
--- a/packages/base-styles/CHANGELOG.md
+++ b/packages/base-styles/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/base-styles/_mixins.scss b/packages/base-styles/_mixins.scss
index 8c056905e64d88..1930948052aae7 100644
--- a/packages/base-styles/_mixins.scss
+++ b/packages/base-styles/_mixins.scss
@@ -597,3 +597,21 @@
}
}
}
+
+@mixin selected-block-outline($widthRatio: 1) {
+ outline-color: var(--wp-admin-theme-color);
+ outline-style: solid;
+ outline-width: calc(#{$widthRatio} * (var(--wp-admin-border-width-focus) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));
+ outline-offset: calc(#{$widthRatio} * ((-1 * var(--wp-admin-border-width-focus) ) / var(--wp-block-editor-iframe-zoom-out-scale, 1)));
+}
+
+@mixin selected-block-focus($widthRatio: 1) {
+ content: "";
+ position: absolute;
+ pointer-events: none;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ @include selected-block-outline($widthRatio);
+}
diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json
index b573693574d828..0e347ecbc8ad10 100644
--- a/packages/base-styles/package.json
+++ b/packages/base-styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/base-styles",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 c689b26bc5c8dc..a103ab71a5cd87 100644
--- a/packages/blob/CHANGELOG.md
+++ b/packages/blob/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/blob/package.json b/packages/blob/package.json
index 42b65ae434b21f..7e9965514570f5 100644
--- a/packages/blob/package.json
+++ b/packages/blob/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blob",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 1aca119d864bea..1f1f3104764e61 100644
--- a/packages/block-directory/CHANGELOG.md
+++ b/packages/block-directory/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json
index d62b4adb9c0dcb..09d409d3f94ce4 100644
--- a/packages/block-directory/package.json
+++ b/packages/block-directory/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-directory",
- "version": "5.2.0",
+ "version": "5.3.0",
"description": "Extend editor with block directory features to search, download and install blocks.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
@@ -35,7 +35,6 @@
"@wordpress/compose": "file:../compose",
"@wordpress/core-data": "file:../core-data",
"@wordpress/data": "file:../data",
- "@wordpress/edit-post": "file:../edit-post",
"@wordpress/editor": "file:../editor",
"@wordpress/element": "file:../element",
"@wordpress/hooks": "file:../hooks",
diff --git a/packages/block-directory/src/components/downloadable-block-list-item/style.scss b/packages/block-directory/src/components/downloadable-block-list-item/style.scss
index beee32bc90db91..8f95297bd9ef0d 100644
--- a/packages/block-directory/src/components/downloadable-block-list-item/style.scss
+++ b/packages/block-directory/src/components/downloadable-block-list-item/style.scss
@@ -6,6 +6,12 @@
display: grid;
grid-template-columns: auto 1fr;
+ // The item contains absolutely positioned items.
+ // Set `position: relative` on the parent to prevent overflow issues
+ // in scroll containers.
+ // See: https://github.com/WordPress/gutenberg/issues/63384
+ position: relative;
+
&:hover {
@include button-style__focus();
}
diff --git a/packages/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js b/packages/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js
index 75328db7c554d8..17630c9904e8bd 100644
--- a/packages/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js
+++ b/packages/block-directory/src/plugins/installed-blocks-pre-publish-panel/index.js
@@ -4,6 +4,7 @@
import { _n, sprintf } from '@wordpress/i18n';
import { useSelect } from '@wordpress/data';
import { blockDefault } from '@wordpress/icons';
+import { PluginPrePublishPanel } from '@wordpress/editor';
/**
* Internal dependencies
@@ -11,10 +12,6 @@ import { blockDefault } from '@wordpress/icons';
import CompactList from '../../components/compact-list';
import { store as blockDirectoryStore } from '../../store';
-// We shouldn't import the editor package directly
-// because it would include the wp-editor in all pages loading the block-directory script.
-const { PluginPrePublishPanel } = window?.wp?.editor ?? {};
-
export default function InstalledBlocksPrePublishPanel() {
const newBlockTypes = useSelect(
( select ) => select( blockDirectoryStore ).getNewBlockTypes(),
diff --git a/packages/block-directory/src/store/selectors.js b/packages/block-directory/src/store/selectors.js
index e9b73b51f4544d..f7e541dd14ed82 100644
--- a/packages/block-directory/src/store/selectors.js
+++ b/packages/block-directory/src/store/selectors.js
@@ -1,7 +1,7 @@
/**
* WordPress dependencies
*/
-import { createRegistrySelector } from '@wordpress/data';
+import { createSelector, createRegistrySelector } from '@wordpress/data';
import { store as blockEditorStore } from '@wordpress/block-editor';
/**
@@ -53,15 +53,21 @@ export function getInstalledBlockTypes( state ) {
*
* @return {Array} Block type items.
*/
-export const getNewBlockTypes = createRegistrySelector(
- ( select ) => ( state ) => {
- const usedBlockTree = select( blockEditorStore ).getBlocks();
- const installedBlockTypes = getInstalledBlockTypes( state );
+export const getNewBlockTypes = createRegistrySelector( ( select ) =>
+ createSelector(
+ ( state ) => {
+ const usedBlockTree = select( blockEditorStore ).getBlocks();
+ const installedBlockTypes = getInstalledBlockTypes( state );
- return installedBlockTypes.filter( ( blockType ) =>
- hasBlockType( blockType, usedBlockTree )
- );
- }
+ return installedBlockTypes.filter( ( blockType ) =>
+ hasBlockType( blockType, usedBlockTree )
+ );
+ },
+ ( state ) => [
+ getInstalledBlockTypes( state ),
+ select( blockEditorStore ).getBlocks(),
+ ]
+ )
);
/**
@@ -72,15 +78,21 @@ export const getNewBlockTypes = createRegistrySelector(
*
* @return {Array} Block type items.
*/
-export const getUnusedBlockTypes = createRegistrySelector(
- ( select ) => ( state ) => {
- const usedBlockTree = select( blockEditorStore ).getBlocks();
- const installedBlockTypes = getInstalledBlockTypes( state );
+export const getUnusedBlockTypes = createRegistrySelector( ( select ) =>
+ createSelector(
+ ( state ) => {
+ const usedBlockTree = select( blockEditorStore ).getBlocks();
+ const installedBlockTypes = getInstalledBlockTypes( state );
- return installedBlockTypes.filter(
- ( blockType ) => ! hasBlockType( blockType, usedBlockTree )
- );
- }
+ return installedBlockTypes.filter(
+ ( blockType ) => ! hasBlockType( blockType, usedBlockTree )
+ );
+ },
+ ( state ) => [
+ getInstalledBlockTypes( state ),
+ select( blockEditorStore ).getBlocks(),
+ ]
+ )
);
/**
diff --git a/packages/block-editor/CHANGELOG.md b/packages/block-editor/CHANGELOG.md
index 969e057850f74a..02512ed4288abb 100644
--- a/packages/block-editor/CHANGELOG.md
+++ b/packages/block-editor/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 13.3.0 (2024-07-10)
+
## 13.2.0 (2024-06-26)
## 13.1.0 (2024-06-15)
diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json
index 4ee20e892d4d47..e8c1f2cf063654 100644
--- a/packages/block-editor/package.json
+++ b/packages/block-editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-editor",
- "version": "13.2.0",
+ "version": "13.3.0",
"description": "Generic block editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-editor/src/components/block-list/content.scss b/packages/block-editor/src/components/block-list/content.scss
index 8d55617bea2f99..17ebad06c4d78e 100644
--- a/packages/block-editor/src/components/block-list/content.scss
+++ b/packages/block-editor/src/components/block-list/content.scss
@@ -17,20 +17,6 @@
}
}
-@mixin selectedOutline() {
- content: "";
- position: absolute;
- pointer-events: none;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- outline-color: var(--wp-admin-theme-color);
- outline-style: solid;
- outline-width: calc(var(--wp-admin-border-width-focus) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
- outline-offset: calc((-1 * var(--wp-admin-border-width-focus)) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
-}
-
// Hide selections on this element, otherwise Safari will include it stacked
// under your actual selection.
// This uses a CSS hack to show the rules to Safari only. Failing here is okay,
@@ -101,7 +87,7 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
// We're using a pseudo element to overflow placeholder borders
// and any border inside the block itself.
&::after {
- @include selectedOutline();
+ @include selected-block-focus();
z-index: 1;
// Show a light color for dark themes.
@@ -281,7 +267,7 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
&:not(.rich-text):not([contenteditable="true"]).is-selected {
&::after {
- @include selectedOutline();
+ @include selected-block-focus();
}
}
}
diff --git a/packages/block-editor/src/components/block-list/use-in-between-inserter.js b/packages/block-editor/src/components/block-list/use-in-between-inserter.js
index 68fa8628c54c72..74151fb3b070ba 100644
--- a/packages/block-editor/src/components/block-list/use-in-between-inserter.js
+++ b/packages/block-editor/src/components/block-list/use-in-between-inserter.js
@@ -29,6 +29,7 @@ export function useInBetweenInserter() {
__unstableIsWithinBlockOverlay,
getBlockEditingMode,
getBlockName,
+ getBlockAttributes,
} = useSelect( blockEditorStore );
const { showInsertionPoint, hideInsertionPoint } =
useDispatch( blockEditorStore );
@@ -79,7 +80,10 @@ export function useInBetweenInserter() {
if (
getTemplateLock( rootClientId ) ||
getBlockEditingMode( rootClientId ) === 'disabled' ||
- getBlockName( rootClientId ) === 'core/block'
+ getBlockName( rootClientId ) === 'core/block' ||
+ ( rootClientId &&
+ getBlockAttributes( rootClientId ).layout
+ ?.isManualPlacement )
) {
return;
}
diff --git a/packages/block-editor/src/components/block-removal-warning-modal/index.js b/packages/block-editor/src/components/block-removal-warning-modal/index.js
index fca8098c4cd398..2f716e875fb604 100644
--- a/packages/block-editor/src/components/block-removal-warning-modal/index.js
+++ b/packages/block-editor/src/components/block-removal-warning-modal/index.js
@@ -53,10 +53,18 @@ export function BlockRemovalWarningModal( { rules } ) {
>
{ message }
-
diff --git a/packages/block-editor/src/components/date-format-picker/index.js b/packages/block-editor/src/components/date-format-picker/index.js
index 72e6d4831efa93..cf9af5eb33f122 100644
--- a/packages/block-editor/src/components/date-format-picker/index.js
+++ b/packages/block-editor/src/components/date-format-picker/index.js
@@ -126,7 +126,7 @@ function NonDefaultControls( { format, onChange } ) {
name: __( 'Custom' ),
className:
'block-editor-date-format-picker__custom-format-select-control__custom-option',
- __experimentalHint: __( 'Enter your own date format' ),
+ hint: __( 'Enter your own date format' ),
};
const [ isCustom, setIsCustom ] = useState(
diff --git a/packages/block-editor/src/components/default-block-appender/index.js b/packages/block-editor/src/components/default-block-appender/index.js
index 411455c13df43b..fbc2c7c08821d4 100644
--- a/packages/block-editor/src/components/default-block-appender/index.js
+++ b/packages/block-editor/src/components/default-block-appender/index.js
@@ -24,10 +24,14 @@ import { store as blockEditorStore } from '../../store';
export const ZWNBSP = '\ufeff';
export default function DefaultBlockAppender( { rootClientId } ) {
- const { showPrompt, isLocked, placeholder } = useSelect(
+ const { showPrompt, isLocked, placeholder, isManualGrid } = useSelect(
( select ) => {
- const { getBlockCount, getSettings, getTemplateLock } =
- select( blockEditorStore );
+ const {
+ getBlockCount,
+ getSettings,
+ getTemplateLock,
+ getBlockAttributes,
+ } = select( blockEditorStore );
const isEmpty = ! getBlockCount( rootClientId );
const { bodyPlaceholder } = getSettings();
@@ -36,6 +40,9 @@ export default function DefaultBlockAppender( { rootClientId } ) {
showPrompt: isEmpty,
isLocked: !! getTemplateLock( rootClientId ),
placeholder: bodyPlaceholder,
+ isManualGrid:
+ getBlockAttributes( rootClientId )?.layout
+ ?.isManualPlacement,
};
},
[ rootClientId ]
@@ -43,7 +50,7 @@ export default function DefaultBlockAppender( { rootClientId } ) {
const { insertDefaultBlock, startTyping } = useDispatch( blockEditorStore );
- if ( isLocked ) {
+ if ( isLocked || isManualGrid ) {
return null;
}
diff --git a/packages/block-editor/src/components/grid/grid-item-movers.js b/packages/block-editor/src/components/grid/grid-item-movers.js
index ddfb7dcb2c2dd5..adda11b7a45a62 100644
--- a/packages/block-editor/src/components/grid/grid-item-movers.js
+++ b/packages/block-editor/src/components/grid/grid-item-movers.js
@@ -1,10 +1,25 @@
+/**
+ * External dependencies
+ */
+import clsx from 'clsx';
+
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
-import { ToolbarButton } from '@wordpress/components';
-import { arrowLeft, arrowUp, arrowDown, arrowRight } from '@wordpress/icons';
+import {
+ VisuallyHidden,
+ ToolbarButton,
+ ToolbarGroup,
+} from '@wordpress/components';
+import {
+ chevronLeft,
+ chevronUp,
+ chevronDown,
+ chevronRight,
+} from '@wordpress/icons';
import { useDispatch } from '@wordpress/data';
+import { useInstanceId } from '@wordpress/compose';
/**
* Internal dependencies
@@ -39,74 +54,129 @@ export function GridItemMovers( {
return (
+
+ {
+ onChange( {
+ columnStart: columnStart - 1,
+ } );
+ __unstableMarkNextChangeAsNotPersistent();
+ moveBlocksToPosition(
+ [ blockClientId ],
+ gridClientId,
+ gridClientId,
+ getNumberOfBlocksBeforeCell(
+ columnStart - 1,
+ rowStart
+ )
+ );
+ } }
+ />
+
+ {
+ onChange( {
+ rowStart: rowStart - 1,
+ } );
+ __unstableMarkNextChangeAsNotPersistent();
+ moveBlocksToPosition(
+ [ blockClientId ],
+ gridClientId,
+ gridClientId,
+ getNumberOfBlocksBeforeCell(
+ columnStart,
+ rowStart - 1
+ )
+ );
+ } }
+ />
+ = rowCount }
+ onClick={ () => {
+ onChange( {
+ rowStart: rowStart + 1,
+ } );
+ __unstableMarkNextChangeAsNotPersistent();
+ moveBlocksToPosition(
+ [ blockClientId ],
+ gridClientId,
+ gridClientId,
+ getNumberOfBlocksBeforeCell(
+ columnStart,
+ rowStart + 1
+ )
+ );
+ } }
+ />
+
+ = columnCount }
+ onClick={ () => {
+ onChange( {
+ columnStart: columnStart + 1,
+ } );
+ __unstableMarkNextChangeAsNotPersistent();
+ moveBlocksToPosition(
+ [ blockClientId ],
+ gridClientId,
+ gridClientId,
+ getNumberOfBlocksBeforeCell(
+ columnStart + 1,
+ rowStart
+ )
+ );
+ } }
+ />
+
+
+ );
+}
+
+function GridItemMover( {
+ className,
+ icon,
+ label,
+ isDisabled,
+ onClick,
+ description,
+} ) {
+ const instanceId = useInstanceId( GridItemMover );
+ const descriptionId = `block-editor-grid-item-mover-button__description-${ instanceId }`;
+ return (
+ <>
{
- onChange( {
- rowStart: rowStart - 1,
- } );
- __unstableMarkNextChangeAsNotPersistent();
- moveBlocksToPosition(
- [ blockClientId ],
- gridClientId,
- gridClientId,
- getNumberOfBlocksBeforeCell( columnStart, rowStart - 1 )
- );
- } }
- />
- = rowCount }
- onClick={ () => {
- onChange( {
- rowStart: rowStart + 1,
- } );
- __unstableMarkNextChangeAsNotPersistent();
- moveBlocksToPosition(
- [ blockClientId ],
- gridClientId,
- gridClientId,
- getNumberOfBlocksBeforeCell( columnStart, rowStart + 1 )
- );
- } }
- />
- {
- onChange( {
- columnStart: columnStart - 1,
- } );
- __unstableMarkNextChangeAsNotPersistent();
- moveBlocksToPosition(
- [ blockClientId ],
- gridClientId,
- gridClientId,
- getNumberOfBlocksBeforeCell( columnStart - 1, rowStart )
- );
- } }
- />
- = columnCount }
- onClick={ () => {
- onChange( {
- columnStart: columnStart + 1,
- } );
- __unstableMarkNextChangeAsNotPersistent();
- moveBlocksToPosition(
- [ blockClientId ],
- gridClientId,
- gridClientId,
- getNumberOfBlocksBeforeCell( columnStart + 1, rowStart )
- );
- } }
+ className={ clsx(
+ 'block-editor-grid-item-mover-button',
+ className
+ ) }
+ icon={ icon }
+ label={ label }
+ aria-describedby={ descriptionId }
+ onClick={ isDisabled ? null : onClick }
+ disabled={ isDisabled }
+ accessibleWhenDisabled
/>
-
+
+ { description }
+
+ >
);
}
diff --git a/packages/block-editor/src/components/grid/grid-visualizer.js b/packages/block-editor/src/components/grid/grid-visualizer.js
index 0717ce21fe2d84..5e5e1e3bfa2f77 100644
--- a/packages/block-editor/src/components/grid/grid-visualizer.js
+++ b/packages/block-editor/src/components/grid/grid-visualizer.js
@@ -89,7 +89,7 @@ const GridVisualizerGrid = forwardRef(
'is-dropping-allowed': isDroppingAllowed,
} ) }
clientId={ gridClientId }
- __unstablePopoverSlot="block-toolbar"
+ __unstablePopoverSlot="__unstable-block-tools-after"
>
.block-editor-grid-item-mover-button.block-editor-grid-item-mover-button {
+ height: $block-toolbar-height * 0.5 - $grid-unit-05;
+ width: 100%;
+ min-width: 0 !important; // overrides default button width.
+
+ // Focus style.
+ &::before {
+ height: calc(100% - 4px);
+ }
+ }
+
+ .block-editor-grid-item-mover-button.is-up-button svg,
+ .block-editor-grid-item-mover-button.is-down-button svg {
+ flex-shrink: 0;
+ height: $block-toolbar-height * 0.5 - $grid-unit-05;
+ }
+ }
+}
+
+.show-icon-labels {
+
+ .block-editor-grid-item-mover-button.block-editor-grid-item-mover-button.is-left-button {
+ border-right: 1px solid $gray-700;
+ padding-right: 12px;
+ }
+
+ .block-editor-grid-item-mover-button.block-editor-grid-item-mover-button.is-right-button {
+ border-left: 1px solid $gray-700;
+ padding-left: 12px;
+ }
+
+
+ .block-editor-grid-item-mover__move-vertical-button-container {
+ &::before {
+ @include break-small() {
+ content: "";
+ height: $border-width;
+ width: 100%;
+ background: $gray-200;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ // With Top toolbar enabled, this separator has a smaller width. Translating the
+ // X axis allows to make the separator always centered regardless of its width.
+ transform: translate(-50%, 0);
+ margin-top: -$border-width * 0.5;
+ }
+
+ @include break-medium {
+ background: $gray-900;
+ }
+ }
+ }
+
+}
+
diff --git a/packages/block-editor/src/components/grid/use-grid-layout-sync.js b/packages/block-editor/src/components/grid/use-grid-layout-sync.js
index a5d6aa4d3fbdd7..ed368714d63d34 100644
--- a/packages/block-editor/src/components/grid/use-grid-layout-sync.js
+++ b/packages/block-editor/src/components/grid/use-grid-layout-sync.js
@@ -2,7 +2,8 @@
* WordPress dependencies
*/
import { useDispatch, useSelect } from '@wordpress/data';
-import { useEffect } from '@wordpress/element';
+import { useEffect, useMemo } from '@wordpress/element';
+import { usePrevious } from '@wordpress/compose';
/**
* Internal dependencies
@@ -11,13 +12,15 @@ import { store as blockEditorStore } from '../../store';
import { GridRect } from './utils';
export function useGridLayoutSync( { clientId: gridClientId } ) {
- const { gridLayout, blockOrder } = useSelect(
+ const { gridLayout, blockOrder, selectedBlockLayout } = useSelect(
( select ) => {
const { getBlockAttributes, getBlockOrder } =
select( blockEditorStore );
+ const selectedBlock = select( blockEditorStore ).getSelectedBlock();
return {
gridLayout: getBlockAttributes( gridClientId ).layout ?? {},
blockOrder: getBlockOrder( gridClientId ),
+ selectedBlockLayout: selectedBlock?.attributes.style?.layout,
};
},
[ gridClientId ]
@@ -27,27 +30,32 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
const { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =
useDispatch( blockEditorStore );
+ const selectedBlockRect = useMemo(
+ () =>
+ selectedBlockLayout ? new GridRect( selectedBlockLayout ) : null,
+ [ selectedBlockLayout ]
+ );
+
+ const previouslySelectedBlockRect = usePrevious( selectedBlockRect );
+
useEffect( () => {
const updates = {};
- const { columnCount, rowCount, isManualPlacement } = gridLayout;
-
- if ( isManualPlacement ) {
- const rects = [];
+ if ( gridLayout.isManualPlacement ) {
+ const occupiedRects = [];
// Respect the position of blocks that already have a columnStart and rowStart value.
for ( const clientId of blockOrder ) {
- const attributes = getBlockAttributes( clientId );
const {
columnStart,
rowStart,
columnSpan = 1,
rowSpan = 1,
- } = attributes.style?.layout || {};
+ } = getBlockAttributes( clientId ).style?.layout ?? {};
if ( ! columnStart || ! rowStart ) {
continue;
}
- rects.push(
+ occupiedRects.push(
new GridRect( {
columnStart,
rowStart,
@@ -65,17 +73,19 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
rowStart,
columnSpan = 1,
rowSpan = 1,
- } = attributes.style?.layout || {};
+ } = attributes.style?.layout ?? {};
if ( columnStart && rowStart ) {
continue;
}
- const [ newColumnStart, newRowStart ] = getFirstEmptyCell(
- rects,
- columnCount,
+ const [ newColumnStart, newRowStart ] = placeBlock(
+ occupiedRects,
+ gridLayout.columnCount,
columnSpan,
- rowSpan
+ rowSpan,
+ previouslySelectedBlockRect?.columnEnd,
+ previouslySelectedBlockRect?.rowEnd
);
- rects.push(
+ occupiedRects.push(
new GridRect( {
columnStart: newColumnStart,
rowStart: newRowStart,
@@ -96,8 +106,13 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
}
// Ensure there's enough rows to fit all blocks.
- const bottomMostRow = Math.max( ...rects.map( ( r ) => r.rowEnd ) );
- if ( ! rowCount || rowCount < bottomMostRow ) {
+ const bottomMostRow = Math.max(
+ ...occupiedRects.map( ( r ) => r.rowEnd )
+ );
+ if (
+ ! gridLayout.rowCount ||
+ gridLayout.rowCount < bottomMostRow
+ ) {
updates[ gridClientId ] = {
layout: {
...gridLayout,
@@ -110,7 +125,7 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
for ( const clientId of blockOrder ) {
const attributes = getBlockAttributes( clientId );
const { columnStart, rowStart, ...layout } =
- attributes.style?.layout || {};
+ attributes.style?.layout ?? {};
// Only update attributes if columnStart or rowStart are set.
if ( columnStart || rowStart ) {
updates[ clientId ] = {
@@ -123,7 +138,7 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
}
// Remove row styles in auto mode
- if ( rowCount ) {
+ if ( gridLayout.rowCount ) {
updates[ gridClientId ] = {
layout: {
...gridLayout,
@@ -146,23 +161,47 @@ export function useGridLayoutSync( { clientId: gridClientId } ) {
gridClientId,
gridLayout,
blockOrder,
- // Needed for linter:
+ previouslySelectedBlockRect,
+ // These won't change, but the linter thinks they might:
__unstableMarkNextChangeAsNotPersistent,
getBlockAttributes,
updateBlockAttributes,
] );
}
-function getFirstEmptyCell( rects, columnCount, columnSpan = 1, rowSpan = 1 ) {
- for ( let row = 1; ; row++ ) {
- for ( let column = 1; column <= columnCount; column++ ) {
- const rect = new GridRect( {
+/**
+ * @param {GridRect[]} occupiedRects
+ * @param {number} gridColumnCount
+ * @param {number} blockColumnSpan
+ * @param {number} blockRowSpan
+ * @param {number?} startColumn
+ * @param {number?} startRow
+ */
+function placeBlock(
+ occupiedRects,
+ gridColumnCount,
+ blockColumnSpan,
+ blockRowSpan,
+ startColumn = 1,
+ startRow = 1
+) {
+ for ( let row = startRow; ; row++ ) {
+ for (
+ let column = row === startRow ? startColumn : 1;
+ column <= gridColumnCount;
+ column++
+ ) {
+ const candidateRect = new GridRect( {
columnStart: column,
rowStart: row,
- columnSpan,
- rowSpan,
+ columnSpan: blockColumnSpan,
+ rowSpan: blockRowSpan,
} );
- if ( ! rects.some( ( r ) => r.intersectsRect( rect ) ) ) {
+ if (
+ ! occupiedRects.some( ( r ) =>
+ r.intersectsRect( candidateRect )
+ )
+ ) {
return [ column, row ];
}
}
diff --git a/packages/block-editor/src/components/inner-blocks/index.js b/packages/block-editor/src/components/inner-blocks/index.js
index db947a01a91dc4..27e5064eeb6328 100644
--- a/packages/block-editor/src/components/inner-blocks/index.js
+++ b/packages/block-editor/src/components/inner-blocks/index.js
@@ -132,7 +132,10 @@ function UncontrolledInnerBlocks( props ) {
/>
);
- if ( Object.keys( blockType.providesContext ).length === 0 ) {
+ if (
+ ! blockType?.providesContext ||
+ Object.keys( blockType.providesContext ).length === 0
+ ) {
return items;
}
diff --git a/packages/block-editor/src/components/inserter/style.scss b/packages/block-editor/src/components/inserter/style.scss
index 631c7f727ddc41..f6b5d9fe84c1d1 100644
--- a/packages/block-editor/src/components/inserter/style.scss
+++ b/packages/block-editor/src/components/inserter/style.scss
@@ -228,6 +228,13 @@ $block-inserter-tabs-height: 44px;
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;
diff --git a/packages/block-editor/src/components/url-popover/style.scss b/packages/block-editor/src/components/url-popover/style.scss
index 324d82d4183aab..8c9d867071017d 100644
--- a/packages/block-editor/src/components/url-popover/style.scss
+++ b/packages/block-editor/src/components/url-popover/style.scss
@@ -10,6 +10,7 @@
.block-editor-url-popover__row {
display: flex;
gap: $grid-unit-05;
+ align-items: center;
}
// Any children of the popover-row that are not the settings-toggle
diff --git a/packages/block-editor/src/hooks/grid-visualizer.js b/packages/block-editor/src/hooks/grid-visualizer.js
index 42b45952d45d15..ffad5edd9842c4 100644
--- a/packages/block-editor/src/hooks/grid-visualizer.js
+++ b/packages/block-editor/src/hooks/grid-visualizer.js
@@ -26,14 +26,12 @@ function GridTools( { clientId, layout } ) {
};
} );
- if ( ! isSelected && ! isDragging ) {
- return null;
- }
-
return (
<>
-
+ { ( isSelected || isDragging ) && (
+
+ ) }
>
);
}
diff --git a/packages/block-editor/src/hooks/position.js b/packages/block-editor/src/hooks/position.js
index 11fddf72896925..a5fae3d8d3a7c2 100644
--- a/packages/block-editor/src/hooks/position.js
+++ b/packages/block-editor/src/hooks/position.js
@@ -42,7 +42,7 @@ const STICKY_OPTION = {
key: 'sticky',
value: 'sticky',
name: _x( 'Sticky', 'Name for the value of the CSS position property' ),
- __experimentalHint: __(
+ hint: __(
'The block will stick to the top of the window instead of scrolling.'
),
};
@@ -51,9 +51,7 @@ const FIXED_OPTION = {
key: 'fixed',
value: 'fixed',
name: _x( 'Fixed', 'Name for the value of the CSS position property' ),
- __experimentalHint: __(
- 'The block will not move when the page is scrolled.'
- ),
+ hint: __( 'The block will not move when the page is scrolled.' ),
};
const POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];
diff --git a/packages/block-library/CHANGELOG.md b/packages/block-library/CHANGELOG.md
index 8c5e3320c99b28..8200d6005fe9a6 100644
--- a/packages/block-library/CHANGELOG.md
+++ b/packages/block-library/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.3.0 (2024-07-10)
+
## 9.2.0 (2024-06-26)
## 9.1.0 (2024-06-15)
diff --git a/packages/block-library/package.json b/packages/block-library/package.json
index 7a940fca79ba11..9102e822e59d1c 100644
--- a/packages/block-library/package.json
+++ b/packages/block-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/block-library",
- "version": "9.2.0",
+ "version": "9.3.0",
"description": "Block library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/block-library/src/navigation/edit/navigation-menu-delete-control.js b/packages/block-library/src/navigation/edit/navigation-menu-delete-control.js
index 567e2a79abf4e5..dcef345581a765 100644
--- a/packages/block-library/src/navigation/edit/navigation-menu-delete-control.js
+++ b/packages/block-library/src/navigation/edit/navigation-menu-delete-control.js
@@ -41,6 +41,7 @@ export default function NavigationMenuDeleteControl( { onDelete } ) {
setIsConfirmDialogVisible( false );
} }
confirmButtonText={ __( 'Delete' ) }
+ size="medium"
>
{ __(
'Are you sure you want to delete this Navigation Menu?'
diff --git a/packages/block-library/src/query/utils.js b/packages/block-library/src/query/utils.js
index 5dac08b81c3536..73af87f684e2a4 100644
--- a/packages/block-library/src/query/utils.js
+++ b/packages/block-library/src/query/utils.js
@@ -213,6 +213,7 @@ export const getTransformedBlocksFromPattern = (
) => {
const {
query: { postType, inherit },
+ namespace,
} = queryBlockAttributes;
const clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );
const queryClientIds = [];
@@ -225,6 +226,9 @@ export const getTransformedBlocksFromPattern = (
postType,
inherit,
};
+ if ( namespace ) {
+ block.attributes.namespace = namespace;
+ }
queryClientIds.push( block.clientId );
}
block.innerBlocks?.forEach( ( innerBlock ) => {
diff --git a/packages/block-serialization-default-parser/CHANGELOG.md b/packages/block-serialization-default-parser/CHANGELOG.md
index 368b0b5c91fe2c..e03be10bf1ef88 100644
--- a/packages/block-serialization-default-parser/CHANGELOG.md
+++ b/packages/block-serialization-default-parser/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json
index ce1a6f738c0763..cecbecde177718 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/block-serialization-spec-parser/CHANGELOG.md
index 4e2f19c426c853..d150b6a0333dfd 100644
--- a/packages/block-serialization-spec-parser/CHANGELOG.md
+++ b/packages/block-serialization-spec-parser/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json
index 560cbe7a288b23..6a9ca868a938fb 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.2.0",
+ "version": "5.3.0",
"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 d09d203e56ef40..618a6015ce00e2 100644
--- a/packages/blocks/CHANGELOG.md
+++ b/packages/blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 13.3.0 (2024-07-10)
+
## 13.2.0 (2024-06-26)
## 13.1.0 (2024-06-15)
diff --git a/packages/blocks/package.json b/packages/blocks/package.json
index dbd3471c74d170..f7f23cdd671b9f 100644
--- a/packages/blocks/package.json
+++ b/packages/blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/blocks",
- "version": "13.2.0",
+ "version": "13.3.0",
"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 55367687bd8843..39283b8e3aa38e 100644
--- a/packages/browserslist-config/CHANGELOG.md
+++ b/packages/browserslist-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json
index 62c4d589878d8a..d5365f24c58b4f 100644
--- a/packages/browserslist-config/package.json
+++ b/packages/browserslist-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/browserslist-config",
- "version": "6.2.0",
+ "version": "6.3.0",
"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 51c44022cdd37c..0225c5b3697497 100644
--- a/packages/commands/CHANGELOG.md
+++ b/packages/commands/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/commands/package.json b/packages/commands/package.json
index 9293229379a9e3..cca943aaafe0d0 100644
--- a/packages/commands/package.json
+++ b/packages/commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/commands",
- "version": "1.2.0",
+ "version": "1.3.0",
"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 604a709d290f9e..3699162feb5109 100644
--- a/packages/components/CHANGELOG.md
+++ b/packages/components/CHANGELOG.md
@@ -2,8 +2,19 @@
## Unreleased
+### Internal
+
+- `CustomSelectControlV2`: animate select popover appearance. ([#63343](https://github.com/WordPress/gutenberg/pull/63343))
+
+### Enhancements
+
+- `CustomSelectControl`: Stabilize `__experimentalShowSelectedHint` and `options[]. __experimentalHint` props ([#63248](https://github.com/WordPress/gutenberg/pull/63248)).
+
+## 28.3.0 (2024-07-10)
+
### Enhancements
+- `Tabs`: hyphenate tab labels ([#63337](https://github.com/WordPress/gutenberg/pull/63337)).
- `Tooltip`: Add support for `className` prop ([#63157](https://github.com/WordPress/gutenberg/pull/63157)).
- `Toolbar`: Add support for `vertical` orientation ([#60123](https://github.com/WordPress/gutenberg/pull/60123)).
- `BaseControl`: forward ref on `VisualLabel` ([#63169](https://github.com/WordPress/gutenberg/pull/63169)).
diff --git a/packages/components/package.json b/packages/components/package.json
index cf2db01951948c..e14bf953bdb66a 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/components",
- "version": "28.2.0",
+ "version": "28.3.0",
"description": "UI components for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/components/src/custom-select-control-v2/legacy-component/index.tsx b/packages/components/src/custom-select-control-v2/legacy-component/index.tsx
index a4c437be97e405..7dcdec9b7bdc60 100644
--- a/packages/components/src/custom-select-control-v2/legacy-component/index.tsx
+++ b/packages/components/src/custom-select-control-v2/legacy-component/index.tsx
@@ -12,9 +12,31 @@ import CustomSelectItem from '../item';
import type { LegacyCustomSelectProps } from '../types';
import * as Styled from '../styles';
+function useDeprecatedProps( {
+ __experimentalShowSelectedHint,
+ ...otherProps
+}: LegacyCustomSelectProps ) {
+ return {
+ showSelectedHint: __experimentalShowSelectedHint,
+ ...otherProps,
+ };
+}
+
+// The removal of `__experimentalHint` in favour of `hint` doesn't happen in
+// the `useDeprecatedProps` hook in order not to break consumers that rely
+// on object identity (see https://github.com/WordPress/gutenberg/pull/63248#discussion_r1672213131)
+function applyOptionDeprecations( {
+ __experimentalHint,
+ ...rest
+}: LegacyCustomSelectProps[ 'options' ][ number ] ) {
+ return {
+ hint: __experimentalHint,
+ ...rest,
+ };
+}
+
function CustomSelectControl( props: LegacyCustomSelectProps ) {
const {
- __experimentalShowSelectedHint = false,
__next40pxDefaultSize = false,
describedBy,
options,
@@ -22,8 +44,9 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) {
size = 'default',
value,
className: classNameProp,
+ showSelectedHint = false,
...restProps
- } = props;
+ } = useDeprecatedProps( props );
// Forward props + store from v2 implementation
const store = Ariakit.useSelectStore( {
@@ -60,8 +83,9 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) {
defaultValue: options[ 0 ]?.name,
} );
- const children = options.map(
- ( { name, key, __experimentalHint, style, className } ) => {
+ const children = options
+ .map( applyOptionDeprecations )
+ .map( ( { name, key, hint, style, className } ) => {
const withHint = (
{ name }
@@ -69,7 +93,7 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) {
// TODO: Legacy classname. Add V1 styles are removed from the codebase
// className="components-custom-select-control__item-hint"
>
- { __experimentalHint }
+ { hint }
);
@@ -78,7 +102,7 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) {
);
- }
- );
+ } );
const renderSelectedValueHint = () => {
const { value: currentValue } = store.getState();
- const currentHint = options?.find(
- ( { name } ) => currentValue === name
- );
+ const selectedOptionHint = options
+ ?.map( applyOptionDeprecations )
+ ?.find( ( { name } ) => currentValue === name )?.hint;
return (
{ currentValue }
-
- { currentHint?.__experimentalHint }
-
+ { selectedOptionHint && (
+
+ { selectedOptionHint }
+
+ ) }
);
};
@@ -131,9 +156,7 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) {
<_CustomSelect
aria-describedby={ describedBy }
renderSelectedValue={
- __experimentalShowSelectedHint
- ? renderSelectedValueHint
- : undefined
+ showSelectedHint ? renderSelectedValueHint : undefined
}
size={ translatedSize }
store={ store }
diff --git a/packages/components/src/custom-select-control-v2/legacy-component/test/index.tsx b/packages/components/src/custom-select-control-v2/legacy-component/test/index.tsx
index 1e361236aafd9a..496b42572d82f6 100644
--- a/packages/components/src/custom-select-control-v2/legacy-component/test/index.tsx
+++ b/packages/components/src/custom-select-control-v2/legacy-component/test/index.tsx
@@ -297,7 +297,7 @@ describe.each( [
{
key: 'one',
name: 'One',
- __experimentalHint: 'Hint',
+ hint: 'Hint',
},
] }
/>
@@ -309,7 +309,7 @@ describe.each( [
);
} );
- it( 'shows selected hint when __experimentalShowSelectedHint is set', async () => {
+ it( 'shows selected hint when showSelectedHint is set', async () => {
render(
);
@@ -334,7 +334,7 @@ describe.each( [
);
} );
- it( 'shows selected hint in list of options when added, regardless of __experimentalShowSelectedHint prop', async () => {
+ it( 'shows selected hint in list of options when added, regardless of showSelectedHint prop', async () => {
render(
diff --git a/packages/components/src/custom-select-control-v2/styles.ts b/packages/components/src/custom-select-control-v2/styles.ts
index 7296d5bc6359a7..701f69aa5757bd 100644
--- a/packages/components/src/custom-select-control-v2/styles.ts
+++ b/packages/components/src/custom-select-control-v2/styles.ts
@@ -2,7 +2,7 @@
* External dependencies
*/
import * as Ariakit from '@ariakit/react';
-import { css } from '@emotion/react';
+import { css, keyframes } from '@emotion/react';
import styled from '@emotion/styled';
/**
* Internal dependencies
@@ -13,6 +13,13 @@ import { chevronIconSize } from '../select-control/styles/select-control-styles'
import { fontSizeStyles } from '../input-control/styles/input-control-styles';
import type { CustomSelectButtonSize } from './types';
+// TODO: extract to common utils and apply to relevant components
+const ANIMATION_PARAMS = {
+ SLIDE_AMOUNT: '2px',
+ DURATION: '400ms',
+ EASING: 'cubic-bezier( 0.16, 1, 0.3, 1 )',
+};
+
const INLINE_PADDING = {
compact: 8, // space(2)
small: 8, // space(2)
@@ -98,6 +105,14 @@ export const Select = styled( Ariakit.Select, {
`
);
+const slideDownAndFade = keyframes( {
+ '0%': {
+ opacity: 0,
+ transform: `translateY(-${ ANIMATION_PARAMS.SLIDE_AMOUNT })`,
+ },
+ '100%': { opacity: 1, transform: 'translateY(0)' },
+} );
+
export const SelectPopover = styled( Ariakit.SelectPopover )`
display: flex;
flex-direction: column;
@@ -113,11 +128,21 @@ export const SelectPopover = styled( Ariakit.SelectPopover )`
overflow: auto;
overscroll-behavior: contain;
- // The smallest size without overflowing the container.
+ /* The smallest size without overflowing the container. */
min-width: min-content;
+ /* Animation */
+ animation-duration: ${ ANIMATION_PARAMS.DURATION };
+ animation-timing-function: ${ ANIMATION_PARAMS.EASING };
+ animation-name: ${ slideDownAndFade };
+ will-change: transform, opacity;
+ @media ( prefers-reduced-motion ) {
+ animation-duration: 0s;
+ }
+
&[data-focus-visible] {
- outline: none; // outline will be on the trigger, rather than the popover
+ /* The outline will be on the trigger, rather than the popover. */
+ outline: none;
}
`;
diff --git a/packages/components/src/custom-select-control-v2/types.ts b/packages/components/src/custom-select-control-v2/types.ts
index b663f1892ceebc..95a78c501839d6 100644
--- a/packages/components/src/custom-select-control-v2/types.ts
+++ b/packages/components/src/custom-select-control-v2/types.ts
@@ -90,6 +90,12 @@ type LegacyOption = {
name: string;
style?: React.CSSProperties;
className?: string;
+ hint?: string;
+ /**
+ * Use the `hint` property instead
+ * @deprecated
+ * @ignore
+ */
__experimentalHint?: string;
[ key: string ]: any;
};
@@ -169,11 +175,17 @@ export type LegacyCustomSelectProps = {
*/
value?: LegacyOption;
/**
- * Legacy way to add additional text to the right of each option.
+ * Use the `showSelectedHint` property instead.
+ * @deprecated
+ * @ignore
+ */
+ __experimentalShowSelectedHint?: boolean;
+ /**
+ * Show the hint of the selected item in the trigger button.
*
* @default false
*/
- __experimentalShowSelectedHint?: boolean;
+ showSelectedHint?: boolean;
/**
* Opt-in prop for an unconstrained width style which became the default in
* WordPress 6.5. The prop is no longer needed and can be safely removed.
diff --git a/packages/components/src/font-size-picker/font-size-picker-select.tsx b/packages/components/src/font-size-picker/font-size-picker-select.tsx
index 3f0b7a0e54074a..4dd80b45b0ac70 100644
--- a/packages/components/src/font-size-picker/font-size-picker-select.tsx
+++ b/packages/components/src/font-size-picker/font-size-picker-select.tsx
@@ -56,7 +56,7 @@ const FontSizePickerSelect = ( props: FontSizePickerSelectProps ) => {
key: fontSize.slug,
name: fontSize.name || fontSize.slug,
value: fontSize.size,
- __experimentalHint: hint,
+ hint,
};
} ),
...( disableCustomFontSizes ? [] : [ CUSTOM_OPTION ] ),
@@ -79,7 +79,7 @@ const FontSizePickerSelect = ( props: FontSizePickerSelectProps ) => {
) }
options={ options }
value={ selectedOption }
- __experimentalShowSelectedHint
+ showSelectedHint
onChange={ ( {
selectedItem,
}: {
diff --git a/packages/components/src/font-size-picker/types.ts b/packages/components/src/font-size-picker/types.ts
index 6b4ed4b7ee75a5..0072c47df6f052 100644
--- a/packages/components/src/font-size-picker/types.ts
+++ b/packages/components/src/font-size-picker/types.ts
@@ -110,7 +110,7 @@ export type FontSizePickerSelectOption = {
key: string;
name: string;
value?: FontSize[ 'size' ];
- __experimentalHint?: string;
+ hint?: string;
};
export type FontSizePickerToggleGroupProps = Pick<
diff --git a/packages/components/src/higher-order/navigate-regions/style.scss b/packages/components/src/higher-order/navigate-regions/style.scss
index 5c3767e310b8f4..5fc1e210dea871 100644
--- a/packages/components/src/higher-order/navigate-regions/style.scss
+++ b/packages/components/src/higher-order/navigate-regions/style.scss
@@ -1,19 +1,7 @@
-// Allow the position to be easily overridden to e.g. fixed.
-
-@mixin region-selection-outline {
- outline: 4px solid $components-color-accent;
- outline-offset: -4px;
-}
+$regionOutlineRatio: 2;
@mixin region-selection-focus {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- content: "";
- pointer-events: none;
- @include region-selection-outline;
+ @include selected-block-focus( $regionOutlineRatio );
z-index: z-index(".is-focusing-regions {region} :focus::after");
}
@@ -46,6 +34,6 @@
.interface-interface-skeleton__actions .editor-layout__toggle-publish-panel,
.interface-interface-skeleton__actions .editor-layout__toggle-entities-saved-states-panel,
.editor-post-publish-panel {
- @include region-selection-outline;
+ @include selected-block-outline( $regionOutlineRatio );
}
}
diff --git a/packages/components/src/tabs/styles.ts b/packages/components/src/tabs/styles.ts
index d6fb117a3032a0..88e54285d619b1 100644
--- a/packages/components/src/tabs/styles.ts
+++ b/packages/components/src/tabs/styles.ts
@@ -75,6 +75,7 @@ export const Tab = styled( Ariakit.Tab )`
margin-left: 0;
font-weight: 500;
text-align: inherit;
+ hyphens: auto;
&[aria-disabled='true'] {
cursor: default;
diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md
index 6e620f05d57575..f508fa376cbe8c 100644
--- a/packages/compose/CHANGELOG.md
+++ b/packages/compose/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
### Internal
- Method style type signatures have been changed to function style ([#62718](https://github.com/WordPress/gutenberg/pull/62718)).
diff --git a/packages/compose/package.json b/packages/compose/package.json
index 2f4ddbf49666a6..8a813ad58193d4 100644
--- a/packages/compose/package.json
+++ b/packages/compose/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/compose",
- "version": "7.2.0",
+ "version": "7.3.0",
"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 77cf1361356a15..a8b6881e1e4b1e 100644
--- a/packages/core-commands/CHANGELOG.md
+++ b/packages/core-commands/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json
index 4180b6c356aaf7..50b31ca327b282 100644
--- a/packages/core-commands/package.json
+++ b/packages/core-commands/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-commands",
- "version": "1.2.0",
+ "version": "1.3.0",
"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 c9157fba03a8b7..5e5af54f0751e2 100644
--- a/packages/core-data/CHANGELOG.md
+++ b/packages/core-data/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
## 7.2.0 (2024-06-26)
## 7.1.0 (2024-06-15)
diff --git a/packages/core-data/package.json b/packages/core-data/package.json
index cb8376461c0678..d94eb375287250 100644
--- a/packages/core-data/package.json
+++ b/packages/core-data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/core-data",
- "version": "7.2.0",
+ "version": "7.3.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/CHANGELOG.md b/packages/create-block-interactive-template/CHANGELOG.md
index 49a507443e6ce8..e4e54865beb6be 100644
--- a/packages/create-block-interactive-template/CHANGELOG.md
+++ b/packages/create-block-interactive-template/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json
index ebdd119306ee2a..c1b10109ed226a 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.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/create-block-tutorial-template/CHANGELOG.md
index b5ea985dd15d14..1181037e73f392 100644
--- a/packages/create-block-tutorial-template/CHANGELOG.md
+++ b/packages/create-block-tutorial-template/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json
index 25baa61ca23944..095be8e8ca851f 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.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/create-block/CHANGELOG.md
index 1c3e863de790e9..bcb86a1a377621 100644
--- a/packages/create-block/CHANGELOG.md
+++ b/packages/create-block/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.46.0 (2024-07-10)
+
## 4.45.0 (2024-06-26)
## 4.44.0 (2024-06-15)
diff --git a/packages/create-block/package.json b/packages/create-block/package.json
index 44d2a598f4181c..51f43884c54976 100644
--- a/packages/create-block/package.json
+++ b/packages/create-block/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/create-block",
- "version": "4.45.0",
+ "version": "4.46.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/CHANGELOG.md b/packages/customize-widgets/CHANGELOG.md
index 946dfe3e7dde6a..362f67c48ae39f 100644
--- a/packages/customize-widgets/CHANGELOG.md
+++ b/packages/customize-widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json
index ec53f1efeaebcc..b68a9cf232a17a 100644
--- a/packages/customize-widgets/package.json
+++ b/packages/customize-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/customize-widgets",
- "version": "5.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/data-controls/CHANGELOG.md
index 10a4d4dd758bbe..5ea9633e90217d 100644
--- a/packages/data-controls/CHANGELOG.md
+++ b/packages/data-controls/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json
index de6cc8a8908c44..6a6dfc2fc09395 100644
--- a/packages/data-controls/package.json
+++ b/packages/data-controls/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data-controls",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/data/CHANGELOG.md
index 7f9b439774cecf..2de51f1f81539a 100644
--- a/packages/data/CHANGELOG.md
+++ b/packages/data/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.3.0 (2024-07-10)
+
## 10.2.0 (2024-06-26)
## 10.1.0 (2024-06-15)
diff --git a/packages/data/package.json b/packages/data/package.json
index 250e075a7972d6..a99cee1cc469e6 100644
--- a/packages/data/package.json
+++ b/packages/data/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/data",
- "version": "10.2.0",
+ "version": "10.3.0",
"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 9d84283b802003..4ceccf3621ac29 100644
--- a/packages/dataviews/CHANGELOG.md
+++ b/packages/dataviews/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.0.0 (2024-07-10)
+
### Breaking Changes
diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json
index c6213c42973eb0..f74bb3a8b06781 100644
--- a/packages/dataviews/package.json
+++ b/packages/dataviews/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dataviews",
- "version": "2.2.0",
+ "version": "3.0.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/dataviews/src/layouts.ts b/packages/dataviews/src/layouts.ts
index 0d00263b6fbc55..f8339c0a6b83f7 100644
--- a/packages/dataviews/src/layouts.ts
+++ b/packages/dataviews/src/layouts.ts
@@ -16,6 +16,7 @@ import ViewTable from './view-table';
import ViewGrid from './view-grid';
import ViewList from './view-list';
import { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from './constants';
+import type { View } from './types';
export const VIEW_LAYOUTS = [
{
@@ -37,3 +38,29 @@ export const VIEW_LAYOUTS = [
icon: isRTL() ? formatListBulletsRTL : formatListBullets,
},
];
+
+export function getMandatoryFields( view: View ): string[] {
+ if ( view.type === 'table' ) {
+ return [ view.layout?.primaryField ]
+ .concat(
+ view.layout?.combinedFields?.flatMap(
+ ( field ) => field.children
+ ) ?? []
+ )
+ .filter( ( item ): item is string => !! item );
+ }
+
+ if ( view.type === 'grid' ) {
+ return [ view.layout?.primaryField, view.layout?.mediaField ].filter(
+ ( item ): item is string => !! item
+ );
+ }
+
+ if ( view.type === 'list' ) {
+ return [ view.layout?.primaryField, view.layout?.mediaField ].filter(
+ ( item ): item is string => !! item
+ );
+ }
+
+ return [];
+}
diff --git a/packages/dataviews/src/stories/fixtures.js b/packages/dataviews/src/stories/fixtures.js
index 133f8d3fea573c..cb107e56969d17 100644
--- a/packages/dataviews/src/stories/fixtures.js
+++ b/packages/dataviews/src/stories/fixtures.js
@@ -167,20 +167,17 @@ export const fields = [

);
},
- width: 50,
enableSorting: false,
},
{
header: 'Title',
id: 'title',
- maxWidth: 400,
enableHiding: false,
enableGlobalSearch: true,
},
{
header: 'Type',
id: 'type',
- maxWidth: 400,
enableHiding: false,
elements: [
{ value: 'Not a planet', label: 'Not a planet' },
@@ -197,7 +194,6 @@ export const fields = [
{
header: 'Description',
id: 'description',
- maxWidth: 200,
enableSorting: false,
enableGlobalSearch: true,
},
diff --git a/packages/dataviews/src/stories/index.story.js b/packages/dataviews/src/stories/index.story.js
index c04e89a92baa85..8a5ccd83450237 100644
--- a/packages/dataviews/src/stories/index.story.js
+++ b/packages/dataviews/src/stories/index.story.js
@@ -39,6 +39,20 @@ Default.args = {
[ LAYOUT_TABLE ]: {
layout: {
primaryField: 'title',
+ styles: {
+ image: {
+ width: 50,
+ },
+ title: {
+ maxWidth: 400,
+ },
+ type: {
+ maxWidth: 400,
+ },
+ description: {
+ maxWidth: 200,
+ },
+ },
},
},
[ LAYOUT_GRID ]: {
diff --git a/packages/dataviews/src/style.scss b/packages/dataviews/src/style.scss
index 35e7baa92d378e..de2dcf027c2060 100644
--- a/packages/dataviews/src/style.scss
+++ b/packages/dataviews/src/style.scss
@@ -91,7 +91,7 @@
padding: $grid-unit-15;
white-space: nowrap;
- &[data-field-id="actions"] {
+ &.dataviews-view-table__actions-column {
text-align: right;
}
@@ -100,7 +100,7 @@
}
}
tr {
- border-bottom: 1px solid $gray-100;
+ border-top: 1px solid $gray-100;
.dataviews-view-table-header-button {
gap: $grid-unit-05;
@@ -164,6 +164,11 @@
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
color: $gray-700;
+ &,
+ & + tr {
+ border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
+ }
+
&:hover {
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);
}
@@ -179,7 +184,6 @@
}
th {
background-color: $white;
- box-shadow: inset 0 -#{$border-width} 0 $gray-100;
padding-top: $grid-unit-10;
padding-bottom: $grid-unit-10;
padding-left: $grid-unit-15;
@@ -211,6 +215,10 @@
}
}
}
+
+ .components-v-stack > .dataviews-view-table__cell-content-wrapper:not(:first-child) {
+ min-height: 0;
+ }
}
.dataviews-view-table-header-button {
padding: $grid-unit-05 $grid-unit-10;
@@ -421,10 +429,24 @@
}
.dataviews-view-list__item-actions {
+ position: absolute;
+ top: $grid-unit-20;
+ right: 0;
+
+
+ > div {
+ height: $button-size-small;
+ }
+
.components-button {
opacity: 0;
- position: fixed;
- right: 0;
+ }
+ }
+
+ &:has(.dataviews-view-list__fields:empty) {
+ .dataviews-view-list__item-actions {
+ top: 50%;
+ transform: translateY(-50%);
}
}
@@ -432,16 +454,30 @@
&.is-hovered,
&:focus-within {
.dataviews-view-list__item-actions {
- padding-right: $grid-unit-30;
+ background: #f8f8f8;
+ padding-left: $grid-unit-10;
+ margin-right: $grid-unit-30;
+ box-shadow: -12px 0 8px 0 #f8f8f8;
.components-button {
opacity: 1;
position: static;
}
}
+ }
+
+ &.is-selected {
+ .dataviews-view-list__item-actions {
+ background-color: rgb(247 248 255);
+ box-shadow: -12px 0 8px 0 rgb(247 248 255);
+ }
+ }
+
+ &.is-selected.is-selected {
+ border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
- .dataviews-view-list__item {
- padding-right: 0;
+ & + li {
+ border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
}
}
@@ -477,7 +513,7 @@
}
.dataviews-view-list__item {
- padding: $grid-unit-20 0 $grid-unit-20 $grid-unit-30;
+ padding: $grid-unit-20 $grid-unit-30;
width: 100%;
scroll-margin: $grid-unit-10 0;
@@ -494,15 +530,15 @@
}
}
.dataviews-view-list__primary-field {
- min-height: $grid-unit-05 * 5;
- line-height: $grid-unit-05 * 5;
+ min-height: $grid-unit-30;
+ line-height: $grid-unit-30;
overflow: hidden;
}
}
.dataviews-view-list__media-wrapper {
- width: $grid-unit-50;
- height: $grid-unit-50;
+ width: $grid-unit-05 * 13;
+ height: $grid-unit-05 * 13;
overflow: hidden;
position: relative;
flex-shrink: 0;
@@ -533,13 +569,22 @@
background-color: $gray-200;
}
+ .dataviews-view-list__field-wrapper {
+ min-height: $grid-unit-05 * 13; // Ensures title is centrally aligned when all fields are hidden
+ }
+
.dataviews-view-list__fields {
color: $gray-700;
display: flex;
gap: $grid-unit-10;
+ row-gap: $grid-unit-05;
flex-wrap: wrap;
font-size: 12px;
+ &:empty {
+ display: none;
+ }
+
.dataviews-view-list__field {
&:has(.dataviews-view-list__field-value:empty) {
display: none;
@@ -548,12 +593,8 @@
.dataviews-view-list__field-value {
line-height: $grid-unit-05 * 6;
- display: inline-flex;
}
}
- .dataviews-view-list__item-actions {
- padding-right: $grid-unit-30;
- }
& + .dataviews-pagination {
justify-content: space-between;
diff --git a/packages/dataviews/src/types.ts b/packages/dataviews/src/types.ts
index 9cc9ffb0f76c0c..8e2626245682e6 100644
--- a/packages/dataviews/src/types.ts
+++ b/packages/dataviews/src/types.ts
@@ -75,21 +75,6 @@ export type Field< Item > = {
*/
render?: ( args: { item: Item } ) => ReactNode;
- /**
- * The width of the field column.
- */
- width?: string | number;
-
- /**
- * The minimum width of the field column.
- */
- maxWidth?: string | number;
-
- /**
- * The maximum width of the field column.
- */
- minWidth?: string | number;
-
/**
* Whether the field is sortable.
*/
@@ -249,11 +234,44 @@ interface ViewBase {
perPage?: number;
/**
- * The hidden fields.
+ * The fields to render
*/
fields?: string[];
}
+export interface CombinedField {
+ id: string;
+
+ header: string;
+
+ /**
+ * The fields to use as columns.
+ */
+ children: string[];
+
+ /**
+ * The direction of the stack.
+ */
+ direction: 'horizontal' | 'vertical';
+}
+
+export interface ColumnStyle {
+ /**
+ * The width of the field column.
+ */
+ width?: string | number;
+
+ /**
+ * The minimum width of the field column.
+ */
+ maxWidth?: string | number;
+
+ /**
+ * The maximum width of the field column.
+ */
+ minWidth?: string | number;
+}
+
export interface ViewTable extends ViewBase {
type: 'table';
@@ -264,9 +282,14 @@ export interface ViewTable extends ViewBase {
primaryField?: string;
/**
- * The field to use as the media field.
+ * The fields to use as columns.
*/
- mediaField?: string;
+ combinedFields?: CombinedField[];
+
+ /**
+ * The styles for the columns.
+ */
+ styles?: Record< string, ColumnStyle >;
};
}
diff --git a/packages/dataviews/src/view-actions.tsx b/packages/dataviews/src/view-actions.tsx
index fd9aff28b6479b..0493cfb5efea1f 100644
--- a/packages/dataviews/src/view-actions.tsx
+++ b/packages/dataviews/src/view-actions.tsx
@@ -20,7 +20,7 @@ import { cog } from '@wordpress/icons';
*/
import { unlock } from './lock-unlock';
import { SORTING_DIRECTIONS, sortLabels } from './constants';
-import { VIEW_LAYOUTS } from './layouts';
+import { VIEW_LAYOUTS, getMandatoryFields } from './layouts';
import type { NormalizedField, View, SupportedLayouts } from './types';
const {
@@ -147,10 +147,11 @@ function FieldsVisibilityMenu< Item >( {
onChangeView,
fields,
}: FieldsVisibilityMenuProps< Item > ) {
+ const mandatoryFields = getMandatoryFields( view );
const hidableFields = fields.filter(
( field ) =>
field.enableHiding !== false &&
- field.id !== view?.layout?.mediaField
+ ! mandatoryFields.includes( field.id )
);
const viewFields = view.fields || fields.map( ( field ) => field.id );
if ( ! hidableFields?.length ) {
diff --git a/packages/dataviews/src/view-list.tsx b/packages/dataviews/src/view-list.tsx
index 7e8491f5c7780f..b094e9a74c0834 100644
--- a/packages/dataviews/src/view-list.tsx
+++ b/packages/dataviews/src/view-list.tsx
@@ -152,7 +152,10 @@ function ListItem< Item >( {
) }
-
+
( {
{ eligibleActions?.length > 0 && (
( {
isDestructive={
primaryAction.isDestructive
}
- size="compact"
+ size="small"
onClick={ () =>
setIsModalOpen( true )
}
@@ -236,7 +239,7 @@ function ListItem< Item >( {
isDestructive={
primaryAction.isDestructive
}
- size="compact"
+ size="small"
onClick={ () => {
primaryAction.callback(
[ item ],
@@ -255,7 +258,7 @@ function ListItem< Item >( {
store={ store }
render={
{
- field: NormalizedField< Item >;
+ fieldId: string;
view: ViewTableType;
fields: NormalizedField< Item >[];
onChangeView: ( view: ViewTableType ) => void;
@@ -79,12 +82,35 @@ interface BulkSelectionCheckboxProps< Item > {
getItemId: ( item: Item ) => string;
}
+interface TableColumnFieldProps< Item > {
+ primaryField?: NormalizedField< Item >;
+ field: NormalizedField< Item >;
+ item: Item;
+}
+
+interface TableColumnCombinedProps< Item > {
+ primaryField?: NormalizedField< Item >;
+ fields: NormalizedField< Item >[];
+ field: CombinedField;
+ item: Item;
+ view: ViewTableType;
+}
+
+interface TableColumnProps< Item > {
+ primaryField?: NormalizedField< Item >;
+ fields: NormalizedField< Item >[];
+ item: Item;
+ column: string;
+ view: ViewTableType;
+}
+
interface TableRowProps< Item > {
hasBulkActions: boolean;
item: Item;
actions: Action< Item >[];
+ fields: NormalizedField< Item >[];
id: string;
- visibleFields: NormalizedField< Item >[];
+ view: ViewTableType;
primaryField?: NormalizedField< Item >;
selection: string[];
getItemId: ( item: Item ) => string;
@@ -104,7 +130,7 @@ function WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {
const _HeaderMenu = forwardRef( function HeaderMenu< Item >(
{
- field,
+ fieldId,
view,
fields,
onChangeView,
@@ -113,6 +139,16 @@ const _HeaderMenu = forwardRef( function HeaderMenu< Item >(
}: HeaderMenuProps< Item >,
ref: Ref< HTMLButtonElement >
) {
+ const combinedField = view.layout?.combinedFields?.find(
+ ( f ) => f.id === fieldId
+ );
+ if ( !! combinedField ) {
+ return combinedField.header;
+ }
+ const field = fields.find( ( f ) => f.id === fieldId );
+ if ( ! field ) {
+ return null;
+ }
const isHidable = field.enableHiding !== false;
const isSortable = field.enableSorting !== false;
const isSorted = view.sort?.field === field.id;
@@ -227,7 +263,7 @@ const _HeaderMenu = forwardRef( function HeaderMenu< Item >(
onChangeView( {
...view,
fields: viewFields.filter(
- ( fieldId ) => fieldId !== field.id
+ ( id ) => id !== field.id
),
} );
} }
@@ -292,12 +328,79 @@ function BulkSelectionCheckbox< Item >( {
);
}
+function TableColumn< Item >( {
+ column,
+ fields,
+ view,
+ ...props
+}: TableColumnProps< Item > ) {
+ const field = fields.find( ( f ) => f.id === column );
+ if ( !! field ) {
+ return ;
+ }
+ const combinedField = view.layout?.combinedFields?.find(
+ ( f ) => f.id === column
+ );
+ if ( !! combinedField ) {
+ return (
+
+ );
+ }
+
+ return null;
+}
+
+function TableColumnField< Item >( {
+ primaryField,
+ item,
+ field,
+}: TableColumnFieldProps< Item > ) {
+ const value = field.render( {
+ item,
+ } );
+ return (
+ !! value && (
+
+ { value }
+
+ )
+ );
+}
+
+function TableColumnCombined< Item >( {
+ field,
+ ...props
+}: TableColumnCombinedProps< Item > ) {
+ const children = field.children.map( ( child ) => (
+
+ ) );
+
+ if ( field.direction === 'horizontal' ) {
+ return { children };
+ }
+ return { children };
+}
+
function TableRow< Item >( {
hasBulkActions,
item,
actions,
+ fields,
id,
- visibleFields,
+ view,
primaryField,
selection,
getItemId,
@@ -305,13 +408,11 @@ function TableRow< Item >( {
}: TableRowProps< Item > ) {
const hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );
const isSelected = hasPossibleBulkAction && selection.includes( id );
-
const [ isHovered, setIsHovered ] = useState( false );
const handleMouseEnter = () => {
setIsHovered( true );
};
-
const handleMouseLeave = () => {
setIsHovered( false );
};
@@ -320,6 +421,7 @@ function TableRow< Item >( {
// `onClick` and can be used to exclude touchscreen devices from certain
// behaviours.
const isTouchDevice = useRef( false );
+ const columns = view.fields || fields.map( ( f ) => f.id );
return (
( {
) }
- { visibleFields.map( ( field ) => (
-
-
- { field.render( {
- item,
- } ) }
-
- |
- ) ) }
+ { columns.map( ( column: string ) => {
+ // Explicits picks the supported styles.
+ const { width, maxWidth, minWidth } =
+ view.layout?.styles?.[ column ] ?? {};
+
+ return (
+
+
+ |
+ );
+ } ) }
{ !! actions?.length && (
// Disable reason: we are not making the element interactive,
// but preventing any click events from bubbling up to the
@@ -459,12 +554,7 @@ function ViewTable< Item >( {
setNextHeaderMenuToFocus( fallback?.node );
};
- const viewFields = view.fields || fields.map( ( f ) => f.id );
- const visibleFields = fields.filter(
- ( field ) =>
- viewFields.includes( field.id ) ||
- [ view.layout?.mediaField ].includes( field.id )
- );
+ const columns = view.fields || fields.map( ( f ) => f.id );
const hasData = !! data?.length;
const primaryField = fields.find(
@@ -486,7 +576,6 @@ function ViewTable< Item >( {
style={ {
width: '1%',
} }
- data-field-id="selection"
scope="col"
>
( {
/>
) }
- { visibleFields.map( ( field, index ) => (
-
- {
- if ( node ) {
- headerMenuRefs.current.set(
- field.id,
- {
- node,
- fallback:
- visibleFields[
- index > 0
- ? index - 1
- : 1
- ]?.id,
- }
- );
- } else {
- headerMenuRefs.current.delete(
- field.id
- );
- }
- } }
- field={ field }
- view={ view }
- fields={ fields }
- onChangeView={ onChangeView }
- onHide={ onHide }
- setOpenedFilter={ setOpenedFilter }
- />
- |
- ) ) }
+ { columns.map( ( column, index ) => {
+ // Explicits picks the supported styles.
+ const { width, maxWidth, minWidth } =
+ view.layout?.styles?.[ column ] ?? {};
+ return (
+
+ {
+ if ( node ) {
+ headerMenuRefs.current.set(
+ column,
+ {
+ node,
+ fallback:
+ columns[
+ index > 0
+ ? index - 1
+ : 1
+ ],
+ }
+ );
+ } else {
+ headerMenuRefs.current.delete(
+ column
+ );
+ }
+ } }
+ fieldId={ column }
+ view={ view }
+ fields={ fields }
+ onChangeView={ onChangeView }
+ onHide={ onHide }
+ setOpenedFilter={ setOpenedFilter }
+ />
+ |
+ );
+ } ) }
{ !! actions?.length && (
-
+ |
{ __( 'Actions' ) }
@@ -564,8 +650,9 @@ function ViewTable< Item >( {
item={ item }
hasBulkActions={ hasBulkActions }
actions={ actions }
+ fields={ fields }
id={ getItemId( item ) || index.toString() }
- visibleFields={ visibleFields }
+ view={ view }
primaryField={ primaryField }
selection={ selection }
getItemId={ getItemId }
diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md
index c3c526d31f93e7..abdd53564ae393 100644
--- a/packages/date/CHANGELOG.md
+++ b/packages/date/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/date/package.json b/packages/date/package.json
index c36acd44eed33a..6f3c0635fd80b2 100644
--- a/packages/date/package.json
+++ b/packages/date/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/date",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 84e4dc94f387c0..7c4e8a2f11fc57 100644
--- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
+++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json
index b0e08b7f4839bb..e6b87c139dfc7f 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.2.0",
+ "version": "6.3.0",
"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 100fcc4c507a5e..99bda5a0ebff78 100644
--- a/packages/deprecated/CHANGELOG.md
+++ b/packages/deprecated/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json
index 14531ff6acd77c..138157708832d4 100644
--- a/packages/deprecated/package.json
+++ b/packages/deprecated/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/deprecated",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 751cfd3c47a9e9..eb49321e39292e 100644
--- a/packages/docgen/CHANGELOG.md
+++ b/packages/docgen/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
### Bug Fixes
- Fix getting param annotations for exported variables assigned to function expressions ([#tbd](https://github.com/WordPress/gutenberg/pull/tbd)).
diff --git a/packages/docgen/package.json b/packages/docgen/package.json
index 9ff54b339c3d1c..1b146ca77e2a9c 100644
--- a/packages/docgen/package.json
+++ b/packages/docgen/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/docgen",
- "version": "2.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/dom-ready/CHANGELOG.md
index e9995262d485a7..1f4eabcc342b1c 100644
--- a/packages/dom-ready/CHANGELOG.md
+++ b/packages/dom-ready/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json
index abf5ed3c6ebd2c..9483e1b505934a 100644
--- a/packages/dom-ready/package.json
+++ b/packages/dom-ready/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom-ready",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 2e4d5f764ebb7c..07693c6749b387 100644
--- a/packages/dom/CHANGELOG.md
+++ b/packages/dom/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/dom/package.json b/packages/dom/package.json
index eb29e016ba3446..b32408660b4aee 100644
--- a/packages/dom/package.json
+++ b/packages/dom/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/dom",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/e2e-test-utils-playwright/CHANGELOG.md
index 98cd05130e0d41..b94ad492dee910 100644
--- a/packages/e2e-test-utils-playwright/CHANGELOG.md
+++ b/packages/e2e-test-utils-playwright/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json
index ec93bd543f5ffd..0c65a81abe9cf2 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.2.0",
+ "version": "1.3.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/CHANGELOG.md b/packages/e2e-test-utils/CHANGELOG.md
index fde3509c494d74..631b79596b3f5b 100644
--- a/packages/e2e-test-utils/CHANGELOG.md
+++ b/packages/e2e-test-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 11.3.0 (2024-07-10)
+
## 11.2.0 (2024-06-26)
## 11.1.0 (2024-06-15)
diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json
index 9d05ec61e413c9..7537a45e59fe51 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.2.0",
+ "version": "11.3.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/CHANGELOG.md b/packages/e2e-tests/CHANGELOG.md
index 59ba849c0c66f6..374df352694ed1 100644
--- a/packages/e2e-tests/CHANGELOG.md
+++ b/packages/e2e-tests/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.3.0 (2024-07-10)
+
## 8.2.0 (2024-06-26)
## 8.1.0 (2024-06-15)
diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json
index d2c58a6e3ff875..825119d324384b 100644
--- a/packages/e2e-tests/package.json
+++ b/packages/e2e-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/e2e-tests",
- "version": "8.2.0",
+ "version": "8.3.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/CHANGELOG.md b/packages/edit-post/CHANGELOG.md
index a34ffb8a1c824b..4106e21a7afa6e 100644
--- a/packages/edit-post/CHANGELOG.md
+++ b/packages/edit-post/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.3.0 (2024-07-10)
+
## 8.2.0 (2024-06-26)
## 8.1.0 (2024-06-15)
diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json
index 603db6cad02a0f..a54d9fb9fa4f39 100644
--- a/packages/edit-post/package.json
+++ b/packages/edit-post/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-post",
- "version": "8.2.0",
+ "version": "8.3.0",
"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 7542e80b68266b..10c2706a8634a5 100644
--- a/packages/edit-site/CHANGELOG.md
+++ b/packages/edit-site/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json
index b2aa60312fe68e..9e7b641aca96e3 100644
--- a/packages/edit-site/package.json
+++ b/packages/edit-site/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-site",
- "version": "6.2.0",
+ "version": "6.3.0",
"description": "Edit Site Page module for WordPress.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-site/src/components/page-patterns/index.js b/packages/edit-site/src/components/page-patterns/index.js
index 41ca9c75ced6fc..6304c89d711fc6 100644
--- a/packages/edit-site/src/components/page-patterns/index.js
+++ b/packages/edit-site/src/components/page-patterns/index.js
@@ -62,6 +62,14 @@ const defaultLayouts = {
[ LAYOUT_TABLE ]: {
layout: {
primaryField: 'title',
+ styles: {
+ preview: {
+ width: '1%',
+ },
+ author: {
+ width: '1%',
+ },
+ },
},
},
[ LAYOUT_GRID ]: {
@@ -169,7 +177,7 @@ function Author( { item, viewType } ) {
const withIcon = viewType !== LAYOUT_LIST;
return (
-
+
{ withIcon && imageUrl && (
),
enableSorting: false,
- width: '1%',
},
{
header: __( 'Title' ),
@@ -335,7 +342,6 @@ export default function DataviewsPatterns() {
filterBy: {
isPrimary: true,
},
- width: '1%',
} );
}
diff --git a/packages/edit-site/src/components/page-templates/index.js b/packages/edit-site/src/components/page-templates/index.js
index 4715c7dd983de7..0e3c725a06f792 100644
--- a/packages/edit-site/src/components/page-templates/index.js
+++ b/packages/edit-site/src/components/page-templates/index.js
@@ -6,12 +6,7 @@ import clsx from 'clsx';
/**
* WordPress dependencies
*/
-import {
- Icon,
- __experimentalText as Text,
- __experimentalHStack as HStack,
- VisuallyHidden,
-} from '@wordpress/components';
+import { Icon, __experimentalHStack as HStack } from '@wordpress/components';
import { __ } from '@wordpress/i18n';
import { useState, useMemo, useCallback, useEffect } from '@wordpress/element';
import { useEntityRecords } from '@wordpress/core-data';
@@ -56,11 +51,34 @@ const EMPTY_ARRAY = [];
const defaultLayouts = {
[ LAYOUT_TABLE ]: {
+ fields: [ 'template', 'author' ],
layout: {
primaryField: 'title',
+ combinedFields: [
+ {
+ id: 'template',
+ header: __( 'Template' ),
+ children: [ 'title', 'description' ],
+ direction: 'vertical',
+ },
+ ],
+ styles: {
+ template: {
+ maxWidth: 400,
+ minWidth: 320,
+ },
+ preview: {
+ minWidth: 120,
+ maxWidth: 120,
+ },
+ author: {
+ width: '1%',
+ },
+ },
},
},
[ LAYOUT_GRID ]: {
+ fields: [ 'title', 'description', 'author' ],
layout: {
mediaField: 'preview',
primaryField: 'title',
@@ -68,6 +86,7 @@ const defaultLayouts = {
},
},
[ LAYOUT_LIST ]: {
+ fields: [ 'title', 'description', 'author' ],
layout: {
primaryField: 'title',
mediaField: 'preview',
@@ -84,7 +103,7 @@ const DEFAULT_VIEW = {
field: 'title',
direction: 'asc',
},
- fields: [ 'title', 'description', 'author' ],
+ fields: defaultLayouts[ LAYOUT_GRID ].fields,
layout: defaultLayouts[ LAYOUT_GRID ].layout,
filters: [],
};
@@ -107,14 +126,13 @@ function Title( { item, viewType } ) {
);
}
-function AuthorField( { item, viewType } ) {
+function AuthorField( { item } ) {
const [ isImageLoaded, setIsImageLoaded ] = useState( false );
const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
- const withIcon = viewType !== LAYOUT_LIST;
return (
-
- { withIcon && imageUrl && (
+
+ { imageUrl && (
) }
- { withIcon && ! imageUrl && (
+ { ! imageUrl && (
@@ -199,6 +217,7 @@ export default function PageTemplates() {
...DEFAULT_VIEW,
type: usedType,
layout: defaultLayouts[ usedType ].layout,
+ fields: defaultLayouts[ usedType ].fields,
filters:
activeView !== 'all'
? [
@@ -270,8 +289,6 @@ export default function PageTemplates() {
render: ( { item } ) => {
return ;
},
- minWidth: 120,
- maxWidth: 120,
enableSorting: false,
},
{
@@ -281,7 +298,6 @@ export default function PageTemplates() {
render: ( { item } ) => (
),
- maxWidth: 400,
enableHiding: false,
enableGlobalSearch: true,
},
@@ -289,25 +305,14 @@ export default function PageTemplates() {
header: __( 'Description' ),
id: 'description',
render: ( { item } ) => {
- return item.description ? (
-
- { decodeEntities( item.description ) }
-
- ) : (
- view.type === LAYOUT_TABLE && (
- <>
-
- —
-
-
- { __( 'No description.' ) }
-
- >
+ return (
+ item.description && (
+
+ { decodeEntities( item.description ) }
+
)
);
},
- maxWidth: 400,
- minWidth: 320,
enableSorting: false,
enableGlobalSearch: true,
},
@@ -319,7 +324,6 @@ export default function PageTemplates() {
return ;
},
elements: authors,
- width: '1%',
},
],
[ authors, view.type ]
diff --git a/packages/edit-site/src/components/page-templates/style.scss b/packages/edit-site/src/components/page-templates/style.scss
index eb4f7430b24e54..dea5b8aac833a1 100644
--- a/packages/edit-site/src/components/page-templates/style.scss
+++ b/packages/edit-site/src/components/page-templates/style.scss
@@ -67,12 +67,12 @@
width: $grid-unit-30;
height: $grid-unit-30;
align-items: center;
- justify-content: center;
+ justify-content: left;
display: flex;
img {
- width: 20px;
- height: 20px;
+ width: $grid-unit-20;
+ height: $grid-unit-20;
object-fit: cover;
opacity: 0;
transition: opacity 0.1s linear;
@@ -94,6 +94,7 @@
height: $grid-unit-30;
svg {
+ margin-left: -$grid-unit-05;
fill: currentColor;
}
}
diff --git a/packages/edit-site/src/components/posts-app/posts-list.js b/packages/edit-site/src/components/posts-app/posts-list.js
index 1eb8b4c77655c5..d680f3abbf39d3 100644
--- a/packages/edit-site/src/components/posts-app/posts-list.js
+++ b/packages/edit-site/src/components/posts-app/posts-list.js
@@ -62,6 +62,24 @@ import { usePrevious } from '@wordpress/compose';
const { usePostActions } = unlock( editorPrivateApis );
const { useLocation, useHistory } = unlock( routerPrivateApis );
const EMPTY_ARRAY = [];
+const defaultLayouts = {
+ [ LAYOUT_TABLE ]: {
+ layout: {
+ 'featured-image': {
+ width: '1%',
+ },
+ title: {
+ maxWidth: 300,
+ },
+ },
+ },
+ [ LAYOUT_GRID ]: {
+ layout: {},
+ },
+ [ LAYOUT_LIST ]: {
+ layout: {},
+ },
+};
const getFormattedDate = ( dateToDisplay ) =>
dateI18n(
@@ -230,7 +248,7 @@ function PostStatusField( { item } ) {
const label = status?.label || item.status;
const icon = status?.icon;
return (
-
+
{ icon && (
@@ -241,26 +259,22 @@ function PostStatusField( { item } ) {
);
}
-function PostAuthorField( { item, viewType } ) {
- const { text, icon, imageUrl } = useSelect(
+function PostAuthorField( { item } ) {
+ const { text, imageUrl } = useSelect(
( select ) => {
const { getUser } = select( coreStore );
const user = getUser( item.author );
return {
- icon: authorIcon,
imageUrl: user?.avatar_urls?.[ 48 ],
text: user?.name,
};
},
[ item ]
);
-
- const withAuthorImage = viewType !== LAYOUT_LIST && imageUrl;
- const withAuthorIcon = viewType !== LAYOUT_LIST && ! imageUrl;
const [ isImageLoaded, setIsImageLoaded ] = useState( false );
return (
-
- { withAuthorImage && (
+
+ { !! imageUrl && (
) }
- { withAuthorIcon && (
+ { ! imageUrl && (
-
+
) }
{ text }
@@ -405,7 +419,6 @@ export default function PostsList( { postType } ) {
),
enableSorting: false,
- width: '1%',
},
{
header: __( 'Title' ),
@@ -459,7 +472,6 @@ export default function PostsList( { postType } ) {
);
},
- maxWidth: 300,
enableHiding: false,
},
{
@@ -471,11 +483,7 @@ export default function PostsList( { postType } ) {
value: id,
label: name,
} ) ) || [],
- render: ( { item } ) => {
- return (
-
- );
- },
+ render: PostAuthorField,
},
{
header: __( 'Status' ),
@@ -645,6 +653,7 @@ export default function PostsList( { postType } ) {
setSelection={ setSelection }
onSelectionChange={ onSelectionChange }
getItemId={ getItemId }
+ defaultLayouts={ defaultLayouts }
/>
);
diff --git a/packages/edit-site/src/components/posts-app/style.scss b/packages/edit-site/src/components/posts-app/style.scss
index e7b262fed3bf90..9a86887c01e32a 100644
--- a/packages/edit-site/src/components/posts-app/style.scss
+++ b/packages/edit-site/src/components/posts-app/style.scss
@@ -76,7 +76,9 @@
.posts-list-page-post-author-field__icon-container {
height: $grid-unit-30;
+ width: $grid-unit-30;
svg {
fill: currentColor;
+ margin-left: -$grid-unit-05;
}
}
diff --git a/packages/edit-widgets/CHANGELOG.md b/packages/edit-widgets/CHANGELOG.md
index 3d149c99982bbe..9eb8a706907639 100644
--- a/packages/edit-widgets/CHANGELOG.md
+++ b/packages/edit-widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json
index e9634d51b7f41c..f3db642de980ea 100644
--- a/packages/edit-widgets/package.json
+++ b/packages/edit-widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/edit-widgets",
- "version": "6.2.0",
+ "version": "6.3.0",
"description": "Widgets Page module for WordPress..",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js b/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js
index 55704bfc7680ff..c28dfd8c9ba70f 100644
--- a/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js
+++ b/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js
@@ -30,6 +30,8 @@ const { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );
const { PatternsMenuItems } = unlock( editPatternsPrivateApis );
const { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );
+const EMPTY_ARRAY = [];
+
export default function WidgetAreasBlockEditorProvider( {
blockEditorSettings,
children,
@@ -54,7 +56,7 @@ export default function WidgetAreasBlockEditorProvider( {
widgets: select( editWidgetsStore ).getWidgets(),
reusableBlocks: ALLOW_REUSABLE_BLOCKS
? getEntityRecords( 'postType', 'wp_block' )
- : [],
+ : EMPTY_ARRAY,
isFixedToolbarActive: !! select( preferencesStore ).get(
'core/edit-widgets',
'fixedToolbar'
diff --git a/packages/edit-widgets/src/store/selectors.js b/packages/edit-widgets/src/store/selectors.js
index b7a07000ec84b0..204c75e2daefbb 100644
--- a/packages/edit-widgets/src/store/selectors.js
+++ b/packages/edit-widgets/src/store/selectors.js
@@ -1,7 +1,7 @@
/**
* WordPress dependencies
*/
-import { createRegistrySelector } from '@wordpress/data';
+import { createSelector, createRegistrySelector } from '@wordpress/data';
import { getWidgetIdFromBlock } from '@wordpress/widgets';
import { store as coreStore } from '@wordpress/core-data';
import { store as blockEditorStore } from '@wordpress/block-editor';
@@ -29,24 +29,35 @@ const EMPTY_INSERTION_POINT = {
*
* @return {Object[]} API List of widgets.
*/
-export const getWidgets = createRegistrySelector( ( select ) => () => {
- const widgets = select( coreStore ).getEntityRecords(
- 'root',
- 'widget',
- buildWidgetsQuery()
- );
+export const getWidgets = createRegistrySelector( ( select ) =>
+ createSelector(
+ () => {
+ const widgets = select( coreStore ).getEntityRecords(
+ 'root',
+ 'widget',
+ buildWidgetsQuery()
+ );
- return (
- // Key widgets by their ID.
- widgets?.reduce(
- ( allWidgets, widget ) => ( {
- ...allWidgets,
- [ widget.id ]: widget,
- } ),
- {}
- ) || {}
- );
-} );
+ return (
+ // Key widgets by their ID.
+ widgets?.reduce(
+ ( allWidgets, widget ) => ( {
+ ...allWidgets,
+ [ widget.id ]: widget,
+ } ),
+ {}
+ ) ?? {}
+ );
+ },
+ () => [
+ select( coreStore ).getEntityRecords(
+ 'root',
+ 'widget',
+ buildWidgetsQuery()
+ ),
+ ]
+ )
+);
/**
* Returns API widget data for a particular widget ID.
diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md
index c39a194f0eb8ee..ce2dca762099c2 100644
--- a/packages/editor/CHANGELOG.md
+++ b/packages/editor/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 14.3.0 (2024-07-10)
+
## 14.2.0 (2024-06-26)
## 14.1.0 (2024-06-15)
diff --git a/packages/editor/package.json b/packages/editor/package.json
index bdda258d1453fd..6ecc00e5dccc3f 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/editor",
- "version": "14.2.0",
+ "version": "14.3.0",
"description": "Enhanced block editor for WordPress posts.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/editor/src/dataviews/actions/delete-post.tsx b/packages/editor/src/dataviews/actions/delete-post.tsx
index e6af8e963d5878..381c2964f943f6 100644
--- a/packages/editor/src/dataviews/actions/delete-post.tsx
+++ b/packages/editor/src/dataviews/actions/delete-post.tsx
@@ -78,6 +78,7 @@ const deletePostAction: Action< Post > = {
onClick={ closeModal }
disabled={ isBusy }
accessibleWhenDisabled
+ __next40pxDefaultSize
>
{ __( 'Cancel' ) }
@@ -95,6 +96,7 @@ const deletePostAction: Action< Post > = {
isBusy={ isBusy }
disabled={ isBusy }
accessibleWhenDisabled
+ __next40pxDefaultSize
>
{ __( 'Delete' ) }
diff --git a/packages/element/CHANGELOG.md b/packages/element/CHANGELOG.md
index 1409fbaab20365..9ee55cb98022ef 100644
--- a/packages/element/CHANGELOG.md
+++ b/packages/element/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/element/package.json b/packages/element/package.json
index 95b8e52c2b0262..62a4d91692c545 100644
--- a/packages/element/package.json
+++ b/packages/element/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/element",
- "version": "6.2.0",
+ "version": "6.3.0",
"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 0af44423a77811..25e554a1bec097 100644
--- a/packages/env/CHANGELOG.md
+++ b/packages/env/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.3.0 (2024-07-10)
+
### Bug Fixes
- Remove `version` field from docker-compose config generated by env package [#63099](https://github.com/WordPress/gutenberg/pull/63099). Docker has starting throwing a warning that this property is obsolete and should be removed.
diff --git a/packages/env/package.json b/packages/env/package.json
index 5a6b162be7dd6f..90c434bdc9e29c 100644
--- a/packages/env/package.json
+++ b/packages/env/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/env",
- "version": "10.2.0",
+ "version": "10.3.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/CHANGELOG.md b/packages/escape-html/CHANGELOG.md
index 616bf95d13252d..913c0d566911a6 100644
--- a/packages/escape-html/CHANGELOG.md
+++ b/packages/escape-html/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/escape-html/package.json b/packages/escape-html/package.json
index 8079837dc87615..d10551ea3b58dc 100644
--- a/packages/escape-html/package.json
+++ b/packages/escape-html/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/escape-html",
- "version": "3.2.0",
+ "version": "3.3.0",
"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 53bcb36e55bc33..02f7c559d8e49a 100644
--- a/packages/eslint-plugin/CHANGELOG.md
+++ b/packages/eslint-plugin/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 20.0.0 (2024-07-10)
+
### Breaking Changes
- Add [`@typescript-eslint/no-unused-vars` rule](https://typescript-eslint.io/rules/no-unused-vars) to the recommended TypeScript ruleset ([#62925](https://github.com/WordPress/gutenberg/pull/62925)).
- Add [`@typescript-eslint/method-signature-style` rule](https://typescript-eslint.io/rules/method-signature-style) to the recommended TypeScript ruleset ([#62718](https://github.com/WordPress/gutenberg/pull/62718)).
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index f43b29a74b1d57..166754c8b755ce 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/eslint-plugin",
- "version": "19.2.0",
+ "version": "20.0.0",
"description": "ESLint plugin for WordPress development.",
"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 5ae1b76b46cf3d..27eb96102391cc 100644
--- a/packages/format-library/CHANGELOG.md
+++ b/packages/format-library/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/format-library/package.json b/packages/format-library/package.json
index ac20b8ca0dd323..11e27b3c1859e8 100644
--- a/packages/format-library/package.json
+++ b/packages/format-library/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/format-library",
- "version": "5.2.0",
+ "version": "5.3.0",
"description": "Format library for the WordPress editor.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/format-library/src/link/style.scss b/packages/format-library/src/link/style.scss
index 05f8f5a40668e4..05eb576fe26e27 100644
--- a/packages/format-library/src/link/style.scss
+++ b/packages/format-library/src/link/style.scss
@@ -1,5 +1,6 @@
.block-editor-format-toolbar__link-container-content {
display: flex;
+ align-items: center;
}
.block-editor-format-toolbar__link-container-value {
diff --git a/packages/hooks/CHANGELOG.md b/packages/hooks/CHANGELOG.md
index 44d39aaef35271..a72477e2adf785 100644
--- a/packages/hooks/CHANGELOG.md
+++ b/packages/hooks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index d84718d270d788..28e6b3d1bf879c 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/hooks",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 27514cd6de1a4a..6f159133f409e0 100644
--- a/packages/html-entities/CHANGELOG.md
+++ b/packages/html-entities/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/html-entities/package.json b/packages/html-entities/package.json
index 3f30a2f1e3021e..858bfd949ba8b9 100644
--- a/packages/html-entities/package.json
+++ b/packages/html-entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/html-entities",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 b7a04331c0bea4..53c52849eef2c4 100644
--- a/packages/i18n/CHANGELOG.md
+++ b/packages/i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 6830316da4433e..b2196f9a519aaf 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/i18n",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 5f5c1da448a871..b3de660c72f1df 100644
--- a/packages/icons/CHANGELOG.md
+++ b/packages/icons/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 10.3.0 (2024-07-10)
+
## 10.2.0 (2024-06-26)
## 10.1.0 (2024-06-15)
diff --git a/packages/icons/package.json b/packages/icons/package.json
index a155cbc50dec63..0bd6fd92b543c7 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/icons",
- "version": "10.2.0",
+ "version": "10.3.0",
"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 dafeefeb8eb35e..21d37aa10323f4 100644
--- a/packages/interactivity-router/CHANGELOG.md
+++ b/packages/interactivity-router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/interactivity-router/package.json b/packages/interactivity-router/package.json
index 2e4197a2e480a5..e0f940170a3c5a 100644
--- a/packages/interactivity-router/package.json
+++ b/packages/interactivity-router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity-router",
- "version": "2.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/interactivity/CHANGELOG.md
index 139fa562f058d4..a8a5a5cd4c78bd 100644
--- a/packages/interactivity/CHANGELOG.md
+++ b/packages/interactivity/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
### Enhancements
diff --git a/packages/interactivity/package.json b/packages/interactivity/package.json
index 2ef6c241bf2044..6e903400f4c9fc 100644
--- a/packages/interactivity/package.json
+++ b/packages/interactivity/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interactivity",
- "version": "6.2.0",
+ "version": "6.3.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/CHANGELOG.md b/packages/interface/CHANGELOG.md
index 9d3b1a8e523108..2ae331b934f239 100644
--- a/packages/interface/CHANGELOG.md
+++ b/packages/interface/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/interface/package.json b/packages/interface/package.json
index 070a0aa9a46c0a..949b67d41d1772 100644
--- a/packages/interface/package.json
+++ b/packages/interface/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/interface",
- "version": "6.2.0",
+ "version": "6.3.0",
"description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/packages/is-shallow-equal/CHANGELOG.md b/packages/is-shallow-equal/CHANGELOG.md
index e9bde69a947dfb..9ecfd8a34f18a2 100644
--- a/packages/is-shallow-equal/CHANGELOG.md
+++ b/packages/is-shallow-equal/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/is-shallow-equal/package.json b/packages/is-shallow-equal/package.json
index 5410b081cd1e46..cf089d25a47606 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/jest-console/CHANGELOG.md
index d7a42bcdfba888..e1b003526d0a6c 100644
--- a/packages/jest-console/CHANGELOG.md
+++ b/packages/jest-console/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 8.3.0 (2024-07-10)
+
## 8.2.0 (2024-06-26)
## 8.1.0 (2024-06-15)
diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json
index 325d64b0b22518..76b8a336006897 100644
--- a/packages/jest-console/package.json
+++ b/packages/jest-console/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/jest-console",
- "version": "8.2.0",
+ "version": "8.3.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/CHANGELOG.md b/packages/jest-preset-default/CHANGELOG.md
index 79734794bfa746..0e5e91bc8f657e 100644
--- a/packages/jest-preset-default/CHANGELOG.md
+++ b/packages/jest-preset-default/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 12.3.0 (2024-07-10)
+
## 12.2.0 (2024-06-26)
## 12.1.0 (2024-06-15)
diff --git a/packages/jest-preset-default/package.json b/packages/jest-preset-default/package.json
index 973d6c0cff49a3..9afd0cfe661e24 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.2.0",
+ "version": "12.3.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/CHANGELOG.md b/packages/jest-puppeteer-axe/CHANGELOG.md
index 99d94318e961a2..c896ec074ddefd 100644
--- a/packages/jest-puppeteer-axe/CHANGELOG.md
+++ b/packages/jest-puppeteer-axe/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
## 7.2.0 (2024-06-26)
## 7.1.0 (2024-06-15)
diff --git a/packages/jest-puppeteer-axe/package.json b/packages/jest-puppeteer-axe/package.json
index 03e03c65eae1d2..abb22fe7cf0159 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.2.0",
+ "version": "7.3.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/CHANGELOG.md b/packages/keyboard-shortcuts/CHANGELOG.md
index 96f140f07a57e7..8e521528486c44 100644
--- a/packages/keyboard-shortcuts/CHANGELOG.md
+++ b/packages/keyboard-shortcuts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json
index 37dbea2281efcd..5e291239c0b016 100644
--- a/packages/keyboard-shortcuts/package.json
+++ b/packages/keyboard-shortcuts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keyboard-shortcuts",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 cb85849aecbfb6..fe4fdb6d428790 100644
--- a/packages/keycodes/CHANGELOG.md
+++ b/packages/keycodes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/keycodes/package.json b/packages/keycodes/package.json
index b2d7dff90758d2..805472edec6fa6 100644
--- a/packages/keycodes/package.json
+++ b/packages/keycodes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/keycodes",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/lazy-import/CHANGELOG.md
index c471087d8b214f..03b8020041d139 100644
--- a/packages/lazy-import/CHANGELOG.md
+++ b/packages/lazy-import/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/lazy-import/package.json b/packages/lazy-import/package.json
index e54740b979774c..e3d5765e3e2454 100644
--- a/packages/lazy-import/package.json
+++ b/packages/lazy-import/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/lazy-import",
- "version": "2.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/list-reusable-blocks/CHANGELOG.md
index 538bc0a82813f8..3261381bf62f28 100644
--- a/packages/list-reusable-blocks/CHANGELOG.md
+++ b/packages/list-reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/list-reusable-blocks/package.json b/packages/list-reusable-blocks/package.json
index 69731f55f86b2f..8295c1f955a433 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/media-utils/CHANGELOG.md
index 9eae3e8dcc74cd..410e5199cc74a9 100644
--- a/packages/media-utils/CHANGELOG.md
+++ b/packages/media-utils/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/media-utils/package.json b/packages/media-utils/package.json
index efe17f01c7875d..24f1fc3df8ccd7 100644
--- a/packages/media-utils/package.json
+++ b/packages/media-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/media-utils",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 41f87112b42858..1dbe1fb9431202 100644
--- a/packages/notices/CHANGELOG.md
+++ b/packages/notices/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/notices/package.json b/packages/notices/package.json
index 922e8d5eaeb3e0..31c7bcc4ad848e 100644
--- a/packages/notices/package.json
+++ b/packages/notices/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/notices",
- "version": "5.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/npm-package-json-lint-config/CHANGELOG.md
index a5fc41fa22cdac..727828442cc362 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.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/npm-package-json-lint-config/package.json b/packages/npm-package-json-lint-config/package.json
index c96b85d998bbd0..851896019c7393 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.2.0",
+ "version": "5.3.0",
"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 9596f52275a509..1e54a52b7dce2d 100644
--- a/packages/nux/CHANGELOG.md
+++ b/packages/nux/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 9.3.0 (2024-07-10)
+
## 9.2.0 (2024-06-26)
## 9.1.0 (2024-06-15)
diff --git a/packages/nux/package.json b/packages/nux/package.json
index 61501ed716abe5..be907acc797cd5 100644
--- a/packages/nux/package.json
+++ b/packages/nux/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/nux",
- "version": "9.2.0",
+ "version": "9.3.0",
"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 7c627bc99fb7ba..c8eeedd7ae99cc 100644
--- a/packages/patterns/CHANGELOG.md
+++ b/packages/patterns/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/patterns/package.json b/packages/patterns/package.json
index 560e09c940e648..fceb55f0e79149 100644
--- a/packages/patterns/package.json
+++ b/packages/patterns/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/patterns",
- "version": "2.2.0",
+ "version": "2.3.0",
"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 a15b1b0b29e4f7..2d3de5542433e2 100644
--- a/packages/plugins/CHANGELOG.md
+++ b/packages/plugins/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
## 7.2.0 (2024-06-26)
## 7.1.0 (2024-06-15)
diff --git a/packages/plugins/package.json b/packages/plugins/package.json
index 7e7c7afcbd839a..53be8700309eb5 100644
--- a/packages/plugins/package.json
+++ b/packages/plugins/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/plugins",
- "version": "7.2.0",
+ "version": "7.3.0",
"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 a66b36b2064453..4e5b1b682cd701 100644
--- a/packages/postcss-plugins-preset/CHANGELOG.md
+++ b/packages/postcss-plugins-preset/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/postcss-plugins-preset/package.json b/packages/postcss-plugins-preset/package.json
index 24afb5c0f131b0..897377b815d521 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/postcss-themes/CHANGELOG.md
index a4a2ffb23d54ee..430ecbf6778c1c 100644
--- a/packages/postcss-themes/CHANGELOG.md
+++ b/packages/postcss-themes/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/postcss-themes/package.json b/packages/postcss-themes/package.json
index 139c8515ec7962..d8f3ec25bbbc77 100644
--- a/packages/postcss-themes/package.json
+++ b/packages/postcss-themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/postcss-themes",
- "version": "6.2.0",
+ "version": "6.3.0",
"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 a04cb3eb405a31..9bce8d892a7d41 100644
--- a/packages/preferences-persistence/CHANGELOG.md
+++ b/packages/preferences-persistence/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/preferences-persistence/package.json b/packages/preferences-persistence/package.json
index 181dbb5ae4e4f7..8c7c3cc2a3d60f 100644
--- a/packages/preferences-persistence/package.json
+++ b/packages/preferences-persistence/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences-persistence",
- "version": "2.2.0",
+ "version": "2.3.0",
"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 8d56a835c66d09..8e11437def8997 100644
--- a/packages/preferences/CHANGELOG.md
+++ b/packages/preferences/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/preferences/package.json b/packages/preferences/package.json
index aa807b9e15d3c5..ca0deefdbefb9d 100644
--- a/packages/preferences/package.json
+++ b/packages/preferences/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/preferences",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 a003a3232de44c..b662a6ea503b2d 100644
--- a/packages/prettier-config/CHANGELOG.md
+++ b/packages/prettier-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json
index 9665edd0776942..8e99f3a9a01167 100644
--- a/packages/prettier-config/package.json
+++ b/packages/prettier-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/prettier-config",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 fdc4faf852621d..a6788510a4cfdb 100644
--- a/packages/primitives/CHANGELOG.md
+++ b/packages/primitives/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/primitives/package.json b/packages/primitives/package.json
index 8af0e925605ee0..ed107037c8f68b 100644
--- a/packages/primitives/package.json
+++ b/packages/primitives/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/primitives",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 eabd78e7e5ad03..22527196f17c89 100644
--- a/packages/priority-queue/CHANGELOG.md
+++ b/packages/priority-queue/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/priority-queue/package.json b/packages/priority-queue/package.json
index 8de52265595bf5..b342733a8a3a0f 100644
--- a/packages/priority-queue/package.json
+++ b/packages/priority-queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/priority-queue",
- "version": "3.2.0",
+ "version": "3.3.0",
"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 70142127ff5c69..76ba0b52193e63 100644
--- a/packages/private-apis/CHANGELOG.md
+++ b/packages/private-apis/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/private-apis/package.json b/packages/private-apis/package.json
index b03e13b5165c36..de43e8aed09ebc 100644
--- a/packages/private-apis/package.json
+++ b/packages/private-apis/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/private-apis",
- "version": "1.2.0",
+ "version": "1.3.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/CHANGELOG.md b/packages/project-management-automation/CHANGELOG.md
index c446b48e41933a..2430748099fe1f 100644
--- a/packages/project-management-automation/CHANGELOG.md
+++ b/packages/project-management-automation/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
### Internal
diff --git a/packages/project-management-automation/package.json b/packages/project-management-automation/package.json
index de1ed83fcf587e..09319250c968d2 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.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/react-i18n/CHANGELOG.md
index 67a0fa62b6e38e..f50cefd3e3d82a 100644
--- a/packages/react-i18n/CHANGELOG.md
+++ b/packages/react-i18n/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/react-i18n/package.json b/packages/react-i18n/package.json
index 7cc9c60e0d2578..9f9af3992222fd 100644
--- a/packages/react-i18n/package.json
+++ b/packages/react-i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/react-i18n",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/readable-js-assets-webpack-plugin/CHANGELOG.md
index 0a1f754e9af208..b3c42bac7b5839 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.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/readable-js-assets-webpack-plugin/package.json b/packages/readable-js-assets-webpack-plugin/package.json
index a5a889eb81fa52..aa8a7dacb6cedf 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.2.0",
+ "version": "3.3.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/CHANGELOG.md b/packages/redux-routine/CHANGELOG.md
index 82bcf42b401529..adb0f764f5ed12 100644
--- a/packages/redux-routine/CHANGELOG.md
+++ b/packages/redux-routine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/redux-routine/package.json b/packages/redux-routine/package.json
index a9af0f63619d6b..489c9ff75f72d4 100644
--- a/packages/redux-routine/package.json
+++ b/packages/redux-routine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/redux-routine",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 d8a826950ca489..0f460be3226b7a 100644
--- a/packages/reusable-blocks/CHANGELOG.md
+++ b/packages/reusable-blocks/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/reusable-blocks/package.json b/packages/reusable-blocks/package.json
index 86a5c27a582bcd..756de894fa31eb 100644
--- a/packages/reusable-blocks/package.json
+++ b/packages/reusable-blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/reusable-blocks",
- "version": "5.2.0",
+ "version": "5.3.0",
"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 9ccecf6b5d9941..af5b2270d5aacc 100644
--- a/packages/rich-text/CHANGELOG.md
+++ b/packages/rich-text/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 7.3.0 (2024-07-10)
+
## 7.2.0 (2024-06-26)
## 7.1.0 (2024-06-15)
diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json
index 612644052dec22..13d5404786ea2e 100644
--- a/packages/rich-text/package.json
+++ b/packages/rich-text/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/rich-text",
- "version": "7.2.0",
+ "version": "7.3.0",
"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 77cf1361356a15..a8b6881e1e4b1e 100644
--- a/packages/router/CHANGELOG.md
+++ b/packages/router/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/router/package.json b/packages/router/package.json
index 30f5ab5f1e353f..8df816f9dabdcb 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/router",
- "version": "1.2.0",
+ "version": "1.3.0",
"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 bef9d4713dae30..4c1d8fa0d1ef32 100644
--- a/packages/scripts/CHANGELOG.md
+++ b/packages/scripts/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 28.3.0 (2024-07-10)
+
## 28.2.0 (2024-06-26)
## 28.1.0 (2024-06-15)
diff --git a/packages/scripts/package.json b/packages/scripts/package.json
index b2eb09328acd33..b0a9eb957983c9 100644
--- a/packages/scripts/package.json
+++ b/packages/scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/scripts",
- "version": "28.2.0",
+ "version": "28.3.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/CHANGELOG.md b/packages/server-side-render/CHANGELOG.md
index ec8e3fa605ad6d..c54d277fc4ab43 100644
--- a/packages/server-side-render/CHANGELOG.md
+++ b/packages/server-side-render/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 5.3.0 (2024-07-10)
+
## 5.2.0 (2024-06-26)
## 5.1.0 (2024-06-15)
diff --git a/packages/server-side-render/package.json b/packages/server-side-render/package.json
index 190ae3ecf15620..add2de979fa33f 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.2.0",
+ "version": "5.3.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/CHANGELOG.md b/packages/shortcode/CHANGELOG.md
index 3db0df4e6eb11c..abcd556a134ab8 100644
--- a/packages/shortcode/CHANGELOG.md
+++ b/packages/shortcode/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/shortcode/package.json b/packages/shortcode/package.json
index 38d5be36d98b6e..3e3899472bc9af 100644
--- a/packages/shortcode/package.json
+++ b/packages/shortcode/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/shortcode",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 bbcbb8ebd91c19..301583e4907314 100644
--- a/packages/style-engine/CHANGELOG.md
+++ b/packages/style-engine/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 2.3.0 (2024-07-10)
+
## 2.2.0 (2024-06-26)
## 2.1.0 (2024-06-15)
diff --git a/packages/style-engine/package.json b/packages/style-engine/package.json
index dab2e7fc3ec793..5840efb5829871 100644
--- a/packages/style-engine/package.json
+++ b/packages/style-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/style-engine",
- "version": "2.2.0",
+ "version": "2.3.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/CHANGELOG.md b/packages/stylelint-config/CHANGELOG.md
index 03fb47e0c80647..8c09b44c83e4b6 100644
--- a/packages/stylelint-config/CHANGELOG.md
+++ b/packages/stylelint-config/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 22.3.0 (2024-07-10)
+
## 22.2.0 (2024-06-26)
## 22.1.0 (2024-06-15)
diff --git a/packages/stylelint-config/package.json b/packages/stylelint-config/package.json
index ee83327d497264..16ae6b73089e0e 100644
--- a/packages/stylelint-config/package.json
+++ b/packages/stylelint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/stylelint-config",
- "version": "22.2.0",
+ "version": "22.3.0",
"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 01e72f266c729a..a862528c378168 100644
--- a/packages/sync/CHANGELOG.md
+++ b/packages/sync/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/sync/package.json b/packages/sync/package.json
index 1fde6f22c795f0..5e9309d4438387 100644
--- a/packages/sync/package.json
+++ b/packages/sync/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/sync",
- "version": "1.2.0",
+ "version": "1.3.0",
"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 1ed665bdd66601..c97123b4d1b9aa 100644
--- a/packages/token-list/CHANGELOG.md
+++ b/packages/token-list/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/token-list/package.json b/packages/token-list/package.json
index c90710a7d0310d..74c2703f2cf970 100644
--- a/packages/token-list/package.json
+++ b/packages/token-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/token-list",
- "version": "3.2.0",
+ "version": "3.3.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/CHANGELOG.md b/packages/undo-manager/CHANGELOG.md
index 9cd57a1a45e509..f60460fbadb469 100644
--- a/packages/undo-manager/CHANGELOG.md
+++ b/packages/undo-manager/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 1.3.0 (2024-07-10)
+
## 1.2.0 (2024-06-26)
## 1.1.0 (2024-06-15)
diff --git a/packages/undo-manager/package.json b/packages/undo-manager/package.json
index a3c64e3d8a28d3..408a29486064bd 100644
--- a/packages/undo-manager/package.json
+++ b/packages/undo-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/undo-manager",
- "version": "1.2.0",
+ "version": "1.3.0",
"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 8e18247f0abea9..b8be3e4a165c5d 100644
--- a/packages/url/CHANGELOG.md
+++ b/packages/url/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/url/package.json b/packages/url/package.json
index b1f404f8fa938e..0a811e11ec8d98 100644
--- a/packages/url/package.json
+++ b/packages/url/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/url",
- "version": "4.2.0",
+ "version": "4.3.0",
"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 c45d93cf957a98..4edb8b45b7131d 100644
--- a/packages/viewport/CHANGELOG.md
+++ b/packages/viewport/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 6.3.0 (2024-07-10)
+
## 6.2.0 (2024-06-26)
## 6.1.0 (2024-06-15)
diff --git a/packages/viewport/package.json b/packages/viewport/package.json
index 64850d419d0780..f40e83f6544012 100644
--- a/packages/viewport/package.json
+++ b/packages/viewport/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/viewport",
- "version": "6.2.0",
+ "version": "6.3.0",
"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 a095d017f105d4..b9b7baf8ed897f 100644
--- a/packages/warning/CHANGELOG.md
+++ b/packages/warning/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 3.3.0 (2024-07-10)
+
## 3.2.0 (2024-06-26)
## 3.1.0 (2024-06-15)
diff --git a/packages/warning/package.json b/packages/warning/package.json
index 17c4cfaf5e5f34..1caf69bbf80d08 100644
--- a/packages/warning/package.json
+++ b/packages/warning/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/warning",
- "version": "3.2.0",
+ "version": "3.3.0",
"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 59c8aa78ad477a..4da550eb86f262 100644
--- a/packages/widgets/CHANGELOG.md
+++ b/packages/widgets/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index e70e6e689ee4da..0175fce56c12f0 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/widgets",
- "version": "4.2.0",
+ "version": "4.3.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/CHANGELOG.md b/packages/wordcount/CHANGELOG.md
index faa99087917e7d..4cdc465b01b221 100644
--- a/packages/wordcount/CHANGELOG.md
+++ b/packages/wordcount/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+## 4.3.0 (2024-07-10)
+
## 4.2.0 (2024-06-26)
## 4.1.0 (2024-06-15)
diff --git a/packages/wordcount/package.json b/packages/wordcount/package.json
index bea7e4816a76e8..012d480d97f9ce 100644
--- a/packages/wordcount/package.json
+++ b/packages/wordcount/package.json
@@ -1,6 +1,6 @@
{
"name": "@wordpress/wordcount",
- "version": "4.2.0",
+ "version": "4.3.0",
"description": "WordPress word count utility.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
diff --git a/test/e2e/specs/site-editor/new-templates-list.spec.js b/test/e2e/specs/site-editor/new-templates-list.spec.js
index 7273e3169db34e..92edc741011834 100644
--- a/test/e2e/specs/site-editor/new-templates-list.spec.js
+++ b/test/e2e/specs/site-editor/new-templates-list.spec.js
@@ -89,11 +89,11 @@ test.describe( 'Templates', () => {
await page.getByRole( 'button', { name: 'Layout' } ).click();
await page.getByRole( 'menuitemradio', { name: 'Table' } ).click();
- await page.getByRole( 'button', { name: 'Description' } ).click();
+ await page.getByRole( 'button', { name: 'Author' } ).click();
await page.getByRole( 'menuitem', { name: 'Hide' } ).click();
await expect(
- page.getByRole( 'button', { name: 'Description' } )
+ page.getByRole( 'button', { name: 'Author' } )
).toBeHidden();
} );
} );
|