diff --git a/.eslintrc.js b/.eslintrc.js index 6626a55a762d1..402c16ec5c80f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -116,9 +116,15 @@ const restrictedSyntax = [ }, { selector: - 'CallExpression[callee.name=/^(__|_x|_n|_nx)$/] > Literal[value=/^toggle\\b/i]', + 'CallExpression[callee.name=/^(__|_x|_n|_nx)$/] > Literal[value=/toggle\\b/i]', message: "Avoid using the verb 'Toggle' in translatable strings", }, + { + selector: + 'CallExpression[callee.name=/^(__|_x|_n|_nx)$/] > Literal[value=/(?context['query']['parents'] ) && is_post_type_hierarchical( $query['post_type'] ) ) { $query['post_parent__in'] = array_unique( array_map( 'intval', $block->context['query']['parents'] ) ); } + if ( isset( $block->context['query']['sticky'] ) && ! empty( $block->context['query']['sticky'] ) ) { + if ( 'ignore' === $block->context['query']['sticky'] ) { + $sticky = get_option( 'sticky_posts' ); + + /** + * The core will set `post__not_in` because it asserts that any sticky value other than `only` is `exclude`. + * Let's override that while supporting any `post__not_in` values outside sticky post logic. + */ + $query['post__not_in'] = array_diff( $query['post__not_in'], ! empty( $sticky ) ? $sticky : array() ); + $query['ignore_sticky_posts'] = 1; + } + } + return $query; } -add_filter( 'query_loop_block_query_vars', 'gutenberg_parents_query_vars_from_query_block', 10, 2 ); +add_filter( 'query_loop_block_query_vars', 'gutenberg_update_query_vars_from_query_block_6_8', 10, 2 ); diff --git a/lib/compat/wordpress-6.8/post.php b/lib/compat/wordpress-6.8/post.php index 2477e94f7393c..b205e9dc81b89 100644 --- a/lib/compat/wordpress-6.8/post.php +++ b/lib/compat/wordpress-6.8/post.php @@ -4,23 +4,16 @@ * Set the default editor mode for the page post type to `template-locked`. * * Note: This backports into `create_initial_post_types` in WordPress Core. - * - * @param array $args Array of post type arguments. - * @return array Updated array of post type arguments. */ -function gutenberg_update_page_editor_support( $args ) { - if ( empty( $args['supports'] ) ) { - return $args; +function gutenberg_update_page_editor_support() { + // Avoid enabling the editor for pages when it's not supported. + // This is plugin specific safeguard. + if ( ! post_type_supports( 'page', 'editor' ) ) { + return; } - $editor_support_key = array_search( 'editor', $args['supports'], true ); - if ( false !== $editor_support_key ) { - unset( $args['supports'][ $editor_support_key ] ); - $args['supports']['editor'] = array( - 'default-mode' => 'template-locked', - ); + if ( wp_is_block_theme() ) { + add_post_type_support( 'page', 'editor', array( 'default-mode' => 'template-locked' ) ); } - - return $args; } -add_action( 'register_page_post_type_args', 'gutenberg_update_page_editor_support' ); +add_action( 'init', 'gutenberg_update_page_editor_support' ); diff --git a/lib/compat/wordpress-6.8/rest-api.php b/lib/compat/wordpress-6.8/rest-api.php index fc68077b67f76..f6844184ea610 100644 --- a/lib/compat/wordpress-6.8/rest-api.php +++ b/lib/compat/wordpress-6.8/rest-api.php @@ -80,7 +80,7 @@ function gutenberg_add_default_template_types_to_index( WP_REST_Response $respon * @param WP_Post_Type $post_type Post type object. * @return array */ -function gutenberg_modify_post_collection_paramt( $query_params, WP_Post_Type $post_type ) { +function gutenberg_modify_post_collection_param( $query_params, WP_Post_Type $post_type ) { if ( 'post' === $post_type->name && ! isset( $query_params['ignore_sticky'] ) ) { $query_params['ignore_sticky'] = array( 'description' => __( 'Whether to ignore sticky posts or not.' ), @@ -91,7 +91,7 @@ function gutenberg_modify_post_collection_paramt( $query_params, WP_Post_Type $p return $query_params; } -add_filter( 'rest_post_collection_params', 'gutenberg_modify_post_collection_paramt', 10, 2 ); +add_filter( 'rest_post_collection_params', 'gutenberg_modify_post_collection_param', 10, 2 ); /** * Modify posts query based on `ignore_sticky` parameter. diff --git a/lib/experimental/navigation-theme-opt-in.php b/lib/experimental/navigation-theme-opt-in.php index 547aa8b88ea7d..27dbabaf23448 100644 --- a/lib/experimental/navigation-theme-opt-in.php +++ b/lib/experimental/navigation-theme-opt-in.php @@ -29,6 +29,8 @@ * * @see https://core.trac.wordpress.org/ticket/50544 * + * @global WP_Customize_Manager $wp_customize + * * @param int $menu_id ID of the updated menu. * @param int $menu_item_db_id ID of the new menu item. * @param array $args An array of arguments used to update/add the menu item. diff --git a/package-lock.json b/package-lock.json index 38b92c08b9a79..b5bd7ed6c1b7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gutenberg", - "version": "20.2.0", + "version": "20.3.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gutenberg", - "version": "20.2.0", + "version": "20.3.0-rc.1", "hasInstallScript": true, "license": "GPL-2.0-or-later", "workspaces": [ @@ -48711,7 +48711,7 @@ }, "packages/a11y": { "name": "@wordpress/a11y", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48725,7 +48725,7 @@ }, "packages/annotations": { "name": "@wordpress/annotations", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48753,7 +48753,7 @@ }, "packages/api-fetch": { "name": "@wordpress/api-fetch", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -48767,7 +48767,7 @@ }, "packages/autop": { "name": "@wordpress/autop", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -48779,7 +48779,7 @@ }, "packages/babel-plugin-import-jsx-pragma": { "name": "@wordpress/babel-plugin-import-jsx-pragma", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -48791,7 +48791,7 @@ }, "packages/babel-plugin-makepot": { "name": "@wordpress/babel-plugin-makepot", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "deepmerge": "^4.3.0", @@ -48808,7 +48808,7 @@ }, "packages/babel-preset-default": { "name": "@wordpress/babel-preset-default", - "version": "8.17.0", + "version": "8.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -49939,7 +49939,7 @@ }, "packages/base-styles": { "name": "@wordpress/base-styles", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -49948,7 +49948,7 @@ }, "packages/blob": { "name": "@wordpress/blob", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -49960,7 +49960,7 @@ }, "packages/block-directory": { "name": "@wordpress/block-directory", - "version": "5.17.1", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -49996,7 +49996,7 @@ }, "packages/block-editor": { "name": "@wordpress/block-editor", - "version": "14.12.0", + "version": "14.13.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50097,7 +50097,7 @@ }, "packages/block-library": { "name": "@wordpress/block-library", - "version": "9.17.0", + "version": "9.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50163,7 +50163,7 @@ }, "packages/block-serialization-default-parser": { "name": "@wordpress/block-serialization-default-parser", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -50175,7 +50175,7 @@ }, "packages/block-serialization-spec-parser": { "name": "@wordpress/block-serialization-spec-parser", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "pegjs": "^0.10.0", @@ -50188,7 +50188,7 @@ }, "packages/blocks": { "name": "@wordpress/blocks", - "version": "14.6.0", + "version": "14.7.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50242,7 +50242,7 @@ }, "packages/browserslist-config": { "name": "@wordpress/browserslist-config", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50251,7 +50251,7 @@ }, "packages/commands": { "name": "@wordpress/commands", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50490,7 +50490,7 @@ }, "packages/components": { "name": "@wordpress/components", - "version": "29.3.0", + "version": "29.4.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.15", @@ -50581,7 +50581,7 @@ }, "packages/compose": { "name": "@wordpress/compose", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50618,7 +50618,7 @@ }, "packages/core-commands": { "name": "@wordpress/core-commands", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50647,7 +50647,7 @@ }, "packages/core-data": { "name": "@wordpress/core-data", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50692,7 +50692,7 @@ }, "packages/create-block": { "name": "@wordpress/create-block", - "version": "4.60.0", + "version": "4.61.0", "license": "GPL-2.0-or-later", "dependencies": { "@inquirer/prompts": "^7.2.0", @@ -50719,7 +50719,7 @@ }, "packages/create-block-interactive-template": { "name": "@wordpress/create-block-interactive-template", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50728,7 +50728,7 @@ }, "packages/create-block-tutorial-template": { "name": "@wordpress/create-block-tutorial-template", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -50737,7 +50737,7 @@ }, "packages/customize-widgets": { "name": "@wordpress/customize-widgets", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50775,7 +50775,7 @@ }, "packages/data": { "name": "@wordpress/data", - "version": "10.17.0", + "version": "10.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50804,7 +50804,7 @@ }, "packages/data-controls": { "name": "@wordpress/data-controls", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50822,7 +50822,7 @@ }, "packages/dataviews": { "name": "@wordpress/dataviews", - "version": "4.13.0", + "version": "4.14.0", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.15", @@ -50849,7 +50849,7 @@ }, "packages/date": { "name": "@wordpress/date", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50864,7 +50864,7 @@ }, "packages/dependency-extraction-webpack-plugin": { "name": "@wordpress/dependency-extraction-webpack-plugin", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "json2php": "^0.0.7" @@ -50879,7 +50879,7 @@ }, "packages/deprecated": { "name": "@wordpress/deprecated", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50892,7 +50892,7 @@ }, "packages/docgen": { "name": "@wordpress/docgen", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -50913,7 +50913,7 @@ }, "packages/dom": { "name": "@wordpress/dom", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50926,7 +50926,7 @@ }, "packages/dom-ready": { "name": "@wordpress/dom-ready", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -50938,7 +50938,7 @@ }, "packages/e2e-test-utils": { "name": "@wordpress/e2e-test-utils", - "version": "11.17.0", + "version": "11.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -50960,7 +50960,7 @@ }, "packages/e2e-test-utils-playwright": { "name": "@wordpress/e2e-test-utils-playwright", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "change-case": "^4.1.2", @@ -50986,7 +50986,7 @@ }, "packages/e2e-tests": { "name": "@wordpress/e2e-tests", - "version": "8.17.0", + "version": "8.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/e2e-test-utils": "file:../e2e-test-utils", @@ -51024,7 +51024,7 @@ }, "packages/edit-post": { "name": "@wordpress/edit-post", - "version": "8.17.1", + "version": "8.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51071,7 +51071,7 @@ }, "packages/edit-site": { "name": "@wordpress/edit-site", - "version": "6.17.1", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51134,7 +51134,7 @@ }, "packages/edit-widgets": { "name": "@wordpress/edit-widgets", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51177,7 +51177,7 @@ }, "packages/editor": { "name": "@wordpress/editor", - "version": "14.17.1", + "version": "14.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51239,7 +51239,7 @@ }, "packages/element": { "name": "@wordpress/element", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51258,7 +51258,7 @@ }, "packages/env": { "name": "@wordpress/env", - "version": "10.17.0", + "version": "10.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@inquirer/prompts": "^7.2.0", @@ -51307,7 +51307,7 @@ }, "packages/escape-html": { "name": "@wordpress/escape-html", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51319,7 +51319,7 @@ }, "packages/eslint-plugin": { "name": "@wordpress/eslint-plugin", - "version": "22.3.0", + "version": "22.4.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/eslint-parser": "7.25.7", @@ -51388,7 +51388,7 @@ }, "packages/fields": { "name": "@wordpress/fields", - "version": "0.9.0", + "version": "0.10.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51430,7 +51430,7 @@ }, "packages/format-library": { "name": "@wordpress/format-library", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51458,7 +51458,7 @@ }, "packages/hooks": { "name": "@wordpress/hooks", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51470,7 +51470,7 @@ }, "packages/html-entities": { "name": "@wordpress/html-entities", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51482,7 +51482,7 @@ }, "packages/i18n": { "name": "@wordpress/i18n", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51502,7 +51502,7 @@ }, "packages/icons": { "name": "@wordpress/icons", - "version": "10.17.0", + "version": "10.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51516,7 +51516,7 @@ }, "packages/interactivity": { "name": "@wordpress/interactivity", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@preact/signals": "^1.3.0", @@ -51529,7 +51529,7 @@ }, "packages/interactivity-router": { "name": "@wordpress/interactivity-router", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/a11y": "file:../a11y", @@ -51542,7 +51542,7 @@ }, "packages/interface": { "name": "@wordpress/interface", - "version": "9.2.0", + "version": "9.3.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51570,7 +51570,7 @@ }, "packages/is-shallow-equal": { "name": "@wordpress/is-shallow-equal", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -51582,7 +51582,7 @@ }, "packages/jest-console": { "name": "@wordpress/jest-console", - "version": "8.17.0", + "version": "8.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51598,7 +51598,7 @@ }, "packages/jest-preset-default": { "name": "@wordpress/jest-preset-default", - "version": "12.17.0", + "version": "12.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/jest-console": "file:../jest-console", @@ -51615,7 +51615,7 @@ }, "packages/jest-puppeteer-axe": { "name": "@wordpress/jest-puppeteer-axe", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@axe-core/puppeteer": "^4.0.0", @@ -51637,7 +51637,7 @@ }, "packages/keyboard-shortcuts": { "name": "@wordpress/keyboard-shortcuts", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51655,7 +51655,7 @@ }, "packages/keycodes": { "name": "@wordpress/keycodes", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51668,7 +51668,7 @@ }, "packages/lazy-import": { "name": "@wordpress/lazy-import", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "execa": "^4.0.2", @@ -51682,7 +51682,7 @@ }, "packages/list-reusable-blocks": { "name": "@wordpress/list-reusable-blocks", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51705,7 +51705,7 @@ }, "packages/media-utils": { "name": "@wordpress/media-utils", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51722,7 +51722,7 @@ }, "packages/notices": { "name": "@wordpress/notices", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51739,7 +51739,7 @@ }, "packages/npm-package-json-lint-config": { "name": "@wordpress/npm-package-json-lint-config", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51751,7 +51751,7 @@ }, "packages/nux": { "name": "@wordpress/nux", - "version": "9.17.0", + "version": "9.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51774,7 +51774,7 @@ }, "packages/patterns": { "name": "@wordpress/patterns", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51804,7 +51804,7 @@ }, "packages/plugins": { "name": "@wordpress/plugins", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51828,7 +51828,7 @@ }, "packages/postcss-plugins-preset": { "name": "@wordpress/postcss-plugins-preset", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@wordpress/base-styles": "file:../base-styles", @@ -51897,7 +51897,7 @@ }, "packages/postcss-themes": { "name": "@wordpress/postcss-themes", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51909,7 +51909,7 @@ }, "packages/preferences": { "name": "@wordpress/preferences", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51935,7 +51935,7 @@ }, "packages/preferences-persistence": { "name": "@wordpress/preferences-persistence", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51948,7 +51948,7 @@ }, "packages/prettier-config": { "name": "@wordpress/prettier-config", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -51960,7 +51960,7 @@ }, "packages/primitives": { "name": "@wordpress/primitives", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51977,7 +51977,7 @@ }, "packages/priority-queue": { "name": "@wordpress/priority-queue", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -51990,7 +51990,7 @@ }, "packages/private-apis": { "name": "@wordpress/private-apis", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -52002,7 +52002,7 @@ }, "packages/project-management-automation": { "name": "@wordpress/project-management-automation", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@actions/core": "1.9.1", @@ -52030,7 +52030,7 @@ }, "packages/react-i18n": { "name": "@wordpress/react-i18n", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52186,7 +52186,7 @@ }, "packages/readable-js-assets-webpack-plugin": { "name": "@wordpress/readable-js-assets-webpack-plugin", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -52198,7 +52198,7 @@ }, "packages/redux-routine": { "name": "@wordpress/redux-routine", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52241,7 +52241,7 @@ }, "packages/reusable-blocks": { "name": "@wordpress/reusable-blocks", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52268,7 +52268,7 @@ }, "packages/rich-text": { "name": "@wordpress/rich-text", - "version": "7.17.0", + "version": "7.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52292,7 +52292,7 @@ }, "packages/router": { "name": "@wordpress/router", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52313,7 +52313,7 @@ }, "packages/scripts": { "name": "@wordpress/scripts", - "version": "30.10.0", + "version": "30.11.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", @@ -52451,7 +52451,7 @@ }, "packages/server-side-render": { "name": "@wordpress/server-side-render", - "version": "5.17.0", + "version": "5.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52477,7 +52477,7 @@ }, "packages/shortcode": { "name": "@wordpress/shortcode", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52490,7 +52490,7 @@ }, "packages/style-engine": { "name": "@wordpress/style-engine", - "version": "2.17.0", + "version": "2.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52503,7 +52503,7 @@ }, "packages/stylelint-config": { "name": "@wordpress/stylelint-config", - "version": "23.9.0", + "version": "23.10.0", "license": "MIT", "dependencies": { "@stylistic/stylelint-plugin": "^3.0.1", @@ -52614,7 +52614,7 @@ }, "packages/sync": { "name": "@wordpress/sync", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52635,7 +52635,7 @@ }, "packages/token-list": { "name": "@wordpress/token-list", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" @@ -52647,7 +52647,7 @@ }, "packages/undo-manager": { "name": "@wordpress/undo-manager", - "version": "1.17.0", + "version": "1.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52660,7 +52660,7 @@ }, "packages/upload-media": { "name": "@wordpress/upload-media", - "version": "0.2.0", + "version": "0.3.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52687,7 +52687,7 @@ }, "packages/url": { "name": "@wordpress/url", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52700,7 +52700,7 @@ }, "packages/viewport": { "name": "@wordpress/viewport", - "version": "6.17.0", + "version": "6.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52730,7 +52730,7 @@ }, "packages/warning": { "name": "@wordpress/warning", - "version": "3.17.0", + "version": "3.18.0", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -52739,7 +52739,7 @@ }, "packages/widgets": { "name": "@wordpress/widgets", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7", @@ -52767,7 +52767,7 @@ }, "packages/wordcount": { "name": "@wordpress/wordcount", - "version": "4.17.0", + "version": "4.18.0", "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "7.25.7" diff --git a/package.json b/package.json index 3d0194fb941bb..5459c72eb1472 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gutenberg", - "version": "20.2.0", + "version": "20.3.0-rc.1", "private": true, "description": "A new WordPress editor experience.", "author": "The WordPress Contributors", diff --git a/packages/a11y/CHANGELOG.md b/packages/a11y/CHANGELOG.md index 1d1cd67af3f9b..fd74179d52ace 100644 --- a/packages/a11y/CHANGELOG.md +++ b/packages/a11y/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/a11y/package.json b/packages/a11y/package.json index a3a82f38284b3..bd38351dc08c7 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/a11y", - "version": "4.17.0", + "version": "4.18.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 fdcd5be5577ae..4bd66ad29cc8c 100644 --- a/packages/annotations/CHANGELOG.md +++ b/packages/annotations/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 3.18.0 (2025-02-12) + ## 3.17.0 (2025-01-29) ## 3.16.0 (2025-01-15) diff --git a/packages/annotations/package.json b/packages/annotations/package.json index 70af684c11b3d..f36523a6a6d69 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/annotations", - "version": "3.17.0", + "version": "3.18.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 9e53a80788570..addb72db662c7 100644 --- a/packages/api-fetch/CHANGELOG.md +++ b/packages/api-fetch/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.18.0 (2025-02-12) + ## 7.17.0 (2025-01-29) ## 7.16.0 (2025-01-15) diff --git a/packages/api-fetch/package.json b/packages/api-fetch/package.json index 43a52dc89fe36..8c6d91542dbd0 100644 --- a/packages/api-fetch/package.json +++ b/packages/api-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/api-fetch", - "version": "7.17.0", + "version": "7.18.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 edba622956be3..8daf97afc88e2 100644 --- a/packages/autop/CHANGELOG.md +++ b/packages/autop/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/autop/package.json b/packages/autop/package.json index 8c187d2ecedee..aa29e8c277da4 100644 --- a/packages/autop/package.json +++ b/packages/autop/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/autop", - "version": "4.17.0", + "version": "4.18.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 d74cc123def45..9a8440fe6c493 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.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/babel-plugin-import-jsx-pragma/package.json b/packages/babel-plugin-import-jsx-pragma/package.json index a0003205b6b6b..0752261edc577 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.17.0", + "version": "5.18.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 b3a1bafe646f6..ce3b825fd0f89 100644 --- a/packages/babel-plugin-makepot/CHANGELOG.md +++ b/packages/babel-plugin-makepot/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.18.0 (2025-02-12) + ## 6.17.0 (2025-01-29) ## 6.16.0 (2025-01-15) diff --git a/packages/babel-plugin-makepot/package.json b/packages/babel-plugin-makepot/package.json index 20c3957796c3b..5d81bc61f4d0a 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.17.0", + "version": "6.18.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 aa827876828c5..625ef7f09e863 100644 --- a/packages/babel-preset-default/CHANGELOG.md +++ b/packages/babel-preset-default/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.18.0 (2025-02-12) + ## 8.17.0 (2025-01-29) ## 8.16.0 (2025-01-15) diff --git a/packages/babel-preset-default/package.json b/packages/babel-preset-default/package.json index e1e43984e69f2..220d9317ccc1a 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.17.0", + "version": "8.18.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 e4aceae936710..7c3ef6a48774b 100644 --- a/packages/base-styles/CHANGELOG.md +++ b/packages/base-styles/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/base-styles/package.json b/packages/base-styles/package.json index 63590daa9c178..c87d3c18e8dc3 100644 --- a/packages/base-styles/package.json +++ b/packages/base-styles/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/base-styles", - "version": "5.17.0", + "version": "5.18.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 be1d924dd4576..2b12b40acd9be 100644 --- a/packages/blob/CHANGELOG.md +++ b/packages/blob/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/blob/package.json b/packages/blob/package.json index 9a0b10a416bec..85b897653f904 100644 --- a/packages/blob/package.json +++ b/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blob", - "version": "4.17.0", + "version": "4.18.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 0ac19bd45c864..589ed8b0008d4 100644 --- a/packages/block-directory/CHANGELOG.md +++ b/packages/block-directory/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/block-directory/package.json b/packages/block-directory/package.json index f7750c2e49f17..7d9e15bc06940 100644 --- a/packages/block-directory/package.json +++ b/packages/block-directory/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-directory", - "version": "5.17.1", + "version": "5.18.0", "description": "Extend editor with block directory features to search, download and install blocks.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-editor/CHANGELOG.md b/packages/block-editor/CHANGELOG.md index 18bb4d23d0a7a..b96bfe7a20b95 100644 --- a/packages/block-editor/CHANGELOG.md +++ b/packages/block-editor/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.13.0 (2025-02-12) + ## 14.12.0 (2025-01-29) ## 14.11.0 (2025-01-15) diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json index bb247c1d28356..2a60409071843 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-editor", - "version": "14.12.0", + "version": "14.13.0", "description": "Generic block editor.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/block-editor/src/components/global-styles/filters-panel.js b/packages/block-editor/src/components/global-styles/filters-panel.js index 64322d0fd5d5c..3aed7255e411b 100644 --- a/packages/block-editor/src/components/global-styles/filters-panel.js +++ b/packages/block-editor/src/components/global-styles/filters-panel.js @@ -9,8 +9,6 @@ import clsx from 'clsx'; import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, - __experimentalItemGroup as ItemGroup, - __experimentalItem as Item, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper, @@ -21,9 +19,11 @@ import { Dropdown, Flex, FlexItem, + Button, } from '@wordpress/components'; import { __, _x } from '@wordpress/i18n'; -import { useCallback, useMemo } from '@wordpress/element'; +import { useCallback, useMemo, useRef } from '@wordpress/element'; +import { reset as resetIcon } from '@wordpress/icons'; /** * Internal dependencies @@ -117,6 +117,50 @@ const LabeledColorIndicator = ( { indicator, label } ) => ( ); +const renderToggle = + ( duotone, resetDuotone ) => + ( { onToggle, isOpen } ) => { + const duotoneButtonRef = useRef( undefined ); + + const toggleProps = { + onClick: onToggle, + className: clsx( { 'is-open': isOpen } ), + 'aria-expanded': isOpen, + ref: duotoneButtonRef, + }; + + const removeButtonProps = { + onClick: () => { + if ( isOpen ) { + onToggle(); + } + resetDuotone(); + // Return focus to parent button. + duotoneButtonRef.current?.focus(); + }, + className: 'block-editor-panel-duotone-settings__reset', + label: __( 'Reset' ), + }; + + return ( + <> + + { duotone && ( + diff --git a/packages/block-editor/src/components/global-styles/style.scss b/packages/block-editor/src/components/global-styles/style.scss index 5684cf9c0d303..3645586f28311 100644 --- a/packages/block-editor/src/components/global-styles/style.scss +++ b/packages/block-editor/src/components/global-styles/style.scss @@ -58,6 +58,11 @@ } } +.block-editor-global-styles-filters-panel__dropdown { + border: 1px solid $gray-300; + border-radius: $radius-small; +} + // These styles are similar to the color palette. .block-editor-global-styles__shadow-indicator { appearance: none; @@ -100,3 +105,25 @@ /*rtl:ignore*/ direction: ltr; } + +.block-editor-panel-duotone-settings__reset { + position: absolute; + right: 0; + top: $grid-unit; + margin: auto $grid-unit auto; + opacity: 0; + @media not (prefers-reduced-motion) { + transition: opacity 0.1s ease-in-out; + } + + .block-editor-global-styles-filters-panel__dropdown:hover &, + &:focus, + &:hover { + opacity: 1; + } + + @media (hover: none) { + // Show reset button on devices that do not support hover. + opacity: 1; + } +} diff --git a/packages/block-editor/src/components/image-editor/aspect-ratio-dropdown.js b/packages/block-editor/src/components/image-editor/aspect-ratio-dropdown.js index b8432d1669f28..4862acd63d548 100644 --- a/packages/block-editor/src/components/image-editor/aspect-ratio-dropdown.js +++ b/packages/block-editor/src/components/image-editor/aspect-ratio-dropdown.js @@ -93,7 +93,7 @@ export default function AspectRatioDropdown( { toggleProps } ) { { slug: 'original', name: __( 'Original' ), - aspect: defaultAspect, + ratio: defaultAspect, }, ...( showDefaultRatios ? defaultRatios diff --git a/packages/block-editor/src/components/keyboard-shortcuts/index.js b/packages/block-editor/src/components/keyboard-shortcuts/index.js index fcc2cea404375..4d368e6c1d0ab 100644 --- a/packages/block-editor/src/components/keyboard-shortcuts/index.js +++ b/packages/block-editor/src/components/keyboard-shortcuts/index.js @@ -29,7 +29,7 @@ function KeyboardShortcutsRegister() { category: 'block', description: __( 'Remove the selected block(s).' ), keyCombination: { - modifier: 'shift', + modifier: 'primaryShift', character: 'backspace', }, } ); diff --git a/packages/block-editor/src/components/rich-text/event-listeners/delete.js b/packages/block-editor/src/components/rich-text/event-listeners/delete.js index 8373ca3c9f72a..ad59ae8a70d32 100644 --- a/packages/block-editor/src/components/rich-text/event-listeners/delete.js +++ b/packages/block-editor/src/components/rich-text/event-listeners/delete.js @@ -6,7 +6,7 @@ import { isCollapsed, isEmpty } from '@wordpress/rich-text'; export default ( props ) => ( element ) => { function onKeyDown( event ) { - const { keyCode, shiftKey } = event; + const { keyCode, shiftKey, ctrlKey, metaKey } = event; if ( event.defaultPrevented ) { return; @@ -30,8 +30,8 @@ export default ( props ) => ( element ) => { return; } - // Exclude shift+backspace as they are shortcuts for deleting blocks. - if ( shiftKey ) { + // Exclude (command|ctrl)+shift+backspace as they are shortcuts for deleting blocks. + if ( shiftKey && ( ctrlKey || metaKey ) ) { return; } diff --git a/packages/block-editor/src/components/tool-selector/index.js b/packages/block-editor/src/components/tool-selector/index.js index 8c4b5c86c4082..c4c216cbe68a7 100644 --- a/packages/block-editor/src/components/tool-selector/index.js +++ b/packages/block-editor/src/components/tool-selector/index.js @@ -95,7 +95,7 @@ function ToolSelector( props, ref ) {
{ __( - 'Tools provide different sets of interactions for blocks. Toggle between simplified content tools (Write) and advanced visual editing tools (Design).' + 'Tools provide different sets of interactions for blocks. Choose between simplified content tools (Write) and advanced visual editing tools (Design).' ) }
diff --git a/packages/block-editor/src/components/writing-flow/use-tab-nav.js b/packages/block-editor/src/components/writing-flow/use-tab-nav.js index 46c40d56fe96d..7f06cfe651db3 100644 --- a/packages/block-editor/src/components/writing-flow/use-tab-nav.js +++ b/packages/block-editor/src/components/writing-flow/use-tab-nav.js @@ -125,6 +125,10 @@ export default function useTabNav() { return; } + if ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) { + return; + } + const isShift = event.shiftKey; const direction = isShift ? 'findPrevious' : 'findNext'; const nextTabbable = focus.tabbable[ direction ]( event.target ); diff --git a/packages/block-editor/src/hooks/layout.js b/packages/block-editor/src/hooks/layout.js index 54a376a0c6a4f..003a680940b97 100644 --- a/packages/block-editor/src/hooks/layout.js +++ b/packages/block-editor/src/hooks/layout.js @@ -257,7 +257,7 @@ function LayoutPanelPure( { 'Nested blocks use content width with options for full and wide widths.' ) : __( - 'Nested blocks will fill the width of this container. Toggle to constrain.' + 'Nested blocks will fill the width of this container.' ) } /> diff --git a/packages/block-library/CHANGELOG.md b/packages/block-library/CHANGELOG.md index 0a0f9ca66f054..b988f7d107fa6 100644 --- a/packages/block-library/CHANGELOG.md +++ b/packages/block-library/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 9.18.0 (2025-02-12) + ## 9.17.0 (2025-01-29) ## 9.16.0 (2025-01-15) diff --git a/packages/block-library/package.json b/packages/block-library/package.json index 87f1171783453..66d4fdcf9bad5 100644 --- a/packages/block-library/package.json +++ b/packages/block-library/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/block-library", - "version": "9.17.0", + "version": "9.18.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/post-template/edit.js b/packages/block-library/src/post-template/edit.js index c58990233f361..35d0a95501a1b 100644 --- a/packages/block-library/src/post-template/edit.js +++ b/packages/block-library/src/post-template/edit.js @@ -177,18 +177,27 @@ export default function PostTemplateEdit( { query.format = format; } - // If sticky is not set, it will return all posts in the results. - // If sticky is set to `only`, it will limit the results to sticky posts only. - // If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`. - if ( sticky ) { + /* + * Handle cases where sticky is set to `exclude` or `only`. + * Which works as a `post__in/post__not_in` query for sticky posts. + */ + if ( sticky && sticky !== 'ignore' ) { query.sticky = sticky === 'only'; } + + if ( sticky === 'ignore' ) { + // Remove any leftover sticky query parameter. + delete query.sticky; + query.ignore_sticky = true; + } + // If `inherit` is truthy, adjust conditionally the query to create a better preview. + let currentPostType = postType; if ( inherit ) { // Change the post-type if needed. if ( templateSlug?.startsWith( 'archive-' ) ) { query.postType = templateSlug.replace( 'archive-', '' ); - postType = query.postType; + currentPostType = query.postType; } else if ( templateCategory ) { query.categories = templateCategory[ 0 ]?.id; } else if ( templateTag ) { @@ -205,7 +214,7 @@ export default function PostTemplateEdit( { } // When we preview Query Loop blocks we should prefer the current // block's postType, which is passed through block context. - const usedPostType = previewPostType || postType; + const usedPostType = previewPostType || currentPostType; return { posts: getEntityRecords( 'postType', usedPostType, { ...query, diff --git a/packages/block-library/src/query/edit/inspector-controls/sticky-control.js b/packages/block-library/src/query/edit/inspector-controls/sticky-control.js index ee7ee31ba977a..f478337998f38 100644 --- a/packages/block-library/src/query/edit/inspector-controls/sticky-control.js +++ b/packages/block-library/src/query/edit/inspector-controls/sticky-control.js @@ -6,6 +6,7 @@ import { __ } from '@wordpress/i18n'; const stickyOptions = [ { label: __( 'Include' ), value: '' }, + { label: __( 'Ignore' ), value: 'ignore' }, { label: __( 'Exclude' ), value: 'exclude' }, { label: __( 'Only' ), value: 'only' }, ]; diff --git a/packages/block-library/src/social-link/editor.scss b/packages/block-library/src/social-link/editor.scss index d61cf7c1a7cf5..af818d82eba49 100644 --- a/packages/block-library/src/social-link/editor.scss +++ b/packages/block-library/src/social-link/editor.scss @@ -16,6 +16,7 @@ height: auto; font-weight: inherit; font-family: inherit; + margin: 0; // This rule ensures social link buttons display correctly in template parts. opacity: 1; diff --git a/packages/block-serialization-default-parser/CHANGELOG.md b/packages/block-serialization-default-parser/CHANGELOG.md index 650eee5b822ba..c6d17488c91f2 100644 --- a/packages/block-serialization-default-parser/CHANGELOG.md +++ b/packages/block-serialization-default-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/block-serialization-default-parser/package.json b/packages/block-serialization-default-parser/package.json index 45718ca769be6..742d5c10804ff 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.17.0", + "version": "5.18.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 8757648ae3549..d9db0a9c0b54a 100644 --- a/packages/block-serialization-spec-parser/CHANGELOG.md +++ b/packages/block-serialization-spec-parser/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/block-serialization-spec-parser/package.json b/packages/block-serialization-spec-parser/package.json index f188e9cd25660..03251c27157ca 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.17.0", + "version": "5.18.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 4cf4167097034..b83f66306873e 100644 --- a/packages/blocks/CHANGELOG.md +++ b/packages/blocks/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 14.7.0 (2025-02-12) + ## 14.6.0 (2025-01-29) ## 14.5.0 (2025-01-15) diff --git a/packages/blocks/package.json b/packages/blocks/package.json index 92410b54ba19a..8a0dc2f8c03c4 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/blocks", - "version": "14.6.0", + "version": "14.7.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 122123b959678..14eb691cc8bb8 100644 --- a/packages/browserslist-config/CHANGELOG.md +++ b/packages/browserslist-config/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.18.0 (2025-02-12) + ## 6.17.0 (2025-01-29) ## 6.16.0 (2025-01-15) diff --git a/packages/browserslist-config/package.json b/packages/browserslist-config/package.json index 1253719c4724c..87a9ad4f38972 100644 --- a/packages/browserslist-config/package.json +++ b/packages/browserslist-config/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/browserslist-config", - "version": "6.17.0", + "version": "6.18.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 cd8b74233cfeb..4a14b3d3c3c8a 100644 --- a/packages/commands/CHANGELOG.md +++ b/packages/commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.18.0 (2025-02-12) + ## 1.17.0 (2025-01-29) ## 1.16.0 (2025-01-15) diff --git a/packages/commands/package.json b/packages/commands/package.json index 5e2d57f7d92fb..27872b34a2979 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/commands", - "version": "1.17.0", + "version": "1.18.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 4afdd978bc948..f425baae72617 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,10 +2,18 @@ ## Unreleased -### Enhancements +### Enhancement +- `BorderControlDropdown`, `BorderControl`: Reset button is always visible. ([#69066](https://github.com/WordPress/gutenberg/pull/69066)). + +### Internal + +- `NumberControl`: Fix invalid HTML attributes for infinite bounds ([#69033](https://github.com/WordPress/gutenberg/pull/69033)). + +## 29.4.0 (2025-02-12) + +- `FontSizePicker`: Remove Custom option from dropdown to prevent unexpected context changes during keyboard navigation ([#69038](https://github.com/WordPress/gutenberg/pull/69038)). - `ComboboxControl`: Add an `isLoading` prop to show a loading spinner ([#68990](https://github.com/WordPress/gutenberg/pull/68990)) -- `BorderControlDropdown`, `BorderControl`: Reset button is always visible. ([#69066](https://github.com/WordPress/gutenberg/pull/69066)). ## 29.3.0 (2025-01-29) diff --git a/packages/components/package.json b/packages/components/package.json index 29a62cd7c49ff..f3c4f655f31a3 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/components", - "version": "29.3.0", + "version": "29.4.0", "description": "UI components for WordPress.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", 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 b33c382f3393e..fcc80355ddd19 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 @@ -20,21 +20,8 @@ const DEFAULT_OPTION: FontSizePickerSelectOption = { value: undefined, }; -const CUSTOM_OPTION: FontSizePickerSelectOption = { - key: 'custom', - name: __( 'Custom' ), -}; - const FontSizePickerSelect = ( props: FontSizePickerSelectProps ) => { - const { - __next40pxDefaultSize, - fontSizes, - value, - disableCustomFontSizes, - size, - onChange, - onSelectCustom, - } = props; + const { __next40pxDefaultSize, fontSizes, value, size, onChange } = props; const areAllSizesSameUnit = !! getCommonSizeUnit( fontSizes ); @@ -59,12 +46,10 @@ const FontSizePickerSelect = ( props: FontSizePickerSelectProps ) => { hint, }; } ), - ...( disableCustomFontSizes ? [] : [ CUSTOM_OPTION ] ), ]; - const selectedOption = value - ? options.find( ( option ) => option.value === value ) ?? CUSTOM_OPTION - : DEFAULT_OPTION; + const selectedOption = + options.find( ( option ) => option.value === value ) ?? DEFAULT_OPTION; return ( { }: { selectedItem: FontSizePickerSelectOption; } ) => { - if ( selectedItem === CUSTOM_OPTION ) { - onSelectCustom(); - } else { - onChange( selectedItem.value ); - } + onChange( selectedItem.value ); } } size={ size } /> diff --git a/packages/components/src/font-size-picker/test/index.tsx b/packages/components/src/font-size-picker/test/index.tsx index 34e8ce17c67fa..b3612029df362 100644 --- a/packages/components/src/font-size-picker/test/index.tsx +++ b/packages/components/src/font-size-picker/test/index.tsx @@ -127,7 +127,7 @@ describe( 'FontSizePicker', () => { screen.getByRole( 'combobox', { name: 'Font size' } ) ); const options = screen.getAllByRole( 'option' ); - expect( options ).toHaveLength( 8 ); + expect( options ).toHaveLength( 7 ); expect( options[ 0 ] ).toHaveAccessibleName( 'Default' ); expect( options[ 1 ] ).toHaveAccessibleName( 'Tiny 8' ); expect( options[ 2 ] ).toHaveAccessibleName( 'Small 12' ); @@ -135,7 +135,6 @@ describe( 'FontSizePicker', () => { expect( options[ 4 ] ).toHaveAccessibleName( 'Large 20' ); expect( options[ 5 ] ).toHaveAccessibleName( 'Extra Large 30' ); expect( options[ 6 ] ).toHaveAccessibleName( 'xx-large 40' ); - expect( options[ 7 ] ).toHaveAccessibleName( 'Custom' ); } ); test.each( [ @@ -186,7 +185,6 @@ describe( 'FontSizePicker', () => { } ); - commonSelectTests( fontSizes ); commonTests( fontSizes ); } ); @@ -231,7 +229,7 @@ describe( 'FontSizePicker', () => { screen.getByRole( 'combobox', { name: 'Font size' } ) ); const options = screen.getAllByRole( 'option' ); - expect( options ).toHaveLength( 8 ); + expect( options ).toHaveLength( 7 ); expect( options[ 0 ] ).toHaveAccessibleName( 'Default' ); expect( options[ 1 ] ).toHaveAccessibleName( 'Tiny 8px' ); expect( options[ 2 ] ).toHaveAccessibleName( 'Small 1em' ); @@ -239,7 +237,6 @@ describe( 'FontSizePicker', () => { expect( options[ 4 ] ).toHaveAccessibleName( 'Large' ); expect( options[ 5 ] ).toHaveAccessibleName( 'Extra Large 30px' ); expect( options[ 6 ] ).toHaveAccessibleName( 'xx-large 40px' ); - expect( options[ 7 ] ).toHaveAccessibleName( 'Custom' ); } ); test.each( [ @@ -327,7 +324,6 @@ describe( 'FontSizePicker', () => { } ); - commonSelectTests( fontSizes ); commonTests( fontSizes ); } ); @@ -523,24 +519,6 @@ describe( 'FontSizePicker', () => { ); } - function commonSelectTests( fontSizes: FontSize[] ) { - it( 'shows custom input when Custom is selected', async () => { - const user = userEvent.setup(); - const onChange = jest.fn(); - await render( - - ); - await user.click( - screen.getByRole( 'combobox', { name: 'Font size' } ) - ); - await user.click( - screen.getByRole( 'option', { name: 'Custom' } ) - ); - expect( screen.getByLabelText( 'Custom' ) ).toBeVisible(); - expect( onChange ).not.toHaveBeenCalled(); - } ); - } - function commonTests( fontSizes: FontSize[] ) { it( 'shows custom input when value is unknown', async () => { await render( diff --git a/packages/components/src/mobile/bottom-sheet/switch-cell.native.js b/packages/components/src/mobile/bottom-sheet/switch-cell.native.js index 3e00756b1a7dc..0ada3fafc5672 100644 --- a/packages/components/src/mobile/bottom-sheet/switch-cell.native.js +++ b/packages/components/src/mobile/bottom-sheet/switch-cell.native.js @@ -57,7 +57,7 @@ export default function BottomSheetSwitchCell( props ) { accessibilityRole="none" accessibilityHint={ /* translators: accessibility text (hint for switches) */ - __( 'Double tap to toggle setting' ) + __( 'Double tap to change setting' ) } onPress={ onPress } editable={ false } diff --git a/packages/components/src/number-control/index.tsx b/packages/components/src/number-control/index.tsx index 6dd1af4024af7..e890746e275e8 100644 --- a/packages/components/src/number-control/index.tsx +++ b/packages/components/src/number-control/index.tsx @@ -229,8 +229,8 @@ function UnforwardedNumberControl( hideHTMLArrows={ spinControls !== 'native' } isDragEnabled={ isDragEnabled } label={ label } - max={ max } - min={ min } + max={ max === Infinity ? undefined : max } + min={ min === -Infinity ? undefined : min } ref={ mergedRef } required={ required } step={ step } diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 99fcb659f8b0e..c8ded48801871 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.18.0 (2025-02-12) + ## 7.17.0 (2025-01-29) ## 7.16.0 (2025-01-15) diff --git a/packages/compose/package.json b/packages/compose/package.json index 4e9eb19d13acb..b8c4aa18863d7 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/compose", - "version": "7.17.0", + "version": "7.18.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 6fc42e7161dbc..5e8040c6c0fa4 100644 --- a/packages/core-commands/CHANGELOG.md +++ b/packages/core-commands/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.18.0 (2025-02-12) + ## 1.17.0 (2025-01-29) ## 1.16.0 (2025-01-15) diff --git a/packages/core-commands/package.json b/packages/core-commands/package.json index aa9fd5653c0b1..01e9fc74967e2 100644 --- a/packages/core-commands/package.json +++ b/packages/core-commands/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-commands", - "version": "1.17.0", + "version": "1.18.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 a19879790fc70..40d6b0306aab6 100644 --- a/packages/core-data/CHANGELOG.md +++ b/packages/core-data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 7.18.0 (2025-02-12) + ## 7.17.0 (2025-01-29) ## 7.16.0 (2025-01-15) diff --git a/packages/core-data/package.json b/packages/core-data/package.json index e6f84c7bd15e3..b6a3cac623470 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/core-data", - "version": "7.17.0", + "version": "7.18.0", "description": "Access to and manipulation of core WordPress entities.", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/core-data/src/dynamic-entities.ts b/packages/core-data/src/dynamic-entities.ts index 51b579cb0cfcf..7db8865fded64 100644 --- a/packages/core-data/src/dynamic-entities.ts +++ b/packages/core-data/src/dynamic-entities.ts @@ -18,6 +18,7 @@ export type WPEntityTypes< C extends ET.Context = 'edit' > = { Site: ET.Settings< C >; Status: ET.PostStatusObject< C >; Taxonomy: ET.Taxonomy< C >; + Term: ET.Term< C >; Theme: ET.Theme< C >; UnstableBase: ET.UnstableBase< C >; User: ET.User< C >; diff --git a/packages/core-data/src/entity-types/index.ts b/packages/core-data/src/entity-types/index.ts index 68087a74005b2..893de59cde548 100644 --- a/packages/core-data/src/entity-types/index.ts +++ b/packages/core-data/src/entity-types/index.ts @@ -17,6 +17,7 @@ import type { PostRevision } from './post-revision'; import type { Settings } from './settings'; import type { Sidebar } from './sidebar'; import type { Taxonomy } from './taxonomy'; +import type { Term } from './term'; import type { Theme } from './theme'; import type { User } from './user'; import type { Type } from './type'; @@ -46,6 +47,7 @@ export type { Taxonomy, TemplatePartArea, TemplateType, + Term, Theme, Type, Updatable, @@ -105,6 +107,7 @@ export interface PerPackageEntityRecords< C extends Context > { | Settings< C > | Sidebar< C > | Taxonomy< C > + | Term< C > | Theme< C > | User< C > | Type< C > diff --git a/packages/core-data/src/entity-types/term.ts b/packages/core-data/src/entity-types/term.ts new file mode 100644 index 0000000000000..f007832d7e755 --- /dev/null +++ b/packages/core-data/src/entity-types/term.ts @@ -0,0 +1,57 @@ +/** + * Internal dependencies + */ +import type { Context, ContextualField, OmitNevers } from './helpers'; + +import type { BaseEntityRecords as _BaseEntityRecords } from './base-entity-records'; + +declare module './base-entity-records' { + export namespace BaseEntityRecords { + export interface Term< C extends Context > { + /** + * Unique identifier for the term. + */ + id: number; + /** + * Number of published posts for the term. + */ + count: ContextualField< number, 'view' | 'edit', C >; + /** + * HTML description of the term. + */ + description: ContextualField< string, 'view' | 'edit', C >; + /** + * URL of the term. + */ + link: string; + /** + * HTML title for the term. + */ + name: string; + /** + * An alphanumeric identifier for the term unique to its type. + */ + slug: string; + /** + * Type attribution for the term. + */ + taxonomy: string; + /** + * The parent term ID. Only present for hierarchical taxonomies. + */ + parent?: number; + /** + * Meta fields. + */ + meta: ContextualField< + Record< string, string >, + 'view' | 'edit', + C + >; + } + } +} + +export type Term< C extends Context = 'edit' > = OmitNevers< + _BaseEntityRecords.Term< C > +>; diff --git a/packages/create-block-interactive-template/package.json b/packages/create-block-interactive-template/package.json index 00f3515c2e289..6501444743372 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.17.0", + "version": "2.18.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 42d82d1a2d289..c65692d09c95e 100644 --- a/packages/create-block-tutorial-template/CHANGELOG.md +++ b/packages/create-block-tutorial-template/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/create-block-tutorial-template/package.json b/packages/create-block-tutorial-template/package.json index 8d6cd268a879b..10a5e1277487c 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.17.0", + "version": "4.18.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 9d9a3e3bce59e..3e01a8f358f9a 100644 --- a/packages/create-block/CHANGELOG.md +++ b/packages/create-block/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.61.0 (2025-02-12) + ## 4.60.0 (2025-01-29) ## 4.59.0 (2025-01-15) diff --git a/packages/create-block/package.json b/packages/create-block/package.json index 477eb0f98dd85..4dd1f6bb537af 100644 --- a/packages/create-block/package.json +++ b/packages/create-block/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/create-block", - "version": "4.60.0", + "version": "4.61.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 afded4c24a04f..b6968613edcda 100644 --- a/packages/customize-widgets/CHANGELOG.md +++ b/packages/customize-widgets/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/customize-widgets/package.json b/packages/customize-widgets/package.json index b30cf8ae4db38..dedd5c57b3eaa 100644 --- a/packages/customize-widgets/package.json +++ b/packages/customize-widgets/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/customize-widgets", - "version": "5.17.0", + "version": "5.18.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 331beda591a48..d27535c0537dc 100644 --- a/packages/data-controls/CHANGELOG.md +++ b/packages/data-controls/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/data-controls/package.json b/packages/data-controls/package.json index a4045e68fa173..732035ece891d 100644 --- a/packages/data-controls/package.json +++ b/packages/data-controls/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data-controls", - "version": "4.17.0", + "version": "4.18.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 2442244b677de..42360d3a3da21 100644 --- a/packages/data/CHANGELOG.md +++ b/packages/data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 10.18.0 (2025-02-12) + ## 10.17.0 (2025-01-29) ## 10.16.0 (2025-01-15) diff --git a/packages/data/package.json b/packages/data/package.json index 7a90897d453bd..afa25b3fae697 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/data", - "version": "10.17.0", + "version": "10.18.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 8c644d78a9163..5166e76b32369 100644 --- a/packages/dataviews/CHANGELOG.md +++ b/packages/dataviews/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.14.0 (2025-02-12) + ## 4.13.0 (2025-01-29) ## 4.12.0 (2025-01-15) diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json index 60161082ff10d..55f4917f1d2e4 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dataviews", - "version": "4.13.0", + "version": "4.14.0", "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).", "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md index 4790ab7220deb..114af3feb1c34 100644 --- a/packages/date/CHANGELOG.md +++ b/packages/date/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 5.18.0 (2025-02-12) + ## 5.17.0 (2025-01-29) ## 5.16.0 (2025-01-15) diff --git a/packages/date/package.json b/packages/date/package.json index b68fd0789a11f..a26b2e7653a20 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/date", - "version": "5.17.0", + "version": "5.18.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 1003bccd93d84..480b5e1b52921 100644 --- a/packages/dependency-extraction-webpack-plugin/CHANGELOG.md +++ b/packages/dependency-extraction-webpack-plugin/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.18.0 (2025-02-12) + ## 6.17.0 (2025-01-29) ## 6.16.0 (2025-01-15) diff --git a/packages/dependency-extraction-webpack-plugin/package.json b/packages/dependency-extraction-webpack-plugin/package.json index 8dee3f6a2a35e..ab2a3f95fae7f 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.17.0", + "version": "6.18.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 e685d814f4c0c..539cb39ccad97 100644 --- a/packages/deprecated/CHANGELOG.md +++ b/packages/deprecated/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/deprecated/package.json b/packages/deprecated/package.json index c1637380b22b7..add1e21d17d0b 100644 --- a/packages/deprecated/package.json +++ b/packages/deprecated/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/deprecated", - "version": "4.17.0", + "version": "4.18.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 5279b376fe1c5..eb7e73753d3c2 100644 --- a/packages/docgen/CHANGELOG.md +++ b/packages/docgen/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 2.18.0 (2025-02-12) + ## 2.17.0 (2025-01-29) ## 2.16.0 (2025-01-15) diff --git a/packages/docgen/package.json b/packages/docgen/package.json index 9083dcf2e4c9e..6485bb4c08695 100644 --- a/packages/docgen/package.json +++ b/packages/docgen/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/docgen", - "version": "2.17.0", + "version": "2.18.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 90e953a9416b7..92148075cbca8 100644 --- a/packages/dom-ready/CHANGELOG.md +++ b/packages/dom-ready/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/dom-ready/package.json b/packages/dom-ready/package.json index 9ae59ee939260..0e3607ca7cf22 100644 --- a/packages/dom-ready/package.json +++ b/packages/dom-ready/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom-ready", - "version": "4.17.0", + "version": "4.18.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 83931d4c6e9af..5d17028aca9bb 100644 --- a/packages/dom/CHANGELOG.md +++ b/packages/dom/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 4.18.0 (2025-02-12) + ## 4.17.0 (2025-01-29) ## 4.16.0 (2025-01-15) diff --git a/packages/dom/package.json b/packages/dom/package.json index 0c1d83bacbdcf..3159b9f8ba990 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/dom", - "version": "4.17.0", + "version": "4.18.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 4df25e7f9c9e4..481b259efeedb 100644 --- a/packages/e2e-test-utils-playwright/CHANGELOG.md +++ b/packages/e2e-test-utils-playwright/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.18.0 (2025-02-12) + ## 1.17.0 (2025-01-29) ## 1.16.0 (2025-01-15) diff --git a/packages/e2e-test-utils-playwright/package.json b/packages/e2e-test-utils-playwright/package.json index 010c5077aefe3..66663694405bc 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.17.0", + "version": "1.18.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 2b615ef3784d0..488124de222a4 100644 --- a/packages/e2e-test-utils/CHANGELOG.md +++ b/packages/e2e-test-utils/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 11.18.0 (2025-02-12) + ## 11.17.0 (2025-01-29) ## 11.16.0 (2025-01-15) diff --git a/packages/e2e-test-utils/package.json b/packages/e2e-test-utils/package.json index 03b8ee6e7b8e5..8fc8109d1c0ec 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.17.0", + "version": "11.18.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 fdcedc5da91c3..ebc0b397dd6b7 100644 --- a/packages/e2e-tests/CHANGELOG.md +++ b/packages/e2e-tests/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.18.0 (2025-02-12) + ## 8.17.0 (2025-01-29) ## 8.16.0 (2025-01-15) diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 275080914f405..7fc5a4c022a7c 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/e2e-tests", - "version": "8.17.0", + "version": "8.18.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 234a05ca71566..640eae7a0e4b0 100644 --- a/packages/edit-post/CHANGELOG.md +++ b/packages/edit-post/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 8.18.0 (2025-02-12) + ## 8.17.0 (2025-01-29) ## 8.16.0 (2025-01-15) diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index 0403f1b952eef..3c0ff9d714f82 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-post", - "version": "8.17.1", + "version": "8.18.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 0d50909a8d8b7..6e4cef953d03c 100644 --- a/packages/edit-site/CHANGELOG.md +++ b/packages/edit-site/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 6.18.0 (2025-02-12) + ## 6.17.0 (2025-01-29) ## 6.16.0 (2025-01-15) diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index 637032e303e9e..74d0313524dfa 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -1,6 +1,6 @@ { "name": "@wordpress/edit-site", - "version": "6.17.1", + "version": "6.18.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/add-new-template/add-custom-generic-template-modal-content.js b/packages/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js index 746fd6c5314c3..46f9ee1ecdc8c 100644 --- a/packages/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js +++ b/packages/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js @@ -51,6 +51,7 @@ function AddCustomGenericTemplateModalContent( { onClose, createTemplate } ) { placeholder={ defaultTitle } disabled={ isBusy } help={ __( + // eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts 'Describe the template, e.g. "Post with sidebar". A custom template can be manually applied to any post or page.' ) } /> diff --git a/packages/edit-site/src/components/editor/index.js b/packages/edit-site/src/components/editor/index.js index ad88ee07e2150..3a4828d93e911 100644 --- a/packages/edit-site/src/components/editor/index.js +++ b/packages/edit-site/src/components/editor/index.js @@ -23,6 +23,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router'; import { decodeEntities } from '@wordpress/html-entities'; import { Icon, arrowUpLeft } from '@wordpress/icons'; import { store as blockEditorStore } from '@wordpress/block-editor'; +import { addQueryArgs } from '@wordpress/url'; /** * Internal dependencies @@ -53,7 +54,7 @@ import { useResolveEditedEntity, useSyncDeprecatedEntityIntoState, } from './use-resolve-edited-entity'; -import { addQueryArgs } from '@wordpress/url'; +import SitePreview from './site-preview'; const { Editor, BackButton } = unlock( editorPrivateApis ); const { useHistory, useLocation } = unlock( routerPrivateApis ); @@ -117,7 +118,10 @@ function getNavigationPath( location, postType ) { return addQueryArgs( path, { canvas: undefined } ); } -export default function EditSiteEditor( { isPostsList = false } ) { +export default function EditSiteEditor( { + isHomeRoute = false, + isPostsList = false, +} ) { const disableMotion = useReducedMotion(); const location = useLocation(); const { canvas = 'view' } = location.query; @@ -128,7 +132,7 @@ export default function EditSiteEditor( { isPostsList = false } ) { useSyncDeprecatedEntityIntoState( entity ); const { postType, postId, context } = entity; const { - supportsGlobalStyles, + isBlockBasedTheme, editorCanvasView, currentPostIsTrashed, hasSiteIcon, @@ -140,7 +144,7 @@ export default function EditSiteEditor( { isPostsList = false } ) { const siteData = getEntityRecord( 'root', '__unstableBase', undefined ); return { - supportsGlobalStyles: getCurrentTheme()?.is_block_theme, + isBlockBasedTheme: getCurrentTheme()?.is_block_theme, editorCanvasView: getEditorCanvasContainerView(), currentPostIsTrashed: select( editorStore ).getCurrentPostAttribute( 'status' ) === @@ -244,7 +248,9 @@ export default function EditSiteEditor( { isPostsList = false } ) { duration: disableMotion ? 0 : 0.2, }; - return ( + return ! isBlockBasedTheme && isHomeRoute ? ( + + ) : ( <> ) } - { supportsGlobalStyles && } + { isBlockBasedTheme && } ) } diff --git a/packages/edit-site/src/components/maybe-editor/index.js b/packages/edit-site/src/components/editor/site-preview.js similarity index 74% rename from packages/edit-site/src/components/maybe-editor/index.js rename to packages/edit-site/src/components/editor/site-preview.js index 3ffa5a35b82ef..e53f87bc5b249 100644 --- a/packages/edit-site/src/components/maybe-editor/index.js +++ b/packages/edit-site/src/components/editor/site-preview.js @@ -1,32 +1,19 @@ /** * WordPress dependencies */ - -import { store as coreStore } from '@wordpress/core-data'; -import { useSelect } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; +import { useSelect } from '@wordpress/data'; +import { store as coreStore } from '@wordpress/core-data'; -/** - * Internal dependencies - */ - -import Editor from '../editor'; - -export function MaybeEditor( { showEditor = true } ) { - const { isBlockBasedTheme, siteUrl } = useSelect( ( select ) => { - const { getEntityRecord, getCurrentTheme } = select( coreStore ); +export default function SitePreview() { + const siteUrl = useSelect( ( select ) => { + const { getEntityRecord } = select( coreStore ); const siteData = getEntityRecord( 'root', '__unstableBase' ); - - return { - isBlockBasedTheme: getCurrentTheme()?.is_block_theme, - siteUrl: siteData?.home, - }; + return siteData?.home; }, [] ); // If theme is block based, return the Editor, otherwise return the site preview. - return isBlockBasedTheme || showEditor ? ( - - ) : ( + return (