From fc101f4135a470b91f6448ceee8aea83c5508291 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Sat, 7 Mar 2026 02:59:15 +0000 Subject: [PATCH 01/12] SVN: Create branch from trunk@61437 to restore files from build change. In [61438], a number of required PHP files were deleted from the repo and then added to the `.gitignore` file, severing their version history in the project. This commit creates a new branch from before that change which will be used to reassociate the history for those files with their restored versions. Discussed in: https://core.trac.wordpress.org/ticket/64393 Props desrosj, dmsnell. See #64393. git-svn-id: https://develop.svn.wordpress.org/branches/fixes-64393-restore-version-history@61863 602fd350-edb4-49c9-b593-d223f7449a82 From ddeea0126e5ad1789a444e1dea990401f148f7e6 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 16:46:54 -0500 Subject: [PATCH 02/12] Restore: Sync to Gutenberg revision b79bbe25a1b00ce640bfab363f182c678181082f See corresponding changelog in 22294af4ed3b46f577f42590ba4cc19ca0a93f3f --- .../assets/script-loader-packages.min.php | 832 +++++++++++++++++- .../assets/script-modules-packages.min.php | 283 +++++- .../blocks/accordion-heading/block.json | 2 +- src/wp-includes/blocks/accordion-item.php | 1 + .../blocks/accordion-item/block.json | 2 +- .../blocks/accordion-panel/block.json | 2 +- src/wp-includes/blocks/blocks-json.php | 92 +- src/wp-includes/blocks/button/block.json | 5 +- src/wp-includes/blocks/categories.php | 2 +- .../comments-pagination-numbers/block.json | 7 + src/wp-includes/blocks/cover.php | 106 +++ src/wp-includes/blocks/freeform/block.json | 3 +- src/wp-includes/blocks/image.php | 20 +- src/wp-includes/blocks/latest-comments.php | 13 +- .../blocks/latest-comments/block.json | 7 +- src/wp-includes/blocks/math/block.json | 29 +- src/wp-includes/blocks/missing/block.json | 2 +- src/wp-includes/blocks/navigation-link.php | 67 +- .../blocks/navigation-link/block.json | 3 +- .../blocks/navigation-submenu/block.json | 3 +- src/wp-includes/blocks/navigation/block.json | 7 +- src/wp-includes/blocks/page-list.php | 7 +- src/wp-includes/blocks/paragraph/block.json | 5 +- src/wp-includes/blocks/pattern/block.json | 2 +- src/wp-includes/blocks/pullquote/block.json | 5 +- .../blocks/require-dynamic-blocks.php | 2 +- .../blocks/require-static-blocks.php | 2 +- src/wp-includes/blocks/term-name/block.json | 3 + src/wp-includes/theme-i18n.json | 10 + src/wp-includes/theme.json | 3 +- 30 files changed, 1467 insertions(+), 60 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index 9650b17034884..8aba077650844 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -1 +1,831 @@ - array('dependencies' => array('wp-dom-ready', 'wp-i18n'), 'version' => 'cb460b4676c94bd228ed'), 'admin-ui.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-components', 'wp-element'), 'version' => 'bc5db43f7e3f0d8adcc8'), 'annotations.min.js' => array('dependencies' => array('wp-data', 'wp-hooks', 'wp-i18n', 'wp-rich-text'), 'version' => '758b80d8a795a222601b'), 'api-fetch.min.js' => array('dependencies' => array('wp-i18n', 'wp-url'), 'version' => '3a4d9af2b423048b0dee'), 'autop.min.js' => array('dependencies' => array(), 'version' => '9fb50649848277dd318d'), 'base-styles.min.js' => array('dependencies' => array(), 'version' => '7529f773be5cb229e3c4'), 'blob.min.js' => array('dependencies' => array(), 'version' => '9113eed771d446f4a556'), 'block-directory.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-primitives', 'wp-url'), 'version' => '55bdef7bd3137eee623d'), 'block-editor.min.js' => array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-preferences', 'wp-primitives', 'wp-priority-queue', 'wp-private-apis', 'wp-rich-text', 'wp-style-engine', 'wp-token-list', 'wp-url', 'wp-warning'), 'version' => '5fc3ad11235679e29400'), 'block-library.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-autop', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-latex-to-mathml', 'wp-notices', 'wp-patterns', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-wordcount'), 'version' => 'f7cd30dd531f20693fdb'), 'block-serialization-default-parser.min.js' => array('dependencies' => array(), 'version' => '14d44daebf663d05d330'), 'blocks.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-private-apis', 'wp-rich-text', 'wp-shortcode', 'wp-warning'), 'version' => 'de131db49fa830bc97da'), 'commands.min.js' => array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-primitives', 'wp-private-apis'), 'version' => 'cac8f4817ab7cea0ac49'), 'components.min.js' => array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-compose', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-warning'), 'version' => 'ad5cb4227f07a3d422ad'), 'compose.min.js' => array('dependencies' => array('react', 'react-jsx-runtime', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-is-shallow-equal', 'wp-keycodes', 'wp-priority-queue'), 'version' => '7a9b375d8c19cf9d3d9b'), 'core-commands.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-commands', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url'), 'version' => 'effe2d88d7f0c50a8ce9'), 'core-data.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-is-shallow-equal', 'wp-private-apis', 'wp-rich-text', 'wp-url', 'wp-warning'), 'version' => '15baadfe6e1374188072'), 'customize-widgets.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-is-shallow-equal', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-widgets'), 'version' => 'd824213342f5e84c8ea3'), 'data.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-is-shallow-equal', 'wp-priority-queue', 'wp-private-apis', 'wp-redux-routine'), 'version' => 'f940198280891b0b6318'), 'data-controls.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-data', 'wp-deprecated'), 'version' => '49f5587e8b90f9e7cc7e'), 'date.min.js' => array('dependencies' => array('moment', 'wp-deprecated'), 'version' => '795a56839718d3ff7eae'), 'deprecated.min.js' => array('dependencies' => array('wp-hooks'), 'version' => 'e1f84915c5e8ae38964c'), 'dom.min.js' => array('dependencies' => array('wp-deprecated'), 'version' => '26edef3be6483da3de2e'), 'dom-ready.min.js' => array('dependencies' => array(), 'version' => 'f77871ff7694fffea381'), 'edit-post.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-widgets'), 'version' => 'f011f5ec0075a555ea9c'), 'edit-site.min.js' => array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-editor', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-router', 'wp-url', 'wp-warning', 'wp-widgets'), 'version' => 'b877e769e7f2bce85569'), 'edit-widgets.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-block-library', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => 'f0347fefaf37fa0d99ca'), 'editor.min.js' => array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-deprecated', 'wp-dom', 'wp-element', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-wordcount'), 'version' => 'eb03723c7a53aaeea8fd'), 'element.min.js' => array('dependencies' => array('react', 'react-dom', 'wp-escape-html'), 'version' => '6a582b0c827fa25df3dd'), 'escape-html.min.js' => array('dependencies' => array(), 'version' => '6561a406d2d232a6fbd2'), 'format-library.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-a11y', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-latex-to-mathml', 'wp-primitives', 'wp-private-apis', 'wp-rich-text', 'wp-url'), 'version' => '0811ed891b276a89737b'), 'hooks.min.js' => array('dependencies' => array(), 'version' => 'dd5603f07f9220ed27f1'), 'html-entities.min.js' => array('dependencies' => array(), 'version' => 'e8b78b18a162491d5e5f'), 'i18n.min.js' => array('dependencies' => array('wp-hooks'), 'version' => 'c26c3dc7bed366793375'), 'is-shallow-equal.min.js' => array('dependencies' => array(), 'version' => 'e0f9f1d78d83f5196979'), 'keyboard-shortcuts.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-data', 'wp-element', 'wp-keycodes'), 'version' => 'fbc45a34ce65c5723afa'), 'keycodes.min.js' => array('dependencies' => array('wp-i18n'), 'version' => '34c8fb5e7a594a1c8037'), 'latex-to-mathml.min.js' => array('dependencies' => array(), 'version' => '960cef31b586960935b4'), 'list-reusable-blocks.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-blob', 'wp-components', 'wp-compose', 'wp-element', 'wp-i18n'), 'version' => 'f203c56da0f227808035'), 'media-utils.min.js' => array('dependencies' => array('wp-api-fetch', 'wp-blob', 'wp-element', 'wp-i18n', 'wp-private-apis'), 'version' => 'c66754bed5498afe7050'), 'notices.min.js' => array('dependencies' => array('wp-data'), 'version' => 'f62fbf15dcc23301922f'), 'nux.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => 'df0a4e75f0b99fb17077'), 'patterns.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-a11y', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '4131f04a041db58120d8'), 'plugins.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-compose', 'wp-deprecated', 'wp-element', 'wp-hooks', 'wp-is-shallow-equal', 'wp-primitives'), 'version' => '039ed87b5b9f7036ceee'), 'preferences.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-a11y', 'wp-components', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-private-apis'), 'version' => '2ca086aed510c242a1ed'), 'preferences-persistence.min.js' => array('dependencies' => array('wp-api-fetch'), 'version' => 'e954d3a4426d311f7d1a'), 'primitives.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-element'), 'version' => '0b5dcc337aa7cbf75570'), 'priority-queue.min.js' => array('dependencies' => array(), 'version' => '2d59d091223ee9a33838'), 'private-apis.min.js' => array('dependencies' => array(), 'version' => '4f465748bda624774139'), 'redux-routine.min.js' => array('dependencies' => array(), 'version' => '8bb92d45458b29590f53'), 'reusable-blocks.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-url'), 'version' => '6c0ec6e24f166c9b36e7'), 'rich-text.min.js' => array('dependencies' => array('wp-a11y', 'wp-compose', 'wp-data', 'wp-deprecated', 'wp-element', 'wp-escape-html', 'wp-i18n', 'wp-keycodes'), 'version' => '5bdbb44f3039529e3645'), 'router.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-compose', 'wp-element', 'wp-private-apis', 'wp-url'), 'version' => '2dfc4b954318a03e6a76'), 'server-side-render.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-url'), 'version' => '7db2472793a2abb97aa5'), 'shortcode.min.js' => array('dependencies' => array(), 'version' => '0b3174183b858f2df320'), 'style-engine.min.js' => array('dependencies' => array(), 'version' => '7c6fcedc37dadafb8a81'), 'token-list.min.js' => array('dependencies' => array(), 'version' => 'cfdf635a436c3953a965'), 'url.min.js' => array('dependencies' => array(), 'version' => '9e178c9516d1222dc834'), 'viewport.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-compose', 'wp-data'), 'version' => 'f07b4909c08cfe9de4e2'), 'views.min.js' => array('dependencies' => array('wp-data', 'wp-element', 'wp-preferences'), 'version' => 'ffb9f0d96ccb2a0d04bd'), 'warning.min.js' => array('dependencies' => array(), 'version' => 'd69bc18c456d01c11d5a'), 'widgets.min.js' => array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives'), 'version' => 'c0e4adfacd4c628b1d02'), 'wordcount.min.js' => array('dependencies' => array(), 'version' => 'c5b97f11206928ea9130')); + array( + 'dependencies' => array( + 'wp-dom-ready', + 'wp-i18n' + ), + 'version' => '879fa8fbccbc34cefa51' + ), + 'annotations.min.js' => array( + 'dependencies' => array( + 'wp-data', + 'wp-hooks', + 'wp-i18n', + 'wp-rich-text' + ), + 'version' => '43fcc82a7fc95aab43c8' + ), + 'api-fetch.min.js' => array( + 'dependencies' => array( + 'wp-i18n', + 'wp-url' + ), + 'version' => 'bc60795dcfebbb08ba52' + ), + 'autop.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '9d0d0901b46f0a9027c9' + ), + 'base-styles.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '8ebe97b095beb7e9279b' + ), + 'blob.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '198af75fe06d924090d8' + ), + 'block-directory.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-a11y', + 'wp-api-fetch', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-editor', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-notices', + 'wp-plugins', + 'wp-primitives', + 'wp-url' + ), + 'version' => 'b478308aab5c12b3182d' + ), + 'block-editor.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-a11y', + 'wp-api-fetch', + 'wp-blob', + 'wp-block-serialization-default-parser', + 'wp-blocks', + 'wp-commands', + 'wp-components', + 'wp-compose', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-is-shallow-equal', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-notices', + 'wp-preferences', + 'wp-primitives', + 'wp-priority-queue', + 'wp-private-apis', + 'wp-rich-text', + 'wp-style-engine', + 'wp-token-list', + 'wp-url', + 'wp-warning' + ), + 'version' => '4b383afbd1e5227e4044' + ), + 'block-library.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-a11y', + 'wp-api-fetch', + 'wp-autop', + 'wp-blob', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-escape-html', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-notices', + 'wp-patterns', + 'wp-primitives', + 'wp-private-apis', + 'wp-rich-text', + 'wp-server-side-render', + 'wp-url', + 'wp-wordcount' + ), + 'version' => '7cfdc747865ec1cf1b48' + ), + 'block-serialization-default-parser.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'bff55bd3f1ce9df0c99c' + ), + 'block-serialization-spec-parser.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '9ebc5e95e1de1cabd1e6' + ), + 'blocks.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-autop', + 'wp-blob', + 'wp-block-serialization-default-parser', + 'wp-data', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-is-shallow-equal', + 'wp-private-apis', + 'wp-rich-text', + 'wp-shortcode', + 'wp-warning' + ), + 'version' => 'df3ea4980b2830f1957a' + ), + 'commands.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-components', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-primitives', + 'wp-private-apis' + ), + 'version' => 'd7a1e27135c422b68ab8' + ), + 'components.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-a11y', + 'wp-compose', + 'wp-date', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-escape-html', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-is-shallow-equal', + 'wp-keycodes', + 'wp-primitives', + 'wp-private-apis', + 'wp-rich-text', + 'wp-warning' + ), + 'version' => 'c8e16b0453cccb5aa4f4' + ), + 'compose.min.js' => array( + 'dependencies' => array( + 'react', + 'react-jsx-runtime', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-is-shallow-equal', + 'wp-keycodes', + 'wp-priority-queue', + 'wp-undo-manager' + ), + 'version' => '056e828be7433d31ea43' + ), + 'core-commands.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-commands', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-element', + 'wp-html-entities', + 'wp-i18n', + 'wp-primitives', + 'wp-private-apis', + 'wp-router', + 'wp-url' + ), + 'version' => 'c4f08cdbaa4f757ccb4f' + ), + 'core-data.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-block-editor', + 'wp-blocks', + 'wp-compose', + 'wp-data', + 'wp-deprecated', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-private-apis', + 'wp-rich-text', + 'wp-undo-manager', + 'wp-url', + 'wp-warning' + ), + 'version' => '3b0026fbf1b7f47d1169' + ), + 'customize-widgets.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-block-editor', + 'wp-block-library', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-dom', + 'wp-element', + 'wp-hooks', + 'wp-i18n', + 'wp-is-shallow-equal', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-media-utils', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-widgets' + ), + 'version' => 'af2f36bd7afd2843306a' + ), + 'data.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-compose', + 'wp-deprecated', + 'wp-element', + 'wp-is-shallow-equal', + 'wp-priority-queue', + 'wp-private-apis', + 'wp-redux-routine' + ), + 'version' => '8dc0164cad146febaf2d' + ), + 'data-controls.min.js' => array( + 'dependencies' => array( + 'wp-api-fetch', + 'wp-data', + 'wp-deprecated' + ), + 'version' => '9864b9a790f21e251b90' + ), + 'date.min.js' => array( + 'dependencies' => array( + 'moment', + 'wp-deprecated' + ), + 'version' => 'f1034da6f392d203bdbf' + ), + 'deprecated.min.js' => array( + 'dependencies' => array( + 'wp-hooks' + ), + 'version' => '59de37f1f0e2775c5d9d' + ), + 'dom.min.js' => array( + 'dependencies' => array( + 'wp-deprecated' + ), + 'version' => '2bab767657bb3ffd731c' + ), + 'dom-ready.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'a06281ae5cf5500e9317' + ), + 'edit-post.min.js' => array( + 'dependencies' => array( + 'media-models', + 'media-views', + 'postbox', + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-block-editor', + 'wp-block-library', + 'wp-blocks', + 'wp-commands', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-deprecated', + 'wp-editor', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-notices', + 'wp-plugins', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-style-engine', + 'wp-url', + 'wp-widgets' + ), + 'version' => '093004e1308aa5aa7fd9' + ), + 'edit-site.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-a11y', + 'wp-api-fetch', + 'wp-blob', + 'wp-block-editor', + 'wp-block-library', + 'wp-blocks', + 'wp-commands', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-dom', + 'wp-dom-ready', + 'wp-editor', + 'wp-element', + 'wp-html-entities', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-notices', + 'wp-patterns', + 'wp-plugins', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-router', + 'wp-style-engine', + 'wp-url', + 'wp-warning', + 'wp-widgets' + ), + 'version' => 'b6731193c6ba800903f7' + ), + 'edit-widgets.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-block-editor', + 'wp-block-library', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-hooks', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-media-utils', + 'wp-notices', + 'wp-patterns', + 'wp-plugins', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-url', + 'wp-viewport', + 'wp-widgets' + ), + 'version' => '0a3c1a7b25581214ceb0' + ), + 'editor.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-a11y', + 'wp-api-fetch', + 'wp-blob', + 'wp-block-editor', + 'wp-blocks', + 'wp-commands', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-hooks', + 'wp-html-entities', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-media-utils', + 'wp-notices', + 'wp-patterns', + 'wp-plugins', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-rich-text', + 'wp-server-side-render', + 'wp-style-engine', + 'wp-url', + 'wp-viewport', + 'wp-warning', + 'wp-wordcount' + ), + 'version' => 'e16654f66f07fc17afc5' + ), + 'element.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'wp-escape-html' + ), + 'version' => '001c0ddc21f21cf8bc7e' + ), + 'escape-html.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'f0f394262fc2779c2968' + ), + 'format-library.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-a11y', + 'wp-block-editor', + 'wp-components', + 'wp-compose', + 'wp-data', + 'wp-element', + 'wp-html-entities', + 'wp-i18n', + 'wp-primitives', + 'wp-private-apis', + 'wp-rich-text', + 'wp-url' + ), + 'version' => 'd75d3264e34a3a1ee358' + ), + 'hooks.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '7496969728ca0f95732d' + ), + 'html-entities.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '8c6fa5b869dfeadc4af2' + ), + 'i18n.min.js' => array( + 'dependencies' => array( + 'wp-hooks' + ), + 'version' => '820e8ad987e5e106e4ab' + ), + 'is-shallow-equal.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'd0280015d1040ea49425' + ), + 'keyboard-shortcuts.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-data', + 'wp-element', + 'wp-keycodes' + ), + 'version' => '3940e84bc76dca71a245' + ), + 'keycodes.min.js' => array( + 'dependencies' => array( + 'wp-i18n' + ), + 'version' => 'b95347a694ead0a25e33' + ), + 'list-reusable-blocks.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-blob', + 'wp-components', + 'wp-compose', + 'wp-element', + 'wp-i18n' + ), + 'version' => '823d3e15c6efc27b72cd' + ), + 'media-utils.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-blob', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-element', + 'wp-i18n', + 'wp-keycodes', + 'wp-primitives', + 'wp-private-apis', + 'wp-url', + 'wp-warning' + ), + 'version' => 'c9a0129d6b272cb10b9a' + ), + 'notices.min.js' => array( + 'dependencies' => array( + 'wp-data' + ), + 'version' => '5bc9d59c0b19edba4928' + ), + 'nux.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-components', + 'wp-compose', + 'wp-data', + 'wp-deprecated', + 'wp-element', + 'wp-i18n', + 'wp-primitives' + ), + 'version' => 'fa9377877c3600a8e1d3' + ), + 'patterns.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-a11y', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-element', + 'wp-html-entities', + 'wp-i18n', + 'wp-notices', + 'wp-primitives', + 'wp-private-apis', + 'wp-url' + ), + 'version' => '087476e324e72b650f33' + ), + 'plugins.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-compose', + 'wp-deprecated', + 'wp-element', + 'wp-hooks', + 'wp-is-shallow-equal', + 'wp-primitives' + ), + 'version' => '7144b5b613cb5942d347' + ), + 'preferences.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-a11y', + 'wp-components', + 'wp-compose', + 'wp-data', + 'wp-deprecated', + 'wp-element', + 'wp-i18n', + 'wp-preferences-persistence', + 'wp-primitives', + 'wp-private-apis' + ), + 'version' => 'ff03ff066242788b8d48' + ), + 'preferences-persistence.min.js' => array( + 'dependencies' => array( + 'wp-api-fetch' + ), + 'version' => 'fce545894333b4177c2a' + ), + 'primitives.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-element' + ), + 'version' => '893f211b78eb360e2b06' + ), + 'priority-queue.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'd1c24ea977dc3af721cd' + ), + 'private-apis.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '3a8eb648c2181cb367b1' + ), + 'react-i18n.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-element', + 'wp-i18n' + ), + 'version' => 'b57b99768728138bd42b' + ), + 'react-refresh-entry.min.js' => array( + 'dependencies' => array( + 'wp-react-refresh-runtime' + ), + 'version' => '53210bfcc1b0cedf52eb' + ), + 'react-refresh-runtime.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '4c709cda4b2d116d8832' + ), + 'redux-routine.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'bc473a13cf8f25e47e11' + ), + 'reusable-blocks.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-core-data', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-notices', + 'wp-primitives', + 'wp-url' + ), + 'version' => '9aba4e06b6596a91bf8d' + ), + 'rich-text.min.js' => array( + 'dependencies' => array( + 'wp-a11y', + 'wp-compose', + 'wp-data', + 'wp-deprecated', + 'wp-dom', + 'wp-element', + 'wp-escape-html', + 'wp-i18n', + 'wp-keycodes' + ), + 'version' => 'fd4fa4200773a0ec2450' + ), + 'router.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-compose', + 'wp-element', + 'wp-private-apis', + 'wp-url' + ), + 'version' => 'cafe5ab0f12e75f2b357' + ), + 'server-side-render.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-url' + ), + 'version' => '3283cbe3e651b5676910' + ), + 'shortcode.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '4959249c21cba2969b25' + ), + 'style-engine.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '4453723098214d164136' + ), + 'theme.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-element', + 'wp-private-apis' + ), + 'version' => '03cfdf2229208be6c66b' + ), + 'token-list.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '16f0aebdd39d87c2a84b' + ), + 'undo-manager.min.js' => array( + 'dependencies' => array( + 'wp-is-shallow-equal' + ), + 'version' => '73482a32ad05bb53ab62' + ), + 'url.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'e396df455df858a462d3' + ), + 'viewport.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-compose', + 'wp-data' + ), + 'version' => 'bd606c90cc62a8239265' + ), + 'warning.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '36fdbdc984d93aee8a97' + ), + 'widgets.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-api-fetch', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-notices', + 'wp-primitives' + ), + 'version' => 'd85a12285a7caef19373' + ), + 'wordcount.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '55a033993d02c9269b8d' + ) +); \ No newline at end of file diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index b1a803991701d..79268ac64cc28 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -1 +1,282 @@ - array('dependencies' => array(), 'version' => '90f16bd7fc9472806570', 'type' => 'module'), 'interactivity/debug.min.js' => array('dependencies' => array(), 'version' => 'dea7da43ce140b662d0f', 'type' => 'module'), 'interactivity-router/index.min.js' => array('dependencies' => array('@wordpress/interactivity', array('id' => '@wordpress/a11y', 'import' => 'dynamic')), 'version' => '765a6ee8162122b48e6c', 'type' => 'module'), 'a11y/index.min.js' => array('dependencies' => array(), 'version' => 'b7d06936b8bc23cff2ad', 'type' => 'module'), 'block-library/accordion/view.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => '3a414634555a20667d6c', 'type' => 'module'), 'block-library/file/view.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => 'f9665632b48682075277', 'type' => 'module'), 'block-library/form/view.min.js' => array('dependencies' => array(), 'version' => 'baaf25398238b4f2a821', 'type' => 'module'), 'block-library/image/view.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => '292ec2cc397d10d98f6a', 'type' => 'module'), 'block-library/navigation/view.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => 'b0f909c3ec791c383210', 'type' => 'module'), 'block-library/query/view.min.js' => array('dependencies' => array('@wordpress/interactivity', array('id' => '@wordpress/interactivity-router', 'import' => 'dynamic')), 'version' => 'f55e93a1ad4806e91785', 'type' => 'module'), 'block-library/search/view.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => '94fc611a7464b5de290a', 'type' => 'module'), 'block-editor/utils/fit-text-frontend.min.js' => array('dependencies' => array('@wordpress/interactivity'), 'version' => 'd6b553b57c3908edc8f8', 'type' => 'module')); + array( + 'dependencies' => array( + + ), + 'version' => '1c371cb517a97cdbcb9f' + ), + 'abilities/index.min.js' => array( + 'dependencies' => array( + 'wp-data', + 'wp-i18n' + ), + 'version' => 'bd07cd6be9d3678c2a45' + ), + 'block-editor/utils/fit-text-frontend.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '2f00eb94b5ef309f39eb' + ), + 'block-library/accordion/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '2af01b43d30739c3fb8d' + ), + 'block-library/file/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '7d4d261d10dca47ebecb' + ), + 'block-library/form/view.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '5542f8ad251fe43ef09e' + ), + 'block-library/image/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '3aa348554e724dae4f1f' + ), + 'block-library/navigation/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '7437ed5c45ee57daf02c' + ), + 'block-library/query/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ), + array( + 'id' => '@wordpress/interactivity-router', + 'import' => 'dynamic' + ) + ), + 'version' => '7a4ec5bfb61a7137cf4b' + ), + 'block-library/search/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '38bd0e230eaffa354d2a' + ), + 'block-library/tabs/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => 'c08655def5ed243c4d65' + ), + 'boot/index.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-commands', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-editor', + 'wp-element', + 'wp-html-entities', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-keycodes', + 'wp-primitives', + 'wp-private-apis', + 'wp-theme', + 'wp-url' + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/a11y', + 'import' => 'static' + ), + array( + 'id' => '@wordpress/lazy-editor', + 'import' => 'dynamic' + ), + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), + 'version' => 'fd0d9e60f92ad91a14b8' + ), + 'core-abilities/index.min.js' => array( + 'dependencies' => array( + 'wp-api-fetch', + 'wp-url' + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/abilities', + 'import' => 'static' + ) + ), + 'version' => '336043fa59033fb5e9b0' + ), + 'edit-site-init/index.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-data', + 'wp-element', + 'wp-primitives' + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/boot', + 'import' => 'static' + ) + ), + 'version' => '86ba14602c8af2333ca2' + ), + 'interactivity/index.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '771756b5dd00167d1664' + ), + 'interactivity-router/full-page.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity-router', + 'import' => 'dynamic' + ) + ), + 'version' => '5c07cd7a12ae073c5241' + ), + 'interactivity-router/index.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/a11y', + 'import' => 'dynamic' + ), + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => 'bb48ce8e3364d5290463' + ), + 'latex-to-mathml/index.min.js' => array( + 'dependencies' => array( + + ), + 'version' => 'e5fd3ae6d2c3b6e669da' + ), + 'latex-to-mathml/loader.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/latex-to-mathml', + 'import' => 'dynamic' + ) + ), + 'version' => '4f37456af539bd3d2351' + ), + 'lazy-editor/index.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-block-editor', + 'wp-blocks', + 'wp-components', + 'wp-core-data', + 'wp-data', + 'wp-editor', + 'wp-element', + 'wp-i18n', + 'wp-private-apis', + 'wp-style-engine' + ), + 'version' => 'f30e5694b3c38e7db798' + ), + 'route/index.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-private-apis' + ), + 'version' => '333002943024efaa0bcc' + ), + 'workflow/index.min.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-components', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-keyboard-shortcuts', + 'wp-primitives', + 'wp-private-apis' + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/abilities', + 'import' => 'static' + ) + ), + 'version' => '043a2b1428e3cca48ebc' + ) +); \ No newline at end of file diff --git a/src/wp-includes/blocks/accordion-heading/block.json b/src/wp-includes/blocks/accordion-heading/block.json index 1fbb33f7e407c..e1ccf83dd3c1b 100644 --- a/src/wp-includes/blocks/accordion-heading/block.json +++ b/src/wp-includes/blocks/accordion-heading/block.json @@ -57,7 +57,7 @@ } }, "shadow": true, - "blockVisibility": false, + "visibility": false, "lock": false }, "selectors": { diff --git a/src/wp-includes/blocks/accordion-item.php b/src/wp-includes/blocks/accordion-item.php index 6b6df425111fa..37306c61fcb85 100644 --- a/src/wp-includes/blocks/accordion-item.php +++ b/src/wp-includes/blocks/accordion-item.php @@ -36,6 +36,7 @@ function block_core_accordion_item_render( $attributes, $content ) { $p->set_attribute( 'data-wp-context', '{ "id": "' . $unique_id . '", "openByDefault": ' . $open_by_default . ' }' ); $p->set_attribute( 'data-wp-class--is-open', 'state.isOpen' ); $p->set_attribute( 'data-wp-init', 'callbacks.initAccordionItems' ); + $p->set_attribute( 'data-wp-on-window--hashchange', 'callbacks.hashChange' ); if ( $p->next_tag( array( 'class_name' => 'wp-block-accordion-heading__toggle' ) ) ) { $p->set_attribute( 'data-wp-on--click', 'actions.toggle' ); diff --git a/src/wp-includes/blocks/accordion-item/block.json b/src/wp-includes/blocks/accordion-item/block.json index 4958a5fde17ae..43029948aa029 100644 --- a/src/wp-includes/blocks/accordion-item/block.json +++ b/src/wp-includes/blocks/accordion-item/block.json @@ -33,7 +33,7 @@ "shadow": true, "layout": { "allowEditing": false - }, + }, "typography": { "fontSize": true, "lineHeight": true, diff --git a/src/wp-includes/blocks/accordion-panel/block.json b/src/wp-includes/blocks/accordion-panel/block.json index d6b6602619447..1ebeafd9a777c 100644 --- a/src/wp-includes/blocks/accordion-panel/block.json +++ b/src/wp-includes/blocks/accordion-panel/block.json @@ -50,7 +50,7 @@ "layout": { "allowEditing": false }, - "blockVisibility": false, + "visibility": false, "contentRole": true, "allowedBlocks": true, "lock": false diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index 74006dedb2e3f..994f2b226885a 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -159,7 +159,7 @@ ) ), 'shadow' => true, - 'blockVisibility' => false, + 'visibility' => false, 'lock' => false ), 'selectors' => array( @@ -319,7 +319,7 @@ 'layout' => array( 'allowEditing' => false ), - 'blockVisibility' => false, + 'visibility' => false, 'contentRole' => true, 'allowedBlocks' => true, 'lock' => false @@ -628,9 +628,6 @@ 'type' => 'string', 'default' => 'button' ), - 'textAlign' => array( - 'type' => 'string' - ), 'url' => array( 'type' => 'string', 'source' => 'attribute', @@ -698,6 +695,7 @@ '__experimentalSkipSerialization' => array( 'fontSize', 'lineHeight', + 'textAlign', 'fontFamily', 'fontWeight', 'fontStyle', @@ -707,6 +705,7 @@ ), 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1887,6 +1886,13 @@ ), 'interactivity' => array( 'clientNavigation' => true + ), + 'spacing' => array( + 'margin' => true, + 'padding' => true, + '__experimentalDefaultControls' => array( + 'padding' => true + ) ) ) ), @@ -2516,13 +2522,12 @@ ) ), 'supports' => array( - 'html' => false, 'className' => false, 'customClassName' => false, 'lock' => false, 'reusable' => false, 'renaming' => false, - 'blockVisibility' => false + 'visibility' => false ), 'editorStyle' => 'wp-block-freeform-editor' ), @@ -3179,9 +3184,14 @@ 'type' => 'boolean', 'default' => true ), - 'displayExcerpt' => array( - 'type' => 'boolean', - 'default' => true + 'displayContent' => array( + 'type' => 'string', + 'default' => 'excerpt', + 'enum' => array( + 'none', + 'excerpt', + 'full' + ) ) ), 'supports' => array( @@ -3636,7 +3646,34 @@ ), 'textdomain' => 'default', 'supports' => array( - 'html' => false + 'html' => false, + '__experimentalBorder' => array( + 'color' => true, + 'radius' => true, + 'style' => true, + 'width' => true + ), + 'color' => array( + 'gradients' => true, + '__experimentalDefaultControls' => array( + 'background' => true, + 'text' => true + ) + ), + 'spacing' => array( + 'margin' => true, + 'padding' => true, + '__experimentalDefaultControls' => array( + 'margin' => false, + 'padding' => false + ) + ), + 'typography' => array( + 'fontSize' => true, + '__experimentalDefaultControls' => array( + 'fontSize' => true + ) + ) ), 'attributes' => array( 'latex' => array( @@ -3835,7 +3872,7 @@ 'lock' => false, 'reusable' => false, 'renaming' => false, - 'blockVisibility' => false, + 'visibility' => false, 'interactivity' => array( 'clientNavigation' => true ) @@ -3934,6 +3971,9 @@ 'type' => 'string', 'default' => 'mobile' ), + 'overlay' => array( + 'type' => 'string' + ), 'icon' => array( 'type' => 'string', 'default' => 'handle' @@ -3996,6 +4036,7 @@ 'full' ), 'ariaLabel' => true, + 'contentRole' => true, 'html' => false, 'inserter' => true, 'typography' => array( @@ -4037,8 +4078,7 @@ ) ), 'interactivity' => true, - 'renaming' => false, - 'contentRole' => true + 'renaming' => false ), 'editorStyle' => 'wp-block-navigation-editor', 'style' => 'wp-block-navigation' @@ -4081,7 +4121,8 @@ 'default' => false ), 'url' => array( - 'type' => 'string' + 'type' => 'string', + 'role' => 'content' ), 'title' => array( 'type' => 'string' @@ -4166,7 +4207,8 @@ 'default' => false ), 'url' => array( - 'type' => 'string' + 'type' => 'string', + 'role' => 'content' ), 'title' => array( 'type' => 'string' @@ -4404,9 +4446,6 @@ ), 'textdomain' => 'default', 'attributes' => array( - 'align' => array( - 'type' => 'string' - ), 'content' => array( 'type' => 'rich-text', 'source' => 'rich-text', @@ -4429,6 +4468,10 @@ ) ), 'supports' => array( + 'align' => array( + 'wide', + 'full' + ), 'splitting' => true, 'anchor' => true, 'className' => false, @@ -4457,6 +4500,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalTextDecoration' => true, '__experimentalFontStyle' => true, @@ -4489,7 +4533,7 @@ 'html' => false, 'inserter' => false, 'renaming' => false, - 'blockVisibility' => false, + 'visibility' => false, 'interactivity' => array( 'clientNavigation' => true ) @@ -5744,9 +5788,9 @@ '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/pullquote', - 'title' => 'Pullquote', + 'title' => 'Pullquote (deprecated)', 'category' => 'text', - 'description' => 'Give special visual emphasis to a quote from your text.', + 'description' => 'This block is deprecated. Please use the Quote block instead.', 'textdomain' => 'default', 'attributes' => array( 'value' => array( @@ -5795,6 +5839,7 @@ 'minHeight' => false ) ), + 'inserter' => false, 'spacing' => array( 'margin' => true, 'padding' => true @@ -7771,6 +7816,9 @@ 'isLink' => array( 'type' => 'boolean', 'default' => false + ), + 'levelOptions' => array( + 'type' => 'array' ) ), 'supports' => array( diff --git a/src/wp-includes/blocks/button/block.json b/src/wp-includes/blocks/button/block.json index 6fcb7aca4c592..50ba4cda9c688 100644 --- a/src/wp-includes/blocks/button/block.json +++ b/src/wp-includes/blocks/button/block.json @@ -18,9 +18,6 @@ "type": "string", "default": "button" }, - "textAlign": { - "type": "string" - }, "url": { "type": "string", "source": "attribute", @@ -88,6 +85,7 @@ "__experimentalSkipSerialization": [ "fontSize", "lineHeight", + "textAlign", "fontFamily", "fontWeight", "fontStyle", @@ -97,6 +95,7 @@ ], "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/categories.php b/src/wp-includes/blocks/categories.php index 5ff5858166bb0..518918c8a1cc9 100644 --- a/src/wp-includes/blocks/categories.php +++ b/src/wp-includes/blocks/categories.php @@ -79,7 +79,7 @@ function render_block_core_categories( $attributes, $content, $block ) { } } - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => "wp-block-categories-{$type}" ) ); + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => "wp-block-categories-{$type} wp-block-categories-taxonomy-{$attributes['taxonomy']}" ) ); return sprintf( $wrapper_markup, diff --git a/src/wp-includes/blocks/comments-pagination-numbers/block.json b/src/wp-includes/blocks/comments-pagination-numbers/block.json index 9e9017af63197..4d06094edd617 100644 --- a/src/wp-includes/blocks/comments-pagination-numbers/block.json +++ b/src/wp-includes/blocks/comments-pagination-numbers/block.json @@ -33,6 +33,13 @@ }, "interactivity": { "clientNavigation": true + }, + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "padding": true + } } } } diff --git a/src/wp-includes/blocks/cover.php b/src/wp-includes/blocks/cover.php index 630835a47947b..1d8643f6c9b87 100644 --- a/src/wp-includes/blocks/cover.php +++ b/src/wp-includes/blocks/cover.php @@ -16,6 +16,112 @@ * @return string Returns the cover block markup, if useFeaturedImage is true. */ function render_block_core_cover( $attributes, $content ) { + // Handle embed video background. + if ( + isset( $attributes['backgroundType'] ) && + 'embed-video' === $attributes['backgroundType'] && + isset( $attributes['url'] ) && + ! empty( $attributes['url'] ) && + is_string( $attributes['url'] ) + ) { + $url = $attributes['url']; + + // Use WordPress's native oEmbed processing (includes caching). + $oembed_html = wp_oembed_get( $url ); + + if ( $oembed_html ) { + // Extract iframe src from the oEmbed HTML. + preg_match( '/src=["\']([^"\']+)["\']/', $oembed_html, $src_matches ); + if ( ! empty( $src_matches[1] ) ) { + $iframe_src = $src_matches[1]; + + // Detect provider from iframe src URL. + $lower_src = strtolower( $iframe_src ); + $provider = null; + + if ( strpos( $lower_src, 'youtube.com' ) !== false || strpos( $lower_src, 'youtu.be' ) !== false ) { + $provider = 'youtube'; + } elseif ( strpos( $lower_src, 'vimeo.com' ) !== false ) { + $provider = 'vimeo'; + } elseif ( strpos( $lower_src, 'videopress.com' ) !== false ) { + $provider = 'videopress'; + } elseif ( strpos( $lower_src, 'wordpress.tv' ) !== false ) { + $provider = 'wordpress-tv'; + } + + // Modify iframe src to add background video parameters based on provider. + $parsed_url = wp_parse_url( $iframe_src ); + if ( $parsed_url && isset( $parsed_url['host'] ) ) { + // Parse existing query parameters. + $query_params = array(); + if ( isset( $parsed_url['query'] ) ) { + parse_str( $parsed_url['query'], $query_params ); + } + + // Add background video parameters based on provider. + if ( 'youtube' === $provider ) { + $query_params['autoplay'] = '1'; + $query_params['mute'] = '1'; + $query_params['loop'] = '1'; + $query_params['controls'] = '0'; + $query_params['modestbranding'] = '1'; + $query_params['playsinline'] = '1'; + } elseif ( 'vimeo' === $provider ) { + $query_params['autoplay'] = '1'; + $query_params['muted'] = '1'; + $query_params['loop'] = '1'; + $query_params['background'] = '1'; + $query_params['controls'] = '0'; + $query_params['transparent'] = '0'; + } elseif ( 'videopress' === $provider || 'wordpress-tv' === $provider ) { + $query_params['autoplay'] = '1'; + $query_params['loop'] = '1'; + $query_params['muted'] = '1'; + } + + // Rebuild the URL with new parameters. + $iframe_src = $parsed_url['scheme'] . '://' . $parsed_url['host']; + if ( isset( $parsed_url['path'] ) ) { + $iframe_src .= $parsed_url['path']; + } + if ( ! empty( $query_params ) ) { + $iframe_src .= '?' . http_build_query( $query_params ); + } + } + + // Build the iframe HTML that will replace the figure. + $iframe_html = sprintf( + '
', + esc_url( $iframe_src ) + ); + + // Use the HTML API to find and replace the figure.wp-block-embed element. + $processor = new WP_HTML_Tag_Processor( $content ); + + if ( $processor->next_tag( + array( + 'tag_name' => 'FIGURE', + 'class_name' => 'wp-block-embed', + ) + ) ) { + // Use regex with PREG_OFFSET_CAPTURE to find the position of the figure element. + // This follows the same pattern used for featured image insertion below. + $figure_pattern = '/]*\bwp-block-embed\b[^>]*>.*?<\/figure>/is'; + if ( 1 === preg_match( $figure_pattern, $content, $matches, PREG_OFFSET_CAPTURE ) ) { + $figure_start = $matches[0][1]; + $figure_length = strlen( $matches[0][0] ); + $figure_end = $figure_start + $figure_length; + + // Replace the figure element with the iframe HTML. + $content = substr( $content, 0, $figure_start ) . $iframe_html . substr( $content, $figure_end ); + } + } + } + } + + return $content; + } + if ( 'image' !== $attributes['backgroundType'] || false === $attributes['useFeaturedImage'] ) { return $content; } diff --git a/src/wp-includes/blocks/freeform/block.json b/src/wp-includes/blocks/freeform/block.json index 35d8295e4669d..3a0b575ce4d34 100644 --- a/src/wp-includes/blocks/freeform/block.json +++ b/src/wp-includes/blocks/freeform/block.json @@ -13,13 +13,12 @@ } }, "supports": { - "html": false, "className": false, "customClassName": false, "lock": false, "reusable": false, "renaming": false, - "blockVisibility": false + "visibility": false }, "editorStyle": "wp-block-freeform-editor" } diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index 0db8c9d3f608e..24216538f6efc 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -196,12 +196,14 @@ function block_core_image_render_lightbox( $block_content, $block ) { $img_styles = $processor->get_attribute( 'style' ); $img_width = 'none'; $img_height = 'none'; + $img_srcset = false; $aria_label = __( 'Enlarge' ); $dialog_aria_label = __( 'Enlarged image' ); if ( isset( $block['attrs']['id'] ) ) { $img_uploaded_src = wp_get_attachment_url( $block['attrs']['id'] ); $img_metadata = wp_get_attachment_metadata( $block['attrs']['id'] ); + $img_srcset = wp_get_attachment_image_srcset( $block['attrs']['id'] ); $img_width = $img_metadata['width'] ?? 'none'; $img_height = $img_metadata['height'] ?? 'none'; } @@ -220,6 +222,7 @@ function block_core_image_render_lightbox( $block_content, $block ) { 'metadata' => array( $unique_image_id => array( 'uploadedSrc' => $img_uploaded_src, + 'lightboxSrcset' => $img_srcset, 'figureClassNames' => $figure_class_names, 'figureStyles' => $figure_styles, 'imgClassNames' => $img_class_names, @@ -252,6 +255,14 @@ function block_core_image_render_lightbox( $block_content, $block ) { $processor->set_attribute( 'data-wp-init', 'callbacks.setButtonStyles' ); $processor->set_attribute( 'data-wp-on--load', 'callbacks.setButtonStyles' ); $processor->set_attribute( 'data-wp-on-window--resize', 'callbacks.setButtonStyles' ); + + // Set an event to preload the image on pointerenter and pointerdown(mobile). + // Pointerleave is used to cancel the preload if the user hovers away from the image + // before the predefined delay. + $processor->set_attribute( 'data-wp-on--pointerenter', 'actions.preloadImageWithDelay' ); + $processor->set_attribute( 'data-wp-on--pointerdown', 'actions.preloadImage' ); + $processor->set_attribute( 'data-wp-on--pointerleave', 'actions.cancelPreload' ); + // Sets an event callback on the `img` because the `figure` element can also // contain a caption, and we don't want to trigger the lightbox when the // caption is clicked. @@ -343,7 +354,14 @@ class="wp-lightbox-overlay zoom" diff --git a/src/wp-includes/blocks/latest-comments.php b/src/wp-includes/blocks/latest-comments.php index bbe82b8b18f9a..f64ade174b501 100644 --- a/src/wp-includes/blocks/latest-comments.php +++ b/src/wp-includes/blocks/latest-comments.php @@ -43,6 +43,13 @@ function wp_latest_comments_draft_or_post_title( $post = 0 ) { * @return string Returns the post content with latest comments added. */ function render_block_core_latest_comments( $attributes ) { + // Handle backward compatibility: check for old displayExcerpt attribute + if ( isset( $attributes['displayExcerpt'] ) ) { + $display_content = $attributes['displayExcerpt'] ? 'excerpt' : 'none'; + } else { + $display_content = isset( $attributes['displayContent'] ) ? $attributes['displayContent'] : 'excerpt'; + } + $comments = get_comments( /** This filter is documented in wp-includes/widgets/class-wp-widget-recent-comments.php */ apply_filters( @@ -112,7 +119,9 @@ function render_block_core_latest_comments( $attributes ) { ); } $list_items_markup .= ''; - if ( $attributes['displayExcerpt'] ) { + if ( 'full' === $display_content ) { + $list_items_markup .= '
' . wpautop( get_comment_text( $comment ) ) . '
'; + } elseif ( 'excerpt' === $display_content ) { $list_items_markup .= '
' . wpautop( get_comment_excerpt( $comment ) ) . '
'; } $list_items_markup .= ''; @@ -126,7 +135,7 @@ function render_block_core_latest_comments( $attributes ) { if ( $attributes['displayDate'] ) { $classnames[] = 'has-dates'; } - if ( $attributes['displayExcerpt'] ) { + if ( 'none' !== $display_content ) { $classnames[] = 'has-excerpts'; } if ( empty( $comments ) ) { diff --git a/src/wp-includes/blocks/latest-comments/block.json b/src/wp-includes/blocks/latest-comments/block.json index 543512ddf3ce7..28f5ce1ea47da 100644 --- a/src/wp-includes/blocks/latest-comments/block.json +++ b/src/wp-includes/blocks/latest-comments/block.json @@ -22,9 +22,10 @@ "type": "boolean", "default": true }, - "displayExcerpt": { - "type": "boolean", - "default": true + "displayContent": { + "type": "string", + "default": "excerpt", + "enum": [ "none", "excerpt", "full" ] } }, "supports": { diff --git a/src/wp-includes/blocks/math/block.json b/src/wp-includes/blocks/math/block.json index 4b47761307c4c..a7cce62167ffb 100644 --- a/src/wp-includes/blocks/math/block.json +++ b/src/wp-includes/blocks/math/block.json @@ -8,7 +8,34 @@ "keywords": [ "equation", "formula", "latex", "mathematics" ], "textdomain": "default", "supports": { - "html": false + "html": false, + "__experimentalBorder": { + "color": true, + "radius": true, + "style": true, + "width": true + }, + "color": { + "gradients": true, + "__experimentalDefaultControls": { + "background": true, + "text": true + } + }, + "spacing": { + "margin": true, + "padding": true, + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } + }, + "typography": { + "fontSize": true, + "__experimentalDefaultControls": { + "fontSize": true + } + } }, "attributes": { "latex": { diff --git a/src/wp-includes/blocks/missing/block.json b/src/wp-includes/blocks/missing/block.json index 94051f20be7e5..619c181ec86c8 100644 --- a/src/wp-includes/blocks/missing/block.json +++ b/src/wp-includes/blocks/missing/block.json @@ -26,7 +26,7 @@ "lock": false, "reusable": false, "renaming": false, - "blockVisibility": false, + "visibility": false, "interactivity": { "clientNavigation": true } diff --git a/src/wp-includes/blocks/navigation-link.php b/src/wp-includes/blocks/navigation-link.php index 111598ea4c486..2b2d5a00a10bb 100644 --- a/src/wp-includes/blocks/navigation-link.php +++ b/src/wp-includes/blocks/navigation-link.php @@ -312,11 +312,50 @@ function build_variation_for_navigation_link( $entity, $kind ) { $title = ''; $description = ''; + // Get default labels based on entity type + $default_labels = null; + if ( $entity instanceof WP_Post_Type ) { + $default_labels = WP_Post_Type::get_default_labels(); + } elseif ( $entity instanceof WP_Taxonomy ) { + $default_labels = WP_Taxonomy::get_default_labels(); + } + + // Get title and check if it's default + $is_default_title = false; if ( property_exists( $entity->labels, 'item_link' ) ) { $title = $entity->labels->item_link; + if ( isset( $default_labels['item_link'] ) ) { + $is_default_title = in_array( $title, $default_labels['item_link'], true ); + } } + + // Get description and check if it's default + $is_default_description = false; if ( property_exists( $entity->labels, 'item_link_description' ) ) { $description = $entity->labels->item_link_description; + if ( isset( $default_labels['item_link_description'] ) ) { + $is_default_description = in_array( $description, $default_labels['item_link_description'], true ); + } + } + + // Calculate singular name once (used for both title and description) + $singular = isset( $entity->labels->singular_name ) ? $entity->labels->singular_name : ucfirst( $entity->name ); + + // Set default title if needed + if ( $is_default_title || '' === $title ) { + /* translators: %s: Singular label of the entity. */ + $title = sprintf( __( '%s link' ), $singular ); + } + + // Default description if needed. + // Use a single space character instead of an empty string to prevent fallback to the + // block.json default description ("Add a page, link, or another item to your navigation."). + // An empty string would be treated as missing and trigger the fallback, while a single + // space appears blank in the UI but prevents the fallback behavior. + // We avoid generating descriptions like "A link to a %s" to prevent grammatical errors + // (e.g., "A link to a event" should be "A link to an event"). + if ( $is_default_description || '' === $description ) { + $description = ' '; } $variation = array( @@ -368,6 +407,7 @@ function build_variation_for_navigation_link( $entity, $kind ) { * * @param array $variations Array of registered variations for a block type. * @param WP_Block_Type $block_type The full block type object. + * @return array Numerically indexed array of block variations. */ function block_core_navigation_link_filter_variations( $variations, $block_type ) { if ( 'core/navigation-link' !== $block_type->name ) { @@ -375,7 +415,28 @@ function block_core_navigation_link_filter_variations( $variations, $block_type } $generated_variations = block_core_navigation_link_build_variations(); - return array_merge( $variations, $generated_variations ); + + /* + * IMPORTANT: Order matters for deduplication. + * + * The variations returned from this filter are bootstrapped to JavaScript and + * processed by the block variations reducer. The reducer uses `getUniqueItemsByName()` + * (packages/blocks/src/store/reducer.js:51-57) which keeps the FIRST variation with + * a given 'name' and discards later duplicates when processing the array in order. + * + * By placing generated variations first in `array_merge()`, the improved + * labels (e.g., "Product link" instead of generic "Post Link") are processed first + * and preserved. The generic incoming variations are then discarded as duplicates. + * + * Why `array_merge()` instead of manual deduplication? + * - Both arrays use numeric indices (0, 1, 2...), so `array_merge()` concatenates + * and re-indexes them sequentially, preserving order + * - The reducer handles deduplication, so it is not needed here + * - This keeps the PHP code simple and relies on the established JavaScript behavior + * + * See: https://github.com/WordPress/gutenberg/pull/72517 + */ + return array_merge( $generated_variations, $variations ); } /** @@ -419,7 +480,9 @@ function block_core_navigation_link_build_variations() { } } - return array_merge( $built_ins, $variations ); + $all_variations = array_merge( $built_ins, $variations ); + + return $all_variations; } /** diff --git a/src/wp-includes/blocks/navigation-link/block.json b/src/wp-includes/blocks/navigation-link/block.json index 5f2d10b97dabe..99d893120cea1 100644 --- a/src/wp-includes/blocks/navigation-link/block.json +++ b/src/wp-includes/blocks/navigation-link/block.json @@ -34,7 +34,8 @@ "default": false }, "url": { - "type": "string" + "type": "string", + "role": "content" }, "title": { "type": "string" diff --git a/src/wp-includes/blocks/navigation-submenu/block.json b/src/wp-includes/blocks/navigation-submenu/block.json index be56628e6142e..33af205689b9a 100644 --- a/src/wp-includes/blocks/navigation-submenu/block.json +++ b/src/wp-includes/blocks/navigation-submenu/block.json @@ -29,7 +29,8 @@ "default": false }, "url": { - "type": "string" + "type": "string", + "role": "content" }, "title": { "type": "string" diff --git a/src/wp-includes/blocks/navigation/block.json b/src/wp-includes/blocks/navigation/block.json index 249193e1cc234..d19fec529eca3 100644 --- a/src/wp-includes/blocks/navigation/block.json +++ b/src/wp-includes/blocks/navigation/block.json @@ -54,6 +54,9 @@ "type": "string", "default": "mobile" }, + "overlay": { + "type": "string" + }, "icon": { "type": "string", "default": "handle" @@ -105,6 +108,7 @@ "supports": { "align": [ "wide", "full" ], "ariaLabel": true, + "contentRole": true, "html": false, "inserter": true, "typography": { @@ -138,8 +142,7 @@ } }, "interactivity": true, - "renaming": false, - "contentRole": true + "renaming": false }, "editorStyle": "wp-block-navigation-editor", "style": "wp-block-navigation" diff --git a/src/wp-includes/blocks/page-list.php b/src/wp-includes/blocks/page-list.php index a574633d4ddf4..8a7f36c890ab9 100644 --- a/src/wp-includes/blocks/page-list.php +++ b/src/wp-includes/blocks/page-list.php @@ -192,8 +192,7 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click, $css_class .= ' menu-item-home'; } - $title = wp_kses_post( $page['title'] ); - $title = $title ? $title : __( '(no title)' ); + $title = $page['title'] ? $page['title'] : __( '(no title)' ); $aria_label = sprintf( /* translators: Accessibility text. %s: Parent page title. */ @@ -204,10 +203,10 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click, $markup .= '
  • '; if ( isset( $page['children'] ) && $is_navigation_child && $open_submenus_on_click ) { - $markup .= ''; } else { - $markup .= '' . $title . ''; + $markup .= '' . wp_kses_post( $title ) . ''; } if ( isset( $page['children'] ) ) { diff --git a/src/wp-includes/blocks/paragraph/block.json b/src/wp-includes/blocks/paragraph/block.json index 9617627ef5d0d..64b65eefc7e4a 100644 --- a/src/wp-includes/blocks/paragraph/block.json +++ b/src/wp-includes/blocks/paragraph/block.json @@ -8,9 +8,6 @@ "keywords": [ "text" ], "textdomain": "default", "attributes": { - "align": { - "type": "string" - }, "content": { "type": "rich-text", "source": "rich-text", @@ -30,6 +27,7 @@ } }, "supports": { + "align": [ "wide", "full" ], "splitting": true, "anchor": true, "className": false, @@ -58,6 +56,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalTextDecoration": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/pattern/block.json b/src/wp-includes/blocks/pattern/block.json index 2a761dfd643ba..d95db89e32f5a 100644 --- a/src/wp-includes/blocks/pattern/block.json +++ b/src/wp-includes/blocks/pattern/block.json @@ -9,7 +9,7 @@ "html": false, "inserter": false, "renaming": false, - "blockVisibility": false, + "visibility": false, "interactivity": { "clientNavigation": true } diff --git a/src/wp-includes/blocks/pullquote/block.json b/src/wp-includes/blocks/pullquote/block.json index 271bba74d0252..3daf8c27afb41 100644 --- a/src/wp-includes/blocks/pullquote/block.json +++ b/src/wp-includes/blocks/pullquote/block.json @@ -2,9 +2,9 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "core/pullquote", - "title": "Pullquote", + "title": "Pullquote (deprecated)", "category": "text", - "description": "Give special visual emphasis to a quote from your text.", + "description": "This block is deprecated. Please use the Quote block instead.", "textdomain": "default", "attributes": { "value": { @@ -48,6 +48,7 @@ "minHeight": false } }, + "inserter": false, "spacing": { "margin": true, "padding": true diff --git a/src/wp-includes/blocks/require-dynamic-blocks.php b/src/wp-includes/blocks/require-dynamic-blocks.php index df5be6face017..b06178ed16613 100644 --- a/src/wp-includes/blocks/require-dynamic-blocks.php +++ b/src/wp-includes/blocks/require-dynamic-blocks.php @@ -1,6 +1,6 @@ Date: Mon, 9 Mar 2026 17:22:52 -0500 Subject: [PATCH 03/12] Restore: Sync to Gutenberg revision 59a08c5496008ca88f4b6b86f38838c3612d88c8 See corresponding changelog in f8b22857f4194b05876c5923d19b251b2f9cc8ee --- .../assets/script-loader-packages.min.php | 127 ++-- .../assets/script-modules-packages.min.php | 34 +- .../blocks/accordion-item/block.json | 3 + .../blocks/accordion-panel/block.json | 9 +- src/wp-includes/blocks/archives.php | 2 +- src/wp-includes/blocks/archives/block.json | 4 +- src/wp-includes/blocks/avatar.php | 8 +- src/wp-includes/blocks/avatar/block.json | 1 + src/wp-includes/blocks/block/block.json | 3 +- src/wp-includes/blocks/blocks-json.php | 281 ++++++-- src/wp-includes/blocks/breadcrumbs.php | 611 ++++++++++++++++++ src/wp-includes/blocks/breadcrumbs/block.json | 78 +++ src/wp-includes/blocks/buttons/block.json | 1 + src/wp-includes/blocks/calendar/block.json | 1 + src/wp-includes/blocks/categories.php | 6 +- src/wp-includes/blocks/categories/block.json | 1 + .../blocks/comment-author-name/block.json | 5 +- .../blocks/comment-content/block.json | 7 +- .../blocks/comment-date/block.json | 2 + .../blocks/comment-edit-link/block.json | 5 +- .../blocks/comment-reply-link/block.json | 7 +- .../blocks/comment-template/block.json | 1 + .../comments-pagination-next/block.json | 1 + .../comments-pagination-numbers/block.json | 1 + .../comments-pagination-previous/block.json | 1 + .../blocks/comments-pagination/block.json | 1 + src/wp-includes/blocks/comments-title.php | 15 +- .../blocks/comments-title/block.json | 6 +- src/wp-includes/blocks/comments/block.json | 1 + src/wp-includes/blocks/embed/block.json | 1 + src/wp-includes/blocks/footnotes.php | 11 +- src/wp-includes/blocks/footnotes/block.json | 1 + src/wp-includes/blocks/freeform/block.json | 3 +- src/wp-includes/blocks/gallery.php | 4 +- src/wp-includes/blocks/heading/block.json | 4 +- src/wp-includes/blocks/home-link/block.json | 1 + src/wp-includes/blocks/html/block.json | 3 +- src/wp-includes/blocks/image.php | 2 +- src/wp-includes/blocks/image/block.json | 3 + src/wp-includes/blocks/latest-comments.php | 2 +- .../blocks/latest-comments/block.json | 2 +- src/wp-includes/blocks/latest-posts.php | 2 + .../blocks/latest-posts/block.json | 1 + src/wp-includes/blocks/list/block.json | 3 +- src/wp-includes/blocks/loginout/block.json | 1 + src/wp-includes/blocks/math/block.json | 1 + src/wp-includes/blocks/media-text.php | 2 +- src/wp-includes/blocks/missing/block.json | 3 +- src/wp-includes/blocks/more/block.json | 4 +- src/wp-includes/blocks/navigation-link.php | 63 +- .../blocks/navigation-link/block.json | 1 + .../shared/item-should-render.php | 46 ++ .../shared/render-submenu-icon.php | 17 + src/wp-includes/blocks/navigation-submenu.php | 101 +-- .../blocks/navigation-submenu/block.json | 3 +- src/wp-includes/blocks/navigation.php | 442 +++++++++++-- src/wp-includes/blocks/navigation/block.json | 10 +- src/wp-includes/blocks/nextpage/block.json | 5 +- .../blocks/page-list-item/block.json | 1 + src/wp-includes/blocks/page-list/block.json | 1 + src/wp-includes/blocks/paragraph.php | 48 ++ src/wp-includes/blocks/paragraph/block.json | 8 + .../blocks/post-author-biography/block.json | 7 +- .../blocks/post-author-name/block.json | 5 +- src/wp-includes/blocks/post-author/block.json | 6 +- .../blocks/post-comments-count/block.json | 1 + .../blocks/post-comments-form/block.json | 1 + .../blocks/post-comments-link/block.json | 1 + .../blocks/post-content/block.json | 1 + src/wp-includes/blocks/post-date.php | 11 +- src/wp-includes/blocks/post-date/block.json | 1 + src/wp-includes/blocks/post-excerpt.php | 55 +- .../blocks/post-excerpt/block.json | 1 + .../blocks/post-featured-image.php | 8 +- .../blocks/post-featured-image/block.json | 1 + .../blocks/post-navigation-link.php | 2 +- .../blocks/post-navigation-link/block.json | 1 + .../blocks/post-template/block.json | 1 + src/wp-includes/blocks/post-terms/block.json | 1 + src/wp-includes/blocks/post-time-to-read.php | 4 +- .../blocks/post-time-to-read/block.json | 1 + src/wp-includes/blocks/post-title/block.json | 1 + src/wp-includes/blocks/pullquote/block.json | 5 +- .../blocks/query-no-results/block.json | 1 + .../blocks/query-pagination-next/block.json | 1 + .../query-pagination-numbers/block.json | 1 + .../query-pagination-previous/block.json | 1 + .../blocks/query-pagination/block.json | 1 + src/wp-includes/blocks/query-title.php | 12 +- src/wp-includes/blocks/query-title/block.json | 1 + src/wp-includes/blocks/query-total/block.json | 1 + src/wp-includes/blocks/query/block.json | 1 + src/wp-includes/blocks/read-more/block.json | 1 + .../blocks/require-dynamic-blocks.php | 2 + .../blocks/require-static-blocks.php | 1 - src/wp-includes/blocks/rss/block.json | 1 + src/wp-includes/blocks/search/block.json | 1 + src/wp-includes/blocks/shortcode/block.json | 3 +- src/wp-includes/blocks/site-logo/block.json | 1 + .../blocks/site-tagline/block.json | 1 + src/wp-includes/blocks/site-title/block.json | 1 + src/wp-includes/blocks/social-link.php | 8 +- src/wp-includes/blocks/social-link/block.json | 1 + .../blocks/social-links/block.json | 3 +- src/wp-includes/blocks/tag-cloud/block.json | 4 +- src/wp-includes/blocks/template-part.php | 10 +- src/wp-includes/blocks/term-count/block.json | 1 + .../blocks/term-description/block.json | 1 + src/wp-includes/blocks/term-name.php | 2 +- src/wp-includes/blocks/term-name/block.json | 1 + src/wp-includes/blocks/term-template.php | 2 +- .../blocks/term-template/block.json | 1 + src/wp-includes/blocks/terms-query/block.json | 1 + src/wp-includes/blocks/verse/block.json | 4 +- src/wp-includes/theme.json | 6 +- 115 files changed, 1809 insertions(+), 406 deletions(-) create mode 100644 src/wp-includes/blocks/breadcrumbs.php create mode 100644 src/wp-includes/blocks/breadcrumbs/block.json create mode 100644 src/wp-includes/blocks/navigation-link/shared/item-should-render.php create mode 100644 src/wp-includes/blocks/navigation-link/shared/render-submenu-icon.php create mode 100644 src/wp-includes/blocks/paragraph.php diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index 8aba077650844..c96036afa7f57 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -4,7 +4,7 @@ 'wp-dom-ready', 'wp-i18n' ), - 'version' => '879fa8fbccbc34cefa51' + 'version' => 'af934e5259bc51b8718e' ), 'annotations.min.js' => array( 'dependencies' => array( @@ -13,14 +13,14 @@ 'wp-i18n', 'wp-rich-text' ), - 'version' => '43fcc82a7fc95aab43c8' + 'version' => '4b07d06c67c3b5ea590c' ), 'api-fetch.min.js' => array( 'dependencies' => array( 'wp-i18n', 'wp-url' ), - 'version' => 'bc60795dcfebbb08ba52' + 'version' => 'd7efe4dc1468d36c39b8' ), 'autop.min.js' => array( 'dependencies' => array( @@ -61,7 +61,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => 'b478308aab5c12b3182d' + 'version' => '93f3340c3dad2e7707b3' ), 'block-editor.min.js' => array( 'dependencies' => array( @@ -94,14 +94,16 @@ 'wp-private-apis', 'wp-rich-text', 'wp-style-engine', + 'wp-theme', 'wp-token-list', 'wp-url', 'wp-warning' ), - 'version' => '4b383afbd1e5227e4044' + 'version' => '0efc96c056899945fc98' ), 'block-library.min.js' => array( 'dependencies' => array( + 'react', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', @@ -132,7 +134,7 @@ 'wp-url', 'wp-wordcount' ), - 'version' => '7cfdc747865ec1cf1b48' + 'version' => 'f5b22e9f8107c55e1744' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -165,7 +167,7 @@ 'wp-shortcode', 'wp-warning' ), - 'version' => 'df3ea4980b2830f1957a' + 'version' => '1b28e4084e3ea20f6958' ), 'commands.min.js' => array( 'dependencies' => array( @@ -180,7 +182,7 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => 'd7a1e27135c422b68ab8' + 'version' => 'd4fb3d716a7602ca6e07' ), 'components.min.js' => array( 'dependencies' => array( @@ -204,7 +206,7 @@ 'wp-rich-text', 'wp-warning' ), - 'version' => 'c8e16b0453cccb5aa4f4' + 'version' => '96c915810bb90a510cf9' ), 'compose.min.js' => array( 'dependencies' => array( @@ -218,7 +220,7 @@ 'wp-priority-queue', 'wp-undo-manager' ), - 'version' => '056e828be7433d31ea43' + 'version' => '1d09fd199db0d2239f7c' ), 'core-commands.min.js' => array( 'dependencies' => array( @@ -235,7 +237,7 @@ 'wp-router', 'wp-url' ), - 'version' => 'c4f08cdbaa4f757ccb4f' + 'version' => 'b0d81930a83a5cb4de26' ), 'core-data.min.js' => array( 'dependencies' => array( @@ -256,7 +258,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '3b0026fbf1b7f47d1169' + 'version' => '04f80fcd2db5cd7629cf' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -281,7 +283,7 @@ 'wp-private-apis', 'wp-widgets' ), - 'version' => 'af2f36bd7afd2843306a' + 'version' => '432dafb169e0574d9bc5' ), 'data.min.js' => array( 'dependencies' => array( @@ -294,7 +296,7 @@ 'wp-private-apis', 'wp-redux-routine' ), - 'version' => '8dc0164cad146febaf2d' + 'version' => 'dc7feb6ad8da53887680' ), 'data-controls.min.js' => array( 'dependencies' => array( @@ -302,26 +304,26 @@ 'wp-data', 'wp-deprecated' ), - 'version' => '9864b9a790f21e251b90' + 'version' => '730061ade69d7f341014' ), 'date.min.js' => array( 'dependencies' => array( 'moment', 'wp-deprecated' ), - 'version' => 'f1034da6f392d203bdbf' + 'version' => 'c9f8e7dd3232716f34e9' ), 'deprecated.min.js' => array( 'dependencies' => array( 'wp-hooks' ), - 'version' => '59de37f1f0e2775c5d9d' + 'version' => '990e85f234fee8f7d446' ), 'dom.min.js' => array( 'dependencies' => array( 'wp-deprecated' ), - 'version' => '2bab767657bb3ffd731c' + 'version' => '5e4c7005b60f26b26dd2' ), 'dom-ready.min.js' => array( 'dependencies' => array( @@ -361,7 +363,7 @@ 'wp-url', 'wp-widgets' ), - 'version' => '093004e1308aa5aa7fd9' + 'version' => 'd6b5f468019a5a1b6199' ), 'edit-site.min.js' => array( 'dependencies' => array( @@ -397,11 +399,12 @@ 'wp-private-apis', 'wp-router', 'wp-style-engine', + 'wp-theme', 'wp-url', 'wp-warning', 'wp-widgets' ), - 'version' => 'b6731193c6ba800903f7' + 'version' => '45aa18b9931dcfc2bd98' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -432,7 +435,7 @@ 'wp-viewport', 'wp-widgets' ), - 'version' => '0a3c1a7b25581214ceb0' + 'version' => '10c7feb297b21f440004' ), 'editor.min.js' => array( 'dependencies' => array( @@ -468,12 +471,13 @@ 'wp-rich-text', 'wp-server-side-render', 'wp-style-engine', + 'wp-theme', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-wordcount' ), - 'version' => 'e16654f66f07fc17afc5' + 'version' => '9bdc14eff40bd201552d' ), 'element.min.js' => array( 'dependencies' => array( @@ -481,13 +485,13 @@ 'react-dom', 'wp-escape-html' ), - 'version' => '001c0ddc21f21cf8bc7e' + 'version' => '15ba804677f72a8db97b' ), 'escape-html.min.js' => array( 'dependencies' => array( ), - 'version' => 'f0f394262fc2779c2968' + 'version' => '3f093e5cca67aa0f8b56' ), 'format-library.min.js' => array( 'dependencies' => array( @@ -505,7 +509,7 @@ 'wp-rich-text', 'wp-url' ), - 'version' => 'd75d3264e34a3a1ee358' + 'version' => 'ea5118479e056f51bf70' ), 'hooks.min.js' => array( 'dependencies' => array( @@ -523,13 +527,13 @@ 'dependencies' => array( 'wp-hooks' ), - 'version' => '820e8ad987e5e106e4ab' + 'version' => '781d11515ad3d91786ec' ), 'is-shallow-equal.min.js' => array( 'dependencies' => array( ), - 'version' => 'd0280015d1040ea49425' + 'version' => '5d84b9f3cb50d2ce7d04' ), 'keyboard-shortcuts.min.js' => array( 'dependencies' => array( @@ -538,13 +542,13 @@ 'wp-element', 'wp-keycodes' ), - 'version' => '3940e84bc76dca71a245' + 'version' => '2ed78d3b4c23f38804e0' ), 'keycodes.min.js' => array( 'dependencies' => array( 'wp-i18n' ), - 'version' => 'b95347a694ead0a25e33' + 'version' => 'aa1a141e3468afe7f852' ), 'list-reusable-blocks.min.js' => array( 'dependencies' => array( @@ -556,13 +560,14 @@ 'wp-element', 'wp-i18n' ), - 'version' => '823d3e15c6efc27b72cd' + 'version' => '2e35ebd5dbaccb5a90c5' ), 'media-utils.min.js' => array( 'dependencies' => array( 'react', 'react-dom', 'react-jsx-runtime', + 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-components', @@ -574,18 +579,20 @@ 'wp-element', 'wp-i18n', 'wp-keycodes', + 'wp-notices', 'wp-primitives', 'wp-private-apis', + 'wp-theme', 'wp-url', 'wp-warning' ), - 'version' => 'c9a0129d6b272cb10b9a' + 'version' => '0fe3176039a760ffc836' ), 'notices.min.js' => array( 'dependencies' => array( 'wp-data' ), - 'version' => '5bc9d59c0b19edba4928' + 'version' => '0786393a2530ff974788' ), 'nux.min.js' => array( 'dependencies' => array( @@ -598,7 +605,7 @@ 'wp-i18n', 'wp-primitives' ), - 'version' => 'fa9377877c3600a8e1d3' + 'version' => '08e1a1181b8a71a43c25' ), 'patterns.min.js' => array( 'dependencies' => array( @@ -618,7 +625,7 @@ 'wp-private-apis', 'wp-url' ), - 'version' => '087476e324e72b650f33' + 'version' => '1fcfba2e7d83ba54735d' ), 'plugins.min.js' => array( 'dependencies' => array( @@ -630,7 +637,7 @@ 'wp-is-shallow-equal', 'wp-primitives' ), - 'version' => '7144b5b613cb5942d347' + 'version' => 'fb81afeb7c472b9fb513' ), 'preferences.min.js' => array( 'dependencies' => array( @@ -646,32 +653,32 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => 'ff03ff066242788b8d48' + 'version' => 'b520fe2634b03e9fc502' ), 'preferences-persistence.min.js' => array( 'dependencies' => array( 'wp-api-fetch' ), - 'version' => 'fce545894333b4177c2a' + 'version' => 'e8033be98338d1861bca' ), 'primitives.min.js' => array( 'dependencies' => array( 'react-jsx-runtime', 'wp-element' ), - 'version' => '893f211b78eb360e2b06' + 'version' => 'a5c905ec27bcd76ef287' ), 'priority-queue.min.js' => array( 'dependencies' => array( ), - 'version' => 'd1c24ea977dc3af721cd' + 'version' => '1f0e89e247bc0bd3f9b9' ), 'private-apis.min.js' => array( 'dependencies' => array( ), - 'version' => '3a8eb648c2181cb367b1' + 'version' => '8d75ce43927ce44fd995' ), 'react-i18n.min.js' => array( 'dependencies' => array( @@ -679,25 +686,13 @@ 'wp-element', 'wp-i18n' ), - 'version' => 'b57b99768728138bd42b' - ), - 'react-refresh-entry.min.js' => array( - 'dependencies' => array( - 'wp-react-refresh-runtime' - ), - 'version' => '53210bfcc1b0cedf52eb' - ), - 'react-refresh-runtime.min.js' => array( - 'dependencies' => array( - - ), - 'version' => '4c709cda4b2d116d8832' + 'version' => '9b74577dbd7e50f6b77b' ), 'redux-routine.min.js' => array( 'dependencies' => array( ), - 'version' => 'bc473a13cf8f25e47e11' + 'version' => '64f9f5001aabc046c605' ), 'reusable-blocks.min.js' => array( 'dependencies' => array( @@ -713,7 +708,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => '9aba4e06b6596a91bf8d' + 'version' => '23de21d735a9f0c46fe2' ), 'rich-text.min.js' => array( 'dependencies' => array( @@ -727,7 +722,7 @@ 'wp-i18n', 'wp-keycodes' ), - 'version' => 'fd4fa4200773a0ec2450' + 'version' => '44eeb382fed050369056' ), 'router.min.js' => array( 'dependencies' => array( @@ -737,7 +732,7 @@ 'wp-private-apis', 'wp-url' ), - 'version' => 'cafe5ab0f12e75f2b357' + 'version' => '0249e6724784b1c2583b' ), 'server-side-render.min.js' => array( 'dependencies' => array( @@ -751,19 +746,19 @@ 'wp-i18n', 'wp-url' ), - 'version' => '3283cbe3e651b5676910' + 'version' => '10a51bf05ced35b78092' ), 'shortcode.min.js' => array( 'dependencies' => array( ), - 'version' => '4959249c21cba2969b25' + 'version' => '11742fe18cc215d3d5ab' ), 'style-engine.min.js' => array( 'dependencies' => array( ), - 'version' => '4453723098214d164136' + 'version' => 'faa37ce61b7ec8394b2a' ), 'theme.min.js' => array( 'dependencies' => array( @@ -771,7 +766,7 @@ 'wp-element', 'wp-private-apis' ), - 'version' => '03cfdf2229208be6c66b' + 'version' => '63db44adf5194c9389bf' ), 'token-list.min.js' => array( 'dependencies' => array( @@ -783,13 +778,13 @@ 'dependencies' => array( 'wp-is-shallow-equal' ), - 'version' => '73482a32ad05bb53ab62' + 'version' => '27bb0ae036a2c9d4a1b5' ), 'url.min.js' => array( 'dependencies' => array( ), - 'version' => 'e396df455df858a462d3' + 'version' => 'bb0f766c3d2efe497871' ), 'viewport.min.js' => array( 'dependencies' => array( @@ -797,7 +792,7 @@ 'wp-compose', 'wp-data' ), - 'version' => 'bd606c90cc62a8239265' + 'version' => '8614025b8075d220d78f' ), 'warning.min.js' => array( 'dependencies' => array( @@ -820,12 +815,12 @@ 'wp-notices', 'wp-primitives' ), - 'version' => 'd85a12285a7caef19373' + 'version' => '8f9b52b178066b9fc9d0' ), 'wordcount.min.js' => array( 'dependencies' => array( ), - 'version' => '55a033993d02c9269b8d' + 'version' => '3b928d5db8724a8614dd' ) ); \ No newline at end of file diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index 79268ac64cc28..919d87eb39600 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -10,7 +10,7 @@ 'wp-data', 'wp-i18n' ), - 'version' => 'bd07cd6be9d3678c2a45' + 'version' => '84b615d3da8fc36f7bba' ), 'block-editor/utils/fit-text-frontend.min.js' => array( 'dependencies' => array( @@ -22,7 +22,7 @@ 'import' => 'static' ) ), - 'version' => '2f00eb94b5ef309f39eb' + 'version' => '383c7a8bd24a1f2fd9b9' ), 'block-library/accordion/view.min.js' => array( 'dependencies' => array( @@ -76,7 +76,19 @@ 'import' => 'static' ) ), - 'version' => '7437ed5c45ee57daf02c' + 'version' => '243a659f91c3dc9841c7' + ), + 'block-library/playlist/view.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/interactivity', + 'import' => 'static' + ) + ), + 'version' => '99f747d731f80246db11' ), 'block-library/query/view.min.js' => array( 'dependencies' => array( @@ -151,7 +163,7 @@ 'import' => 'static' ) ), - 'version' => 'fd0d9e60f92ad91a14b8' + 'version' => 'caccc66883253e77f680' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( @@ -164,7 +176,7 @@ 'import' => 'static' ) ), - 'version' => '336043fa59033fb5e9b0' + 'version' => '7cd8fe3a80dded97579b' ), 'edit-site-init/index.min.js' => array( 'dependencies' => array( @@ -179,13 +191,13 @@ 'import' => 'static' ) ), - 'version' => '86ba14602c8af2333ca2' + 'version' => '4e68db4d9b7e04149623' ), 'interactivity/index.min.js' => array( 'dependencies' => array( ), - 'version' => '771756b5dd00167d1664' + 'version' => '1bdeb1de58ef5e7f2d9a' ), 'interactivity-router/full-page.min.js' => array( 'dependencies' => array( @@ -213,7 +225,7 @@ 'import' => 'static' ) ), - 'version' => 'bb48ce8e3364d5290463' + 'version' => '41d77cc6c9cf22c6d225' ), 'latex-to-mathml/index.min.js' => array( 'dependencies' => array( @@ -247,7 +259,7 @@ 'wp-private-apis', 'wp-style-engine' ), - 'version' => 'f30e5694b3c38e7db798' + 'version' => '7ee4891029d81c00e97b' ), 'route/index.min.js' => array( 'dependencies' => array( @@ -256,7 +268,7 @@ 'react-jsx-runtime', 'wp-private-apis' ), - 'version' => '333002943024efaa0bcc' + 'version' => 'c5843b6c5e84b352f43b' ), 'workflow/index.min.js' => array( 'dependencies' => array( @@ -277,6 +289,6 @@ 'import' => 'static' ) ), - 'version' => '043a2b1428e3cca48ebc' + 'version' => '06fff7b5c80f6ddf098e' ) ); \ No newline at end of file diff --git a/src/wp-includes/blocks/accordion-item/block.json b/src/wp-includes/blocks/accordion-item/block.json index 43029948aa029..74bfddde0e68b 100644 --- a/src/wp-includes/blocks/accordion-item/block.json +++ b/src/wp-includes/blocks/accordion-item/block.json @@ -55,6 +55,9 @@ "default": false } }, + "providesContext": { + "core/accordion-open-by-default": "openByDefault" + }, "textdomain": "default", "style": "wp-block-accordion-item" } diff --git a/src/wp-includes/blocks/accordion-panel/block.json b/src/wp-includes/blocks/accordion-panel/block.json index 1ebeafd9a777c..b868ac8019b0d 100644 --- a/src/wp-includes/blocks/accordion-panel/block.json +++ b/src/wp-includes/blocks/accordion-panel/block.json @@ -6,6 +6,7 @@ "category": "design", "description": "Contains the hidden or revealed content beneath the heading.", "parent": [ "core/accordion-item" ], + "usesContext": [ "core/accordion-open-by-default" ], "supports": { "html": false, "color": { @@ -60,14 +61,6 @@ "type": [ "string", "boolean" ], "enum": [ "all", "insert", "contentOnly", false ], "default": false - }, - "openByDefault": { - "type": "boolean", - "default": false - }, - "isSelected": { - "type": "boolean", - "default": false } }, "textdomain": "default", diff --git a/src/wp-includes/blocks/archives.php b/src/wp-includes/blocks/archives.php index 077507f8c9e08..cead720f7fb80 100644 --- a/src/wp-includes/blocks/archives.php +++ b/src/wp-includes/blocks/archives.php @@ -18,7 +18,7 @@ */ function render_block_core_archives( $attributes ) { $show_post_count = ! empty( $attributes['showPostCounts'] ); - $type = isset( $attributes['type'] ) ? $attributes['type'] : 'monthly'; + $type = $attributes['type'] ?? 'monthly'; $class = 'wp-block-archives-list'; diff --git a/src/wp-includes/blocks/archives/block.json b/src/wp-includes/blocks/archives/block.json index 0351a4b694c00..c689b34ba9d24 100644 --- a/src/wp-includes/blocks/archives/block.json +++ b/src/wp-includes/blocks/archives/block.json @@ -25,6 +25,7 @@ } }, "supports": { + "anchor": true, "align": true, "__experimentalBorder": { "radius": true, @@ -66,6 +67,5 @@ "interactivity": { "clientNavigation": true } - }, - "editorStyle": "wp-block-archives-editor" + } } diff --git a/src/wp-includes/blocks/avatar.php b/src/wp-includes/blocks/avatar.php index d4a01c1c3a1e7..7f73370973d42 100644 --- a/src/wp-includes/blocks/avatar.php +++ b/src/wp-includes/blocks/avatar.php @@ -16,7 +16,7 @@ * @return string Return the avatar. */ function render_block_core_avatar( $attributes, $content, $block ) { - $size = isset( $attributes['size'] ) ? $attributes['size'] : 96; + $size = $attributes['size'] ?? 96; $wrapper_attributes = get_block_wrapper_attributes(); $border_attributes = get_block_core_avatar_border_attributes( $attributes ); @@ -133,9 +133,9 @@ function get_block_core_avatar_border_attributes( $attributes ) { foreach ( $sides as $side ) { $border = $attributes['style']['border'][ $side ] ?? null; $border_styles[ $side ] = array( - 'color' => isset( $border['color'] ) ? $border['color'] : null, - 'style' => isset( $border['style'] ) ? $border['style'] : null, - 'width' => isset( $border['width'] ) ? $border['width'] : null, + 'color' => $border['color'] ?? null, + 'style' => $border['style'] ?? null, + 'width' => $border['width'] ?? null, ); } diff --git a/src/wp-includes/blocks/avatar/block.json b/src/wp-includes/blocks/avatar/block.json index 5c13258bb3c11..0cb92d81865c7 100644 --- a/src/wp-includes/blocks/avatar/block.json +++ b/src/wp-includes/blocks/avatar/block.json @@ -25,6 +25,7 @@ }, "usesContext": [ "postType", "postId", "commentId" ], "supports": { + "anchor": true, "html": false, "align": true, "alignWide": false, diff --git a/src/wp-includes/blocks/block/block.json b/src/wp-includes/blocks/block/block.json index fdce3bcc02e07..8d2b8f6f3b1bc 100644 --- a/src/wp-includes/blocks/block/block.json +++ b/src/wp-includes/blocks/block/block.json @@ -26,6 +26,7 @@ "renaming": false, "interactivity": { "clientNavigation": true - } + }, + "customCSS": false } } diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index 994f2b226885a..be82ba56c3245 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -262,6 +262,9 @@ 'default' => false ) ), + 'providesContext' => array( + 'core/accordion-open-by-default' => 'openByDefault' + ), 'textdomain' => 'default', 'style' => 'wp-block-accordion-item' ), @@ -275,6 +278,9 @@ 'parent' => array( 'core/accordion-item' ), + 'usesContext' => array( + 'core/accordion-open-by-default' + ), 'supports' => array( 'html' => false, 'color' => array( @@ -337,14 +343,6 @@ false ), 'default' => false - ), - 'openByDefault' => array( - 'type' => 'boolean', - 'default' => false - ), - 'isSelected' => array( - 'type' => 'boolean', - 'default' => false ) ), 'textdomain' => 'default', @@ -377,6 +375,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, '__experimentalBorder' => array( 'radius' => true, @@ -418,8 +417,7 @@ 'interactivity' => array( 'clientNavigation' => true ) - ), - 'editorStyle' => 'wp-block-archives-editor' + ) ), 'audio' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', @@ -525,6 +523,7 @@ 'commentId' ), 'supports' => array( + 'anchor' => true, 'html' => false, 'align' => true, 'alignWide' => false, @@ -598,9 +597,95 @@ 'renaming' => false, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'customCSS' => false ) ), + 'breadcrumbs' => array( + '$schema' => 'https://schemas.wp.org/trunk/block.json', + 'apiVersion' => 3, + 'name' => 'core/breadcrumbs', + 'title' => 'Breadcrumbs', + 'category' => 'theme', + 'description' => 'Display a breadcrumb trail showing the path to the current page.', + 'textdomain' => 'default', + 'attributes' => array( + 'prefersTaxonomy' => array( + 'type' => 'boolean', + 'default' => false + ), + 'separator' => array( + 'type' => 'string', + 'default' => '/' + ), + 'showHomeItem' => array( + 'type' => 'boolean', + 'default' => true + ), + 'showCurrentItem' => array( + 'type' => 'boolean', + 'default' => true + ), + 'showOnHomePage' => array( + 'type' => 'boolean', + 'default' => false + ) + ), + 'usesContext' => array( + 'postId', + 'postType', + 'templateSlug' + ), + 'supports' => array( + 'anchor' => true, + 'html' => false, + 'align' => array( + 'wide', + 'full' + ), + 'spacing' => array( + 'margin' => true, + 'padding' => true + ), + 'color' => array( + 'gradients' => true, + 'link' => true, + '__experimentalDefaultControls' => array( + 'background' => true, + 'text' => true + ) + ), + '__experimentalBorder' => array( + 'radius' => true, + 'color' => true, + 'width' => true, + 'style' => true, + '__experimentalDefaultControls' => array( + 'radius' => false, + 'color' => true, + 'width' => true, + 'style' => true + ) + ), + 'typography' => array( + 'fontSize' => true, + 'lineHeight' => true, + '__experimentalFontFamily' => true, + '__experimentalFontWeight' => true, + '__experimentalFontStyle' => true, + '__experimentalTextTransform' => true, + '__experimentalTextDecoration' => true, + '__experimentalLetterSpacing' => true, + '__experimentalDefaultControls' => array( + 'fontSize' => true + ) + ), + 'interactivity' => array( + 'clientNavigation' => true + ) + ), + 'style' => 'wp-block-breadcrumbs' + ), 'button' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, @@ -846,6 +931,7 @@ 'interactivity' => array( 'clientNavigation' => true ), + 'listView' => true, 'contentRole' => true ), 'editorStyle' => 'wp-block-buttons-editor', @@ -872,6 +958,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, 'html' => false, 'color' => array( @@ -953,6 +1040,7 @@ 'enhancedPagination' ), 'supports' => array( + 'anchor' => true, 'align' => true, 'html' => false, 'spacing' => array( @@ -1290,15 +1378,13 @@ 'linkTarget' => array( 'type' => 'string', 'default' => '_self' - ), - 'textAlign' => array( - 'type' => 'string' ) ), 'usesContext' => array( 'commentId' ), 'supports' => array( + 'anchor' => true, 'html' => false, 'spacing' => array( 'margin' => true, @@ -1316,6 +1402,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1358,12 +1445,8 @@ 'usesContext' => array( 'commentId' ), - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'supports' => array( + 'anchor' => true, 'color' => array( 'gradients' => true, 'link' => true, @@ -1375,6 +1458,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1434,6 +1518,7 @@ 'commentId' ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -1451,6 +1536,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1497,12 +1583,10 @@ 'linkTarget' => array( 'type' => 'string', 'default' => '_self' - ), - 'textAlign' => array( - 'type' => 'string' ) ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'link' => true, @@ -1524,6 +1608,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1560,12 +1645,8 @@ 'usesContext' => array( 'commentId' ), - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'supports' => array( + 'anchor' => true, 'color' => array( 'gradients' => true, 'link' => true, @@ -1586,6 +1667,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -1621,6 +1703,7 @@ 'postId' ), 'supports' => array( + 'anchor' => true, 'align' => true, 'html' => false, 'reusable' => false, @@ -1678,6 +1761,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -1760,6 +1844,7 @@ 'comments/paginationArrow' => 'paginationArrow' ), 'supports' => array( + 'anchor' => true, 'align' => true, 'reusable' => false, 'html' => false, @@ -1820,6 +1905,7 @@ 'comments/paginationArrow' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -1862,6 +1948,7 @@ 'postId' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -1917,6 +2004,7 @@ 'comments/paginationArrow' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -1960,9 +2048,6 @@ 'postType' ), 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'showPostTitle' => array( 'type' => 'boolean', 'default' => true @@ -1980,7 +2065,7 @@ ) ), 'supports' => array( - 'anchor' => false, + 'anchor' => true, 'align' => true, 'html' => false, '__experimentalBorder' => array( @@ -2003,6 +2088,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -2326,6 +2412,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, 'spacing' => array( 'margin' => true @@ -2454,6 +2541,7 @@ 'postType' ), 'supports' => array( + 'anchor' => true, '__experimentalBorder' => array( 'radius' => true, 'color' => true, @@ -2527,7 +2615,8 @@ 'lock' => false, 'reusable' => false, 'renaming' => false, - 'visibility' => false + 'visibility' => false, + 'customCSS' => false ), 'editorStyle' => 'wp-block-freeform-editor' ), @@ -2843,9 +2932,6 @@ ), 'textdomain' => 'default', 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'content' => array( 'type' => 'rich-text', 'source' => 'rich-text', @@ -2896,6 +2982,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontStyle' => true, '__experimentalFontWeight' => true, @@ -2944,6 +3031,7 @@ 'style' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'typography' => array( @@ -2990,7 +3078,8 @@ 'html' => false, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'customCSS' => false ), 'editorStyle' => 'wp-block-html-editor' ), @@ -3089,6 +3178,9 @@ 'scale' => array( 'type' => 'string' ), + 'focalPoint' => array( + 'type' => 'object' + ), 'sizeSlug' => array( 'type' => 'string' ), @@ -3195,6 +3287,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, 'color' => array( 'gradients' => true, @@ -3227,7 +3320,6 @@ 'clientNavigation' => true ) ), - 'editorStyle' => 'wp-block-latest-comments-editor', 'style' => 'wp-block-latest-comments' ), 'latest-posts' => array( @@ -3321,6 +3413,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, 'html' => false, 'color' => array( @@ -3483,7 +3576,8 @@ '__experimentalSlashInserter' => true, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'listView' => true ), 'selectors' => array( 'border' => '.wp-block-list:not(.wp-block-list .wp-block-list)' @@ -3591,6 +3685,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'className' => true, 'color' => array( 'background' => true, @@ -3646,6 +3741,7 @@ ), 'textdomain' => 'default', 'supports' => array( + 'anchor' => true, 'html' => false, '__experimentalBorder' => array( 'color' => true, @@ -3875,7 +3971,8 @@ 'visibility' => false, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'customCSS' => false ) ), 'more' => array( @@ -3905,9 +4002,11 @@ 'className' => false, 'html' => false, 'multiple' => false, + 'visibility' => false, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'customCSS' => false ), 'editorStyle' => 'wp-block-more-editor' ), @@ -3963,9 +4062,14 @@ 'type' => 'boolean', 'default' => true ), - 'openSubmenusOnClick' => array( - 'type' => 'boolean', - 'default' => false + 'submenuVisibility' => array( + 'type' => 'string', + 'enum' => array( + 'hover', + 'click', + 'always' + ), + 'default' => 'hover' ), 'overlayMenu' => array( 'type' => 'string', @@ -4026,11 +4130,12 @@ 'fontSize' => 'fontSize', 'customFontSize' => 'customFontSize', 'showSubmenuIcon' => 'showSubmenuIcon', - 'openSubmenusOnClick' => 'openSubmenusOnClick', + 'submenuVisibility' => 'submenuVisibility', 'style' => 'style', 'maxNestingLevel' => 'maxNestingLevel' ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -4150,6 +4255,7 @@ 'style' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, '__experimentalSlashInserter' => true, @@ -4233,10 +4339,11 @@ 'customFontSize', 'showSubmenuIcon', 'maxNestingLevel', - 'openSubmenusOnClick', + 'submenuVisibility', 'style' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'typography' => array( @@ -4275,12 +4382,15 @@ ), 'textdomain' => 'default', 'supports' => array( + 'anchor' => true, 'customClassName' => false, 'className' => false, 'html' => false, + 'visibility' => false, 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'customCSS' => false ), 'editorStyle' => 'wp-block-nextpage-editor' ), @@ -4325,6 +4435,7 @@ 'openSubmenusOnClick' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'typography' => array( @@ -4422,6 +4533,7 @@ 'openSubmenusOnClick' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'lock' => false, @@ -4501,6 +4613,8 @@ 'fontSize' => true, 'lineHeight' => true, 'textAlign' => true, + 'textColumns' => true, + 'textIndent' => true, '__experimentalFontFamily' => true, '__experimentalTextDecoration' => true, '__experimentalFontStyle' => true, @@ -4519,6 +4633,12 @@ 'clientNavigation' => true ) ), + 'selectors' => array( + 'root' => 'p', + 'typography' => array( + 'textIndent' => '.wp-block-paragraph + .wp-block-paragraph' + ) + ), 'editorStyle' => 'wp-block-paragraph-editor', 'style' => 'wp-block-paragraph' ), @@ -4549,9 +4669,9 @@ '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/post-author', - 'title' => 'Author', + 'title' => 'Author (deprecated)', 'category' => 'theme', - 'description' => 'Display post author details such as name, avatar, and bio.', + 'description' => 'This block is deprecated. Please use the Avatar block, the Author Name block, and the Author Biography block instead.', 'textdomain' => 'default', 'attributes' => array( 'textAlign' => array( @@ -4588,6 +4708,8 @@ 'queryId' ), 'supports' => array( + 'inserter' => false, + 'anchor' => true, 'html' => false, 'spacing' => array( 'margin' => true, @@ -4649,11 +4771,6 @@ 'category' => 'theme', 'description' => 'The author biography.', 'textdomain' => 'default', - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'usesContext' => array( 'postType', 'postId' @@ -4662,6 +4779,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'spacing' => array( 'margin' => true, 'padding' => true @@ -4677,6 +4795,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -4714,9 +4833,6 @@ 'description' => 'The author name.', 'textdomain' => 'default', 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'isLink' => array( 'type' => 'boolean', 'default' => false, @@ -4736,6 +4852,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'spacing' => array( 'margin' => true, @@ -4753,6 +4870,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -4801,6 +4919,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -4856,6 +4975,7 @@ 'postType' ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -4927,6 +5047,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'link' => true, @@ -4994,6 +5115,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -5094,6 +5216,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -5172,6 +5295,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -5289,6 +5413,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'align' => array( 'left', 'right', @@ -5377,6 +5502,7 @@ 'postType' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -5423,6 +5549,7 @@ 'postType' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'align' => array( @@ -5514,6 +5641,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -5589,6 +5717,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'color' => array( 'gradients' => true, '__experimentalDefaultControls' => array( @@ -5674,6 +5803,7 @@ 'viewportWidth' => 350 ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -5788,9 +5918,9 @@ '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/pullquote', - 'title' => 'Pullquote (deprecated)', + 'title' => 'Pullquote', 'category' => 'text', - 'description' => 'This block is deprecated. Please use the Quote block instead.', + 'description' => 'Give special visual emphasis to a quote from your text.', 'textdomain' => 'default', 'attributes' => array( 'value' => array( @@ -5839,7 +5969,6 @@ 'minHeight' => false ) ), - 'inserter' => false, 'spacing' => array( 'margin' => true, 'padding' => true @@ -5948,6 +6077,7 @@ 'enhancedPagination' => 'enhancedPagination' ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -5975,6 +6105,7 @@ 'query' ), 'supports' => array( + 'anchor' => true, 'align' => true, 'reusable' => false, 'html' => false, @@ -6035,6 +6166,7 @@ 'showLabel' => 'showLabel' ), 'supports' => array( + 'anchor' => true, 'align' => true, 'reusable' => false, 'html' => false, @@ -6098,6 +6230,7 @@ 'enhancedPagination' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -6148,6 +6281,7 @@ 'enhancedPagination' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -6200,6 +6334,7 @@ 'enhancedPagination' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'color' => array( @@ -6267,6 +6402,7 @@ 'query' ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -6336,6 +6472,7 @@ 'query' ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -6521,6 +6658,7 @@ 'postId' ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -6619,6 +6757,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => true, 'html' => false, 'interactivity' => array( @@ -6703,6 +6842,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => array( 'left', 'center', @@ -6841,7 +6981,8 @@ 'supports' => array( 'className' => false, 'customClassName' => false, - 'html' => false + 'html' => false, + 'customCSS' => false ), 'editorStyle' => 'wp-block-shortcode-editor' ), @@ -6879,6 +7020,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'html' => false, 'align' => true, 'alignWide' => false, @@ -6959,6 +7101,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -7050,6 +7193,7 @@ 'viewportWidth' => 500 ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -7135,6 +7279,7 @@ 'iconBackgroundColorValue' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'interactivity' => array( @@ -7257,7 +7402,8 @@ 'style' => true ) ), - 'contentRole' => true + 'contentRole' => true, + 'listView' => true ), 'styles' => array( array( @@ -7594,6 +7740,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'html' => false, 'align' => true, 'spacing' => array( @@ -7623,8 +7770,7 @@ 'style' => true ) ) - ), - 'editorStyle' => 'wp-block-tag-cloud-editor' + ) ), 'template-part' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', @@ -7685,6 +7831,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'html' => false, 'color' => array( 'gradients' => true, @@ -7744,6 +7891,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -7822,6 +7970,7 @@ ) ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -7884,6 +8033,7 @@ 'termQuery' ), 'supports' => array( + 'anchor' => true, 'reusable' => false, 'html' => false, 'align' => array( @@ -7980,6 +8130,7 @@ 'termQuery' => 'termQuery' ), 'supports' => array( + 'anchor' => true, 'align' => array( 'wide', 'full' @@ -8054,9 +8205,6 @@ 'selector' => 'pre', '__unstablePreserveWhiteSpace' => true, 'role' => 'content' - ), - 'textAlign' => array( - 'type' => 'string' ) ), 'supports' => array( @@ -8086,6 +8234,7 @@ 'fontSize' => true, '__experimentalFontFamily' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontStyle' => true, '__experimentalFontWeight' => true, '__experimentalLetterSpacing' => true, diff --git a/src/wp-includes/blocks/breadcrumbs.php b/src/wp-includes/blocks/breadcrumbs.php new file mode 100644 index 0000000000000..c2e5a7f9513e3 --- /dev/null +++ b/src/wp-includes/blocks/breadcrumbs.php @@ -0,0 +1,611 @@ + 1 ) ) { + $breadcrumb_items[] = array( + 'label' => __( 'Home' ), + 'url' => home_url( '/' ), + ); + } else { + $breadcrumb_items[] = block_core_breadcrumbs_create_item( __( 'Home' ), block_core_breadcrumbs_is_paged() ); + } + } + + // Handle home. + if ( $is_home ) { + // These checks are explicitly nested in order not to execute the `else` branch. + if ( $page_for_posts ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_item( block_core_breadcrumbs_get_post_title( $page_for_posts ), block_core_breadcrumbs_is_paged() ); + } + if ( block_core_breadcrumbs_is_paged() ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item(); + } + } elseif ( $is_front_page ) { + // Handle front page. + // This check is explicitly nested in order not to execute the `else` branch. + // If front page is set to custom page and is paged, add the page number. + if ( (int) get_query_var( 'page' ) > 1 ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item( 'page' ); + } + } elseif ( is_search() ) { + // Handle search results. + $is_paged = block_core_breadcrumbs_is_paged(); + /* translators: %s: search query */ + $text = sprintf( __( 'Search results for: "%s"' ), wp_trim_words( get_search_query(), 10 ) ); + $breadcrumb_items[] = block_core_breadcrumbs_create_item( $text, $is_paged ); + // Add the "Page X" as the current page if paginated. + if ( $is_paged ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item(); + } + } elseif ( is_404() ) { + // Handle 404 pages. + $breadcrumb_items[] = array( + 'label' => __( 'Page not found' ), + ); + } elseif ( is_archive() ) { + // Handle archive pages (taxonomy, post type, date, author archives). + $archive_breadcrumbs = block_core_breadcrumbs_get_archive_breadcrumbs(); + if ( ! empty( $archive_breadcrumbs ) ) { + $breadcrumb_items = array_merge( $breadcrumb_items, $archive_breadcrumbs ); + } + } else { + // Handle single post/page breadcrumbs. + if ( ! isset( $block->context['postId'] ) || ! isset( $block->context['postType'] ) ) { + return ''; + } + + $post_id = $block->context['postId']; + $post_type = $block->context['postType']; + + $post = get_post( $post_id ); + if ( ! $post ) { + return ''; + } + + // For non-hierarchical post types with parents (e.g., attachments), build trail for the parent. + $post_parent = $post->post_parent; + $parent_post = null; + if ( ! is_post_type_hierarchical( $post_type ) && $post_parent ) { + $parent_post = get_post( $post_parent ); + if ( $parent_post ) { + $post_id = $parent_post->ID; + $post_type = $parent_post->post_type; + $post_parent = $parent_post->post_parent; + } + } + + // Determine breadcrumb type. + // Some non-hierarchical post types (e.g., attachments) can have parents. + // Use hierarchical breadcrumbs if a parent exists, otherwise use taxonomy breadcrumbs. + $show_terms = false; + if ( ! is_post_type_hierarchical( $post_type ) && ! $post_parent ) { + $show_terms = true; + } elseif ( empty( get_object_taxonomies( $post_type, 'objects' ) ) ) { + $show_terms = false; + } else { + $show_terms = $attributes['prefersTaxonomy']; + } + + // Add post type archive link if applicable. + $post_type_object = get_post_type_object( $post_type ); + $archive_link = get_post_type_archive_link( $post_type ); + if ( $archive_link && untrailingslashit( home_url() ) !== untrailingslashit( $archive_link ) ) { + $label = $post_type_object->labels->archives; + if ( 'post' === $post_type && $page_for_posts ) { + $label = block_core_breadcrumbs_get_post_title( $page_for_posts ); + } + $breadcrumb_items[] = array( + 'label' => $label, + 'url' => $archive_link, + ); + } + // Build breadcrumb trail based on hierarchical structure or taxonomy terms. + if ( ! $show_terms ) { + $breadcrumb_items = array_merge( $breadcrumb_items, block_core_breadcrumbs_get_hierarchical_post_type_breadcrumbs( $post_id ) ); + } else { + $breadcrumb_items = array_merge( $breadcrumb_items, block_core_breadcrumbs_get_terms_breadcrumbs( $post_id, $post_type ) ); + } + + // Add post title: linked when viewing a paginated page, plain text otherwise. + $is_paged = (int) get_query_var( 'page' ) > 1 || (int) get_query_var( 'cpage' ) > 1; + $title = block_core_breadcrumbs_get_post_title( $post ); + + if ( $is_paged ) { + $breadcrumb_items[] = array( + 'label' => $title, + 'url' => get_permalink( $post ), + 'allow_html' => true, + ); + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item( (int) get_query_var( 'cpage' ) > 1 ? 'cpage' : 'page' ); + } else { + $breadcrumb_items[] = array( + 'label' => $title, + 'allow_html' => true, + ); + } + } + + // Remove current item if disabled. + if ( ! $attributes['showCurrentItem'] && ! empty( $breadcrumb_items ) ) { + array_pop( $breadcrumb_items ); + } + + /** + * Filters the breadcrumb items array before rendering. + * + * Allows developers to modify, add, or remove breadcrumb items. + * + * @since 7.0.0 + * + * @param array[] $breadcrumb_items { + * Array of breadcrumb item data. + * + * @type string $label The breadcrumb text. + * @type string $url Optional. The breadcrumb link URL. + * @type bool $allow_html Optional. Whether to allow HTML in the label. + * When true, the label will be sanitized with wp_kses_post(), + * allowing only safe HTML tags. When false or omitted, all HTML + * will be escaped with esc_html(). Default false. + * } + */ + $breadcrumb_items = apply_filters( 'block_core_breadcrumbs_items', $breadcrumb_items ); + + if ( empty( $breadcrumb_items ) ) { + return ''; + } + + $wrapper_attributes = get_block_wrapper_attributes( + array( + 'style' => '--separator: "' . addcslashes( $attributes['separator'], '\\"' ) . '";', + 'aria-label' => __( 'Breadcrumbs' ), + ) + ); + + $breadcrumb_html = sprintf( + '', + $wrapper_attributes, + implode( + '', + array_map( + static function ( $item ) { + $label = ! empty( $item['allow_html'] ) ? wp_kses_post( $item['label'] ) : esc_html( $item['label'] ); + if ( ! empty( $item['url'] ) ) { + return '
  • ' . $label . '
  • '; + } + return '
  • ' . $label . '
  • '; + }, + $breadcrumb_items + ) + ) + ); + + return $breadcrumb_html; +} + +/** + * Checks if we're on a paginated view (page 2 or higher). + * + * @since 7.0.0 + * + * @return bool True if paged > 1, false otherwise. + */ +function block_core_breadcrumbs_is_paged() { + $paged = (int) get_query_var( 'paged' ); + return $paged > 1; +} + +/** + * Creates a "Page X" breadcrumb item for paginated views. + * + * @since 7.0.0 + * @param string $query_var Optional. Query variable to get current page number. Default 'paged'. + * @return array The "Page X" breadcrumb item data. + */ +function block_core_breadcrumbs_create_page_number_item( $query_var = 'paged' ) { + $paged = (int) get_query_var( $query_var ); + + if ( 'cpage' === $query_var ) { + return array( + 'label' => sprintf( + /* translators: %s: comment page number */ + __( 'Comments Page %s' ), + number_format_i18n( $paged ) + ), + ); + } + + return array( + 'label' => sprintf( + /* translators: %s: page number */ + __( 'Page %s' ), + number_format_i18n( $paged ) + ), + ); +} + + +/** + * Creates a breadcrumb item that's either a link or current page item. + * + * When paginated (is_paged is true), creates a link to page 1. + * Otherwise, creates a span marked as the current page. + * + * @since 7.0.0 + * + * @param string $text The text content. + * @param bool $is_paged Whether we're on a paginated view. + * + * @return array The breadcrumb item data. + */ +function block_core_breadcrumbs_create_item( $text, $is_paged = false ) { + $item = array( 'label' => $text ); + if ( $is_paged ) { + $item['url'] = get_pagenum_link( 1 ); + } + return $item; +} + +/** + * Gets a post title with fallback for empty titles. + * + * @since 7.0.0 + * + * @param int|WP_Post $post_id_or_object The post ID or post object. + * + * @return string The post title or fallback text. + */ +function block_core_breadcrumbs_get_post_title( $post_id_or_object ) { + $title = get_the_title( $post_id_or_object ); + if ( strlen( $title ) === 0 ) { + $title = __( '(no title)' ); + } + return $title; +} + +/** + * Generates breadcrumb items from hierarchical post type ancestors. + * + * @since 7.0.0 + * + * @param int $post_id The post ID. + * + * @return array Array of breadcrumb item data. + */ +function block_core_breadcrumbs_get_hierarchical_post_type_breadcrumbs( $post_id ) { + $breadcrumb_items = array(); + $ancestors = get_post_ancestors( $post_id ); + $ancestors = array_reverse( $ancestors ); + + foreach ( $ancestors as $ancestor_id ) { + $breadcrumb_items[] = array( + 'label' => block_core_breadcrumbs_get_post_title( $ancestor_id ), + 'url' => get_permalink( $ancestor_id ), + 'allow_html' => true, + ); + } + return $breadcrumb_items; +} + +/** + * Generates breadcrumb items for hierarchical term ancestors. + * + * For hierarchical taxonomies, retrieves and formats ancestor terms as breadcrumb links. + * + * @since 7.0.0 + * + * @param int $term_id The term ID. + * @param string $taxonomy The taxonomy name. + * + * @return array Array of breadcrumb item data for ancestors. + */ +function block_core_breadcrumbs_get_term_ancestors_items( $term_id, $taxonomy ) { + $breadcrumb_items = array(); + + // Check if taxonomy is hierarchical and add ancestor term links. + if ( is_taxonomy_hierarchical( $taxonomy ) ) { + $term_ancestors = get_ancestors( $term_id, $taxonomy, 'taxonomy' ); + $term_ancestors = array_reverse( $term_ancestors ); + foreach ( $term_ancestors as $ancestor_id ) { + $ancestor_term = get_term( $ancestor_id, $taxonomy ); + if ( $ancestor_term && ! is_wp_error( $ancestor_term ) ) { + $breadcrumb_items[] = array( + 'label' => $ancestor_term->name, + 'url' => get_term_link( $ancestor_term ), + ); + } + } + } + + return $breadcrumb_items; +} + +/** + * Generates breadcrumb items for archive pages. + * + * Handles taxonomy archives, post type archives, date archives, and author archives. + * For hierarchical taxonomies, includes ancestor terms in the breadcrumb trail. + * + * @since 7.0.0 + * + * @return array Array of breadcrumb item data. + */ +function block_core_breadcrumbs_get_archive_breadcrumbs() { + $breadcrumb_items = array(); + + // Date archive (check first since it doesn't have a queried object). + if ( is_date() ) { + $year = get_query_var( 'year' ); + $month = get_query_var( 'monthnum' ); + $day = get_query_var( 'day' ); + + // Fallback to 'm' query var for plain permalinks. + // Plain permalinks use ?m=YYYYMMDD format instead of separate query vars. + if ( ! $year ) { + $m = get_query_var( 'm' ); + if ( $m ) { + $year = substr( $m, 0, 4 ); + $month = substr( $m, 4, 2 ); + $day = (int) substr( $m, 6, 2 ); + } + } + + $is_paged = block_core_breadcrumbs_is_paged(); + + if ( $year ) { + if ( $month ) { + // Year is linked if we have month. + $breadcrumb_items[] = array( + 'label' => $year, + 'url' => get_year_link( $year ), + ); + + if ( $day ) { + // Month is linked if we have day. + $breadcrumb_items[] = array( + 'label' => date_i18n( 'F', mktime( 0, 0, 0, $month, 1, $year ) ), + 'url' => get_month_link( $year, $month ), + ); + // Add day (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + $day, + $is_paged + ); + } else { + // Add month (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + date_i18n( 'F', mktime( 0, 0, 0, $month, 1, $year ) ), + $is_paged + ); + } + } else { + // Add year (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + $year, + $is_paged + ); + } + } + + // Add pagination breadcrumb if on a paged date archive. + if ( $is_paged ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item(); + } + + return $breadcrumb_items; + } + + // For other archive types, we need a queried object. + $queried_object = get_queried_object(); + + if ( ! $queried_object ) { + return array(); + } + + $is_paged = block_core_breadcrumbs_is_paged(); + + // Taxonomy archive (category, tag, custom taxonomy). + if ( $queried_object instanceof WP_Term ) { + $term = $queried_object; + $taxonomy = $term->taxonomy; + + // Add hierarchical term ancestors if applicable. + $breadcrumb_items = array_merge( + $breadcrumb_items, + block_core_breadcrumbs_get_term_ancestors_items( $term->term_id, $taxonomy ) + ); + + // Add current term (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + $term->name, + $is_paged + ); + } elseif ( is_post_type_archive() ) { + // Post type archive. + $post_type = get_query_var( 'post_type' ); + if ( is_array( $post_type ) ) { + $post_type = reset( $post_type ); + } + $post_type_object = get_post_type_object( $post_type ); + + /** This filter is documented in wp-includes/general-template.php */ + $title = apply_filters( 'post_type_archive_title', $post_type_object->labels->archives, $post_type ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound + + if ( $post_type_object ) { + // Add post type (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + $title ? $title : $post_type_object->labels->archives, + $is_paged + ); + } + } elseif ( is_author() ) { + // Author archive. + $author = $queried_object; + // Add author (current if not paginated, link if paginated). + $breadcrumb_items[] = block_core_breadcrumbs_create_item( + $author->display_name, + $is_paged + ); + } + + // Add pagination breadcrumb if on a paged archive. + if ( $is_paged ) { + $breadcrumb_items[] = block_core_breadcrumbs_create_page_number_item(); + } + + return $breadcrumb_items; +} + +/** + * Generates breadcrumb items from taxonomy terms. + * + * Finds the first publicly queryable taxonomy with terms assigned to the post + * and generates breadcrumb links, including hierarchical term ancestors if applicable. + * + * @since 7.0.0 + * + * @param int $post_id The post ID. + * @param string $post_type The post type name. + * + * @return array Array of breadcrumb item data. + */ +function block_core_breadcrumbs_get_terms_breadcrumbs( $post_id, $post_type ) { + $breadcrumb_items = array(); + + // Get public taxonomies for this post type. + $taxonomies = wp_filter_object_list( + get_object_taxonomies( $post_type, 'objects' ), + array( + 'publicly_queryable' => true, + 'show_in_rest' => true, + ) + ); + + if ( empty( $taxonomies ) ) { + return $breadcrumb_items; + } + + /** + * Filters breadcrumb settings (taxonomy and term selection) for a post or post type. + * + * Allows developers to specify which taxonomy and term should be used in the + * breadcrumb trail when a post type has multiple taxonomies or when a post is + * assigned to multiple terms within a taxonomy. + * + * @since 7.0.0 + * + * @param array $settings { + * Array of breadcrumb settings. Default empty array. + * + * @type string $taxonomy Optional. Taxonomy slug to use for breadcrumbs. + * The taxonomy must be registered for the post type and have + * terms assigned to the post. If not found or has no terms, + * fall back to the first available taxonomy with terms. + * @type string $term Optional. Term slug to use when the post has multiple terms + * in the selected taxonomy. If the term is not found or not + * assigned to the post, fall back to the first term. If the + * post has only one term, that term is used regardless. + * } + * @param string $post_type The post type slug. + * @param int $post_id The post ID. + */ + $settings = apply_filters( 'block_core_breadcrumbs_post_type_settings', array(), $post_type, $post_id ); + + $taxonomy_name = null; + $terms = array(); + + // Try preferred taxonomy first if specified. + if ( ! empty( $settings['taxonomy'] ) ) { + foreach ( $taxonomies as $taxonomy ) { + if ( $taxonomy->name === $settings['taxonomy'] ) { + $post_terms = get_the_terms( $post_id, $taxonomy->name ); + if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ) { + $taxonomy_name = $taxonomy->name; + $terms = $post_terms; + } + break; + } + } + } + + // If no preferred taxonomy or it didn't have terms, find the first taxonomy with terms. + if ( empty( $terms ) ) { + foreach ( $taxonomies as $taxonomy ) { + $post_terms = get_the_terms( $post_id, $taxonomy->name ); + if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ) { + $taxonomy_name = $taxonomy->name; + $terms = $post_terms; + break; + } + } + } + + if ( ! empty( $terms ) ) { + // Select which term to use. + $term = reset( $terms ); + + // Try preferred term if specified and post has multiple terms. + if ( ! empty( $settings['term'] ) && count( $terms ) > 1 ) { + foreach ( $terms as $candidate_term ) { + if ( $candidate_term->slug === $settings['term'] ) { + $term = $candidate_term; + break; + } + } + } + + // Add hierarchical term ancestors if applicable. + $breadcrumb_items = array_merge( + $breadcrumb_items, + block_core_breadcrumbs_get_term_ancestors_items( $term->term_id, $taxonomy_name ) + ); + $breadcrumb_items[] = array( + 'label' => $term->name, + 'url' => get_term_link( $term ), + ); + } + return $breadcrumb_items; +} + +/** + * Registers the `core/breadcrumbs` block on the server. + * + * @since 7.0.0 + */ +function register_block_core_breadcrumbs() { + register_block_type_from_metadata( + __DIR__ . '/breadcrumbs', + array( + 'render_callback' => 'render_block_core_breadcrumbs', + ) + ); +} +add_action( 'init', 'register_block_core_breadcrumbs' ); diff --git a/src/wp-includes/blocks/breadcrumbs/block.json b/src/wp-includes/blocks/breadcrumbs/block.json new file mode 100644 index 0000000000000..597e36c41ae50 --- /dev/null +++ b/src/wp-includes/blocks/breadcrumbs/block.json @@ -0,0 +1,78 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 3, + "name": "core/breadcrumbs", + "title": "Breadcrumbs", + "category": "theme", + "description": "Display a breadcrumb trail showing the path to the current page.", + "textdomain": "default", + "attributes": { + "prefersTaxonomy": { + "type": "boolean", + "default": false + }, + "separator": { + "type": "string", + "default": "/" + }, + "showHomeItem": { + "type": "boolean", + "default": true + }, + "showCurrentItem": { + "type": "boolean", + "default": true + }, + "showOnHomePage": { + "type": "boolean", + "default": false + } + }, + "usesContext": [ "postId", "postType", "templateSlug" ], + "supports": { + "anchor": true, + "html": false, + "align": [ "wide", "full" ], + "spacing": { + "margin": true, + "padding": true + }, + "color": { + "gradients": true, + "link": true, + "__experimentalDefaultControls": { + "background": true, + "text": true + } + }, + "__experimentalBorder": { + "radius": true, + "color": true, + "width": true, + "style": true, + "__experimentalDefaultControls": { + "radius": false, + "color": true, + "width": true, + "style": true + } + }, + "typography": { + "fontSize": true, + "lineHeight": true, + "__experimentalFontFamily": true, + "__experimentalFontWeight": true, + "__experimentalFontStyle": true, + "__experimentalTextTransform": true, + "__experimentalTextDecoration": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true + } + }, + "interactivity": { + "clientNavigation": true + } + }, + "style": "wp-block-breadcrumbs" +} diff --git a/src/wp-includes/blocks/buttons/block.json b/src/wp-includes/blocks/buttons/block.json index 8785efff57546..1a2f4d151c797 100644 --- a/src/wp-includes/blocks/buttons/block.json +++ b/src/wp-includes/blocks/buttons/block.json @@ -63,6 +63,7 @@ "interactivity": { "clientNavigation": true }, + "listView": true, "contentRole": true }, "editorStyle": "wp-block-buttons-editor", diff --git a/src/wp-includes/blocks/calendar/block.json b/src/wp-includes/blocks/calendar/block.json index 5816b8c75eaca..c714f44e5e4b3 100644 --- a/src/wp-includes/blocks/calendar/block.json +++ b/src/wp-includes/blocks/calendar/block.json @@ -16,6 +16,7 @@ } }, "supports": { + "anchor": true, "align": true, "html": false, "color": { diff --git a/src/wp-includes/blocks/categories.php b/src/wp-includes/blocks/categories.php index 518918c8a1cc9..9789bf5ca5b1b 100644 --- a/src/wp-includes/blocks/categories.php +++ b/src/wp-includes/blocks/categories.php @@ -47,6 +47,9 @@ function render_block_core_categories( $attributes, $content, $block ) { $taxonomy->labels->singular_name ); + // Pre-select the current term using query var. + $args['selected'] = get_query_var( $taxonomy->query_var ); + $show_label = empty( $attributes['showLabel'] ) ? ' screen-reader-text' : ''; $default_label = $taxonomy->label; $label_text = ! empty( $attributes['label'] ) ? wp_kses_post( $attributes['label'] ) : $default_label; @@ -110,7 +113,8 @@ function onSelectChange() { if ( 'escape' === dropdown.dataset.lastkey ) { return; } - if ( dropdown.value && dropdown instanceof HTMLSelectElement ) { + // Only navigate if a valid term is selected (not the default "Select [taxonomy]" option) + if ( dropdown.value && dropdown.value !== '-1' && dropdown instanceof HTMLSelectElement ) { const url = new URL( homeUrl ); url.searchParams.set( dropdown.name, dropdown.value ); location.href = url.href; diff --git a/src/wp-includes/blocks/categories/block.json b/src/wp-includes/blocks/categories/block.json index 8320fa912a175..e9192495b7382 100644 --- a/src/wp-includes/blocks/categories/block.json +++ b/src/wp-includes/blocks/categories/block.json @@ -43,6 +43,7 @@ }, "usesContext": [ "enhancedPagination" ], "supports": { + "anchor": true, "align": true, "html": false, "spacing": { diff --git a/src/wp-includes/blocks/comment-author-name/block.json b/src/wp-includes/blocks/comment-author-name/block.json index 1889d054c940e..39210087e98b8 100644 --- a/src/wp-includes/blocks/comment-author-name/block.json +++ b/src/wp-includes/blocks/comment-author-name/block.json @@ -15,13 +15,11 @@ "linkTarget": { "type": "string", "default": "_self" - }, - "textAlign": { - "type": "string" } }, "usesContext": [ "commentId" ], "supports": { + "anchor": true, "html": false, "spacing": { "margin": true, @@ -39,6 +37,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comment-content/block.json b/src/wp-includes/blocks/comment-content/block.json index 0e812299a45e8..e64ddd27396d2 100644 --- a/src/wp-includes/blocks/comment-content/block.json +++ b/src/wp-includes/blocks/comment-content/block.json @@ -8,12 +8,8 @@ "description": "Displays the contents of a comment.", "textdomain": "default", "usesContext": [ "commentId" ], - "attributes": { - "textAlign": { - "type": "string" - } - }, "supports": { + "anchor": true, "color": { "gradients": true, "link": true, @@ -25,6 +21,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comment-date/block.json b/src/wp-includes/blocks/comment-date/block.json index 1e8110f836d93..b58a1475efc7b 100644 --- a/src/wp-includes/blocks/comment-date/block.json +++ b/src/wp-includes/blocks/comment-date/block.json @@ -18,6 +18,7 @@ }, "usesContext": [ "commentId" ], "supports": { + "anchor": true, "html": false, "color": { "gradients": true, @@ -35,6 +36,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comment-edit-link/block.json b/src/wp-includes/blocks/comment-edit-link/block.json index 578b284715c2a..f5d1c788741e0 100644 --- a/src/wp-includes/blocks/comment-edit-link/block.json +++ b/src/wp-includes/blocks/comment-edit-link/block.json @@ -12,12 +12,10 @@ "linkTarget": { "type": "string", "default": "_self" - }, - "textAlign": { - "type": "string" } }, "supports": { + "anchor": true, "html": false, "color": { "link": true, @@ -39,6 +37,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comment-reply-link/block.json b/src/wp-includes/blocks/comment-reply-link/block.json index 68aa93c3c1526..38cd3f4b1337f 100644 --- a/src/wp-includes/blocks/comment-reply-link/block.json +++ b/src/wp-includes/blocks/comment-reply-link/block.json @@ -8,12 +8,8 @@ "description": "Displays a link to reply to a comment.", "textdomain": "default", "usesContext": [ "commentId" ], - "attributes": { - "textAlign": { - "type": "string" - } - }, "supports": { + "anchor": true, "color": { "gradients": true, "link": true, @@ -34,6 +30,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comment-template/block.json b/src/wp-includes/blocks/comment-template/block.json index 08fd591b42409..f0d3caeb625a5 100644 --- a/src/wp-includes/blocks/comment-template/block.json +++ b/src/wp-includes/blocks/comment-template/block.json @@ -9,6 +9,7 @@ "textdomain": "default", "usesContext": [ "postId" ], "supports": { + "anchor": true, "align": true, "html": false, "reusable": false, diff --git a/src/wp-includes/blocks/comments-pagination-next/block.json b/src/wp-includes/blocks/comments-pagination-next/block.json index 22e20bfa8dbf2..34d568743dbb1 100644 --- a/src/wp-includes/blocks/comments-pagination-next/block.json +++ b/src/wp-includes/blocks/comments-pagination-next/block.json @@ -14,6 +14,7 @@ }, "usesContext": [ "postId", "comments/paginationArrow" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/comments-pagination-numbers/block.json b/src/wp-includes/blocks/comments-pagination-numbers/block.json index 4d06094edd617..a4cd4fd1850cb 100644 --- a/src/wp-includes/blocks/comments-pagination-numbers/block.json +++ b/src/wp-includes/blocks/comments-pagination-numbers/block.json @@ -9,6 +9,7 @@ "textdomain": "default", "usesContext": [ "postId" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/comments-pagination-previous/block.json b/src/wp-includes/blocks/comments-pagination-previous/block.json index 0871b000c569d..f71e89e4b283a 100644 --- a/src/wp-includes/blocks/comments-pagination-previous/block.json +++ b/src/wp-includes/blocks/comments-pagination-previous/block.json @@ -14,6 +14,7 @@ }, "usesContext": [ "postId", "comments/paginationArrow" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/comments-pagination/block.json b/src/wp-includes/blocks/comments-pagination/block.json index b29d95bc4f1c9..59b8d30ccc913 100644 --- a/src/wp-includes/blocks/comments-pagination/block.json +++ b/src/wp-includes/blocks/comments-pagination/block.json @@ -27,6 +27,7 @@ "comments/paginationArrow": "paginationArrow" }, "supports": { + "anchor": true, "align": true, "reusable": false, "html": false, diff --git a/src/wp-includes/blocks/comments-title.php b/src/wp-includes/blocks/comments-title.php index 130132ec3fa52..a1c7fe11d9651 100644 --- a/src/wp-includes/blocks/comments-title.php +++ b/src/wp-includes/blocks/comments-title.php @@ -25,9 +25,8 @@ function render_block_core_comments_title( $attributes ) { $show_comments_count = ! empty( $attributes['showCommentsCount'] ) && $attributes['showCommentsCount']; $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); $comments_count = get_comments_number(); - /* translators: %s: Post title. */ - $post_title = sprintf( __( '“%s”' ), get_the_title() ); - $tag_name = 'h2'; + $post_title = get_the_title(); + $tag_name = 'h2'; if ( isset( $attributes['level'] ) ) { $tag_name = 'h' . $attributes['level']; } @@ -40,13 +39,13 @@ function render_block_core_comments_title( $attributes ) { if ( $show_post_title ) { if ( '1' === $comments_count ) { /* translators: %s: Post title. */ - $comments_title = sprintf( __( 'One response to %s' ), $post_title ); + $comments_title = sprintf( __( 'One response to “%s”' ), $post_title ); } else { $comments_title = sprintf( /* translators: 1: Number of comments, 2: Post title. */ _n( - '%1$s response to %2$s', - '%1$s responses to %2$s', + '%1$s response to “%2$s”', + '%1$s responses to “%2$s”', $comments_count ), number_format_i18n( $comments_count ), @@ -65,10 +64,10 @@ function render_block_core_comments_title( $attributes ) { } elseif ( $show_post_title ) { if ( '1' === $comments_count ) { /* translators: %s: Post title. */ - $comments_title = sprintf( __( 'Response to %s' ), $post_title ); + $comments_title = sprintf( __( 'Response to “%s”' ), $post_title ); } else { /* translators: %s: Post title. */ - $comments_title = sprintf( __( 'Responses to %s' ), $post_title ); + $comments_title = sprintf( __( 'Responses to “%s”' ), $post_title ); } } elseif ( '1' === $comments_count ) { $comments_title = __( 'Response' ); diff --git a/src/wp-includes/blocks/comments-title/block.json b/src/wp-includes/blocks/comments-title/block.json index b66b741e1916a..bd7d82edeb78b 100644 --- a/src/wp-includes/blocks/comments-title/block.json +++ b/src/wp-includes/blocks/comments-title/block.json @@ -9,9 +9,6 @@ "textdomain": "default", "usesContext": [ "postId", "postType" ], "attributes": { - "textAlign": { - "type": "string" - }, "showPostTitle": { "type": "boolean", "default": true @@ -29,7 +26,7 @@ } }, "supports": { - "anchor": false, + "anchor": true, "align": true, "html": false, "__experimentalBorder": { @@ -52,6 +49,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/comments/block.json b/src/wp-includes/blocks/comments/block.json index ceb8f750c3472..47f58ed5afe33 100644 --- a/src/wp-includes/blocks/comments/block.json +++ b/src/wp-includes/blocks/comments/block.json @@ -17,6 +17,7 @@ } }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/embed/block.json b/src/wp-includes/blocks/embed/block.json index 5bfb63b0fa9e9..d6f7c501d6507 100644 --- a/src/wp-includes/blocks/embed/block.json +++ b/src/wp-includes/blocks/embed/block.json @@ -41,6 +41,7 @@ } }, "supports": { + "anchor": true, "align": true, "spacing": { "margin": true diff --git a/src/wp-includes/blocks/footnotes.php b/src/wp-includes/blocks/footnotes.php index 380c093c8117e..cb95cd387f194 100644 --- a/src/wp-includes/blocks/footnotes.php +++ b/src/wp-includes/blocks/footnotes.php @@ -23,13 +23,13 @@ function render_block_core_footnotes( $attributes, $content, $block ) { } if ( post_password_required( $block->context['postId'] ) ) { - return; + return ''; } $footnotes = get_post_meta( $block->context['postId'], 'footnotes', true ); if ( ! $footnotes ) { - return; + return ''; } $footnotes = json_decode( $footnotes, true ); @@ -48,9 +48,9 @@ function render_block_core_footnotes( $attributes, $content, $block ) { $aria_label = sprintf( __( 'Jump to footnote reference %1$d' ), $footnote_index ); $block_content .= sprintf( '
  • %2$s ↩︎
  • ', - $footnote['id'], - $footnote['content'], - $aria_label + esc_attr( $footnote['id'] ), + wp_kses_post( $footnote['content'] ), + esc_attr( $aria_label ) ); ++$footnote_index; } @@ -105,6 +105,7 @@ function register_block_core_footnotes_post_meta() { } } } + /* * Most post types are registered at priority 10, so use priority 20 here in * order to catch them. diff --git a/src/wp-includes/blocks/footnotes/block.json b/src/wp-includes/blocks/footnotes/block.json index 1fe74abb471ee..1a3c2ee900171 100644 --- a/src/wp-includes/blocks/footnotes/block.json +++ b/src/wp-includes/blocks/footnotes/block.json @@ -9,6 +9,7 @@ "textdomain": "default", "usesContext": [ "postId", "postType" ], "supports": { + "anchor": true, "__experimentalBorder": { "radius": true, "color": true, diff --git a/src/wp-includes/blocks/freeform/block.json b/src/wp-includes/blocks/freeform/block.json index 3a0b575ce4d34..ba06598ffebd3 100644 --- a/src/wp-includes/blocks/freeform/block.json +++ b/src/wp-includes/blocks/freeform/block.json @@ -18,7 +18,8 @@ "lock": false, "reusable": false, "renaming": false, - "visibility": false + "visibility": false, + "customCSS": false }, "editorStyle": "wp-block-freeform-editor" } diff --git a/src/wp-includes/blocks/gallery.php b/src/wp-includes/blocks/gallery.php index 8671a130fb038..5281fec126e42 100644 --- a/src/wp-includes/blocks/gallery.php +++ b/src/wp-includes/blocks/gallery.php @@ -93,8 +93,8 @@ function block_core_gallery_render( $attributes, $content ) { $gap_column = $gap_value; if ( is_array( $gap_value ) ) { - $gap_row = isset( $gap_value['top'] ) ? $gap_value['top'] : $fallback_gap; - $gap_column = isset( $gap_value['left'] ) ? $gap_value['left'] : $fallback_gap; + $gap_row = $gap_value['top'] ?? $fallback_gap; + $gap_column = $gap_value['left'] ?? $fallback_gap; $gap_value = $gap_row === $gap_column ? $gap_row : $gap_row . ' ' . $gap_column; } diff --git a/src/wp-includes/blocks/heading/block.json b/src/wp-includes/blocks/heading/block.json index d9488a3156528..7bc491e1658b1 100644 --- a/src/wp-includes/blocks/heading/block.json +++ b/src/wp-includes/blocks/heading/block.json @@ -8,9 +8,6 @@ "keywords": [ "title", "subtitle" ], "textdomain": "default", "attributes": { - "textAlign": { - "type": "string" - }, "content": { "type": "rich-text", "source": "rich-text", @@ -58,6 +55,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontStyle": true, "__experimentalFontWeight": true, diff --git a/src/wp-includes/blocks/home-link/block.json b/src/wp-includes/blocks/home-link/block.json index 4b5103ec0c75a..42652ba9b72ca 100644 --- a/src/wp-includes/blocks/home-link/block.json +++ b/src/wp-includes/blocks/home-link/block.json @@ -23,6 +23,7 @@ "style" ], "supports": { + "anchor": true, "reusable": false, "html": false, "typography": { diff --git a/src/wp-includes/blocks/html/block.json b/src/wp-includes/blocks/html/block.json index 940cc5e8b253d..6bf5b3511fdf8 100644 --- a/src/wp-includes/blocks/html/block.json +++ b/src/wp-includes/blocks/html/block.json @@ -20,7 +20,8 @@ "html": false, "interactivity": { "clientNavigation": true - } + }, + "customCSS": false }, "editorStyle": "wp-block-html-editor" } diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index 24216538f6efc..bc312167f5329 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -94,7 +94,7 @@ public function block_core_image_extract_empty_figcaption_element() { $figcaption_span = $processor->block_core_image_extract_empty_figcaption_element(); } - $link_destination = isset( $attributes['linkDestination'] ) ? $attributes['linkDestination'] : 'none'; + $link_destination = $attributes['linkDestination'] ?? 'none'; $lightbox_settings = block_core_image_get_lightbox_settings( $block->parsed_block ); /* diff --git a/src/wp-includes/blocks/image/block.json b/src/wp-includes/blocks/image/block.json index 26835df9e856c..54e33f3264780 100644 --- a/src/wp-includes/blocks/image/block.json +++ b/src/wp-includes/blocks/image/block.json @@ -89,6 +89,9 @@ "scale": { "type": "string" }, + "focalPoint": { + "type": "object" + }, "sizeSlug": { "type": "string" }, diff --git a/src/wp-includes/blocks/latest-comments.php b/src/wp-includes/blocks/latest-comments.php index f64ade174b501..eec7e104533d1 100644 --- a/src/wp-includes/blocks/latest-comments.php +++ b/src/wp-includes/blocks/latest-comments.php @@ -47,7 +47,7 @@ function render_block_core_latest_comments( $attributes ) { if ( isset( $attributes['displayExcerpt'] ) ) { $display_content = $attributes['displayExcerpt'] ? 'excerpt' : 'none'; } else { - $display_content = isset( $attributes['displayContent'] ) ? $attributes['displayContent'] : 'excerpt'; + $display_content = $attributes['displayContent'] ?? 'excerpt'; } $comments = get_comments( diff --git a/src/wp-includes/blocks/latest-comments/block.json b/src/wp-includes/blocks/latest-comments/block.json index 28f5ce1ea47da..781d39b1851f0 100644 --- a/src/wp-includes/blocks/latest-comments/block.json +++ b/src/wp-includes/blocks/latest-comments/block.json @@ -29,6 +29,7 @@ } }, "supports": { + "anchor": true, "align": true, "color": { "gradients": true, @@ -61,6 +62,5 @@ "clientNavigation": true } }, - "editorStyle": "wp-block-latest-comments-editor", "style": "wp-block-latest-comments" } diff --git a/src/wp-includes/blocks/latest-posts.php b/src/wp-includes/blocks/latest-posts.php index b970f486bb6a1..44231ac6d14a1 100644 --- a/src/wp-includes/blocks/latest-posts.php +++ b/src/wp-includes/blocks/latest-posts.php @@ -20,6 +20,8 @@ * * @since 5.4.0 * + * @global int $block_core_latest_posts_excerpt_length Excerpt length set by the Latest Posts core block. + * * @return int Returns the global $block_core_latest_posts_excerpt_length variable * to allow the excerpt_length filter respect the Latest Block setting. */ diff --git a/src/wp-includes/blocks/latest-posts/block.json b/src/wp-includes/blocks/latest-posts/block.json index 58b1c6da81ca3..03de79be44ce7 100644 --- a/src/wp-includes/blocks/latest-posts/block.json +++ b/src/wp-includes/blocks/latest-posts/block.json @@ -83,6 +83,7 @@ } }, "supports": { + "anchor": true, "align": true, "html": false, "color": { diff --git a/src/wp-includes/blocks/list/block.json b/src/wp-includes/blocks/list/block.json index bd696c30c334c..e91ebf76817e0 100644 --- a/src/wp-includes/blocks/list/block.json +++ b/src/wp-includes/blocks/list/block.json @@ -78,7 +78,8 @@ "__experimentalSlashInserter": true, "interactivity": { "clientNavigation": true - } + }, + "listView": true }, "selectors": { "border": ".wp-block-list:not(.wp-block-list .wp-block-list)" diff --git a/src/wp-includes/blocks/loginout/block.json b/src/wp-includes/blocks/loginout/block.json index f2aaafd60fde0..b4c038542b060 100644 --- a/src/wp-includes/blocks/loginout/block.json +++ b/src/wp-includes/blocks/loginout/block.json @@ -21,6 +21,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "className": true, "color": { "background": true, diff --git a/src/wp-includes/blocks/math/block.json b/src/wp-includes/blocks/math/block.json index a7cce62167ffb..a305900ab9961 100644 --- a/src/wp-includes/blocks/math/block.json +++ b/src/wp-includes/blocks/math/block.json @@ -8,6 +8,7 @@ "keywords": [ "equation", "formula", "latex", "mathematics" ], "textdomain": "default", "supports": { + "anchor": true, "html": false, "__experimentalBorder": { "color": true, diff --git a/src/wp-includes/blocks/media-text.php b/src/wp-includes/blocks/media-text.php index b65137b150ba5..df4b802736c41 100644 --- a/src/wp-includes/blocks/media-text.php +++ b/src/wp-includes/blocks/media-text.php @@ -77,7 +77,7 @@ function render_block_core_media_text( $attributes, $content ) { // Add the image tag inside the figure tag, and update the image attributes // in order to display the featured image. - $media_size_slug = isset( $attributes['mediaSizeSlug'] ) ? $attributes['mediaSizeSlug'] : 'full'; + $media_size_slug = $attributes['mediaSizeSlug'] ?? 'full'; $image_tag = ''; $content = preg_replace( '/()/', diff --git a/src/wp-includes/blocks/missing/block.json b/src/wp-includes/blocks/missing/block.json index 619c181ec86c8..92c9735d1ba15 100644 --- a/src/wp-includes/blocks/missing/block.json +++ b/src/wp-includes/blocks/missing/block.json @@ -29,6 +29,7 @@ "visibility": false, "interactivity": { "clientNavigation": true - } + }, + "customCSS": false } } diff --git a/src/wp-includes/blocks/more/block.json b/src/wp-includes/blocks/more/block.json index 01c4b3ce961e5..b33beeab922a6 100644 --- a/src/wp-includes/blocks/more/block.json +++ b/src/wp-includes/blocks/more/block.json @@ -23,9 +23,11 @@ "className": false, "html": false, "multiple": false, + "visibility": false, "interactivity": { "clientNavigation": true - } + }, + "customCSS": false }, "editorStyle": "wp-block-more-editor" } diff --git a/src/wp-includes/blocks/navigation-link.php b/src/wp-includes/blocks/navigation-link.php index 2b2d5a00a10bb..0888d7b5acebd 100644 --- a/src/wp-includes/blocks/navigation-link.php +++ b/src/wp-includes/blocks/navigation-link.php @@ -5,6 +5,15 @@ * @package WordPress */ +// Path differs between source and build: './shared/' in source, './navigation-link/shared/' in build. +if ( file_exists( __DIR__ . '/shared/item-should-render.php' ) ) { + require_once __DIR__ . '/shared/item-should-render.php'; + require_once __DIR__ . '/shared/render-submenu-icon.php'; +} else { + require_once __DIR__ . '/navigation-link/shared/item-should-render.php'; + require_once __DIR__ . '/navigation-link/shared/render-submenu-icon.php'; +} + /** * Build an array with CSS classes and inline styles defining the colors * which will be applied to the navigation markup in the front-end. @@ -114,17 +123,6 @@ function block_core_navigation_link_build_css_font_sizes( $context ) { return $font_sizes; } -/** - * Returns the top-level submenu SVG chevron icon. - * - * @since 5.9.0 - * - * @return string - */ -function block_core_navigation_link_render_submenu_icon() { - return ''; -} - /** * Decodes a url if it's encoded, returning the same url if not. * @@ -170,29 +168,9 @@ function block_core_navigation_link_maybe_urldecode( $url ) { * @return string Returns the post content with the legacy widget added. */ function render_block_core_navigation_link( $attributes, $content, $block ) { - $navigation_link_has_id = isset( $attributes['id'] ) && is_numeric( $attributes['id'] ); - $is_post_type = isset( $attributes['kind'] ) && 'post-type' === $attributes['kind']; - $is_post_type = $is_post_type || isset( $attributes['type'] ) && ( 'post' === $attributes['type'] || 'page' === $attributes['type'] ); - - // Don't render the block's subtree if it is a draft or if the ID does not exist. - if ( $is_post_type && $navigation_link_has_id ) { - $post = get_post( $attributes['id'] ); - /** - * Filter allowed post_status for navigation link block to render. - * - * @since 6.8.0 - * - * @param array $post_status - * @param array $attributes - * @param WP_Block $block - */ - $allowed_post_status = (array) apply_filters( - 'render_block_core_navigation_link_allowed_post_status', - array( 'publish' ), - $attributes, - $block - ); - if ( ! $post || ! in_array( $post->post_status, $allowed_post_status, true ) ) { + // Check if this navigation item should render based on post status. + if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { + if ( ! gutenberg_block_core_shared_navigation_item_should_render( $attributes, $block ) ) { return ''; } } @@ -208,8 +186,14 @@ function render_block_core_navigation_link( $attributes, $content, $block ) { ); $style_attribute = $font_sizes['inline_styles']; + // Render inner blocks first to check if any menu items will actually display. + $inner_blocks_html = ''; + foreach ( $block->inner_blocks as $inner_block ) { + $inner_blocks_html .= $inner_block->render(); + } + $has_submenu = ! empty( trim( $inner_blocks_html ) ); + $css_classes = trim( implode( ' ', $classes ) ); - $has_submenu = count( $block->inner_blocks ) > 0; $kind = empty( $attributes['kind'] ) ? 'post_type' : str_replace( '-', '_', $attributes['kind'] ); $is_active = ! empty( $attributes['id'] ) && get_queried_object_id() === (int) $attributes['id'] && ! empty( get_queried_object()->$kind ); @@ -278,15 +262,10 @@ function render_block_core_navigation_link( $attributes, $content, $block ) { if ( isset( $block->context['showSubmenuIcon'] ) && $block->context['showSubmenuIcon'] && $has_submenu ) { // The submenu icon can be hidden by a CSS rule on the Navigation Block. - $html .= '' . block_core_navigation_link_render_submenu_icon() . ''; + $html .= '' . block_core_navigation_render_submenu_icon() . ''; } if ( $has_submenu ) { - $inner_blocks_html = ''; - foreach ( $block->inner_blocks as $inner_block ) { - $inner_blocks_html .= $inner_block->render(); - } - $html .= sprintf( '
      %s
    ', $inner_blocks_html @@ -339,7 +318,7 @@ function build_variation_for_navigation_link( $entity, $kind ) { } // Calculate singular name once (used for both title and description) - $singular = isset( $entity->labels->singular_name ) ? $entity->labels->singular_name : ucfirst( $entity->name ); + $singular = $entity->labels->singular_name ?? ucfirst( $entity->name ); // Set default title if needed if ( $is_default_title || '' === $title ) { diff --git a/src/wp-includes/blocks/navigation-link/block.json b/src/wp-includes/blocks/navigation-link/block.json index 99d893120cea1..997275574f1ac 100644 --- a/src/wp-includes/blocks/navigation-link/block.json +++ b/src/wp-includes/blocks/navigation-link/block.json @@ -63,6 +63,7 @@ "style" ], "supports": { + "anchor": true, "reusable": false, "html": false, "__experimentalSlashInserter": true, diff --git a/src/wp-includes/blocks/navigation-link/shared/item-should-render.php b/src/wp-includes/blocks/navigation-link/shared/item-should-render.php new file mode 100644 index 0000000000000..c6c55b04e47eb --- /dev/null +++ b/src/wp-includes/blocks/navigation-link/shared/item-should-render.php @@ -0,0 +1,46 @@ +post_status, $allowed_post_status, true ) ) { + return false; + } + } + + return true; +} diff --git a/src/wp-includes/blocks/navigation-link/shared/render-submenu-icon.php b/src/wp-includes/blocks/navigation-link/shared/render-submenu-icon.php new file mode 100644 index 0000000000000..62d09e28abe43 --- /dev/null +++ b/src/wp-includes/blocks/navigation-link/shared/render-submenu-icon.php @@ -0,0 +1,17 @@ +'; +} diff --git a/src/wp-includes/blocks/navigation-submenu.php b/src/wp-includes/blocks/navigation-submenu.php index 77f2c1fa635fc..beb2b389d3a03 100644 --- a/src/wp-includes/blocks/navigation-submenu.php +++ b/src/wp-includes/blocks/navigation-submenu.php @@ -5,6 +5,43 @@ * @package WordPress */ +/** + * Returns the submenu visibility value with backward compatibility + * for the deprecated openSubmenusOnClick attribute. + * + * This function centralizes the migration logic from the boolean + * openSubmenusOnClick to the new submenuVisibility enum. + * + * @since 6.9.0 + * + * @param array $attributes Block attributes containing submenuVisibility and/or openSubmenusOnClick. + * @return string The visibility mode: 'hover', 'click', or 'always'. + */ +function block_core_navigation_submenu_get_submenu_visibility( $attributes ) { + $submenu_visibility = isset( $attributes['submenuVisibility'] ) ? $attributes['submenuVisibility'] : null; + $open_submenus_on_click = isset( $attributes['openSubmenusOnClick'] ) ? $attributes['openSubmenusOnClick'] : null; + + // If new attribute is set, use it. + if ( null !== $submenu_visibility ) { + return $submenu_visibility; + } + + // Fall back to old attribute for backward compatibility. + // openSubmenusOnClick: true -> 'click' + // openSubmenusOnClick: false -> 'hover' + // openSubmenusOnClick: null -> 'hover' (default) + return ! empty( $open_submenus_on_click ) ? 'click' : 'hover'; +} + +// Path differs between source and build: '../navigation-link/shared/' in source, './navigation-link/shared/' in build. +if ( file_exists( __DIR__ . '/../navigation-link/shared/item-should-render.php' ) ) { + require_once __DIR__ . '/../navigation-link/shared/item-should-render.php'; + require_once __DIR__ . '/../navigation-link/shared/render-submenu-icon.php'; +} else { + require_once __DIR__ . '/navigation-link/shared/item-should-render.php'; + require_once __DIR__ . '/navigation-link/shared/render-submenu-icon.php'; +} + /** * Build an array with CSS classes and inline styles defining the font sizes * which will be applied to the navigation markup in the front-end. @@ -42,17 +79,6 @@ function block_core_navigation_submenu_build_css_font_sizes( $context ) { return $font_sizes; } -/** - * Returns the top-level submenu SVG chevron icon. - * - * @since 5.9.0 - * - * @return string - */ -function block_core_navigation_submenu_render_submenu_icon() { - return ''; -} - /** * Renders the `core/navigation-submenu` block. * @@ -65,13 +91,11 @@ function block_core_navigation_submenu_render_submenu_icon() { * @return string Returns the post content with the legacy widget added. */ function render_block_core_navigation_submenu( $attributes, $content, $block ) { - $navigation_link_has_id = isset( $attributes['id'] ) && is_numeric( $attributes['id'] ); - $is_post_type = isset( $attributes['kind'] ) && 'post-type' === $attributes['kind']; - $is_post_type = $is_post_type || isset( $attributes['type'] ) && ( 'post' === $attributes['type'] || 'page' === $attributes['type'] ); - - // Don't render the block's subtree if it is a draft. - if ( $is_post_type && $navigation_link_has_id && 'publish' !== get_post_status( $attributes['id'] ) ) { - return ''; + // Check if this navigation item should render based on post status. + if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { + if ( ! gutenberg_block_core_shared_navigation_item_should_render( $attributes, $block ) ) { + return ''; + } } // Don't render the block's subtree if it has no label. @@ -82,9 +106,15 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { $font_sizes = block_core_navigation_submenu_build_css_font_sizes( $block->context ); $style_attribute = $font_sizes['inline_styles']; - $has_submenu = count( $block->inner_blocks ) > 0; - $kind = empty( $attributes['kind'] ) ? 'post_type' : str_replace( '-', '_', $attributes['kind'] ); - $is_active = ! empty( $attributes['id'] ) && get_queried_object_id() === (int) $attributes['id'] && ! empty( get_queried_object()->$kind ); + // Render inner blocks first to check if any menu items will actually display. + $inner_blocks_html = ''; + foreach ( $block->inner_blocks as $inner_block ) { + $inner_blocks_html .= $inner_block->render(); + } + $has_submenu = ! empty( trim( $inner_blocks_html ) ); + + $kind = empty( $attributes['kind'] ) ? 'post_type' : str_replace( '-', '_', $attributes['kind'] ); + $is_active = ! empty( $attributes['id'] ) && get_queried_object_id() === (int) $attributes['id'] && ! empty( get_queried_object()->$kind ); if ( is_post_type_archive() && ! empty( $attributes['url'] ) ) { $queried_archive_link = get_post_type_archive_link( get_queried_object()->name ); @@ -94,9 +124,10 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { } $show_submenu_indicators = isset( $block->context['showSubmenuIcon'] ) && $block->context['showSubmenuIcon']; - $open_on_click = isset( $block->context['openSubmenusOnClick'] ) && $block->context['openSubmenusOnClick']; - $open_on_hover_and_click = isset( $block->context['openSubmenusOnClick'] ) && ! $block->context['openSubmenusOnClick'] && - $show_submenu_indicators; + $computed_visibility = block_core_navigation_submenu_get_submenu_visibility( $block->context ); + $open_on_click = 'click' === $computed_visibility; + $open_on_hover = 'hover' === $computed_visibility; + $open_on_hover_and_click = $open_on_hover && $show_submenu_indicators; $classes = array( 'wp-block-navigation-item', @@ -114,6 +145,9 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { if ( $open_on_hover_and_click ) { $classes[] = 'open-on-hover-click'; } + if ( 'always' === $computed_visibility ) { + $classes[] = 'open-always'; + } if ( $is_active ) { $classes[] = 'current-menu-item'; } @@ -139,10 +173,10 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { $html = '
  • '; - // If Submenus open on hover, we render an anchor tag with attributes. + // If Submenus open on hover or are always open, we render an anchor tag with attributes. // If submenu icons are set to show, we also render a submenu button, so the submenu can be opened on click. if ( ! $open_on_click ) { - $item_url = isset( $attributes['url'] ) ? $attributes['url'] : ''; + $item_url = $attributes['url'] ?? ''; // Start appending HTML attributes to anchor tag. $html .= '
    %2s', get_the_permalink( $block->context['postId'] ), $formatted_date ); + $time_tag = sprintf( '%2s', get_the_permalink( $block->context['postId'] ), $time_tag ); } - return sprintf( - '
    ', - $wrapper_attributes, - $unformatted_date, - $formatted_date - ); + return sprintf( '
    %2$s
    ', $wrapper_attributes, $time_tag ); } /** diff --git a/src/wp-includes/blocks/post-date/block.json b/src/wp-includes/blocks/post-date/block.json index ea99f6ab5ff8d..7952e36af3661 100644 --- a/src/wp-includes/blocks/post-date/block.json +++ b/src/wp-includes/blocks/post-date/block.json @@ -28,6 +28,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "html": false, "color": { "gradients": true, diff --git a/src/wp-includes/blocks/post-excerpt.php b/src/wp-includes/blocks/post-excerpt.php index 28aab46a01294..abfa6a1ea5c6f 100644 --- a/src/wp-includes/blocks/post-excerpt.php +++ b/src/wp-includes/blocks/post-excerpt.php @@ -39,13 +39,23 @@ function render_block_core_post_excerpt( $attributes, $content, $block ) { add_filter( 'excerpt_more', $filter_excerpt_more ); /* - * The purpose of the excerpt length setting is to limit the length of both - * automatically generated and user-created excerpts. - * Because the excerpt_length filter only applies to auto generated excerpts, - * wp_trim_words is used instead. - */ + * The purpose of the excerpt length setting is to limit the length of both + * automatically generated and user-created excerpts. + * Because the excerpt_length filter only applies to auto generated excerpts, + * wp_trim_words is used instead. + * + * To ensure the block's excerptLength setting works correctly for auto-generated + * excerpts, we temporarily override excerpt_length to 101 (the max block setting) + * so that wp_trim_excerpt doesn't pre-trim the content before wp_trim_words can + * apply the user's desired length. + */ $excerpt_length = $attributes['excerptLength']; - $excerpt = get_the_excerpt( $block->context['postId'] ); + add_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); + + $excerpt = get_the_excerpt( $block->context['postId'] ); + + remove_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); + if ( isset( $excerpt_length ) ) { $excerpt = wp_trim_words( $excerpt, $excerpt_length ); } @@ -86,18 +96,31 @@ function register_block_core_post_excerpt() { add_action( 'init', 'register_block_core_post_excerpt' ); /** + * Callback for the excerpt_length filter to override the excerpt length. + * * If themes or plugins filter the excerpt_length, we need to * override the filter in the editor, otherwise * the excerpt length block setting has no effect. - * Returns 100 because 100 is the max length in the setting. + * Returns 101 (one more than the max block setting of 100) to ensure + * wp_trim_words can detect when trimming is needed and add the ellipsis. + * + * For REST API requests, the filter is added on 'rest_api_init' + * because REST_REQUEST is not defined until 'parse_request'. + * + * @since 7.0.0 + * + * @return int The excerpt length. */ -if ( is_admin() || - defined( 'REST_REQUEST' ) && REST_REQUEST ) { - add_filter( - 'excerpt_length', - static function () { - return 100; - }, - PHP_INT_MAX - ); +function block_core_post_excerpt_excerpt_length() { + return 101; } + +if ( is_admin() ) { + add_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); +} +add_action( + 'rest_api_init', + static function () { + add_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); + } +); diff --git a/src/wp-includes/blocks/post-excerpt/block.json b/src/wp-includes/blocks/post-excerpt/block.json index c0037b0e5b39c..1a92da2332db6 100644 --- a/src/wp-includes/blocks/post-excerpt/block.json +++ b/src/wp-includes/blocks/post-excerpt/block.json @@ -28,6 +28,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "html": false, "color": { "gradients": true, diff --git a/src/wp-includes/blocks/post-featured-image.php b/src/wp-includes/blocks/post-featured-image.php index dc8bcba194a79..e9fc60f7038f5 100644 --- a/src/wp-includes/blocks/post-featured-image.php +++ b/src/wp-includes/blocks/post-featured-image.php @@ -22,7 +22,7 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) $post_ID = $block->context['postId']; $is_link = isset( $attributes['isLink'] ) && $attributes['isLink']; - $size_slug = isset( $attributes['sizeSlug'] ) ? $attributes['sizeSlug'] : 'post-thumbnail'; + $size_slug = $attributes['sizeSlug'] ?? 'post-thumbnail'; $attr = get_block_core_post_featured_image_border_attributes( $attributes ); $overlay_markup = get_block_core_post_featured_image_overlay_element_markup( $attributes ); @@ -236,9 +236,9 @@ function get_block_core_post_featured_image_border_attributes( $attributes ) { foreach ( $sides as $side ) { $border = $attributes['style']['border'][ $side ] ?? null; $border_styles[ $side ] = array( - 'color' => isset( $border['color'] ) ? $border['color'] : null, - 'style' => isset( $border['style'] ) ? $border['style'] : null, - 'width' => isset( $border['width'] ) ? $border['width'] : null, + 'color' => $border['color'] ?? null, + 'style' => $border['style'] ?? null, + 'width' => $border['width'] ?? null, ); } diff --git a/src/wp-includes/blocks/post-featured-image/block.json b/src/wp-includes/blocks/post-featured-image/block.json index 3cd144caa0cf4..f5619dc29fac5 100644 --- a/src/wp-includes/blocks/post-featured-image/block.json +++ b/src/wp-includes/blocks/post-featured-image/block.json @@ -65,6 +65,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "align": [ "left", "right", "center", "wide", "full" ], "color": { "text": false, diff --git a/src/wp-includes/blocks/post-navigation-link.php b/src/wp-includes/blocks/post-navigation-link.php index 8162b74d8af17..cde3910e74353 100644 --- a/src/wp-includes/blocks/post-navigation-link.php +++ b/src/wp-includes/blocks/post-navigation-link.php @@ -21,7 +21,7 @@ function render_block_core_post_navigation_link( $attributes, $content ) { } // Get the navigation type to show the proper link. Available options are `next|previous`. - $navigation_type = isset( $attributes['type'] ) ? $attributes['type'] : 'next'; + $navigation_type = $attributes['type'] ?? 'next'; // Allow only `next` and `previous` in `$navigation_type`. if ( ! in_array( $navigation_type, array( 'next', 'previous' ), true ) ) { return ''; diff --git a/src/wp-includes/blocks/post-navigation-link/block.json b/src/wp-includes/blocks/post-navigation-link/block.json index 2fda6a01cf516..6d51d619637c9 100644 --- a/src/wp-includes/blocks/post-navigation-link/block.json +++ b/src/wp-includes/blocks/post-navigation-link/block.json @@ -37,6 +37,7 @@ }, "usesContext": [ "postType" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/post-template/block.json b/src/wp-includes/blocks/post-template/block.json index d379a46d3142f..fdd8e647154cc 100644 --- a/src/wp-includes/blocks/post-template/block.json +++ b/src/wp-includes/blocks/post-template/block.json @@ -17,6 +17,7 @@ "postType" ], "supports": { + "anchor": true, "reusable": false, "html": false, "align": [ "wide", "full" ], diff --git a/src/wp-includes/blocks/post-terms/block.json b/src/wp-includes/blocks/post-terms/block.json index e7567ba657c3b..0ae8fbcd9d521 100644 --- a/src/wp-includes/blocks/post-terms/block.json +++ b/src/wp-includes/blocks/post-terms/block.json @@ -33,6 +33,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "html": false, "color": { "gradients": true, diff --git a/src/wp-includes/blocks/post-time-to-read.php b/src/wp-includes/blocks/post-time-to-read.php index bce545a2927d2..74a091d97c335 100644 --- a/src/wp-includes/blocks/post-time-to-read.php +++ b/src/wp-includes/blocks/post-time-to-read.php @@ -103,9 +103,9 @@ function render_block_core_post_time_to_read( $attributes, $content, $block ) { } $content = get_the_content(); - $average_reading_rate = isset( $attributes['averageReadingSpeed'] ) ? $attributes['averageReadingSpeed'] : 189; + $average_reading_rate = $attributes['averageReadingSpeed'] ?? 189; - $display_mode = isset( $attributes['displayMode'] ) ? $attributes['displayMode'] : 'time'; + $display_mode = $attributes['displayMode'] ?? 'time'; $word_count_type = wp_get_word_count_type(); $total_words = block_core_post_time_to_read_word_count( $content, $word_count_type ); diff --git a/src/wp-includes/blocks/post-time-to-read/block.json b/src/wp-includes/blocks/post-time-to-read/block.json index 386312e00434e..a9f64490731b6 100644 --- a/src/wp-includes/blocks/post-time-to-read/block.json +++ b/src/wp-includes/blocks/post-time-to-read/block.json @@ -25,6 +25,7 @@ } }, "supports": { + "anchor": true, "color": { "gradients": true, "__experimentalDefaultControls": { diff --git a/src/wp-includes/blocks/post-title/block.json b/src/wp-includes/blocks/post-title/block.json index 5587d71b148d0..1fb7efcf82db5 100644 --- a/src/wp-includes/blocks/post-title/block.json +++ b/src/wp-includes/blocks/post-title/block.json @@ -39,6 +39,7 @@ "viewportWidth": 350 }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/pullquote/block.json b/src/wp-includes/blocks/pullquote/block.json index 3daf8c27afb41..271bba74d0252 100644 --- a/src/wp-includes/blocks/pullquote/block.json +++ b/src/wp-includes/blocks/pullquote/block.json @@ -2,9 +2,9 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "core/pullquote", - "title": "Pullquote (deprecated)", + "title": "Pullquote", "category": "text", - "description": "This block is deprecated. Please use the Quote block instead.", + "description": "Give special visual emphasis to a quote from your text.", "textdomain": "default", "attributes": { "value": { @@ -48,7 +48,6 @@ "minHeight": false } }, - "inserter": false, "spacing": { "margin": true, "padding": true diff --git a/src/wp-includes/blocks/query-no-results/block.json b/src/wp-includes/blocks/query-no-results/block.json index 44d2ceef987e2..3e6479a5aa20a 100644 --- a/src/wp-includes/blocks/query-no-results/block.json +++ b/src/wp-includes/blocks/query-no-results/block.json @@ -9,6 +9,7 @@ "textdomain": "default", "usesContext": [ "queryId", "query" ], "supports": { + "anchor": true, "align": true, "reusable": false, "html": false, diff --git a/src/wp-includes/blocks/query-pagination-next/block.json b/src/wp-includes/blocks/query-pagination-next/block.json index ec56125ee3b76..86acaa7462d32 100644 --- a/src/wp-includes/blocks/query-pagination-next/block.json +++ b/src/wp-includes/blocks/query-pagination-next/block.json @@ -20,6 +20,7 @@ "enhancedPagination" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/query-pagination-numbers/block.json b/src/wp-includes/blocks/query-pagination-numbers/block.json index 8a9f0ee69f14e..75b2e4476accb 100644 --- a/src/wp-includes/blocks/query-pagination-numbers/block.json +++ b/src/wp-includes/blocks/query-pagination-numbers/block.json @@ -15,6 +15,7 @@ }, "usesContext": [ "queryId", "query", "enhancedPagination" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/query-pagination-previous/block.json b/src/wp-includes/blocks/query-pagination-previous/block.json index d1e34c8630250..f13c9d4704cf1 100644 --- a/src/wp-includes/blocks/query-pagination-previous/block.json +++ b/src/wp-includes/blocks/query-pagination-previous/block.json @@ -20,6 +20,7 @@ "enhancedPagination" ], "supports": { + "anchor": true, "reusable": false, "html": false, "color": { diff --git a/src/wp-includes/blocks/query-pagination/block.json b/src/wp-includes/blocks/query-pagination/block.json index 355b188e442d8..c5e8cde66e7bc 100644 --- a/src/wp-includes/blocks/query-pagination/block.json +++ b/src/wp-includes/blocks/query-pagination/block.json @@ -28,6 +28,7 @@ "showLabel": "showLabel" }, "supports": { + "anchor": true, "align": true, "reusable": false, "html": false, diff --git a/src/wp-includes/blocks/query-title.php b/src/wp-includes/blocks/query-title.php index 980e1c5f58f44..3c3a4ee26233c 100644 --- a/src/wp-includes/blocks/query-title.php +++ b/src/wp-includes/blocks/query-title.php @@ -19,10 +19,10 @@ * @return string Returns the query title based on the queried object. */ function render_block_core_query_title( $attributes, $content, $block ) { - $type = isset( $attributes['type'] ) ? $attributes['type'] : null; + $type = $attributes['type'] ?? null; $is_archive = is_archive(); $is_search = is_search(); - $post_type = isset( $block->context['query']['postType'] ) ? $block->context['query']['postType'] : get_post_type(); + $post_type = $block->context['query']['postType'] ?? get_post_type(); if ( ! $type || ( 'archive' === $type && ! $is_archive ) || @@ -33,7 +33,7 @@ function render_block_core_query_title( $attributes, $content, $block ) { } $title = ''; if ( $is_archive ) { - $show_prefix = isset( $attributes['showPrefix'] ) ? $attributes['showPrefix'] : true; + $show_prefix = $attributes['showPrefix'] ?? true; if ( ! $show_prefix ) { add_filter( 'get_the_archive_title_prefix', '__return_empty_string', 1 ); $title = get_the_archive_title(); @@ -48,7 +48,7 @@ function render_block_core_query_title( $attributes, $content, $block ) { if ( isset( $attributes['showSearchTerm'] ) && $attributes['showSearchTerm'] ) { $title = sprintf( /* translators: %s is the search term. */ - __( 'Search results for: "%s"' ), + __( 'Search results for: “%s”' ), get_search_query() ); } @@ -61,12 +61,12 @@ function render_block_core_query_title( $attributes, $content, $block ) { } $post_type_name = $post_type_object->labels->singular_name; - $show_prefix = isset( $attributes['showPrefix'] ) ? $attributes['showPrefix'] : true; + $show_prefix = $attributes['showPrefix'] ?? true; if ( $show_prefix ) { $title = sprintf( /* translators: %s is the post type name. */ - __( 'Post Type: "%s"' ), + __( 'Post Type: “%s”' ), $post_type_name ); } else { diff --git a/src/wp-includes/blocks/query-title/block.json b/src/wp-includes/blocks/query-title/block.json index 549451bbfc67b..41e9e3fd29b62 100644 --- a/src/wp-includes/blocks/query-title/block.json +++ b/src/wp-includes/blocks/query-title/block.json @@ -36,6 +36,7 @@ }, "usesContext": [ "query" ], "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/query-total/block.json b/src/wp-includes/blocks/query-total/block.json index 21f6ba0673903..9cd803a5665b9 100644 --- a/src/wp-includes/blocks/query-total/block.json +++ b/src/wp-includes/blocks/query-total/block.json @@ -15,6 +15,7 @@ }, "usesContext": [ "queryId", "query" ], "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "spacing": { diff --git a/src/wp-includes/blocks/query/block.json b/src/wp-includes/blocks/query/block.json index 33ba8bfd925ca..2014e1ebb257e 100644 --- a/src/wp-includes/blocks/query/block.json +++ b/src/wp-includes/blocks/query/block.json @@ -50,6 +50,7 @@ "enhancedPagination": "enhancedPagination" }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "layout": true, diff --git a/src/wp-includes/blocks/read-more/block.json b/src/wp-includes/blocks/read-more/block.json index eabc7acf3e3a3..084d46fa6936b 100644 --- a/src/wp-includes/blocks/read-more/block.json +++ b/src/wp-includes/blocks/read-more/block.json @@ -18,6 +18,7 @@ }, "usesContext": [ "postId" ], "supports": { + "anchor": true, "html": false, "color": { "gradients": true, diff --git a/src/wp-includes/blocks/require-dynamic-blocks.php b/src/wp-includes/blocks/require-dynamic-blocks.php index b06178ed16613..bcc1d9ddfbd58 100644 --- a/src/wp-includes/blocks/require-dynamic-blocks.php +++ b/src/wp-includes/blocks/require-dynamic-blocks.php @@ -7,6 +7,7 @@ require_once ABSPATH . WPINC . '/blocks/archives.php'; require_once ABSPATH . WPINC . '/blocks/avatar.php'; require_once ABSPATH . WPINC . '/blocks/block.php'; +require_once ABSPATH . WPINC . '/blocks/breadcrumbs.php'; require_once ABSPATH . WPINC . '/blocks/button.php'; require_once ABSPATH . WPINC . '/blocks/calendar.php'; require_once ABSPATH . WPINC . '/blocks/categories.php'; @@ -39,6 +40,7 @@ require_once ABSPATH . WPINC . '/blocks/navigation-submenu.php'; require_once ABSPATH . WPINC . '/blocks/page-list.php'; require_once ABSPATH . WPINC . '/blocks/page-list-item.php'; +require_once ABSPATH . WPINC . '/blocks/paragraph.php'; require_once ABSPATH . WPINC . '/blocks/pattern.php'; require_once ABSPATH . WPINC . '/blocks/post-author.php'; require_once ABSPATH . WPINC . '/blocks/post-author-biography.php'; diff --git a/src/wp-includes/blocks/require-static-blocks.php b/src/wp-includes/blocks/require-static-blocks.php index 5a15f3197e58e..c87ef18277bbd 100644 --- a/src/wp-includes/blocks/require-static-blocks.php +++ b/src/wp-includes/blocks/require-static-blocks.php @@ -20,7 +20,6 @@ 'missing', 'more', 'nextpage', - 'paragraph', 'preformatted', 'pullquote', 'quote', diff --git a/src/wp-includes/blocks/rss/block.json b/src/wp-includes/blocks/rss/block.json index fc49e1d858e89..e16c0c62881c9 100644 --- a/src/wp-includes/blocks/rss/block.json +++ b/src/wp-includes/blocks/rss/block.json @@ -50,6 +50,7 @@ } }, "supports": { + "anchor": true, "align": true, "html": false, "interactivity": { diff --git a/src/wp-includes/blocks/search/block.json b/src/wp-includes/blocks/search/block.json index c5af5a29d21be..a6146d4404041 100644 --- a/src/wp-includes/blocks/search/block.json +++ b/src/wp-includes/blocks/search/block.json @@ -49,6 +49,7 @@ } }, "supports": { + "anchor": true, "align": [ "left", "center", "right" ], "color": { "gradients": true, diff --git a/src/wp-includes/blocks/shortcode/block.json b/src/wp-includes/blocks/shortcode/block.json index 6e30210b7c081..f97640bf8197d 100644 --- a/src/wp-includes/blocks/shortcode/block.json +++ b/src/wp-includes/blocks/shortcode/block.json @@ -16,7 +16,8 @@ "supports": { "className": false, "customClassName": false, - "html": false + "html": false, + "customCSS": false }, "editorStyle": "wp-block-shortcode-editor" } diff --git a/src/wp-includes/blocks/site-logo/block.json b/src/wp-includes/blocks/site-logo/block.json index b49588d3716fa..e1cd662f60f3e 100644 --- a/src/wp-includes/blocks/site-logo/block.json +++ b/src/wp-includes/blocks/site-logo/block.json @@ -32,6 +32,7 @@ } }, "supports": { + "anchor": true, "html": false, "align": true, "alignWide": false, diff --git a/src/wp-includes/blocks/site-tagline/block.json b/src/wp-includes/blocks/site-tagline/block.json index 7f94d962e9cbc..756b2dcb8183a 100644 --- a/src/wp-includes/blocks/site-tagline/block.json +++ b/src/wp-includes/blocks/site-tagline/block.json @@ -27,6 +27,7 @@ } }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/site-title/block.json b/src/wp-includes/blocks/site-title/block.json index 8edf6b945f9ce..ac6a3c10e086a 100644 --- a/src/wp-includes/blocks/site-title/block.json +++ b/src/wp-includes/blocks/site-title/block.json @@ -33,6 +33,7 @@ "viewportWidth": 500 }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/social-link.php b/src/wp-includes/blocks/social-link.php index 3673504bc9396..0225a14d7beb5 100644 --- a/src/wp-includes/blocks/social-link.php +++ b/src/wp-includes/blocks/social-link.php @@ -17,14 +17,14 @@ * @return string Rendered HTML of the referenced block. */ function render_block_core_social_link( $attributes, $content, $block ) { - $open_in_new_tab = isset( $block->context['openInNewTab'] ) ? $block->context['openInNewTab'] : false; + $open_in_new_tab = $block->context['openInNewTab'] ?? false; $text = ! empty( $attributes['label'] ) ? trim( $attributes['label'] ) : ''; - $service = isset( $attributes['service'] ) ? $attributes['service'] : 'Icon'; - $url = isset( $attributes['url'] ) ? $attributes['url'] : false; + $service = $attributes['service'] ?? 'Icon'; + $url = $attributes['url'] ?? false; $text = $text ? $text : block_core_social_link_get_name( $service ); - $rel = isset( $attributes['rel'] ) ? $attributes['rel'] : ''; + $rel = $attributes['rel'] ?? ''; $show_labels = array_key_exists( 'showLabels', $block->context ) ? $block->context['showLabels'] : false; // Don't render a link if there is no URL set. diff --git a/src/wp-includes/blocks/social-link/block.json b/src/wp-includes/blocks/social-link/block.json index 667fd74b208f2..db59656abb1c0 100644 --- a/src/wp-includes/blocks/social-link/block.json +++ b/src/wp-includes/blocks/social-link/block.json @@ -32,6 +32,7 @@ "iconBackgroundColorValue" ], "supports": { + "anchor": true, "reusable": false, "html": false, "interactivity": { diff --git a/src/wp-includes/blocks/social-links/block.json b/src/wp-includes/blocks/social-links/block.json index 8caa8f5bf8abb..fb137d1d6c3cd 100644 --- a/src/wp-includes/blocks/social-links/block.json +++ b/src/wp-includes/blocks/social-links/block.json @@ -95,7 +95,8 @@ "style": true } }, - "contentRole": true + "contentRole": true, + "listView": true }, "styles": [ { "name": "default", "label": "Default", "isDefault": true }, diff --git a/src/wp-includes/blocks/tag-cloud/block.json b/src/wp-includes/blocks/tag-cloud/block.json index 044bc0c533376..b91f7d8d028b5 100644 --- a/src/wp-includes/blocks/tag-cloud/block.json +++ b/src/wp-includes/blocks/tag-cloud/block.json @@ -35,6 +35,7 @@ { "name": "outline", "label": "Outline" } ], "supports": { + "anchor": true, "html": false, "align": true, "spacing": { @@ -64,6 +65,5 @@ "style": true } } - }, - "editorStyle": "wp-block-tag-cloud-editor" + } } diff --git a/src/wp-includes/blocks/template-part.php b/src/wp-includes/blocks/template-part.php index c73b64408733d..5c0ce01ceba97 100644 --- a/src/wp-includes/blocks/template-part.php +++ b/src/wp-includes/blocks/template-part.php @@ -22,7 +22,7 @@ function render_block_core_template_part( $attributes ) { $template_part_id = null; $content = null; $area = WP_TEMPLATE_PART_AREA_UNCATEGORIZED; - $theme = isset( $attributes['theme'] ) ? $attributes['theme'] : get_stylesheet(); + $theme = $attributes['theme'] ?? get_stylesheet(); if ( isset( $attributes['slug'] ) && get_stylesheet() === $theme ) { $template_part_id = $theme . '//' . $attributes['slug']; @@ -159,7 +159,11 @@ function render_block_core_template_part( $attributes ) { $content = convert_smilies( $content ); $content = wp_filter_content_tags( $content, "template_part_{$area}" ); - // Handle embeds for block template parts. + /** + * Handle embeds for block template parts. + * + * @global WP_Embed $wp_embed WordPress Embed object. + */ global $wp_embed; $content = $wp_embed->autoembed( $content ); @@ -260,7 +264,7 @@ function build_template_part_block_instance_variations() { 'area' => $template_part->area, ), 'scope' => array( 'inserter' ), - 'icon' => isset( $icon_by_area[ $template_part->area ] ) ? $icon_by_area[ $template_part->area ] : null, + 'icon' => $icon_by_area[ $template_part->area ] ?? null, 'example' => array( 'attributes' => array( 'slug' => $template_part->slug, diff --git a/src/wp-includes/blocks/term-count/block.json b/src/wp-includes/blocks/term-count/block.json index c4de1e61f8d1f..4a7c578bb0b5b 100644 --- a/src/wp-includes/blocks/term-count/block.json +++ b/src/wp-includes/blocks/term-count/block.json @@ -15,6 +15,7 @@ } }, "supports": { + "anchor": true, "html": false, "color": { "gradients": true, diff --git a/src/wp-includes/blocks/term-description/block.json b/src/wp-includes/blocks/term-description/block.json index a882625ad6f50..e5c17b764f061 100644 --- a/src/wp-includes/blocks/term-description/block.json +++ b/src/wp-includes/blocks/term-description/block.json @@ -13,6 +13,7 @@ } }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/term-name.php b/src/wp-includes/blocks/term-name.php index 3a2bf18bb5f21..a583371f7e1eb 100644 --- a/src/wp-includes/blocks/term-name.php +++ b/src/wp-includes/blocks/term-name.php @@ -34,7 +34,7 @@ function render_block_core_term_name( $attributes, $content, $block ) { } $term_name = $term->name; - $level = isset( $attributes['level'] ) ? $attributes['level'] : 0; + $level = $attributes['level'] ?? 0; $tag_name = 0 === $level ? 'p' : 'h' . (int) $level; if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) { diff --git a/src/wp-includes/blocks/term-name/block.json b/src/wp-includes/blocks/term-name/block.json index a8b2a59cf9d9e..44a063303dd70 100644 --- a/src/wp-includes/blocks/term-name/block.json +++ b/src/wp-includes/blocks/term-name/block.json @@ -25,6 +25,7 @@ } }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "color": { diff --git a/src/wp-includes/blocks/term-template.php b/src/wp-includes/blocks/term-template.php index 3cbe21f60c0d4..c6fa390c4ec47 100644 --- a/src/wp-includes/blocks/term-template.php +++ b/src/wp-includes/blocks/term-template.php @@ -59,7 +59,7 @@ function render_block_core_term_template( $attributes, $content, $block ) { $query_args['include'] = array_unique( array_map( 'intval', $query['include'] ) ); $query_args['orderby'] = 'include'; $query_args['order'] = 'asc'; - } elseif ( empty( $query['showNested'] ) ) { + } elseif ( is_taxonomy_hierarchical( $query['taxonomy'] ) && empty( $query['showNested'] ) ) { // We set parent only when inheriting from the taxonomy archive context or not // showing nested terms, otherwise nested terms are not displayed. $query_args['parent'] = 0; diff --git a/src/wp-includes/blocks/term-template/block.json b/src/wp-includes/blocks/term-template/block.json index 2f4b9838c71bd..8914bf6376aa7 100644 --- a/src/wp-includes/blocks/term-template/block.json +++ b/src/wp-includes/blocks/term-template/block.json @@ -9,6 +9,7 @@ "textdomain": "default", "usesContext": [ "termQuery" ], "supports": { + "anchor": true, "reusable": false, "html": false, "align": [ "wide", "full" ], diff --git a/src/wp-includes/blocks/terms-query/block.json b/src/wp-includes/blocks/terms-query/block.json index 05b7a2c12e22f..1741de5e5b2fd 100644 --- a/src/wp-includes/blocks/terms-query/block.json +++ b/src/wp-includes/blocks/terms-query/block.json @@ -31,6 +31,7 @@ "termQuery": "termQuery" }, "supports": { + "anchor": true, "align": [ "wide", "full" ], "html": false, "layout": true, diff --git a/src/wp-includes/blocks/verse/block.json b/src/wp-includes/blocks/verse/block.json index 81cccd72965b1..53f404c2ab00c 100644 --- a/src/wp-includes/blocks/verse/block.json +++ b/src/wp-includes/blocks/verse/block.json @@ -14,9 +14,6 @@ "selector": "pre", "__unstablePreserveWhiteSpace": true, "role": "content" - }, - "textAlign": { - "type": "string" } }, "supports": { @@ -46,6 +43,7 @@ "fontSize": true, "__experimentalFontFamily": true, "lineHeight": true, + "textAlign": true, "__experimentalFontStyle": true, "__experimentalFontWeight": true, "__experimentalLetterSpacing": true, diff --git a/src/wp-includes/theme.json b/src/wp-includes/theme.json index 1fb6e895f27da..69cb6302a471b 100644 --- a/src/wp-includes/theme.json +++ b/src/wp-includes/theme.json @@ -308,6 +308,7 @@ "textAlign": true, "textColumns": false, "textDecoration": true, + "textIndent": "subsequent", "textTransform": true, "writingMode": false }, @@ -394,11 +395,6 @@ "border": { "width": "0" } - }, - "link": { - "typography": { - "textDecoration": "underline" - } } }, "spacing": { From 7f996cd195b4861a70cde0122f320adedced3b35 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 17:31:45 -0500 Subject: [PATCH 04/12] Restore: Sync to Gutenberg revision 7a11a53377a95cba4d3786d71cadd4c2f0c5ac52 See corresponding changelog in b63a84b4370b53ed61ce11234762d1c17129286b --- .../assets/script-loader-packages.min.php | 82 ++-- .../assets/script-modules-packages.min.php | 35 +- src/wp-includes/blocks/accordion/block.json | 3 +- src/wp-includes/blocks/blocks-json.php | 139 +++++-- src/wp-includes/blocks/gallery.php | 126 ++++-- src/wp-includes/blocks/gallery/block.json | 12 +- src/wp-includes/blocks/image.php | 123 +++--- src/wp-includes/blocks/image/block.json | 4 +- src/wp-includes/blocks/media-text.php | 4 +- .../blocks/navigation-overlay-close.php | 56 +++ .../navigation-overlay-close/block.json | 49 +++ src/wp-includes/blocks/navigation-submenu.php | 39 +- .../blocks/navigation-submenu/block.json | 1 + src/wp-includes/blocks/navigation.php | 92 ++--- src/wp-includes/blocks/navigation/block.json | 2 + .../blocks/page-list-item/block.json | 3 +- src/wp-includes/blocks/page-list.php | 52 ++- src/wp-includes/blocks/page-list/block.json | 3 +- .../blocks/post-comments-count/block.json | 6 +- .../blocks/post-comments-form/block.json | 12 +- .../blocks/post-comments-link/block.json | 6 +- src/wp-includes/blocks/post-excerpt.php | 9 - .../blocks/post-excerpt/block.json | 1 + src/wp-includes/blocks/post-template.php | 4 +- src/wp-includes/blocks/post-terms/block.json | 4 +- .../blocks/post-time-to-read/block.json | 4 +- .../blocks/query-pagination-next.php | 6 +- .../blocks/query-pagination-numbers.php | 4 +- .../blocks/query-pagination-previous.php | 6 +- src/wp-includes/blocks/query-title.php | 4 +- src/wp-includes/blocks/query-total.php | 4 +- .../blocks/require-dynamic-blocks.php | 1 + src/wp-includes/blocks/template-part.php | 11 +- .../blocks/term-description/block.json | 6 +- src/wp-includes/blocks/verse/block.json | 4 +- .../icons/library/accordion-heading.svg | 4 + .../icons/library/accordion-item.svg | 6 + src/wp-includes/icons/library/accordion.svg | 6 + src/wp-includes/icons/library/add-card.svg | 3 + src/wp-includes/icons/library/add-submenu.svg | 3 + .../icons/library/add-template.svg | 3 + .../icons/library/align-center.svg | 3 + .../icons/library/align-justify.svg | 3 + src/wp-includes/icons/library/align-left.svg | 3 + src/wp-includes/icons/library/align-none.svg | 3 + src/wp-includes/icons/library/align-right.svg | 3 + src/wp-includes/icons/library/archive.svg | 3 + .../icons/library/arrow-down-left.svg | 3 + .../icons/library/arrow-down-right.svg | 3 + src/wp-includes/icons/library/arrow-down.svg | 3 + src/wp-includes/icons/library/arrow-left.svg | 3 + src/wp-includes/icons/library/arrow-right.svg | 3 + .../icons/library/arrow-up-left.svg | 3 + .../icons/library/arrow-up-right.svg | 3 + src/wp-includes/icons/library/arrow-up.svg | 3 + .../icons/library/aspect-ratio.svg | 3 + src/wp-includes/icons/library/at-symbol.svg | 3 + src/wp-includes/icons/library/audio.svg | 3 + src/wp-includes/icons/library/background.svg | 3 + src/wp-includes/icons/library/backup.svg | 3 + src/wp-includes/icons/library/bell-unread.svg | 4 + src/wp-includes/icons/library/bell.svg | 3 + .../icons/library/block-default.svg | 3 + src/wp-includes/icons/library/block-meta.svg | 3 + src/wp-includes/icons/library/block-table.svg | 3 + src/wp-includes/icons/library/border.svg | 3 + src/wp-includes/icons/library/box.svg | 3 + src/wp-includes/icons/library/breadcrumbs.svg | 3 + src/wp-includes/icons/library/brush.svg | 3 + src/wp-includes/icons/library/bug.svg | 3 + src/wp-includes/icons/library/button.svg | 3 + src/wp-includes/icons/library/buttons.svg | 3 + src/wp-includes/icons/library/calendar.svg | 3 + .../icons/library/cancel-circle-filled.svg | 3 + src/wp-includes/icons/library/caption.svg | 3 + .../icons/library/capture-photo.svg | 3 + .../icons/library/capture-video.svg | 3 + src/wp-includes/icons/library/cart.svg | 3 + src/wp-includes/icons/library/category.svg | 3 + .../icons/library/caution-filled.svg | 3 + src/wp-includes/icons/library/caution.svg | 3 + src/wp-includes/icons/library/chart-bar.svg | 3 + src/wp-includes/icons/library/check.svg | 3 + .../icons/library/chevron-down-small.svg | 3 + .../icons/library/chevron-down.svg | 3 + .../icons/library/chevron-left-small.svg | 3 + .../icons/library/chevron-left.svg | 3 + .../icons/library/chevron-right-small.svg | 3 + .../icons/library/chevron-right.svg | 3 + .../icons/library/chevron-up-down.svg | 3 + .../icons/library/chevron-up-small.svg | 3 + src/wp-includes/icons/library/chevron-up.svg | 3 + src/wp-includes/icons/library/classic.svg | 3 + src/wp-includes/icons/library/close-small.svg | 3 + src/wp-includes/icons/library/close.svg | 3 + .../icons/library/cloud-download.svg | 3 + .../icons/library/cloud-upload.svg | 3 + src/wp-includes/icons/library/cloud.svg | 3 + src/wp-includes/icons/library/code.svg | 3 + src/wp-includes/icons/library/cog.svg | 3 + src/wp-includes/icons/library/color.svg | 3 + src/wp-includes/icons/library/column.svg | 3 + src/wp-includes/icons/library/columns.svg | 3 + .../icons/library/comment-author-avatar.svg | 3 + .../icons/library/comment-author-name.svg | 5 + .../icons/library/comment-content.svg | 3 + .../icons/library/comment-edit-link.svg | 3 + .../icons/library/comment-reply-link.svg | 3 + src/wp-includes/icons/library/comment.svg | 3 + src/wp-includes/icons/library/connection.svg | 3 + src/wp-includes/icons/library/contents.svg | 3 + src/wp-includes/icons/library/copy-small.svg | 3 + src/wp-includes/icons/library/copy.svg | 3 + src/wp-includes/icons/library/corner-all.svg | 3 + .../icons/library/corner-bottom-left.svg | 6 + .../icons/library/corner-bottom-right.svg | 6 + .../icons/library/corner-top-left.svg | 6 + .../icons/library/corner-top-right.svg | 6 + src/wp-includes/icons/library/cover.svg | 3 + src/wp-includes/icons/library/create.svg | 3 + src/wp-includes/icons/library/crop.svg | 3 + .../icons/library/currency-dollar.svg | 3 + .../icons/library/currency-euro.svg | 3 + .../icons/library/currency-pound.svg | 3 + src/wp-includes/icons/library/custom-link.svg | 3 + .../icons/library/custom-post-type.svg | 3 + src/wp-includes/icons/library/dashboard.svg | 3 + src/wp-includes/icons/library/desktop.svg | 3 + src/wp-includes/icons/library/details.svg | 4 + src/wp-includes/icons/library/download.svg | 3 + src/wp-includes/icons/library/drafts.svg | 3 + src/wp-includes/icons/library/drag-handle.svg | 3 + src/wp-includes/icons/library/drawer-left.svg | 3 + .../icons/library/drawer-right.svg | 3 + src/wp-includes/icons/library/envelope.svg | 3 + src/wp-includes/icons/library/error.svg | 3 + src/wp-includes/icons/library/external.svg | 3 + src/wp-includes/icons/library/file.svg | 3 + src/wp-includes/icons/library/filter.svg | 3 + .../icons/library/flip-horizontal.svg | 3 + .../icons/library/flip-vertical.svg | 3 + src/wp-includes/icons/library/footer.svg | 3 + src/wp-includes/icons/library/format-bold.svg | 3 + .../icons/library/format-capitalize.svg | 3 + .../icons/library/format-indent-rtl.svg | 3 + .../icons/library/format-indent.svg | 3 + .../icons/library/format-italic.svg | 3 + .../icons/library/format-list-bullets-rtl.svg | 3 + .../icons/library/format-list-bullets.svg | 3 + .../library/format-list-numbered-rtl.svg | 3 + .../icons/library/format-list-numbered.svg | 3 + .../icons/library/format-lowercase.svg | 3 + src/wp-includes/icons/library/format-ltr.svg | 3 + .../icons/library/format-outdent-rtl.svg | 3 + .../icons/library/format-outdent.svg | 3 + src/wp-includes/icons/library/format-rtl.svg | 3 + .../icons/library/format-strikethrough.svg | 3 + .../icons/library/format-underline.svg | 3 + .../icons/library/format-uppercase.svg | 3 + src/wp-includes/icons/library/full-height.svg | 3 + src/wp-includes/icons/library/fullscreen.svg | 3 + src/wp-includes/icons/library/funnel.svg | 3 + src/wp-includes/icons/library/gallery.svg | 3 + src/wp-includes/icons/library/gift.svg | 3 + src/wp-includes/icons/library/globe.svg | 3 + src/wp-includes/icons/library/grid.svg | 3 + src/wp-includes/icons/library/group.svg | 3 + src/wp-includes/icons/library/handle.svg | 3 + src/wp-includes/icons/library/header.svg | 3 + .../icons/library/heading-level-1.svg | 3 + .../icons/library/heading-level-2.svg | 3 + .../icons/library/heading-level-3.svg | 3 + .../icons/library/heading-level-4.svg | 3 + .../icons/library/heading-level-5.svg | 3 + .../icons/library/heading-level-6.svg | 3 + src/wp-includes/icons/library/heading.svg | 3 + src/wp-includes/icons/library/help-filled.svg | 3 + src/wp-includes/icons/library/help.svg | 3 + src/wp-includes/icons/library/home-button.svg | 3 + src/wp-includes/icons/library/home.svg | 3 + src/wp-includes/icons/library/html.svg | 3 + src/wp-includes/icons/library/image.svg | 3 + src/wp-includes/icons/library/inbox.svg | 3 + src/wp-includes/icons/library/info.svg | 3 + .../icons/library/insert-after.svg | 3 + .../icons/library/insert-before.svg | 3 + src/wp-includes/icons/library/institution.svg | 3 + .../icons/library/justify-bottom.svg | 3 + .../icons/library/justify-center-vertical.svg | 3 + .../icons/library/justify-center.svg | 3 + .../icons/library/justify-left.svg | 3 + .../icons/library/justify-right.svg | 3 + .../justify-space-between-vertical.svg | 3 + .../icons/library/justify-space-between.svg | 3 + .../library/justify-stretch-vertical.svg | 3 + .../icons/library/justify-stretch.svg | 3 + src/wp-includes/icons/library/justify-top.svg | 3 + src/wp-includes/icons/library/key.svg | 3 + .../icons/library/keyboard-close.svg | 3 + .../icons/library/keyboard-return.svg | 3 + src/wp-includes/icons/library/keyboard.svg | 4 + src/wp-includes/icons/library/language.svg | 3 + src/wp-includes/icons/library/layout.svg | 3 + src/wp-includes/icons/library/level-up.svg | 3 + src/wp-includes/icons/library/lifesaver.svg | 3 + src/wp-includes/icons/library/line-dashed.svg | 3 + src/wp-includes/icons/library/line-dotted.svg | 3 + src/wp-includes/icons/library/line-solid.svg | 3 + src/wp-includes/icons/library/link-off.svg | 3 + src/wp-includes/icons/library/link.svg | 3 + src/wp-includes/icons/library/list-item.svg | 3 + src/wp-includes/icons/library/list-view.svg | 3 + src/wp-includes/icons/library/list.svg | 3 + .../icons/library/lock-outline.svg | 3 + src/wp-includes/icons/library/lock-small.svg | 3 + src/wp-includes/icons/library/lock.svg | 3 + src/wp-includes/icons/library/login.svg | 3 + src/wp-includes/icons/library/loop.svg | 3 + src/wp-includes/icons/library/map-marker.svg | 3 + src/wp-includes/icons/library/math.svg | 3 + .../icons/library/media-and-text.svg | 3 + src/wp-includes/icons/library/media.svg | 4 + src/wp-includes/icons/library/megaphone.svg | 3 + src/wp-includes/icons/library/menu.svg | 3 + src/wp-includes/icons/library/mobile.svg | 3 + .../icons/library/more-horizontal.svg | 3 + .../icons/library/more-vertical.svg | 3 + src/wp-includes/icons/library/more.svg | 3 + src/wp-includes/icons/library/move-to.svg | 3 + .../icons/library/navigation-overlay.svg | 3 + src/wp-includes/icons/library/navigation.svg | 3 + src/wp-includes/icons/library/next.svg | 3 + src/wp-includes/icons/library/not-allowed.svg | 3 + src/wp-includes/icons/library/not-found.svg | 3 + src/wp-includes/icons/library/offline.svg | 3 + .../icons/library/overlay-text.svg | 3 + src/wp-includes/icons/library/page-break.svg | 3 + src/wp-includes/icons/library/page.svg | 4 + src/wp-includes/icons/library/pages.svg | 5 + src/wp-includes/icons/library/paragraph.svg | 3 + src/wp-includes/icons/library/payment.svg | 3 + src/wp-includes/icons/library/pencil.svg | 3 + src/wp-includes/icons/library/pending.svg | 3 + src/wp-includes/icons/library/people.svg | 3 + src/wp-includes/icons/library/percent.svg | 3 + src/wp-includes/icons/library/pin-small.svg | 3 + src/wp-includes/icons/library/pin.svg | 3 + src/wp-includes/icons/library/plugins.svg | 3 + .../icons/library/plus-circle-filled.svg | 3 + src/wp-includes/icons/library/plus-circle.svg | 3 + src/wp-includes/icons/library/plus.svg | 3 + .../icons/library/position-center.svg | 3 + .../icons/library/position-left.svg | 3 + .../icons/library/position-right.svg | 3 + src/wp-includes/icons/library/post-author.svg | 3 + .../icons/library/post-categories.svg | 3 + .../icons/library/post-comments-count.svg | 3 + .../icons/library/post-comments-form.svg | 3 + .../icons/library/post-comments.svg | 3 + .../icons/library/post-content.svg | 3 + src/wp-includes/icons/library/post-date.svg | 4 + .../icons/library/post-excerpt.svg | 3 + .../icons/library/post-featured-image.svg | 3 + src/wp-includes/icons/library/post-list.svg | 3 + src/wp-includes/icons/library/post-terms.svg | 3 + src/wp-includes/icons/library/post.svg | 3 + .../icons/library/preformatted.svg | 3 + src/wp-includes/icons/library/previous.svg | 3 + src/wp-includes/icons/library/published.svg | 3 + src/wp-includes/icons/library/pull-left.svg | 3 + src/wp-includes/icons/library/pull-right.svg | 3 + src/wp-includes/icons/library/pullquote.svg | 3 + .../icons/library/query-pagination-next.svg | 3 + .../library/query-pagination-numbers.svg | 3 + .../library/query-pagination-previous.svg | 3 + .../icons/library/query-pagination.svg | 3 + src/wp-includes/icons/library/quote.svg | 3 + src/wp-includes/icons/library/receipt.svg | 3 + src/wp-includes/icons/library/redo.svg | 3 + src/wp-includes/icons/library/remove-bug.svg | 3 + .../icons/library/remove-submenu.svg | 3 + src/wp-includes/icons/library/replace.svg | 3 + src/wp-includes/icons/library/reset.svg | 3 + .../icons/library/resize-corner-n-e.svg | 3 + .../icons/library/reusable-block.svg | 3 + src/wp-includes/icons/library/rotate-left.svg | 3 + .../icons/library/rotate-right.svg | 3 + src/wp-includes/icons/library/row.svg | 3 + src/wp-includes/icons/library/rss.svg | 3 + src/wp-includes/icons/library/scheduled.svg | 3 + src/wp-includes/icons/library/search.svg | 3 + src/wp-includes/icons/library/seen.svg | 3 + src/wp-includes/icons/library/send.svg | 3 + src/wp-includes/icons/library/separator.svg | 3 + src/wp-includes/icons/library/settings.svg | 4 + src/wp-includes/icons/library/shadow.svg | 3 + src/wp-includes/icons/library/share.svg | 3 + src/wp-includes/icons/library/shield.svg | 3 + src/wp-includes/icons/library/shipping.svg | 3 + src/wp-includes/icons/library/shortcode.svg | 3 + src/wp-includes/icons/library/shuffle.svg | 3 + src/wp-includes/icons/library/sidebar.svg | 3 + src/wp-includes/icons/library/sides-all.svg | 3 + src/wp-includes/icons/library/sides-axial.svg | 3 + .../icons/library/sides-bottom.svg | 4 + .../icons/library/sides-horizontal.svg | 5 + src/wp-includes/icons/library/sides-left.svg | 4 + src/wp-includes/icons/library/sides-right.svg | 4 + src/wp-includes/icons/library/sides-top.svg | 4 + .../icons/library/sides-vertical.svg | 5 + src/wp-includes/icons/library/site-logo.svg | 3 + src/wp-includes/icons/library/square.svg | 3 + src/wp-includes/icons/library/stack.svg | 3 + src/wp-includes/icons/library/star-empty.svg | 3 + src/wp-includes/icons/library/star-filled.svg | 3 + src/wp-includes/icons/library/star-half.svg | 3 + src/wp-includes/icons/library/store.svg | 3 + .../icons/library/stretch-full-width.svg | 3 + .../icons/library/stretch-wide.svg | 3 + src/wp-includes/icons/library/styles.svg | 3 + src/wp-includes/icons/library/subscript.svg | 3 + src/wp-includes/icons/library/superscript.svg | 3 + src/wp-includes/icons/library/swatch.svg | 3 + .../icons/library/symbol-filled.svg | 3 + src/wp-includes/icons/library/symbol.svg | 3 + src/wp-includes/icons/library/tab.svg | 1 + .../icons/library/table-column-after.svg | 3 + .../icons/library/table-column-before.svg | 3 + .../icons/library/table-column-delete.svg | 3 + .../icons/library/table-of-contents.svg | 4 + .../icons/library/table-row-after.svg | 3 + .../icons/library/table-row-before.svg | 3 + .../icons/library/table-row-delete.svg | 3 + src/wp-includes/icons/library/table.svg | 3 + src/wp-includes/icons/library/tablet.svg | 3 + .../icons/library/tabs-menu-item.svg | 1 + src/wp-includes/icons/library/tabs-menu.svg | 1 + src/wp-includes/icons/library/tabs.svg | 1 + src/wp-includes/icons/library/tag.svg | 3 + src/wp-includes/icons/library/term-count.svg | 4 + .../icons/library/term-description.svg | 3 + src/wp-includes/icons/library/term-name.svg | 4 + src/wp-includes/icons/library/text-color.svg | 3 + .../icons/library/text-horizontal.svg | 3 + .../icons/library/text-vertical.svg | 3 + src/wp-includes/icons/library/thumbs-down.svg | 3 + src/wp-includes/icons/library/thumbs-up.svg | 3 + .../icons/library/time-to-read.svg | 3 + src/wp-includes/icons/library/tip.svg | 3 + src/wp-includes/icons/library/title.svg | 3 + src/wp-includes/icons/library/tool.svg | 3 + src/wp-includes/icons/library/trash.svg | 3 + .../icons/library/trending-down.svg | 3 + src/wp-includes/icons/library/trending-up.svg | 3 + src/wp-includes/icons/library/typography.svg | 3 + src/wp-includes/icons/library/undo.svg | 3 + src/wp-includes/icons/library/ungroup.svg | 3 + src/wp-includes/icons/library/unlock.svg | 3 + src/wp-includes/icons/library/unseen.svg | 3 + src/wp-includes/icons/library/update.svg | 3 + src/wp-includes/icons/library/upload.svg | 3 + src/wp-includes/icons/library/verse.svg | 3 + src/wp-includes/icons/library/video.svg | 3 + src/wp-includes/icons/library/widget.svg | 3 + src/wp-includes/icons/library/word-count.svg | 3 + src/wp-includes/icons/library/wordpress.svg | 3 + src/wp-includes/icons/manifest.php | 360 ++++++++++++++++++ src/wp-includes/theme.json | 10 + 368 files changed, 2036 insertions(+), 277 deletions(-) create mode 100644 src/wp-includes/blocks/navigation-overlay-close.php create mode 100644 src/wp-includes/blocks/navigation-overlay-close/block.json create mode 100644 src/wp-includes/icons/library/accordion-heading.svg create mode 100644 src/wp-includes/icons/library/accordion-item.svg create mode 100644 src/wp-includes/icons/library/accordion.svg create mode 100644 src/wp-includes/icons/library/add-card.svg create mode 100644 src/wp-includes/icons/library/add-submenu.svg create mode 100644 src/wp-includes/icons/library/add-template.svg create mode 100644 src/wp-includes/icons/library/align-center.svg create mode 100644 src/wp-includes/icons/library/align-justify.svg create mode 100644 src/wp-includes/icons/library/align-left.svg create mode 100644 src/wp-includes/icons/library/align-none.svg create mode 100644 src/wp-includes/icons/library/align-right.svg create mode 100644 src/wp-includes/icons/library/archive.svg create mode 100644 src/wp-includes/icons/library/arrow-down-left.svg create mode 100644 src/wp-includes/icons/library/arrow-down-right.svg create mode 100644 src/wp-includes/icons/library/arrow-down.svg create mode 100644 src/wp-includes/icons/library/arrow-left.svg create mode 100644 src/wp-includes/icons/library/arrow-right.svg create mode 100644 src/wp-includes/icons/library/arrow-up-left.svg create mode 100644 src/wp-includes/icons/library/arrow-up-right.svg create mode 100644 src/wp-includes/icons/library/arrow-up.svg create mode 100644 src/wp-includes/icons/library/aspect-ratio.svg create mode 100644 src/wp-includes/icons/library/at-symbol.svg create mode 100644 src/wp-includes/icons/library/audio.svg create mode 100644 src/wp-includes/icons/library/background.svg create mode 100644 src/wp-includes/icons/library/backup.svg create mode 100644 src/wp-includes/icons/library/bell-unread.svg create mode 100644 src/wp-includes/icons/library/bell.svg create mode 100644 src/wp-includes/icons/library/block-default.svg create mode 100644 src/wp-includes/icons/library/block-meta.svg create mode 100644 src/wp-includes/icons/library/block-table.svg create mode 100644 src/wp-includes/icons/library/border.svg create mode 100644 src/wp-includes/icons/library/box.svg create mode 100644 src/wp-includes/icons/library/breadcrumbs.svg create mode 100644 src/wp-includes/icons/library/brush.svg create mode 100644 src/wp-includes/icons/library/bug.svg create mode 100644 src/wp-includes/icons/library/button.svg create mode 100644 src/wp-includes/icons/library/buttons.svg create mode 100644 src/wp-includes/icons/library/calendar.svg create mode 100644 src/wp-includes/icons/library/cancel-circle-filled.svg create mode 100644 src/wp-includes/icons/library/caption.svg create mode 100644 src/wp-includes/icons/library/capture-photo.svg create mode 100644 src/wp-includes/icons/library/capture-video.svg create mode 100644 src/wp-includes/icons/library/cart.svg create mode 100644 src/wp-includes/icons/library/category.svg create mode 100644 src/wp-includes/icons/library/caution-filled.svg create mode 100644 src/wp-includes/icons/library/caution.svg create mode 100644 src/wp-includes/icons/library/chart-bar.svg create mode 100644 src/wp-includes/icons/library/check.svg create mode 100644 src/wp-includes/icons/library/chevron-down-small.svg create mode 100644 src/wp-includes/icons/library/chevron-down.svg create mode 100644 src/wp-includes/icons/library/chevron-left-small.svg create mode 100644 src/wp-includes/icons/library/chevron-left.svg create mode 100644 src/wp-includes/icons/library/chevron-right-small.svg create mode 100644 src/wp-includes/icons/library/chevron-right.svg create mode 100644 src/wp-includes/icons/library/chevron-up-down.svg create mode 100644 src/wp-includes/icons/library/chevron-up-small.svg create mode 100644 src/wp-includes/icons/library/chevron-up.svg create mode 100644 src/wp-includes/icons/library/classic.svg create mode 100644 src/wp-includes/icons/library/close-small.svg create mode 100644 src/wp-includes/icons/library/close.svg create mode 100644 src/wp-includes/icons/library/cloud-download.svg create mode 100644 src/wp-includes/icons/library/cloud-upload.svg create mode 100644 src/wp-includes/icons/library/cloud.svg create mode 100644 src/wp-includes/icons/library/code.svg create mode 100644 src/wp-includes/icons/library/cog.svg create mode 100644 src/wp-includes/icons/library/color.svg create mode 100644 src/wp-includes/icons/library/column.svg create mode 100644 src/wp-includes/icons/library/columns.svg create mode 100644 src/wp-includes/icons/library/comment-author-avatar.svg create mode 100644 src/wp-includes/icons/library/comment-author-name.svg create mode 100644 src/wp-includes/icons/library/comment-content.svg create mode 100644 src/wp-includes/icons/library/comment-edit-link.svg create mode 100644 src/wp-includes/icons/library/comment-reply-link.svg create mode 100644 src/wp-includes/icons/library/comment.svg create mode 100644 src/wp-includes/icons/library/connection.svg create mode 100644 src/wp-includes/icons/library/contents.svg create mode 100644 src/wp-includes/icons/library/copy-small.svg create mode 100644 src/wp-includes/icons/library/copy.svg create mode 100644 src/wp-includes/icons/library/corner-all.svg create mode 100644 src/wp-includes/icons/library/corner-bottom-left.svg create mode 100644 src/wp-includes/icons/library/corner-bottom-right.svg create mode 100644 src/wp-includes/icons/library/corner-top-left.svg create mode 100644 src/wp-includes/icons/library/corner-top-right.svg create mode 100644 src/wp-includes/icons/library/cover.svg create mode 100644 src/wp-includes/icons/library/create.svg create mode 100644 src/wp-includes/icons/library/crop.svg create mode 100644 src/wp-includes/icons/library/currency-dollar.svg create mode 100644 src/wp-includes/icons/library/currency-euro.svg create mode 100644 src/wp-includes/icons/library/currency-pound.svg create mode 100644 src/wp-includes/icons/library/custom-link.svg create mode 100644 src/wp-includes/icons/library/custom-post-type.svg create mode 100644 src/wp-includes/icons/library/dashboard.svg create mode 100644 src/wp-includes/icons/library/desktop.svg create mode 100644 src/wp-includes/icons/library/details.svg create mode 100644 src/wp-includes/icons/library/download.svg create mode 100644 src/wp-includes/icons/library/drafts.svg create mode 100644 src/wp-includes/icons/library/drag-handle.svg create mode 100644 src/wp-includes/icons/library/drawer-left.svg create mode 100644 src/wp-includes/icons/library/drawer-right.svg create mode 100644 src/wp-includes/icons/library/envelope.svg create mode 100644 src/wp-includes/icons/library/error.svg create mode 100644 src/wp-includes/icons/library/external.svg create mode 100644 src/wp-includes/icons/library/file.svg create mode 100644 src/wp-includes/icons/library/filter.svg create mode 100644 src/wp-includes/icons/library/flip-horizontal.svg create mode 100644 src/wp-includes/icons/library/flip-vertical.svg create mode 100644 src/wp-includes/icons/library/footer.svg create mode 100644 src/wp-includes/icons/library/format-bold.svg create mode 100644 src/wp-includes/icons/library/format-capitalize.svg create mode 100644 src/wp-includes/icons/library/format-indent-rtl.svg create mode 100644 src/wp-includes/icons/library/format-indent.svg create mode 100644 src/wp-includes/icons/library/format-italic.svg create mode 100644 src/wp-includes/icons/library/format-list-bullets-rtl.svg create mode 100644 src/wp-includes/icons/library/format-list-bullets.svg create mode 100644 src/wp-includes/icons/library/format-list-numbered-rtl.svg create mode 100644 src/wp-includes/icons/library/format-list-numbered.svg create mode 100644 src/wp-includes/icons/library/format-lowercase.svg create mode 100644 src/wp-includes/icons/library/format-ltr.svg create mode 100644 src/wp-includes/icons/library/format-outdent-rtl.svg create mode 100644 src/wp-includes/icons/library/format-outdent.svg create mode 100644 src/wp-includes/icons/library/format-rtl.svg create mode 100644 src/wp-includes/icons/library/format-strikethrough.svg create mode 100644 src/wp-includes/icons/library/format-underline.svg create mode 100644 src/wp-includes/icons/library/format-uppercase.svg create mode 100644 src/wp-includes/icons/library/full-height.svg create mode 100644 src/wp-includes/icons/library/fullscreen.svg create mode 100644 src/wp-includes/icons/library/funnel.svg create mode 100644 src/wp-includes/icons/library/gallery.svg create mode 100644 src/wp-includes/icons/library/gift.svg create mode 100644 src/wp-includes/icons/library/globe.svg create mode 100644 src/wp-includes/icons/library/grid.svg create mode 100644 src/wp-includes/icons/library/group.svg create mode 100644 src/wp-includes/icons/library/handle.svg create mode 100644 src/wp-includes/icons/library/header.svg create mode 100644 src/wp-includes/icons/library/heading-level-1.svg create mode 100644 src/wp-includes/icons/library/heading-level-2.svg create mode 100644 src/wp-includes/icons/library/heading-level-3.svg create mode 100644 src/wp-includes/icons/library/heading-level-4.svg create mode 100644 src/wp-includes/icons/library/heading-level-5.svg create mode 100644 src/wp-includes/icons/library/heading-level-6.svg create mode 100644 src/wp-includes/icons/library/heading.svg create mode 100644 src/wp-includes/icons/library/help-filled.svg create mode 100644 src/wp-includes/icons/library/help.svg create mode 100644 src/wp-includes/icons/library/home-button.svg create mode 100644 src/wp-includes/icons/library/home.svg create mode 100644 src/wp-includes/icons/library/html.svg create mode 100644 src/wp-includes/icons/library/image.svg create mode 100644 src/wp-includes/icons/library/inbox.svg create mode 100644 src/wp-includes/icons/library/info.svg create mode 100644 src/wp-includes/icons/library/insert-after.svg create mode 100644 src/wp-includes/icons/library/insert-before.svg create mode 100644 src/wp-includes/icons/library/institution.svg create mode 100644 src/wp-includes/icons/library/justify-bottom.svg create mode 100644 src/wp-includes/icons/library/justify-center-vertical.svg create mode 100644 src/wp-includes/icons/library/justify-center.svg create mode 100644 src/wp-includes/icons/library/justify-left.svg create mode 100644 src/wp-includes/icons/library/justify-right.svg create mode 100644 src/wp-includes/icons/library/justify-space-between-vertical.svg create mode 100644 src/wp-includes/icons/library/justify-space-between.svg create mode 100644 src/wp-includes/icons/library/justify-stretch-vertical.svg create mode 100644 src/wp-includes/icons/library/justify-stretch.svg create mode 100644 src/wp-includes/icons/library/justify-top.svg create mode 100644 src/wp-includes/icons/library/key.svg create mode 100644 src/wp-includes/icons/library/keyboard-close.svg create mode 100644 src/wp-includes/icons/library/keyboard-return.svg create mode 100644 src/wp-includes/icons/library/keyboard.svg create mode 100644 src/wp-includes/icons/library/language.svg create mode 100644 src/wp-includes/icons/library/layout.svg create mode 100644 src/wp-includes/icons/library/level-up.svg create mode 100644 src/wp-includes/icons/library/lifesaver.svg create mode 100644 src/wp-includes/icons/library/line-dashed.svg create mode 100644 src/wp-includes/icons/library/line-dotted.svg create mode 100644 src/wp-includes/icons/library/line-solid.svg create mode 100644 src/wp-includes/icons/library/link-off.svg create mode 100644 src/wp-includes/icons/library/link.svg create mode 100644 src/wp-includes/icons/library/list-item.svg create mode 100644 src/wp-includes/icons/library/list-view.svg create mode 100644 src/wp-includes/icons/library/list.svg create mode 100644 src/wp-includes/icons/library/lock-outline.svg create mode 100644 src/wp-includes/icons/library/lock-small.svg create mode 100644 src/wp-includes/icons/library/lock.svg create mode 100644 src/wp-includes/icons/library/login.svg create mode 100644 src/wp-includes/icons/library/loop.svg create mode 100644 src/wp-includes/icons/library/map-marker.svg create mode 100644 src/wp-includes/icons/library/math.svg create mode 100644 src/wp-includes/icons/library/media-and-text.svg create mode 100644 src/wp-includes/icons/library/media.svg create mode 100644 src/wp-includes/icons/library/megaphone.svg create mode 100644 src/wp-includes/icons/library/menu.svg create mode 100644 src/wp-includes/icons/library/mobile.svg create mode 100644 src/wp-includes/icons/library/more-horizontal.svg create mode 100644 src/wp-includes/icons/library/more-vertical.svg create mode 100644 src/wp-includes/icons/library/more.svg create mode 100644 src/wp-includes/icons/library/move-to.svg create mode 100644 src/wp-includes/icons/library/navigation-overlay.svg create mode 100644 src/wp-includes/icons/library/navigation.svg create mode 100644 src/wp-includes/icons/library/next.svg create mode 100644 src/wp-includes/icons/library/not-allowed.svg create mode 100644 src/wp-includes/icons/library/not-found.svg create mode 100644 src/wp-includes/icons/library/offline.svg create mode 100644 src/wp-includes/icons/library/overlay-text.svg create mode 100644 src/wp-includes/icons/library/page-break.svg create mode 100644 src/wp-includes/icons/library/page.svg create mode 100644 src/wp-includes/icons/library/pages.svg create mode 100644 src/wp-includes/icons/library/paragraph.svg create mode 100644 src/wp-includes/icons/library/payment.svg create mode 100644 src/wp-includes/icons/library/pencil.svg create mode 100644 src/wp-includes/icons/library/pending.svg create mode 100644 src/wp-includes/icons/library/people.svg create mode 100644 src/wp-includes/icons/library/percent.svg create mode 100644 src/wp-includes/icons/library/pin-small.svg create mode 100644 src/wp-includes/icons/library/pin.svg create mode 100644 src/wp-includes/icons/library/plugins.svg create mode 100644 src/wp-includes/icons/library/plus-circle-filled.svg create mode 100644 src/wp-includes/icons/library/plus-circle.svg create mode 100644 src/wp-includes/icons/library/plus.svg create mode 100644 src/wp-includes/icons/library/position-center.svg create mode 100644 src/wp-includes/icons/library/position-left.svg create mode 100644 src/wp-includes/icons/library/position-right.svg create mode 100644 src/wp-includes/icons/library/post-author.svg create mode 100644 src/wp-includes/icons/library/post-categories.svg create mode 100644 src/wp-includes/icons/library/post-comments-count.svg create mode 100644 src/wp-includes/icons/library/post-comments-form.svg create mode 100644 src/wp-includes/icons/library/post-comments.svg create mode 100644 src/wp-includes/icons/library/post-content.svg create mode 100644 src/wp-includes/icons/library/post-date.svg create mode 100644 src/wp-includes/icons/library/post-excerpt.svg create mode 100644 src/wp-includes/icons/library/post-featured-image.svg create mode 100644 src/wp-includes/icons/library/post-list.svg create mode 100644 src/wp-includes/icons/library/post-terms.svg create mode 100644 src/wp-includes/icons/library/post.svg create mode 100644 src/wp-includes/icons/library/preformatted.svg create mode 100644 src/wp-includes/icons/library/previous.svg create mode 100644 src/wp-includes/icons/library/published.svg create mode 100644 src/wp-includes/icons/library/pull-left.svg create mode 100644 src/wp-includes/icons/library/pull-right.svg create mode 100644 src/wp-includes/icons/library/pullquote.svg create mode 100644 src/wp-includes/icons/library/query-pagination-next.svg create mode 100644 src/wp-includes/icons/library/query-pagination-numbers.svg create mode 100644 src/wp-includes/icons/library/query-pagination-previous.svg create mode 100644 src/wp-includes/icons/library/query-pagination.svg create mode 100644 src/wp-includes/icons/library/quote.svg create mode 100644 src/wp-includes/icons/library/receipt.svg create mode 100644 src/wp-includes/icons/library/redo.svg create mode 100644 src/wp-includes/icons/library/remove-bug.svg create mode 100644 src/wp-includes/icons/library/remove-submenu.svg create mode 100644 src/wp-includes/icons/library/replace.svg create mode 100644 src/wp-includes/icons/library/reset.svg create mode 100644 src/wp-includes/icons/library/resize-corner-n-e.svg create mode 100644 src/wp-includes/icons/library/reusable-block.svg create mode 100644 src/wp-includes/icons/library/rotate-left.svg create mode 100644 src/wp-includes/icons/library/rotate-right.svg create mode 100644 src/wp-includes/icons/library/row.svg create mode 100644 src/wp-includes/icons/library/rss.svg create mode 100644 src/wp-includes/icons/library/scheduled.svg create mode 100644 src/wp-includes/icons/library/search.svg create mode 100644 src/wp-includes/icons/library/seen.svg create mode 100644 src/wp-includes/icons/library/send.svg create mode 100644 src/wp-includes/icons/library/separator.svg create mode 100644 src/wp-includes/icons/library/settings.svg create mode 100644 src/wp-includes/icons/library/shadow.svg create mode 100644 src/wp-includes/icons/library/share.svg create mode 100644 src/wp-includes/icons/library/shield.svg create mode 100644 src/wp-includes/icons/library/shipping.svg create mode 100644 src/wp-includes/icons/library/shortcode.svg create mode 100644 src/wp-includes/icons/library/shuffle.svg create mode 100644 src/wp-includes/icons/library/sidebar.svg create mode 100644 src/wp-includes/icons/library/sides-all.svg create mode 100644 src/wp-includes/icons/library/sides-axial.svg create mode 100644 src/wp-includes/icons/library/sides-bottom.svg create mode 100644 src/wp-includes/icons/library/sides-horizontal.svg create mode 100644 src/wp-includes/icons/library/sides-left.svg create mode 100644 src/wp-includes/icons/library/sides-right.svg create mode 100644 src/wp-includes/icons/library/sides-top.svg create mode 100644 src/wp-includes/icons/library/sides-vertical.svg create mode 100644 src/wp-includes/icons/library/site-logo.svg create mode 100644 src/wp-includes/icons/library/square.svg create mode 100644 src/wp-includes/icons/library/stack.svg create mode 100644 src/wp-includes/icons/library/star-empty.svg create mode 100644 src/wp-includes/icons/library/star-filled.svg create mode 100644 src/wp-includes/icons/library/star-half.svg create mode 100644 src/wp-includes/icons/library/store.svg create mode 100644 src/wp-includes/icons/library/stretch-full-width.svg create mode 100644 src/wp-includes/icons/library/stretch-wide.svg create mode 100644 src/wp-includes/icons/library/styles.svg create mode 100644 src/wp-includes/icons/library/subscript.svg create mode 100644 src/wp-includes/icons/library/superscript.svg create mode 100644 src/wp-includes/icons/library/swatch.svg create mode 100644 src/wp-includes/icons/library/symbol-filled.svg create mode 100644 src/wp-includes/icons/library/symbol.svg create mode 100644 src/wp-includes/icons/library/tab.svg create mode 100644 src/wp-includes/icons/library/table-column-after.svg create mode 100644 src/wp-includes/icons/library/table-column-before.svg create mode 100644 src/wp-includes/icons/library/table-column-delete.svg create mode 100644 src/wp-includes/icons/library/table-of-contents.svg create mode 100644 src/wp-includes/icons/library/table-row-after.svg create mode 100644 src/wp-includes/icons/library/table-row-before.svg create mode 100644 src/wp-includes/icons/library/table-row-delete.svg create mode 100644 src/wp-includes/icons/library/table.svg create mode 100644 src/wp-includes/icons/library/tablet.svg create mode 100644 src/wp-includes/icons/library/tabs-menu-item.svg create mode 100644 src/wp-includes/icons/library/tabs-menu.svg create mode 100644 src/wp-includes/icons/library/tabs.svg create mode 100644 src/wp-includes/icons/library/tag.svg create mode 100644 src/wp-includes/icons/library/term-count.svg create mode 100644 src/wp-includes/icons/library/term-description.svg create mode 100644 src/wp-includes/icons/library/term-name.svg create mode 100644 src/wp-includes/icons/library/text-color.svg create mode 100644 src/wp-includes/icons/library/text-horizontal.svg create mode 100644 src/wp-includes/icons/library/text-vertical.svg create mode 100644 src/wp-includes/icons/library/thumbs-down.svg create mode 100644 src/wp-includes/icons/library/thumbs-up.svg create mode 100644 src/wp-includes/icons/library/time-to-read.svg create mode 100644 src/wp-includes/icons/library/tip.svg create mode 100644 src/wp-includes/icons/library/title.svg create mode 100644 src/wp-includes/icons/library/tool.svg create mode 100644 src/wp-includes/icons/library/trash.svg create mode 100644 src/wp-includes/icons/library/trending-down.svg create mode 100644 src/wp-includes/icons/library/trending-up.svg create mode 100644 src/wp-includes/icons/library/typography.svg create mode 100644 src/wp-includes/icons/library/undo.svg create mode 100644 src/wp-includes/icons/library/ungroup.svg create mode 100644 src/wp-includes/icons/library/unlock.svg create mode 100644 src/wp-includes/icons/library/unseen.svg create mode 100644 src/wp-includes/icons/library/update.svg create mode 100644 src/wp-includes/icons/library/upload.svg create mode 100644 src/wp-includes/icons/library/verse.svg create mode 100644 src/wp-includes/icons/library/video.svg create mode 100644 src/wp-includes/icons/library/widget.svg create mode 100644 src/wp-includes/icons/library/word-count.svg create mode 100644 src/wp-includes/icons/library/wordpress.svg create mode 100644 src/wp-includes/icons/manifest.php diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index c96036afa7f57..ecd84978d369c 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -61,7 +61,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => '93f3340c3dad2e7707b3' + 'version' => '17c7b74296ea735c0361' ), 'block-editor.min.js' => array( 'dependencies' => array( @@ -96,10 +96,11 @@ 'wp-style-engine', 'wp-theme', 'wp-token-list', + 'wp-upload-media', 'wp-url', 'wp-warning' ), - 'version' => '0efc96c056899945fc98' + 'version' => '1822729c1c016c513b07' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -131,10 +132,11 @@ 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', + 'wp-upload-media', 'wp-url', 'wp-wordcount' ), - 'version' => 'f5b22e9f8107c55e1744' + 'version' => '12d29683ae6525714836' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -167,7 +169,7 @@ 'wp-shortcode', 'wp-warning' ), - 'version' => '1b28e4084e3ea20f6958' + 'version' => '043731fad526d26793c6' ), 'commands.min.js' => array( 'dependencies' => array( @@ -182,7 +184,7 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => 'd4fb3d716a7602ca6e07' + 'version' => 'e3d8bba53f4ffea4fcd2' ), 'components.min.js' => array( 'dependencies' => array( @@ -206,7 +208,7 @@ 'wp-rich-text', 'wp-warning' ), - 'version' => '96c915810bb90a510cf9' + 'version' => '8599a08d7a250d84e731' ), 'compose.min.js' => array( 'dependencies' => array( @@ -220,7 +222,7 @@ 'wp-priority-queue', 'wp-undo-manager' ), - 'version' => '1d09fd199db0d2239f7c' + 'version' => '42e10ac07bc50b2c5314' ), 'core-commands.min.js' => array( 'dependencies' => array( @@ -237,7 +239,7 @@ 'wp-router', 'wp-url' ), - 'version' => 'b0d81930a83a5cb4de26' + 'version' => 'b209152e7e51279d7c28' ), 'core-data.min.js' => array( 'dependencies' => array( @@ -249,16 +251,16 @@ 'wp-data', 'wp-deprecated', 'wp-element', - 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-private-apis', 'wp-rich-text', + 'wp-sync', 'wp-undo-manager', 'wp-url', 'wp-warning' ), - 'version' => '04f80fcd2db5cd7629cf' + 'version' => '7315eaa7025445f864b5' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -283,7 +285,7 @@ 'wp-private-apis', 'wp-widgets' ), - 'version' => '432dafb169e0574d9bc5' + 'version' => '524dc7a4326b77064831' ), 'data.min.js' => array( 'dependencies' => array( @@ -323,7 +325,7 @@ 'dependencies' => array( 'wp-deprecated' ), - 'version' => '5e4c7005b60f26b26dd2' + 'version' => 'aac39fc255d02334a74e' ), 'dom-ready.min.js' => array( 'dependencies' => array( @@ -363,7 +365,7 @@ 'wp-url', 'wp-widgets' ), - 'version' => 'd6b5f468019a5a1b6199' + 'version' => '56d49503c08450158881' ), 'edit-site.min.js' => array( 'dependencies' => array( @@ -404,7 +406,7 @@ 'wp-warning', 'wp-widgets' ), - 'version' => '45aa18b9931dcfc2bd98' + 'version' => '8df382639056febf5fe2' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -435,7 +437,7 @@ 'wp-viewport', 'wp-widgets' ), - 'version' => '10c7feb297b21f440004' + 'version' => 'be944f745795910dc41a' ), 'editor.min.js' => array( 'dependencies' => array( @@ -446,6 +448,7 @@ 'wp-api-fetch', 'wp-blob', 'wp-block-editor', + 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-commands', 'wp-components', @@ -472,12 +475,13 @@ 'wp-server-side-render', 'wp-style-engine', 'wp-theme', + 'wp-upload-media', 'wp-url', 'wp-viewport', 'wp-warning', 'wp-wordcount' ), - 'version' => '9bdc14eff40bd201552d' + 'version' => '74ea6d90db05b159e34a' ), 'element.min.js' => array( 'dependencies' => array( @@ -509,7 +513,7 @@ 'wp-rich-text', 'wp-url' ), - 'version' => 'ea5118479e056f51bf70' + 'version' => 'f89be9586f2d9ce4545a' ), 'hooks.min.js' => array( 'dependencies' => array( @@ -586,13 +590,15 @@ 'wp-url', 'wp-warning' ), - 'version' => '0fe3176039a760ffc836' + 'version' => '1cef0981fd43cb8307f0' ), 'notices.min.js' => array( 'dependencies' => array( + 'react-jsx-runtime', + 'wp-components', 'wp-data' ), - 'version' => '0786393a2530ff974788' + 'version' => '3f151928d7500f3b1fb6' ), 'nux.min.js' => array( 'dependencies' => array( @@ -605,7 +611,7 @@ 'wp-i18n', 'wp-primitives' ), - 'version' => '08e1a1181b8a71a43c25' + 'version' => '14d2335a0007b36b9112' ), 'patterns.min.js' => array( 'dependencies' => array( @@ -637,7 +643,7 @@ 'wp-is-shallow-equal', 'wp-primitives' ), - 'version' => 'fb81afeb7c472b9fb513' + 'version' => 'b03040c408cd5bcc9f89' ), 'preferences.min.js' => array( 'dependencies' => array( @@ -653,7 +659,7 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => 'b520fe2634b03e9fc502' + 'version' => 'd3f26a2b3620d15a60a3' ), 'preferences-persistence.min.js' => array( 'dependencies' => array( @@ -678,7 +684,7 @@ 'dependencies' => array( ), - 'version' => '8d75ce43927ce44fd995' + 'version' => '5f0ec184488dba9baabb' ), 'react-i18n.min.js' => array( 'dependencies' => array( @@ -708,7 +714,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => '23de21d735a9f0c46fe2' + 'version' => 'c72d27a8ac4e33cb74d6' ), 'rich-text.min.js' => array( 'dependencies' => array( @@ -720,9 +726,10 @@ 'wp-element', 'wp-escape-html', 'wp-i18n', - 'wp-keycodes' + 'wp-keycodes', + 'wp-private-apis' ), - 'version' => '44eeb382fed050369056' + 'version' => '9d9d9b99a28b17452d87' ), 'router.min.js' => array( 'dependencies' => array( @@ -760,6 +767,14 @@ ), 'version' => 'faa37ce61b7ec8394b2a' ), + 'sync.min.js' => array( + 'dependencies' => array( + 'wp-api-fetch', + 'wp-hooks', + 'wp-private-apis' + ), + 'version' => '4c60996d1664ab866379' + ), 'theme.min.js' => array( 'dependencies' => array( 'react-jsx-runtime', @@ -780,6 +795,19 @@ ), 'version' => '27bb0ae036a2c9d4a1b5' ), + 'upload-media.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-blob', + 'wp-compose', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-private-apis', + 'wp-url' + ), + 'version' => '012bdf4e5d634c0e3e01' + ), 'url.min.js' => array( 'dependencies' => array( @@ -815,7 +843,7 @@ 'wp-notices', 'wp-primitives' ), - 'version' => '8f9b52b178066b9fc9d0' + 'version' => '7064da49d4dd3848ba8a' ), 'wordcount.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index 919d87eb39600..c996ff699cf45 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -10,7 +10,7 @@ 'wp-data', 'wp-i18n' ), - 'version' => '84b615d3da8fc36f7bba' + 'version' => 'f3475bc77a30dcc5b38d' ), 'block-editor/utils/fit-text-frontend.min.js' => array( 'dependencies' => array( @@ -64,7 +64,7 @@ 'import' => 'static' ) ), - 'version' => '3aa348554e724dae4f1f' + 'version' => '25ee935fd6c67371d0f3' ), 'block-library/navigation/view.min.js' => array( 'dependencies' => array( @@ -128,7 +128,7 @@ 'import' => 'static' ) ), - 'version' => 'c08655def5ed243c4d65' + 'version' => '1f60dd5e3fa56c6b2e2e' ), 'boot/index.min.js' => array( 'dependencies' => array( @@ -144,6 +144,7 @@ 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', + 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-theme', @@ -163,7 +164,7 @@ 'import' => 'static' ) ), - 'version' => 'caccc66883253e77f680' + 'version' => '408485ad06e3adf4f05e' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( @@ -191,13 +192,13 @@ 'import' => 'static' ) ), - 'version' => '4e68db4d9b7e04149623' + 'version' => 'c636e2e534fd52f7c77c' ), 'interactivity/index.min.js' => array( 'dependencies' => array( ), - 'version' => '1bdeb1de58ef5e7f2d9a' + 'version' => '4d9d9330d767da3813cc' ), 'interactivity-router/full-page.min.js' => array( 'dependencies' => array( @@ -225,7 +226,7 @@ 'import' => 'static' ) ), - 'version' => '41d77cc6c9cf22c6d225' + 'version' => '493dd3de12e3112b3130' ), 'latex-to-mathml/index.min.js' => array( 'dependencies' => array( @@ -270,6 +271,24 @@ ), 'version' => 'c5843b6c5e84b352f43b' ), + 'vips/loader.min.js' => array( + 'dependencies' => array( + + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/vips/worker', + 'import' => 'dynamic' + ) + ), + 'version' => '07c9acb45d3e5d81829a' + ), + 'vips/worker.min.js' => array( + 'dependencies' => array( + + ), + 'version' => '56bdc60842ad98c1e166' + ), 'workflow/index.min.js' => array( 'dependencies' => array( 'react', @@ -289,6 +308,6 @@ 'import' => 'static' ) ), - 'version' => '06fff7b5c80f6ddf098e' + 'version' => '6ab9dec7ead243d308cf' ) ); \ No newline at end of file diff --git a/src/wp-includes/blocks/accordion/block.json b/src/wp-includes/blocks/accordion/block.json index 4b44b1c9bfa4a..69923748a553f 100644 --- a/src/wp-includes/blocks/accordion/block.json +++ b/src/wp-includes/blocks/accordion/block.json @@ -55,7 +55,8 @@ "fontSize": true } }, - "contentRole": true + "contentRole": true, + "listView": true }, "attributes": { "iconPosition": { diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index be82ba56c3245..d38471c4e4b36 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -64,7 +64,8 @@ 'fontSize' => true ) ), - 'contentRole' => true + 'contentRole' => true, + 'listView' => true ), 'attributes' => array( 'iconPosition' => array( @@ -2626,6 +2627,9 @@ 'name' => 'core/gallery', 'title' => 'Gallery', 'category' => 'media', + 'usesContext' => array( + 'galleryId' + ), 'allowedBlocks' => array( 'core/image' ), @@ -2691,6 +2695,15 @@ ) ), + 'navigationButtonType' => array( + 'type' => 'string', + 'default' => 'icon', + 'enum' => array( + 'icon', + 'text', + 'both' + ) + ), 'shortCodeTransforms' => array( 'type' => 'array', 'items' => array( @@ -2745,7 +2758,8 @@ 'providesContext' => array( 'allowResize' => 'allowResize', 'imageCrop' => 'imageCrop', - 'fixedHeight' => 'fixedHeight' + 'fixedHeight' => 'fixedHeight', + 'navigationButtonType' => 'navigationButtonType' ), 'supports' => array( 'anchor' => true, @@ -2799,7 +2813,8 @@ ), 'interactivity' => array( 'clientNavigation' => true - ) + ), + 'listView' => true ), 'editorStyle' => 'wp-block-gallery-editor', 'style' => 'wp-block-gallery' @@ -3093,9 +3108,11 @@ 'allowResize', 'imageCrop', 'fixedHeight', + 'navigationButtonType', 'postId', 'postType', - 'queryId' + 'queryId', + 'galleryId' ), 'description' => 'Insert an image to make a visual statement.', 'keywords' => array( @@ -4023,6 +4040,7 @@ 'core/page-list', 'core/spacer', 'core/home-link', + 'core/icon', 'core/site-title', 'core/site-logo', 'core/navigation-submenu', @@ -4131,6 +4149,7 @@ 'customFontSize' => 'customFontSize', 'showSubmenuIcon' => 'showSubmenuIcon', 'submenuVisibility' => 'submenuVisibility', + 'openSubmenusOnClick' => 'openSubmenusOnClick', 'style' => 'style', 'maxNestingLevel' => 'maxNestingLevel' ), @@ -4280,6 +4299,64 @@ 'editorStyle' => 'wp-block-navigation-link-editor', 'style' => 'wp-block-navigation-link' ), + 'navigation-overlay-close' => array( + '$schema' => 'https://schemas.wp.org/trunk/block.json', + 'apiVersion' => 3, + 'name' => 'core/navigation-overlay-close', + 'title' => 'Navigation Overlay Close', + 'category' => 'design', + 'description' => 'A customizable button to close overlays.', + 'keywords' => array( + 'close', + 'overlay', + 'navigation', + 'menu' + ), + 'textdomain' => 'default', + 'attributes' => array( + 'displayMode' => array( + 'type' => 'string', + 'enum' => array( + 'icon', + 'text', + 'both' + ), + 'default' => 'icon' + ), + 'text' => array( + 'type' => 'string' + ) + ), + 'supports' => array( + 'color' => array( + 'gradients' => false, + '__experimentalDefaultControls' => array( + 'background' => true, + 'text' => true + ) + ), + 'spacing' => array( + 'padding' => true, + '__experimentalDefaultControls' => array( + 'padding' => true + ) + ), + 'typography' => array( + 'fontSize' => true, + 'lineHeight' => true, + '__experimentalFontFamily' => true, + '__experimentalFontWeight' => true, + '__experimentalFontStyle' => true, + '__experimentalTextTransform' => true, + '__experimentalTextDecoration' => true, + '__experimentalLetterSpacing' => true, + '__experimentalDefaultControls' => array( + 'fontSize' => true + ) + ) + ), + 'style' => 'wp-block-navigation-overlay-close' + ), 'navigation-submenu' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, @@ -4339,6 +4416,7 @@ 'customFontSize', 'showSubmenuIcon', 'maxNestingLevel', + 'openSubmenusOnClick', 'submenuVisibility', 'style' ), @@ -4432,7 +4510,8 @@ 'customFontSize', 'showSubmenuIcon', 'style', - 'openSubmenusOnClick' + 'openSubmenusOnClick', + 'submenuVisibility' ), 'supports' => array( 'anchor' => true, @@ -4530,7 +4609,8 @@ 'customFontSize', 'showSubmenuIcon', 'style', - 'openSubmenusOnClick' + 'openSubmenusOnClick', + 'submenuVisibility' ), 'supports' => array( 'anchor' => true, @@ -4907,11 +4987,6 @@ 'category' => 'theme', 'description' => 'Display a post\'s comments count.', 'textdomain' => 'default', - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'usesContext' => array( 'postId' ), @@ -4935,6 +5010,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -4965,11 +5041,6 @@ 'category' => 'theme', 'description' => 'Display a post\'s comments form.', 'textdomain' => 'default', - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'usesContext' => array( 'postId', 'postType' @@ -4993,6 +5064,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontStyle' => true, '__experimentalFontWeight' => true, '__experimentalLetterSpacing' => true, @@ -5022,7 +5094,11 @@ ), 'example' => array( 'attributes' => array( - 'textAlign' => 'center' + 'style' => array( + 'typography' => array( + 'textAlign' => 'center' + ) + ) ) ) ), @@ -5038,11 +5114,6 @@ 'postType', 'postId' ), - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'example' => array( 'viewportWidth' => 350 ), @@ -5064,6 +5135,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -5313,6 +5385,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textColumns' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -5615,9 +5688,6 @@ 'term' => array( 'type' => 'string' ), - 'textAlign' => array( - 'type' => 'string' - ), 'separator' => array( 'type' => 'string', 'default' => ', ' @@ -5659,6 +5729,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -5700,9 +5771,6 @@ 'postType' ), 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'displayAsRange' => array( 'type' => 'boolean', 'default' => true @@ -5737,6 +5805,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -7885,11 +7954,6 @@ 'termId', 'taxonomy' ), - 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ) - ), 'supports' => array( 'anchor' => true, 'align' => array( @@ -7911,6 +7975,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -8190,12 +8255,16 @@ '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, 'name' => 'core/verse', - 'title' => 'Verse', + 'title' => 'Poetry', 'category' => 'text', 'description' => 'Insert poetry. Use special spacing formats. Or quote song lyrics.', 'keywords' => array( 'poetry', - 'poem' + 'poem', + 'verse', + 'stanza', + 'song', + 'lyrics' ), 'textdomain' => 'default', 'attributes' => array( diff --git a/src/wp-includes/blocks/gallery.php b/src/wp-includes/blocks/gallery.php index 5281fec126e42..7762bab6d6143 100644 --- a/src/wp-includes/blocks/gallery.php +++ b/src/wp-includes/blocks/gallery.php @@ -34,16 +34,35 @@ function block_core_gallery_data_id_backcompatibility( $parsed_block ) { add_filter( 'render_block_data', 'block_core_gallery_data_id_backcompatibility' ); +/** + * Adds a unique ID to the gallery block context. + * + * @since 7.0.0 + * + * @param array $context Default context. + * @param array $parsed_block Block being rendered, filtered by render_block_data. + * @return array Filtered context. + */ +function block_core_gallery_render_context( $context, $parsed_block ) { + if ( 'core/gallery' === $parsed_block['blockName'] ) { + $context['galleryId'] = uniqid(); + } + return $context; +} + +add_filter( 'render_block_context', 'block_core_gallery_render_context', 10, 2 ); + /** * Renders the `core/gallery` block on the server. * * @since 6.0.0 * * @param array $attributes Attributes of the block being rendered. - * @param string $content Content of the block being rendered. + * @param string $content Content of the block being rendered. + * @param array $block The block instance being rendered. * @return string The content of the block being rendered. */ -function block_core_gallery_render( $attributes, $content ) { +function block_core_gallery_render( $attributes, $content, $block ) { // Adds a style tag for the --wp--style--unstable-gallery-gap var. // The Gallery block needs to recalculate Image block width based on // the current gap setting in order to maintain the number of flex columns @@ -116,9 +135,7 @@ function block_core_gallery_render( $attributes, $content ) { wp_style_engine_get_stylesheet_from_css_rules( $gallery_styles, - array( - 'context' => 'block-supports', - ) + array( 'context' => 'block-supports' ) ); // The WP_HTML_Tag_Processor class calls get_updated_html() internally @@ -136,36 +153,87 @@ function block_core_gallery_render( $attributes, $content ) { * * @see: https://github.com/WordPress/gutenberg/pull/58733 */ - if ( empty( $attributes['randomOrder'] ) ) { - return $updated_content; + if ( ! empty( $attributes['randomOrder'] ) ) { + // This pattern matches figure elements with the `wp-block-image` + // class to avoid the gallery's wrapping `figure` element and + // extract images only. + $pattern = '/]*\bwp-block-image\b[^>]*>.*?<\/figure>/s'; + + preg_match_all( $pattern, $updated_content, $matches ); + if ( $matches ) { + $image_blocks = $matches[0]; + shuffle( $image_blocks ); + + $i = 0; + $updated_content = preg_replace_callback( + $pattern, + static function () use ( $image_blocks, &$i ) { + return $image_blocks[ $i++ ]; + }, + $updated_content + ); + } } - // This pattern matches figure elements with the `wp-block-image` class to - // avoid the gallery's wrapping `figure` element and extract images only. - $pattern = '/]*\bwp-block-image\b[^>]*>.*?<\/figure>/s'; + // Gets all image IDs from the state that match this gallery's ID. + $state = wp_interactivity_state( 'core/image' ); + $gallery_id = $block->context['galleryId'] ?? null; + $image_ids = array(); - // Find all Image blocks. - preg_match_all( $pattern, $updated_content, $matches ); - if ( ! $matches ) { - return $updated_content; + // Extracts image IDs from state metadata that match the current gallery ID. + if ( isset( $gallery_id ) && isset( $state['metadata'] ) ) { + foreach ( $state['metadata'] as $image_id => $metadata ) { + if ( isset( $metadata['galleryId'] ) && $metadata['galleryId'] === $gallery_id ) { + $image_ids[] = $image_id; + } + } } - $image_blocks = $matches[0]; - - // Randomize the order of Image blocks. - shuffle( $image_blocks ); - $i = 0; - $content = preg_replace_callback( - $pattern, - static function () use ( $image_blocks, &$i ) { - $new_image_block = $image_blocks[ $i ]; - ++$i; - return $new_image_block; - }, - $updated_content - ); - return $content; + // If there are image IDs associated with this gallery, set interactivity + // attributes and order metadata for lightbox navigation. + if ( ! empty( $image_ids ) ) { + $total = count( $image_ids ); + $lightbox_index = 0; + $processor = new WP_HTML_Tag_Processor( $updated_content ); + $processor->next_tag(); + $processor->set_attribute( 'data-wp-interactive', 'core/gallery' ); + $processor->set_attribute( + 'data-wp-context', + wp_json_encode( + array( 'galleryId' => $gallery_id ), + JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP + ) + ); + while ( $processor->next_tag( 'figure' ) ) { + $wp_key = $processor->get_attribute( 'data-wp-key' ); + if ( $wp_key && isset( $state['metadata'][ $wp_key ] ) ) { + $alt = $state['metadata'][ $wp_key ]['alt']; + wp_interactivity_state( + 'core/image', + array( + 'metadata' => array( + $wp_key => array( + 'customAriaLabel' => empty( $alt ) + /* translators: %1$s: current image index, %2$s: total number of images */ + ? sprintf( __( 'Enlarged image %1$s of %2$s' ), $lightbox_index + 1, $total ) + /* translators: %1$s: current image index, %2$s: total number of images, %3$s: Image alt text */ + : sprintf( __( 'Enlarged image %1$s of %2$s: %3$s' ), $lightbox_index + 1, $total, $alt ), + /* translators: %1$s: current image index, %2$s: total number of images */ + 'triggerButtonAriaLabel' => sprintf( __( 'Enlarge %1$s of %2$s' ), $lightbox_index + 1, $total ), + 'order' => $lightbox_index, + ), + ), + ) + ); + ++$lightbox_index; + } + } + return $processor->get_updated_html(); + } + + return $updated_content; } + /** * Registers the `core/gallery` block on server. * diff --git a/src/wp-includes/blocks/gallery/block.json b/src/wp-includes/blocks/gallery/block.json index 02dbb05cb78b4..b2ca977ffadb6 100644 --- a/src/wp-includes/blocks/gallery/block.json +++ b/src/wp-includes/blocks/gallery/block.json @@ -4,6 +4,7 @@ "name": "core/gallery", "title": "Gallery", "category": "media", + "usesContext": [ "galleryId" ], "allowedBlocks": [ "core/image" ], "description": "Display multiple images in a rich gallery.", "keywords": [ "images", "photos" ], @@ -60,6 +61,11 @@ }, "default": [] }, + "navigationButtonType": { + "type": "string", + "default": "icon", + "enum": [ "icon", "text", "both" ] + }, "shortCodeTransforms": { "type": "array", "items": { @@ -112,7 +118,8 @@ "providesContext": { "allowResize": "allowResize", "imageCrop": "imageCrop", - "fixedHeight": "fixedHeight" + "fixedHeight": "fixedHeight", + "navigationButtonType": "navigationButtonType" }, "supports": { "anchor": true, @@ -155,7 +162,8 @@ }, "interactivity": { "clientNavigation": true - } + }, + "listView": true }, "editorStyle": "wp-block-gallery-editor", "style": "wp-block-gallery" diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index bc312167f5329..7e37ca0f021cc 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -117,7 +117,7 @@ public function block_core_image_extract_empty_figcaption_element() { * if the way the blocks are rendered changes, or if a new kind of filter is * introduced. */ - add_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15, 2 ); + add_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15, 3 ); } else { /* * Remove the filter if previously added by other Image blocks. @@ -171,18 +171,20 @@ function block_core_image_get_lightbox_settings( $block ) { * * @since 6.4.0 * - * @param string $block_content Rendered block content. - * @param array $block Block object. + * @param string $block_content Rendered block content. + * @param array $block Block object. + * @param array $block_instance Block instance. * * @return string Filtered block content. */ -function block_core_image_render_lightbox( $block_content, $block ) { +function block_core_image_render_lightbox( $block_content, $block, $block_instance ) { /* * If there's no IMG tag in the block then return the given block content * as-is. There's nothing that this code can knowingly modify to add the * lightbox behavior. */ $processor = new WP_HTML_Tag_Processor( $block_content ); + if ( $processor->next_tag( 'figure' ) ) { $processor->set_bookmark( 'figure' ); } @@ -190,15 +192,28 @@ function block_core_image_render_lightbox( $block_content, $block ) { return $block_content; } - $alt = $processor->get_attribute( 'alt' ); - $img_uploaded_src = $processor->get_attribute( 'src' ); - $img_class_names = $processor->get_attribute( 'class' ); - $img_styles = $processor->get_attribute( 'style' ); - $img_width = 'none'; - $img_height = 'none'; - $img_srcset = false; - $aria_label = __( 'Enlarge' ); - $dialog_aria_label = __( 'Enlarged image' ); + $alt = $processor->get_attribute( 'alt' ); + $img_uploaded_src = $processor->get_attribute( 'src' ); + $img_class_names = $processor->get_attribute( 'class' ); + $img_styles = $processor->get_attribute( 'style' ); + $img_width = 'none'; + $img_height = 'none'; + $img_srcset = false; + + wp_interactivity_config( + 'core/image', + array( + 'defaultAriaLabel' => __( 'Enlarged image' ), + 'closeButtonText' => esc_html__( 'Close' ), + 'prevButtonText' => esc_html__( 'Previous' ), + 'nextButtonText' => esc_html__( 'Next' ), + ) + ); + + if ( $alt ) { + /* translators: %s: Image alt text. */ + $custom_aria_label = sprintf( __( 'Enlarged image: %s' ), $alt ); + } if ( isset( $block['attrs']['id'] ) ) { $img_uploaded_src = wp_get_attachment_url( $block['attrs']['id'] ); @@ -215,23 +230,25 @@ function block_core_image_render_lightbox( $block_content, $block ) { // Create unique id and set the image metadata in the state. $unique_image_id = uniqid(); - wp_interactivity_state( 'core/image', array( 'metadata' => array( $unique_image_id => array( - 'uploadedSrc' => $img_uploaded_src, - 'lightboxSrcset' => $img_srcset, - 'figureClassNames' => $figure_class_names, - 'figureStyles' => $figure_styles, - 'imgClassNames' => $img_class_names, - 'imgStyles' => $img_styles, - 'targetWidth' => $img_width, - 'targetHeight' => $img_height, - 'scaleAttr' => $block['attrs']['scale'] ?? false, - 'ariaLabel' => $dialog_aria_label, - 'alt' => $alt, + 'uploadedSrc' => $img_uploaded_src, + 'lightboxSrcset' => $img_srcset, + 'figureClassNames' => $figure_class_names, + 'figureStyles' => $figure_styles, + 'imgClassNames' => $img_class_names, + 'imgStyles' => $img_styles, + 'targetWidth' => $img_width, + 'targetHeight' => $img_height, + 'scaleAttr' => $block['attrs']['scale'] ?? false, + 'alt' => $alt, + 'galleryId' => $block_instance->context['galleryId'] ?? null, + 'customAriaLabel' => $custom_aria_label ?? null, + 'navigationButtonType' => $block_instance->context['navigationButtonType'] ?? 'icon', + 'triggerButtonAriaLabel' => null, ), ), ) @@ -242,9 +259,7 @@ function block_core_image_render_lightbox( $block_content, $block ) { $processor->set_attribute( 'data-wp-context', wp_json_encode( - array( - 'imageId' => $unique_image_id, - ), + array( 'imageId' => $unique_image_id ), JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP ) ); @@ -282,11 +297,11 @@ function block_core_image_render_lightbox( $block_content, $block ) { class="lightbox-trigger" type="button" aria-haspopup="dialog" - aria-label="' . esc_attr( $aria_label ) . '" + data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel" data-wp-init="callbacks.initTriggerButton" data-wp-on--click="actions.showLightbox" - data-wp-style--right="state.imageButtonRight" - data-wp-style--top="state.imageButtonTop" + data-wp-style--right="state.thisImage.buttonRight" + data-wp-style--top="state.thisImage.buttonTop" > @@ -295,7 +310,10 @@ class="lightbox-trigger" $body_content = preg_replace( '/]+>/', $button, $body_content ); - add_action( 'wp_footer', 'block_core_image_print_lightbox_overlay' ); + $overlay_callback = function () { + block_core_image_print_lightbox_overlay(); + }; + add_action( 'wp_footer', $overlay_callback ); return $body_content; } @@ -304,7 +322,13 @@ class="lightbox-trigger" * @since 6.5.0 */ function block_core_image_print_lightbox_overlay() { - $close_button_label = esc_attr__( 'Close' ); + $dialog_label = esc_attr__( 'Enlarged images' ); + $close_button_text = esc_attr__( 'Close' ); + $prev_button_text = esc_attr__( 'Previous' ); + $next_button_text = esc_attr__( 'Next' ); + $close_button_icon = ''; + $prev_button_icon = ''; + $next_button_icon = ''; // If the current theme does NOT have a `theme.json`, or the colors are not // defined, it needs to set the background color & close button color to some @@ -324,16 +348,18 @@ function block_core_image_print_lightbox_overlay() { echo << - {$close_button_icon} + {$close_button_text} + + - + +
    +
    HTML; } diff --git a/src/wp-includes/blocks/image/block.json b/src/wp-includes/blocks/image/block.json index 54e33f3264780..66a4fac4a3023 100644 --- a/src/wp-includes/blocks/image/block.json +++ b/src/wp-includes/blocks/image/block.json @@ -8,9 +8,11 @@ "allowResize", "imageCrop", "fixedHeight", + "navigationButtonType", "postId", "postType", - "queryId" + "queryId", + "galleryId" ], "description": "Insert an image to make a visual statement.", "keywords": [ "img", "photo", "picture" ], diff --git a/src/wp-includes/blocks/media-text.php b/src/wp-includes/blocks/media-text.php index df4b802736c41..f6973dc616182 100644 --- a/src/wp-includes/blocks/media-text.php +++ b/src/wp-includes/blocks/media-text.php @@ -29,8 +29,8 @@ function render_block_core_media_text( $attributes, $content ) { return $content; } - $has_media_on_right = isset( $attributes['mediaPosition'] ) && 'right' === $attributes['mediaPosition']; - $image_fill = isset( $attributes['imageFill'] ) && $attributes['imageFill']; + $has_media_on_right = 'right' === ( $attributes['mediaPosition'] ?? null ); + $image_fill = (bool) ( $attributes['imageFill'] ?? false ); $focal_point = isset( $attributes['focalPoint'] ) ? round( $attributes['focalPoint']['x'] * 100 ) . '% ' . round( $attributes['focalPoint']['y'] * 100 ) . '%' : '50% 50%'; $unique_id = 'wp-block-media-text__media-' . wp_unique_id(); diff --git a/src/wp-includes/blocks/navigation-overlay-close.php b/src/wp-includes/blocks/navigation-overlay-close.php new file mode 100644 index 0000000000000..1945cc4069eef --- /dev/null +++ b/src/wp-includes/blocks/navigation-overlay-close.php @@ -0,0 +1,56 @@ +'; + } + + if ( $show_text ) { + $button_text .= '' . wp_kses_post( $text ) . ''; + } + + $wrapper_attributes = get_block_wrapper_attributes(); + $html_content = sprintf( + '', + $wrapper_attributes, + ! $show_text ? 'aria-label="' . __( 'Close' ) . '"' : '', + $button_text + ); + + return $html_content; +} + +/** + * Registers the navigation overlay close block. + * + * @since 7.0.0 + */ +function register_block_core_navigation_overlay_close() { + register_block_type_from_metadata( + __DIR__ . '/navigation-overlay-close', + array( + 'render_callback' => 'render_block_core_navigation_overlay_close', + ) + ); +} +add_action( 'init', 'register_block_core_navigation_overlay_close' ); diff --git a/src/wp-includes/blocks/navigation-overlay-close/block.json b/src/wp-includes/blocks/navigation-overlay-close/block.json new file mode 100644 index 0000000000000..39bf2ce75b99a --- /dev/null +++ b/src/wp-includes/blocks/navigation-overlay-close/block.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://schemas.wp.org/trunk/block.json", + "apiVersion": 3, + "name": "core/navigation-overlay-close", + "title": "Navigation Overlay Close", + "category": "design", + "description": "A customizable button to close overlays.", + "keywords": [ "close", "overlay", "navigation", "menu" ], + "textdomain": "default", + "attributes": { + "displayMode": { + "type": "string", + "enum": [ "icon", "text", "both" ], + "default": "icon" + }, + "text": { + "type": "string" + } + }, + "supports": { + "color": { + "gradients": false, + "__experimentalDefaultControls": { + "background": true, + "text": true + } + }, + "spacing": { + "padding": true, + "__experimentalDefaultControls": { + "padding": true + } + }, + "typography": { + "fontSize": true, + "lineHeight": true, + "__experimentalFontFamily": true, + "__experimentalFontWeight": true, + "__experimentalFontStyle": true, + "__experimentalTextTransform": true, + "__experimentalTextDecoration": true, + "__experimentalLetterSpacing": true, + "__experimentalDefaultControls": { + "fontSize": true + } + } + }, + "style": "wp-block-navigation-overlay-close" +} diff --git a/src/wp-includes/blocks/navigation-submenu.php b/src/wp-includes/blocks/navigation-submenu.php index beb2b389d3a03..9138b5a5e08da 100644 --- a/src/wp-includes/blocks/navigation-submenu.php +++ b/src/wp-includes/blocks/navigation-submenu.php @@ -12,25 +12,38 @@ * This function centralizes the migration logic from the boolean * openSubmenusOnClick to the new submenuVisibility enum. * + * Backward compatibility handling: + * - Legacy blocks (saved before migration, never opened in editor): + * Have openSubmenusOnClick in database. Parent Navigation block passes it via context. + * We prioritize openSubmenusOnClick to preserve the original behavior. + * + * - Migrated blocks (opened in editor after migration): + * JavaScript deprecation removes openSubmenusOnClick and sets submenuVisibility. + * We use submenuVisibility since openSubmenusOnClick is null. + * + * - New blocks (created after migration): + * Only have submenuVisibility, openSubmenusOnClick is null. + * We use submenuVisibility. + * * @since 6.9.0 * - * @param array $attributes Block attributes containing submenuVisibility and/or openSubmenusOnClick. + * @param array $context Block context from parent Navigation block. * @return string The visibility mode: 'hover', 'click', or 'always'. */ -function block_core_navigation_submenu_get_submenu_visibility( $attributes ) { - $submenu_visibility = isset( $attributes['submenuVisibility'] ) ? $attributes['submenuVisibility'] : null; - $open_submenus_on_click = isset( $attributes['openSubmenusOnClick'] ) ? $attributes['openSubmenusOnClick'] : null; - - // If new attribute is set, use it. - if ( null !== $submenu_visibility ) { - return $submenu_visibility; +function block_core_navigation_submenu_get_submenu_visibility( $context ) { + $deprecated_open_submenus_on_click = $context['openSubmenusOnClick'] ?? null; + + // For backward compatibility, prioritize the legacy attribute if present. If it has been loaded and saved in the editor, then + // the deprecated attribute will be replaced by submenuVisibility. + if ( null !== $deprecated_open_submenus_on_click ) { + // Convert boolean to string: true -> 'click', false -> 'hover'. + return ! empty( $deprecated_open_submenus_on_click ) ? 'click' : 'hover'; } - // Fall back to old attribute for backward compatibility. - // openSubmenusOnClick: true -> 'click' - // openSubmenusOnClick: false -> 'hover' - // openSubmenusOnClick: null -> 'hover' (default) - return ! empty( $open_submenus_on_click ) ? 'click' : 'hover'; + $submenu_visibility = $context['submenuVisibility'] ?? null; + + // Use submenuVisibility for migrated/new blocks. + return $submenu_visibility ?? 'hover'; } // Path differs between source and build: '../navigation-link/shared/' in source, './navigation-link/shared/' in build. diff --git a/src/wp-includes/blocks/navigation-submenu/block.json b/src/wp-includes/blocks/navigation-submenu/block.json index cdfb3839ffa6f..b11aba479ce13 100644 --- a/src/wp-includes/blocks/navigation-submenu/block.json +++ b/src/wp-includes/blocks/navigation-submenu/block.json @@ -55,6 +55,7 @@ "customFontSize", "showSubmenuIcon", "maxNestingLevel", + "openSubmenusOnClick", "submenuVisibility", "style" ], diff --git a/src/wp-includes/blocks/navigation.php b/src/wp-includes/blocks/navigation.php index c8c7384208b36..dddfb74a42647 100644 --- a/src/wp-includes/blocks/navigation.php +++ b/src/wp-includes/blocks/navigation.php @@ -9,31 +9,35 @@ * Returns the submenu visibility value with backward compatibility * for the deprecated openSubmenusOnClick attribute. * - * NOTE: Keep this function in sync with getSubmenuVisibility in - * packages/block-library/src/navigation/utils/get-submenu-visibility.js - * * This function centralizes the migration logic from the boolean * openSubmenusOnClick to the new submenuVisibility enum. * + * Backward compatibility: WordPress applies default attribute values, so submenuVisibility + * will always have a value even for legacy blocks. We check the legacy openSubmenusOnClick + * attribute first to preserve original behavior for blocks saved before the migration. + * * @since 6.9.0 * * @param array $attributes Block attributes containing submenuVisibility and/or openSubmenusOnClick. * @return string The visibility mode: 'hover', 'click', or 'always'. */ function block_core_navigation_get_submenu_visibility( $attributes ) { - $submenu_visibility = isset( $attributes['submenuVisibility'] ) ? $attributes['submenuVisibility'] : null; - $open_submenus_on_click = isset( $attributes['openSubmenusOnClick'] ) ? $attributes['openSubmenusOnClick'] : null; - - // If new attribute is set, use it. - if ( null !== $submenu_visibility ) { - return $submenu_visibility; + $deprecated_open_submenus_on_click = $attributes['openSubmenusOnClick'] ?? null; + + // For backward compatibility, prioritize the legacy attribute if present. + // Legacy blocks have openSubmenusOnClick in the database. Since WordPress applies + // default values, submenuVisibility will also have a value, but we check the legacy + // attribute first to preserve the original behavior. If the block has been updated + // and saved in the editor, then the deprecated attribute will be replaced by submenuVisibility. + if ( null !== $deprecated_open_submenus_on_click ) { + // Convert boolean to string: true -> 'click', false -> 'hover'. + return ! empty( $deprecated_open_submenus_on_click ) ? 'click' : 'hover'; } - // Fall back to old attribute for backward compatibility. - // openSubmenusOnClick: true -> 'click' - // openSubmenusOnClick: false -> 'hover' - // openSubmenusOnClick: null -> 'hover' (default) - return ! empty( $open_submenus_on_click ) ? 'click' : 'hover'; + $submenu_visibility = $attributes['submenuVisibility'] ?? null; + + // Use submenuVisibility for migrated/new blocks (where openSubmenusOnClick is null). + return $submenu_visibility ?? 'hover'; } /** @@ -72,17 +76,6 @@ class WP_Navigation_Block_Renderer { */ private static $seen_menu_names = array(); - /** - * Returns whether the navigation overlay experiment is enabled. - * - * @since 6.5.0 - * - * @return bool Returns whether the navigation overlay experiment is enabled. - */ - private static function is_overlay_experiment_enabled() { - $gutenberg_experiments = get_option( 'gutenberg-experiments' ); - return $gutenberg_experiments && array_key_exists( 'gutenberg-customizable-navigation-overlays', $gutenberg_experiments ); - } /** * Returns whether or not this is responsive navigation. @@ -652,7 +645,6 @@ private static function get_responsive_container_classes( $is_hidden_by_default, } if ( $has_custom_overlay ) { - // Only add the disable-default-overlay class if experiment is enabled AND overlay blocks actually rendered. $responsive_container_classes[] = 'disable-default-overlay'; } else { // Don't apply overlay color classes if using a custom overlay template part. @@ -693,39 +685,35 @@ private static function get_responsive_container_markup( $attributes, $inner_blo $is_hidden_by_default = isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu']; - // Set-up variables for the custom overlay experiment. - // Values are set to "off" so they don't affect the default behavior. - $is_overlay_experiment_enabled = static::is_overlay_experiment_enabled(); + // Set-up variables for custom overlays. $has_custom_overlay = false; $close_button_markup = ''; $has_custom_overlay_close_block = false; $overlay_blocks_html = ''; $custom_overlay_markup = ''; - if ( $is_overlay_experiment_enabled ) { - // Check if an overlay template part is selected and render it. - // This needs to happen before building classes so we know if overlay blocks actually exist. - if ( ! empty( $attributes['overlay'] ) ) { - // Get blocks from the overlay template part. - $overlay_blocks = static::get_overlay_blocks_from_template_part( $attributes['overlay'], $attributes ); - // Check if overlay contains a navigation-overlay-close block. - $has_custom_overlay_close_block = block_core_navigation_block_tree_has_block_type( - $overlay_blocks, - 'core/navigation-overlay-close', - array( 'core/navigation' ) // Skip navigation blocks, as they cannot contain an overlay close block - ); - // Render template part blocks directly without navigation container wrapper. - $overlay_blocks_html = static::get_template_part_blocks_html( $overlay_blocks ); - // Add Interactivity API directives to the overlay close block if present. - if ( $has_custom_overlay_close_block && $is_interactive ) { - $tags = new WP_HTML_Tag_Processor( $overlay_blocks_html ); - $overlay_blocks_html = block_core_navigation_add_directives_to_overlay_close( $tags ); - } + // Check if an overlay template part is selected and render it. + // This needs to happen before building classes so we know if overlay blocks actually exist. + if ( ! empty( $attributes['overlay'] ) ) { + // Get blocks from the overlay template part. + $overlay_blocks = static::get_overlay_blocks_from_template_part( $attributes['overlay'], $attributes ); + // Check if overlay contains a navigation-overlay-close block. + $has_custom_overlay_close_block = block_core_navigation_block_tree_has_block_type( + $overlay_blocks, + 'core/navigation-overlay-close', + array( 'core/navigation' ) // Skip navigation blocks, as they cannot contain an overlay close block + ); + // Render template part blocks directly without navigation container wrapper. + $overlay_blocks_html = static::get_template_part_blocks_html( $overlay_blocks ); + // Add Interactivity API directives to the overlay close block if present. + if ( $has_custom_overlay_close_block && $is_interactive ) { + $tags = new WP_HTML_Tag_Processor( $overlay_blocks_html ); + $overlay_blocks_html = block_core_navigation_add_directives_to_overlay_close( $tags ); } - - $has_custom_overlay = ! empty( $overlay_blocks_html ); } + $has_custom_overlay = ! empty( $overlay_blocks_html ); + $responsive_container_classes = static::get_responsive_container_classes( $is_hidden_by_default, $has_custom_overlay, $colors ); $open_button_classes = array( @@ -1110,8 +1098,8 @@ function block_core_navigation_get_inner_blocks_from_unstable_location( $attribu * @return string Overlay close markup with the directives injected. */ function block_core_navigation_add_directives_to_overlay_close( $tags ) { - // Find the navigation-overlay-close button. - if ( $tags->next_tag( + // Find all navigation-overlay-close buttons. + while ( $tags->next_tag( array( 'tag_name' => 'BUTTON', 'class_name' => 'wp-block-navigation-overlay-close', diff --git a/src/wp-includes/blocks/navigation/block.json b/src/wp-includes/blocks/navigation/block.json index 78941f9c3b575..16f6baef3f903 100644 --- a/src/wp-includes/blocks/navigation/block.json +++ b/src/wp-includes/blocks/navigation/block.json @@ -11,6 +11,7 @@ "core/page-list", "core/spacer", "core/home-link", + "core/icon", "core/site-title", "core/site-logo", "core/navigation-submenu", @@ -103,6 +104,7 @@ "customFontSize": "customFontSize", "showSubmenuIcon": "showSubmenuIcon", "submenuVisibility": "submenuVisibility", + "openSubmenusOnClick": "openSubmenusOnClick", "style": "style", "maxNestingLevel": "maxNestingLevel" }, diff --git a/src/wp-includes/blocks/page-list-item/block.json b/src/wp-includes/blocks/page-list-item/block.json index 3efcb585446b6..f9a2326f339f5 100644 --- a/src/wp-includes/blocks/page-list-item/block.json +++ b/src/wp-includes/blocks/page-list-item/block.json @@ -38,7 +38,8 @@ "customFontSize", "showSubmenuIcon", "style", - "openSubmenusOnClick" + "openSubmenusOnClick", + "submenuVisibility" ], "supports": { "anchor": true, diff --git a/src/wp-includes/blocks/page-list.php b/src/wp-includes/blocks/page-list.php index 8a7f36c890ab9..27e63f250a811 100644 --- a/src/wp-includes/blocks/page-list.php +++ b/src/wp-includes/blocks/page-list.php @@ -5,6 +5,31 @@ * @package WordPress */ +/** + * Returns the submenu visibility value with backward compatibility + * for the deprecated openSubmenusOnClick attribute. + * + * @since 6.9.0 + * + * @param array $context Block context from parent Navigation block. + * @return string The visibility mode: 'hover', 'click', or 'always'. + */ +function block_core_page_list_get_submenu_visibility( $context ) { + $deprecated_open_submenus_on_click = $context['openSubmenusOnClick'] ?? null; + + // For backward compatibility, prioritize the legacy attribute if present. If it has been loaded and saved in the editor, then + // the deprecated attribute will be replaced by submenuVisibility. + if ( null !== $deprecated_open_submenus_on_click ) { + // Convert boolean to string: true -> 'click', false -> 'hover'. + return ! empty( $deprecated_open_submenus_on_click ) ? 'click' : 'hover'; + } + + $submenu_visibility = $context['submenuVisibility'] ?? null; + + // Use submenuVisibility for migrated/new blocks. + return $submenu_visibility ?? 'hover'; +} + /** * Build an array with CSS classes and inline styles defining the colors * which will be applied to the pages markup in the front-end when it is a descendant of navigation. @@ -152,12 +177,18 @@ function block_core_page_list_build_css_font_sizes( $context ) { * * @return string List markup. */ -function block_core_page_list_render_nested_page_list( $open_submenus_on_click, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids = array(), $colors = array(), $depth = 0 ) { +function block_core_page_list_render_nested_page_list( $submenu_visibility, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids = array(), $colors = array(), $depth = 0 ) { if ( empty( $nested_pages ) ) { return; } $front_page_id = (int) get_option( 'page_on_front' ); $markup = ''; + + // Compute visibility mode flags once + $open_on_click = 'click' === $submenu_visibility; + $open_on_hover = 'hover' === $submenu_visibility; + $open_always = 'always' === $submenu_visibility; + foreach ( (array) $nested_pages as $page ) { $css_class = $page['is_active'] ? ' current-menu-item' : ''; $aria_current = $page['is_active'] ? ' aria-current="page"' : ''; @@ -171,10 +202,14 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click, if ( $is_navigation_child ) { $css_class .= ' wp-block-navigation-item'; - if ( $open_submenus_on_click ) { + // Class assignment logic matches JS editor rendering in page-list-item/edit.js + // Note: elseif ensures open-on-hover-click is mutually exclusive with open-on-click + if ( $open_on_click ) { $css_class .= ' open-on-click'; - } elseif ( $show_submenu_icons ) { + } elseif ( $open_on_hover && $show_submenu_icons ) { $css_class .= ' open-on-hover-click'; + } elseif ( $open_always ) { + $css_class .= ' open-always'; } } @@ -202,7 +237,7 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click, $markup .= '
  • '; - if ( isset( $page['children'] ) && $is_navigation_child && $open_submenus_on_click ) { + if ( isset( $page['children'] ) && $is_navigation_child && $open_on_click ) { $markup .= ''; } else { @@ -210,13 +245,13 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click, } if ( isset( $page['children'] ) ) { - if ( $is_navigation_child && $show_submenu_icons && ! $open_submenus_on_click ) { + if ( $is_navigation_child && $show_submenu_icons && ! $open_on_click ) { $markup .= ''; } $markup .= '
      '; - $markup .= block_core_page_list_render_nested_page_list( $open_submenus_on_click, $show_submenu_icons, $is_navigation_child, $page['children'], $is_nested, $active_page_ancestor_ids, $colors, $depth + 1 ); + $markup .= block_core_page_list_render_nested_page_list( $submenu_visibility, $show_submenu_icons, $is_navigation_child, $page['children'], $is_nested, $active_page_ancestor_ids, $colors, $depth + 1 ); $markup .= '
    '; } $markup .= '
  • '; @@ -332,13 +367,14 @@ function render_block_core_page_list( $attributes, $content, $block ) { $is_navigation_child = array_key_exists( 'showSubmenuIcon', $block->context ); - $open_submenus_on_click = array_key_exists( 'openSubmenusOnClick', $block->context ) ? $block->context['openSubmenusOnClick'] : false; + // Get submenu visibility with backward compatibility for openSubmenusOnClick. + $submenu_visibility = $is_navigation_child ? block_core_page_list_get_submenu_visibility( $block->context ) : 'hover'; $show_submenu_icons = array_key_exists( 'showSubmenuIcon', $block->context ) ? $block->context['showSubmenuIcon'] : false; $wrapper_markup = $is_nested ? '%2$s' : '
      %2$s
    '; - $items_markup = block_core_page_list_render_nested_page_list( $open_submenus_on_click, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids, $colors ); + $items_markup = block_core_page_list_render_nested_page_list( $submenu_visibility, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids, $colors ); $wrapper_attributes = get_block_wrapper_attributes( array( diff --git a/src/wp-includes/blocks/page-list/block.json b/src/wp-includes/blocks/page-list/block.json index 71b7e8f54db0a..2b97f248c5768 100644 --- a/src/wp-includes/blocks/page-list/block.json +++ b/src/wp-includes/blocks/page-list/block.json @@ -31,7 +31,8 @@ "customFontSize", "showSubmenuIcon", "style", - "openSubmenusOnClick" + "openSubmenusOnClick", + "submenuVisibility" ], "supports": { "anchor": true, diff --git a/src/wp-includes/blocks/post-comments-count/block.json b/src/wp-includes/blocks/post-comments-count/block.json index 2c7016c74b912..e3066d7afff93 100644 --- a/src/wp-includes/blocks/post-comments-count/block.json +++ b/src/wp-includes/blocks/post-comments-count/block.json @@ -6,11 +6,6 @@ "category": "theme", "description": "Display a post's comments count.", "textdomain": "default", - "attributes": { - "textAlign": { - "type": "string" - } - }, "usesContext": [ "postId" ], "example": { "viewportWidth": 350 @@ -32,6 +27,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/post-comments-form/block.json b/src/wp-includes/blocks/post-comments-form/block.json index a3d6c49026a48..c9e9caa91d081 100644 --- a/src/wp-includes/blocks/post-comments-form/block.json +++ b/src/wp-includes/blocks/post-comments-form/block.json @@ -6,11 +6,6 @@ "category": "theme", "description": "Display a post's comments form.", "textdomain": "default", - "attributes": { - "textAlign": { - "type": "string" - } - }, "usesContext": [ "postId", "postType" ], "supports": { "anchor": true, @@ -31,6 +26,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontStyle": true, "__experimentalFontWeight": true, "__experimentalLetterSpacing": true, @@ -60,7 +56,11 @@ ], "example": { "attributes": { - "textAlign": "center" + "style": { + "typography": { + "textAlign": "center" + } + } } } } diff --git a/src/wp-includes/blocks/post-comments-link/block.json b/src/wp-includes/blocks/post-comments-link/block.json index fb300d7020d4b..c5c72c677adf6 100644 --- a/src/wp-includes/blocks/post-comments-link/block.json +++ b/src/wp-includes/blocks/post-comments-link/block.json @@ -7,11 +7,6 @@ "description": "Displays the link to the current post comments.", "textdomain": "default", "usesContext": [ "postType", "postId" ], - "attributes": { - "textAlign": { - "type": "string" - } - }, "example": { "viewportWidth": 350 }, @@ -33,6 +28,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/post-excerpt.php b/src/wp-includes/blocks/post-excerpt.php index abfa6a1ea5c6f..64748162cacc8 100644 --- a/src/wp-includes/blocks/post-excerpt.php +++ b/src/wp-includes/blocks/post-excerpt.php @@ -104,9 +104,6 @@ function register_block_core_post_excerpt() { * Returns 101 (one more than the max block setting of 100) to ensure * wp_trim_words can detect when trimming is needed and add the ellipsis. * - * For REST API requests, the filter is added on 'rest_api_init' - * because REST_REQUEST is not defined until 'parse_request'. - * * @since 7.0.0 * * @return int The excerpt length. @@ -118,9 +115,3 @@ function block_core_post_excerpt_excerpt_length() { if ( is_admin() ) { add_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); } -add_action( - 'rest_api_init', - static function () { - add_filter( 'excerpt_length', 'block_core_post_excerpt_excerpt_length', PHP_INT_MAX ); - } -); diff --git a/src/wp-includes/blocks/post-excerpt/block.json b/src/wp-includes/blocks/post-excerpt/block.json index 1a92da2332db6..99f6d5dcc99ed 100644 --- a/src/wp-includes/blocks/post-excerpt/block.json +++ b/src/wp-includes/blocks/post-excerpt/block.json @@ -46,6 +46,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textColumns": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/post-template.php b/src/wp-includes/blocks/post-template.php index 9126355c096a5..72ebbe0e13d13 100644 --- a/src/wp-includes/blocks/post-template.php +++ b/src/wp-includes/blocks/post-template.php @@ -48,11 +48,11 @@ function block_core_post_template_uses_featured_image( $inner_blocks ) { */ function render_block_core_post_template( $attributes, $content, $block ) { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; - $enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination']; + $enhanced_pagination = (bool) ( $block->context['enhancedPagination'] ?? false ); $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; // Use global query if needed. - $use_global_query = ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ); + $use_global_query = (bool) ( $block->context['query']['inherit'] ?? false ); if ( $use_global_query ) { global $wp_query; diff --git a/src/wp-includes/blocks/post-terms/block.json b/src/wp-includes/blocks/post-terms/block.json index 0ae8fbcd9d521..5dcb079d34713 100644 --- a/src/wp-includes/blocks/post-terms/block.json +++ b/src/wp-includes/blocks/post-terms/block.json @@ -10,9 +10,6 @@ "term": { "type": "string" }, - "textAlign": { - "type": "string" - }, "separator": { "type": "string", "default": ", " @@ -51,6 +48,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/post-time-to-read/block.json b/src/wp-includes/blocks/post-time-to-read/block.json index a9f64490731b6..18fd93c74d015 100644 --- a/src/wp-includes/blocks/post-time-to-read/block.json +++ b/src/wp-includes/blocks/post-time-to-read/block.json @@ -8,9 +8,6 @@ "textdomain": "default", "usesContext": [ "postId", "postType" ], "attributes": { - "textAlign": { - "type": "string" - }, "displayAsRange": { "type": "boolean", "default": true @@ -45,6 +42,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/query-pagination-next.php b/src/wp-includes/blocks/query-pagination-next.php index d574f94093846..5854f4c4e08cc 100644 --- a/src/wp-includes/blocks/query-pagination-next.php +++ b/src/wp-includes/blocks/query-pagination-next.php @@ -20,12 +20,12 @@ */ function render_block_core_query_pagination_next( $attributes, $content, $block ) { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; - $enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination']; + $enhanced_pagination = (bool) ( $block->context['enhancedPagination'] ?? false ); $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; - $max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0; + $max_page = (int) ( $block->context['query']['pages'] ?? 0 ); $wrapper_attributes = get_block_wrapper_attributes(); - $show_label = isset( $block->context['showLabel'] ) ? (bool) $block->context['showLabel'] : true; + $show_label = (bool) ( $block->context['showLabel'] ?? true ); $default_label = __( 'Next Page' ); $label_text = isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ? esc_html( $attributes['label'] ) : $default_label; $label = $show_label ? $label_text : ''; diff --git a/src/wp-includes/blocks/query-pagination-numbers.php b/src/wp-includes/blocks/query-pagination-numbers.php index fddf28660fe4f..35016fb169c6d 100644 --- a/src/wp-includes/blocks/query-pagination-numbers.php +++ b/src/wp-includes/blocks/query-pagination-numbers.php @@ -20,9 +20,9 @@ */ function render_block_core_query_pagination_numbers( $attributes, $content, $block ) { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; - $enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination']; + $enhanced_pagination = (bool) ( $block->context['enhancedPagination'] ?? false ); $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; - $max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0; + $max_page = (int) ( $block->context['query']['pages'] ?? 0 ); $wrapper_attributes = get_block_wrapper_attributes(); $content = ''; diff --git a/src/wp-includes/blocks/query-pagination-previous.php b/src/wp-includes/blocks/query-pagination-previous.php index ec3de8921d519..5fc53e7c3c5c7 100644 --- a/src/wp-includes/blocks/query-pagination-previous.php +++ b/src/wp-includes/blocks/query-pagination-previous.php @@ -18,11 +18,11 @@ */ function render_block_core_query_pagination_previous( $attributes, $content, $block ) { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; - $enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination']; - $max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0; + $enhanced_pagination = (bool) ( $block->context['enhancedPagination'] ?? false ); + $max_page = (int) ( $block->context['query']['pages'] ?? 0 ); $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; $wrapper_attributes = get_block_wrapper_attributes(); - $show_label = isset( $block->context['showLabel'] ) ? (bool) $block->context['showLabel'] : true; + $show_label = (bool) ( $block->context['showLabel'] ?? true ); $default_label = __( 'Previous Page' ); $label_text = isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ? esc_html( $attributes['label'] ) : $default_label; $label = $show_label ? $label_text : ''; diff --git a/src/wp-includes/blocks/query-title.php b/src/wp-includes/blocks/query-title.php index 3c3a4ee26233c..d26a3d08ae42a 100644 --- a/src/wp-includes/blocks/query-title.php +++ b/src/wp-includes/blocks/query-title.php @@ -74,8 +74,8 @@ function render_block_core_query_title( $attributes, $content, $block ) { } } - $level = isset( $attributes['level'] ) ? (int) $attributes['level'] : 1; - $tag_name = 0 === $level ? 'p' : 'h' . (int) $attributes['level']; + $level = (int) ( $attributes['level'] ?? 1 ); + $tag_name = 0 === $level ? 'p' : 'h' . $level; $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); diff --git a/src/wp-includes/blocks/query-total.php b/src/wp-includes/blocks/query-total.php index f63bb1b98eac0..54da2ca5757ae 100644 --- a/src/wp-includes/blocks/query-total.php +++ b/src/wp-includes/blocks/query-total.php @@ -21,12 +21,12 @@ function render_block_core_query_total( $attributes, $content, $block ) { global $wp_query; $wrapper_attributes = get_block_wrapper_attributes(); - if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) { + if ( $block->context['query']['inherit'] ?? false ) { $query_to_use = $wp_query; $current_page = max( 1, (int) get_query_var( 'paged', 1 ) ); } else { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; - $current_page = isset( $_GET[ $page_key ] ) ? (int) $_GET[ $page_key ] : 1; + $current_page = (int) ( $_GET[ $page_key ] ?? 1 ); $query_to_use = new WP_Query( build_query_vars_from_query_block( $block, $current_page ) ); } diff --git a/src/wp-includes/blocks/require-dynamic-blocks.php b/src/wp-includes/blocks/require-dynamic-blocks.php index bcc1d9ddfbd58..c56efd18d0211 100644 --- a/src/wp-includes/blocks/require-dynamic-blocks.php +++ b/src/wp-includes/blocks/require-dynamic-blocks.php @@ -37,6 +37,7 @@ require_once ABSPATH . WPINC . '/blocks/media-text.php'; require_once ABSPATH . WPINC . '/blocks/navigation.php'; require_once ABSPATH . WPINC . '/blocks/navigation-link.php'; +require_once ABSPATH . WPINC . '/blocks/navigation-overlay-close.php'; require_once ABSPATH . WPINC . '/blocks/navigation-submenu.php'; require_once ABSPATH . WPINC . '/blocks/page-list.php'; require_once ABSPATH . WPINC . '/blocks/page-list-item.php'; diff --git a/src/wp-includes/blocks/template-part.php b/src/wp-includes/blocks/template-part.php index 5c0ce01ceba97..25ba4e4a99624 100644 --- a/src/wp-includes/blocks/template-part.php +++ b/src/wp-includes/blocks/template-part.php @@ -195,7 +195,7 @@ function build_template_part_block_area_variations( $instance_variations ) { $defined_areas = get_allowed_block_template_part_areas(); foreach ( $defined_areas as $area ) { - if ( 'uncategorized' !== $area['area'] ) { + if ( 'uncategorized' !== $area['area'] && 'navigation-overlay' !== $area['area'] ) { $has_instance_for_area = false; foreach ( $instance_variations as $variation ) { if ( $variation['attributes']['area'] === $area['area'] ) { @@ -250,6 +250,13 @@ function build_template_part_block_instance_variations() { $icon_by_area = array_combine( array_column( $defined_areas, 'area' ), array_column( $defined_areas, 'icon' ) ); foreach ( $template_parts as $template_part ) { + // Navigation overlay template parts should not appear in the + // general inserter. They are managed through the Navigation + // block's overlay template part selector. + $scope = ( 'navigation-overlay' === $template_part->area ) + ? array() + : array( 'inserter' ); + $variations[] = array( 'name' => 'instance_' . sanitize_title( $template_part->slug ), 'title' => $template_part->title, @@ -263,7 +270,7 @@ function build_template_part_block_instance_variations() { 'theme' => $template_part->theme, 'area' => $template_part->area, ), - 'scope' => array( 'inserter' ), + 'scope' => $scope, 'icon' => $icon_by_area[ $template_part->area ] ?? null, 'example' => array( 'attributes' => array( diff --git a/src/wp-includes/blocks/term-description/block.json b/src/wp-includes/blocks/term-description/block.json index e5c17b764f061..c0894ec0fb46d 100644 --- a/src/wp-includes/blocks/term-description/block.json +++ b/src/wp-includes/blocks/term-description/block.json @@ -7,11 +7,6 @@ "description": "Display the description of categories, tags and custom taxonomies when viewing an archive.", "textdomain": "default", "usesContext": [ "termId", "taxonomy" ], - "attributes": { - "textAlign": { - "type": "string" - } - }, "supports": { "anchor": true, "align": [ "wide", "full" ], @@ -30,6 +25,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/verse/block.json b/src/wp-includes/blocks/verse/block.json index 53f404c2ab00c..b9915711a7993 100644 --- a/src/wp-includes/blocks/verse/block.json +++ b/src/wp-includes/blocks/verse/block.json @@ -2,10 +2,10 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 3, "name": "core/verse", - "title": "Verse", + "title": "Poetry", "category": "text", "description": "Insert poetry. Use special spacing formats. Or quote song lyrics.", - "keywords": [ "poetry", "poem" ], + "keywords": [ "poetry", "poem", "verse", "stanza", "song", "lyrics" ], "textdomain": "default", "attributes": { "content": { diff --git a/src/wp-includes/icons/library/accordion-heading.svg b/src/wp-includes/icons/library/accordion-heading.svg new file mode 100644 index 0000000000000..490a55584a8f6 --- /dev/null +++ b/src/wp-includes/icons/library/accordion-heading.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/accordion-item.svg b/src/wp-includes/icons/library/accordion-item.svg new file mode 100644 index 0000000000000..7bb8649f9b15b --- /dev/null +++ b/src/wp-includes/icons/library/accordion-item.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/accordion.svg b/src/wp-includes/icons/library/accordion.svg new file mode 100644 index 0000000000000..909d9150cfa79 --- /dev/null +++ b/src/wp-includes/icons/library/accordion.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/add-card.svg b/src/wp-includes/icons/library/add-card.svg new file mode 100644 index 0000000000000..91a4565df6934 --- /dev/null +++ b/src/wp-includes/icons/library/add-card.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/add-submenu.svg b/src/wp-includes/icons/library/add-submenu.svg new file mode 100644 index 0000000000000..19f9b28f6366d --- /dev/null +++ b/src/wp-includes/icons/library/add-submenu.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/add-template.svg b/src/wp-includes/icons/library/add-template.svg new file mode 100644 index 0000000000000..31b6107afcb62 --- /dev/null +++ b/src/wp-includes/icons/library/add-template.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/align-center.svg b/src/wp-includes/icons/library/align-center.svg new file mode 100644 index 0000000000000..4a859d45cc2a0 --- /dev/null +++ b/src/wp-includes/icons/library/align-center.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/align-justify.svg b/src/wp-includes/icons/library/align-justify.svg new file mode 100644 index 0000000000000..52c22e430d43a --- /dev/null +++ b/src/wp-includes/icons/library/align-justify.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/align-left.svg b/src/wp-includes/icons/library/align-left.svg new file mode 100644 index 0000000000000..5b26154484352 --- /dev/null +++ b/src/wp-includes/icons/library/align-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/align-none.svg b/src/wp-includes/icons/library/align-none.svg new file mode 100644 index 0000000000000..30942087145e5 --- /dev/null +++ b/src/wp-includes/icons/library/align-none.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/align-right.svg b/src/wp-includes/icons/library/align-right.svg new file mode 100644 index 0000000000000..6ad90bdb89678 --- /dev/null +++ b/src/wp-includes/icons/library/align-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/archive.svg b/src/wp-includes/icons/library/archive.svg new file mode 100644 index 0000000000000..661a9782231ef --- /dev/null +++ b/src/wp-includes/icons/library/archive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-down-left.svg b/src/wp-includes/icons/library/arrow-down-left.svg new file mode 100644 index 0000000000000..7ae619122cb18 --- /dev/null +++ b/src/wp-includes/icons/library/arrow-down-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-down-right.svg b/src/wp-includes/icons/library/arrow-down-right.svg new file mode 100644 index 0000000000000..96f3eaaa341f3 --- /dev/null +++ b/src/wp-includes/icons/library/arrow-down-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-down.svg b/src/wp-includes/icons/library/arrow-down.svg new file mode 100644 index 0000000000000..eec68fd0379db --- /dev/null +++ b/src/wp-includes/icons/library/arrow-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-left.svg b/src/wp-includes/icons/library/arrow-left.svg new file mode 100644 index 0000000000000..f0ad62990499b --- /dev/null +++ b/src/wp-includes/icons/library/arrow-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-right.svg b/src/wp-includes/icons/library/arrow-right.svg new file mode 100644 index 0000000000000..b1d35eb42725a --- /dev/null +++ b/src/wp-includes/icons/library/arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-up-left.svg b/src/wp-includes/icons/library/arrow-up-left.svg new file mode 100644 index 0000000000000..ace24ff41421c --- /dev/null +++ b/src/wp-includes/icons/library/arrow-up-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-up-right.svg b/src/wp-includes/icons/library/arrow-up-right.svg new file mode 100644 index 0000000000000..ff9807df94919 --- /dev/null +++ b/src/wp-includes/icons/library/arrow-up-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/arrow-up.svg b/src/wp-includes/icons/library/arrow-up.svg new file mode 100644 index 0000000000000..bc68d5bee25ba --- /dev/null +++ b/src/wp-includes/icons/library/arrow-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/aspect-ratio.svg b/src/wp-includes/icons/library/aspect-ratio.svg new file mode 100644 index 0000000000000..8d83f7635ebd7 --- /dev/null +++ b/src/wp-includes/icons/library/aspect-ratio.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/at-symbol.svg b/src/wp-includes/icons/library/at-symbol.svg new file mode 100644 index 0000000000000..d7280813c6a9c --- /dev/null +++ b/src/wp-includes/icons/library/at-symbol.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/audio.svg b/src/wp-includes/icons/library/audio.svg new file mode 100644 index 0000000000000..3cdbe1181dc10 --- /dev/null +++ b/src/wp-includes/icons/library/audio.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/background.svg b/src/wp-includes/icons/library/background.svg new file mode 100644 index 0000000000000..166c1db70dd50 --- /dev/null +++ b/src/wp-includes/icons/library/background.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/backup.svg b/src/wp-includes/icons/library/backup.svg new file mode 100644 index 0000000000000..4abf701d41fed --- /dev/null +++ b/src/wp-includes/icons/library/backup.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/bell-unread.svg b/src/wp-includes/icons/library/bell-unread.svg new file mode 100644 index 0000000000000..efdedbf25d4b3 --- /dev/null +++ b/src/wp-includes/icons/library/bell-unread.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/bell.svg b/src/wp-includes/icons/library/bell.svg new file mode 100644 index 0000000000000..c1bccda2275e7 --- /dev/null +++ b/src/wp-includes/icons/library/bell.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/block-default.svg b/src/wp-includes/icons/library/block-default.svg new file mode 100644 index 0000000000000..5c8e11103d994 --- /dev/null +++ b/src/wp-includes/icons/library/block-default.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/block-meta.svg b/src/wp-includes/icons/library/block-meta.svg new file mode 100644 index 0000000000000..81dfc1d3684d4 --- /dev/null +++ b/src/wp-includes/icons/library/block-meta.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/block-table.svg b/src/wp-includes/icons/library/block-table.svg new file mode 100644 index 0000000000000..44d91172e4c10 --- /dev/null +++ b/src/wp-includes/icons/library/block-table.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/border.svg b/src/wp-includes/icons/library/border.svg new file mode 100644 index 0000000000000..344181dccd79a --- /dev/null +++ b/src/wp-includes/icons/library/border.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/box.svg b/src/wp-includes/icons/library/box.svg new file mode 100644 index 0000000000000..396c4471cf40b --- /dev/null +++ b/src/wp-includes/icons/library/box.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/breadcrumbs.svg b/src/wp-includes/icons/library/breadcrumbs.svg new file mode 100644 index 0000000000000..96919bd87fe6c --- /dev/null +++ b/src/wp-includes/icons/library/breadcrumbs.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/brush.svg b/src/wp-includes/icons/library/brush.svg new file mode 100644 index 0000000000000..18dffa96f6993 --- /dev/null +++ b/src/wp-includes/icons/library/brush.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/bug.svg b/src/wp-includes/icons/library/bug.svg new file mode 100644 index 0000000000000..92ca3b18be2d8 --- /dev/null +++ b/src/wp-includes/icons/library/bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/button.svg b/src/wp-includes/icons/library/button.svg new file mode 100644 index 0000000000000..cbc2b05e75dcb --- /dev/null +++ b/src/wp-includes/icons/library/button.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/buttons.svg b/src/wp-includes/icons/library/buttons.svg new file mode 100644 index 0000000000000..fdc79c2b1b71d --- /dev/null +++ b/src/wp-includes/icons/library/buttons.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/calendar.svg b/src/wp-includes/icons/library/calendar.svg new file mode 100644 index 0000000000000..982890efb37a8 --- /dev/null +++ b/src/wp-includes/icons/library/calendar.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cancel-circle-filled.svg b/src/wp-includes/icons/library/cancel-circle-filled.svg new file mode 100644 index 0000000000000..63dce97f38000 --- /dev/null +++ b/src/wp-includes/icons/library/cancel-circle-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/caption.svg b/src/wp-includes/icons/library/caption.svg new file mode 100644 index 0000000000000..0fff644fb6176 --- /dev/null +++ b/src/wp-includes/icons/library/caption.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/capture-photo.svg b/src/wp-includes/icons/library/capture-photo.svg new file mode 100644 index 0000000000000..9322db371f060 --- /dev/null +++ b/src/wp-includes/icons/library/capture-photo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/capture-video.svg b/src/wp-includes/icons/library/capture-video.svg new file mode 100644 index 0000000000000..5fde23efb3d04 --- /dev/null +++ b/src/wp-includes/icons/library/capture-video.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cart.svg b/src/wp-includes/icons/library/cart.svg new file mode 100644 index 0000000000000..5bf6f6d45f559 --- /dev/null +++ b/src/wp-includes/icons/library/cart.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/category.svg b/src/wp-includes/icons/library/category.svg new file mode 100644 index 0000000000000..3b36e4f2fc00c --- /dev/null +++ b/src/wp-includes/icons/library/category.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/caution-filled.svg b/src/wp-includes/icons/library/caution-filled.svg new file mode 100644 index 0000000000000..6b35a8ea4d022 --- /dev/null +++ b/src/wp-includes/icons/library/caution-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/caution.svg b/src/wp-includes/icons/library/caution.svg new file mode 100644 index 0000000000000..3e6c70c263b9a --- /dev/null +++ b/src/wp-includes/icons/library/caution.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chart-bar.svg b/src/wp-includes/icons/library/chart-bar.svg new file mode 100644 index 0000000000000..c2bcf26f58a35 --- /dev/null +++ b/src/wp-includes/icons/library/chart-bar.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/check.svg b/src/wp-includes/icons/library/check.svg new file mode 100644 index 0000000000000..af0a393450169 --- /dev/null +++ b/src/wp-includes/icons/library/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-down-small.svg b/src/wp-includes/icons/library/chevron-down-small.svg new file mode 100644 index 0000000000000..c8fb1bfffa2f0 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-down-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-down.svg b/src/wp-includes/icons/library/chevron-down.svg new file mode 100644 index 0000000000000..bd3f8fb059df5 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-left-small.svg b/src/wp-includes/icons/library/chevron-left-small.svg new file mode 100644 index 0000000000000..b2ca179d1a59e --- /dev/null +++ b/src/wp-includes/icons/library/chevron-left-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-left.svg b/src/wp-includes/icons/library/chevron-left.svg new file mode 100644 index 0000000000000..6276e30f924a8 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-right-small.svg b/src/wp-includes/icons/library/chevron-right-small.svg new file mode 100644 index 0000000000000..956ca53c66147 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-right-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-right.svg b/src/wp-includes/icons/library/chevron-right.svg new file mode 100644 index 0000000000000..d4b7d6dac2b96 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-up-down.svg b/src/wp-includes/icons/library/chevron-up-down.svg new file mode 100644 index 0000000000000..7cdd5d61d0497 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-up-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-up-small.svg b/src/wp-includes/icons/library/chevron-up-small.svg new file mode 100644 index 0000000000000..e6be7bd3b841e --- /dev/null +++ b/src/wp-includes/icons/library/chevron-up-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/chevron-up.svg b/src/wp-includes/icons/library/chevron-up.svg new file mode 100644 index 0000000000000..59db09c28b612 --- /dev/null +++ b/src/wp-includes/icons/library/chevron-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/classic.svg b/src/wp-includes/icons/library/classic.svg new file mode 100644 index 0000000000000..d27703521a3cf --- /dev/null +++ b/src/wp-includes/icons/library/classic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/close-small.svg b/src/wp-includes/icons/library/close-small.svg new file mode 100644 index 0000000000000..5ba16b5c710f7 --- /dev/null +++ b/src/wp-includes/icons/library/close-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/close.svg b/src/wp-includes/icons/library/close.svg new file mode 100644 index 0000000000000..75be939490410 --- /dev/null +++ b/src/wp-includes/icons/library/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cloud-download.svg b/src/wp-includes/icons/library/cloud-download.svg new file mode 100644 index 0000000000000..6d2125241572b --- /dev/null +++ b/src/wp-includes/icons/library/cloud-download.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cloud-upload.svg b/src/wp-includes/icons/library/cloud-upload.svg new file mode 100644 index 0000000000000..513159068a773 --- /dev/null +++ b/src/wp-includes/icons/library/cloud-upload.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cloud.svg b/src/wp-includes/icons/library/cloud.svg new file mode 100644 index 0000000000000..9fb89b1aac649 --- /dev/null +++ b/src/wp-includes/icons/library/cloud.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/code.svg b/src/wp-includes/icons/library/code.svg new file mode 100644 index 0000000000000..24d4bdccbd5a2 --- /dev/null +++ b/src/wp-includes/icons/library/code.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/cog.svg b/src/wp-includes/icons/library/cog.svg new file mode 100644 index 0000000000000..d8b4b82c02c2d --- /dev/null +++ b/src/wp-includes/icons/library/cog.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/color.svg b/src/wp-includes/icons/library/color.svg new file mode 100644 index 0000000000000..07e1a13011a10 --- /dev/null +++ b/src/wp-includes/icons/library/color.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/column.svg b/src/wp-includes/icons/library/column.svg new file mode 100644 index 0000000000000..bd7e1e71e696a --- /dev/null +++ b/src/wp-includes/icons/library/column.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/columns.svg b/src/wp-includes/icons/library/columns.svg new file mode 100644 index 0000000000000..dc376abf5013d --- /dev/null +++ b/src/wp-includes/icons/library/columns.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/comment-author-avatar.svg b/src/wp-includes/icons/library/comment-author-avatar.svg new file mode 100644 index 0000000000000..d26ae18218da4 --- /dev/null +++ b/src/wp-includes/icons/library/comment-author-avatar.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/comment-author-name.svg b/src/wp-includes/icons/library/comment-author-name.svg new file mode 100644 index 0000000000000..260be0a635ba0 --- /dev/null +++ b/src/wp-includes/icons/library/comment-author-name.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/wp-includes/icons/library/comment-content.svg b/src/wp-includes/icons/library/comment-content.svg new file mode 100644 index 0000000000000..7094932f8e9cb --- /dev/null +++ b/src/wp-includes/icons/library/comment-content.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/comment-edit-link.svg b/src/wp-includes/icons/library/comment-edit-link.svg new file mode 100644 index 0000000000000..db400e2e871d9 --- /dev/null +++ b/src/wp-includes/icons/library/comment-edit-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/comment-reply-link.svg b/src/wp-includes/icons/library/comment-reply-link.svg new file mode 100644 index 0000000000000..49c79270c08a1 --- /dev/null +++ b/src/wp-includes/icons/library/comment-reply-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/comment.svg b/src/wp-includes/icons/library/comment.svg new file mode 100644 index 0000000000000..c95cfe7421875 --- /dev/null +++ b/src/wp-includes/icons/library/comment.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/connection.svg b/src/wp-includes/icons/library/connection.svg new file mode 100644 index 0000000000000..2193bd27a5f2c --- /dev/null +++ b/src/wp-includes/icons/library/connection.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/contents.svg b/src/wp-includes/icons/library/contents.svg new file mode 100644 index 0000000000000..c0e26159bef0f --- /dev/null +++ b/src/wp-includes/icons/library/contents.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/copy-small.svg b/src/wp-includes/icons/library/copy-small.svg new file mode 100644 index 0000000000000..40439846218e6 --- /dev/null +++ b/src/wp-includes/icons/library/copy-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/copy.svg b/src/wp-includes/icons/library/copy.svg new file mode 100644 index 0000000000000..8acb3bf068658 --- /dev/null +++ b/src/wp-includes/icons/library/copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/corner-all.svg b/src/wp-includes/icons/library/corner-all.svg new file mode 100644 index 0000000000000..455870f0f0127 --- /dev/null +++ b/src/wp-includes/icons/library/corner-all.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/corner-bottom-left.svg b/src/wp-includes/icons/library/corner-bottom-left.svg new file mode 100644 index 0000000000000..73ae5297c8fca --- /dev/null +++ b/src/wp-includes/icons/library/corner-bottom-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/corner-bottom-right.svg b/src/wp-includes/icons/library/corner-bottom-right.svg new file mode 100644 index 0000000000000..9d8416abc5c8a --- /dev/null +++ b/src/wp-includes/icons/library/corner-bottom-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/corner-top-left.svg b/src/wp-includes/icons/library/corner-top-left.svg new file mode 100644 index 0000000000000..d1c72c1b9d6c3 --- /dev/null +++ b/src/wp-includes/icons/library/corner-top-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/corner-top-right.svg b/src/wp-includes/icons/library/corner-top-right.svg new file mode 100644 index 0000000000000..bf806bb899a3c --- /dev/null +++ b/src/wp-includes/icons/library/corner-top-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wp-includes/icons/library/cover.svg b/src/wp-includes/icons/library/cover.svg new file mode 100644 index 0000000000000..d625a018cda7f --- /dev/null +++ b/src/wp-includes/icons/library/cover.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/create.svg b/src/wp-includes/icons/library/create.svg new file mode 100644 index 0000000000000..3e96b8596ee47 --- /dev/null +++ b/src/wp-includes/icons/library/create.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/crop.svg b/src/wp-includes/icons/library/crop.svg new file mode 100644 index 0000000000000..b56abed30292b --- /dev/null +++ b/src/wp-includes/icons/library/crop.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/currency-dollar.svg b/src/wp-includes/icons/library/currency-dollar.svg new file mode 100644 index 0000000000000..80089d8d68c35 --- /dev/null +++ b/src/wp-includes/icons/library/currency-dollar.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/currency-euro.svg b/src/wp-includes/icons/library/currency-euro.svg new file mode 100644 index 0000000000000..2e57f3726ec9e --- /dev/null +++ b/src/wp-includes/icons/library/currency-euro.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/currency-pound.svg b/src/wp-includes/icons/library/currency-pound.svg new file mode 100644 index 0000000000000..5a86fa25075e9 --- /dev/null +++ b/src/wp-includes/icons/library/currency-pound.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/custom-link.svg b/src/wp-includes/icons/library/custom-link.svg new file mode 100644 index 0000000000000..6294804a2acc9 --- /dev/null +++ b/src/wp-includes/icons/library/custom-link.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/custom-post-type.svg b/src/wp-includes/icons/library/custom-post-type.svg new file mode 100644 index 0000000000000..7c91be9bf21b2 --- /dev/null +++ b/src/wp-includes/icons/library/custom-post-type.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/dashboard.svg b/src/wp-includes/icons/library/dashboard.svg new file mode 100644 index 0000000000000..374d5ba916f7b --- /dev/null +++ b/src/wp-includes/icons/library/dashboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/desktop.svg b/src/wp-includes/icons/library/desktop.svg new file mode 100644 index 0000000000000..9d8a699f91834 --- /dev/null +++ b/src/wp-includes/icons/library/desktop.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/details.svg b/src/wp-includes/icons/library/details.svg new file mode 100644 index 0000000000000..cdc6d8cbdf2b3 --- /dev/null +++ b/src/wp-includes/icons/library/details.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/download.svg b/src/wp-includes/icons/library/download.svg new file mode 100644 index 0000000000000..9d3fbe682d25b --- /dev/null +++ b/src/wp-includes/icons/library/download.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/drafts.svg b/src/wp-includes/icons/library/drafts.svg new file mode 100644 index 0000000000000..4cd55eee757b5 --- /dev/null +++ b/src/wp-includes/icons/library/drafts.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/drag-handle.svg b/src/wp-includes/icons/library/drag-handle.svg new file mode 100644 index 0000000000000..e8012fd7721f9 --- /dev/null +++ b/src/wp-includes/icons/library/drag-handle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/drawer-left.svg b/src/wp-includes/icons/library/drawer-left.svg new file mode 100644 index 0000000000000..c0fd465b61f40 --- /dev/null +++ b/src/wp-includes/icons/library/drawer-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/drawer-right.svg b/src/wp-includes/icons/library/drawer-right.svg new file mode 100644 index 0000000000000..7b22105ae5a5d --- /dev/null +++ b/src/wp-includes/icons/library/drawer-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/envelope.svg b/src/wp-includes/icons/library/envelope.svg new file mode 100644 index 0000000000000..f41c0a915ba60 --- /dev/null +++ b/src/wp-includes/icons/library/envelope.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/error.svg b/src/wp-includes/icons/library/error.svg new file mode 100644 index 0000000000000..006d6aec28ca2 --- /dev/null +++ b/src/wp-includes/icons/library/error.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/external.svg b/src/wp-includes/icons/library/external.svg new file mode 100644 index 0000000000000..aa3348828b006 --- /dev/null +++ b/src/wp-includes/icons/library/external.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/file.svg b/src/wp-includes/icons/library/file.svg new file mode 100644 index 0000000000000..0144266c4425e --- /dev/null +++ b/src/wp-includes/icons/library/file.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/filter.svg b/src/wp-includes/icons/library/filter.svg new file mode 100644 index 0000000000000..6e83e036d0856 --- /dev/null +++ b/src/wp-includes/icons/library/filter.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/flip-horizontal.svg b/src/wp-includes/icons/library/flip-horizontal.svg new file mode 100644 index 0000000000000..62464773c0a76 --- /dev/null +++ b/src/wp-includes/icons/library/flip-horizontal.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/flip-vertical.svg b/src/wp-includes/icons/library/flip-vertical.svg new file mode 100644 index 0000000000000..a9ca7edc29bd7 --- /dev/null +++ b/src/wp-includes/icons/library/flip-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/footer.svg b/src/wp-includes/icons/library/footer.svg new file mode 100644 index 0000000000000..e888b893caf61 --- /dev/null +++ b/src/wp-includes/icons/library/footer.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-bold.svg b/src/wp-includes/icons/library/format-bold.svg new file mode 100644 index 0000000000000..89b84e8810fb2 --- /dev/null +++ b/src/wp-includes/icons/library/format-bold.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-capitalize.svg b/src/wp-includes/icons/library/format-capitalize.svg new file mode 100644 index 0000000000000..9dda39c17d68e --- /dev/null +++ b/src/wp-includes/icons/library/format-capitalize.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-indent-rtl.svg b/src/wp-includes/icons/library/format-indent-rtl.svg new file mode 100644 index 0000000000000..c85346d08b5fc --- /dev/null +++ b/src/wp-includes/icons/library/format-indent-rtl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-indent.svg b/src/wp-includes/icons/library/format-indent.svg new file mode 100644 index 0000000000000..a89e7d313d386 --- /dev/null +++ b/src/wp-includes/icons/library/format-indent.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-italic.svg b/src/wp-includes/icons/library/format-italic.svg new file mode 100644 index 0000000000000..fc2c5380a8d3e --- /dev/null +++ b/src/wp-includes/icons/library/format-italic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-list-bullets-rtl.svg b/src/wp-includes/icons/library/format-list-bullets-rtl.svg new file mode 100644 index 0000000000000..ecbcd95ee849b --- /dev/null +++ b/src/wp-includes/icons/library/format-list-bullets-rtl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-list-bullets.svg b/src/wp-includes/icons/library/format-list-bullets.svg new file mode 100644 index 0000000000000..7c855d82938ce --- /dev/null +++ b/src/wp-includes/icons/library/format-list-bullets.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-list-numbered-rtl.svg b/src/wp-includes/icons/library/format-list-numbered-rtl.svg new file mode 100644 index 0000000000000..e976b85248f19 --- /dev/null +++ b/src/wp-includes/icons/library/format-list-numbered-rtl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-list-numbered.svg b/src/wp-includes/icons/library/format-list-numbered.svg new file mode 100644 index 0000000000000..4febed3ea87a0 --- /dev/null +++ b/src/wp-includes/icons/library/format-list-numbered.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-lowercase.svg b/src/wp-includes/icons/library/format-lowercase.svg new file mode 100644 index 0000000000000..ccb9e2f07a7a4 --- /dev/null +++ b/src/wp-includes/icons/library/format-lowercase.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-ltr.svg b/src/wp-includes/icons/library/format-ltr.svg new file mode 100644 index 0000000000000..efc114919be8d --- /dev/null +++ b/src/wp-includes/icons/library/format-ltr.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-outdent-rtl.svg b/src/wp-includes/icons/library/format-outdent-rtl.svg new file mode 100644 index 0000000000000..c09ce6e45b511 --- /dev/null +++ b/src/wp-includes/icons/library/format-outdent-rtl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-outdent.svg b/src/wp-includes/icons/library/format-outdent.svg new file mode 100644 index 0000000000000..87a656789531a --- /dev/null +++ b/src/wp-includes/icons/library/format-outdent.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-rtl.svg b/src/wp-includes/icons/library/format-rtl.svg new file mode 100644 index 0000000000000..e2438fb7ca237 --- /dev/null +++ b/src/wp-includes/icons/library/format-rtl.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-strikethrough.svg b/src/wp-includes/icons/library/format-strikethrough.svg new file mode 100644 index 0000000000000..e4b87f5dbe1fe --- /dev/null +++ b/src/wp-includes/icons/library/format-strikethrough.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-underline.svg b/src/wp-includes/icons/library/format-underline.svg new file mode 100644 index 0000000000000..be2f1b5cb4f87 --- /dev/null +++ b/src/wp-includes/icons/library/format-underline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/format-uppercase.svg b/src/wp-includes/icons/library/format-uppercase.svg new file mode 100644 index 0000000000000..6521cb22e029a --- /dev/null +++ b/src/wp-includes/icons/library/format-uppercase.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/full-height.svg b/src/wp-includes/icons/library/full-height.svg new file mode 100644 index 0000000000000..cbe69cfb604a3 --- /dev/null +++ b/src/wp-includes/icons/library/full-height.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/fullscreen.svg b/src/wp-includes/icons/library/fullscreen.svg new file mode 100644 index 0000000000000..18dde7bea3e75 --- /dev/null +++ b/src/wp-includes/icons/library/fullscreen.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/funnel.svg b/src/wp-includes/icons/library/funnel.svg new file mode 100644 index 0000000000000..903a7ec4ab215 --- /dev/null +++ b/src/wp-includes/icons/library/funnel.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/gallery.svg b/src/wp-includes/icons/library/gallery.svg new file mode 100644 index 0000000000000..389a918817fcb --- /dev/null +++ b/src/wp-includes/icons/library/gallery.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/gift.svg b/src/wp-includes/icons/library/gift.svg new file mode 100644 index 0000000000000..39727cb9fa491 --- /dev/null +++ b/src/wp-includes/icons/library/gift.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/globe.svg b/src/wp-includes/icons/library/globe.svg new file mode 100644 index 0000000000000..5c1274db85467 --- /dev/null +++ b/src/wp-includes/icons/library/globe.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/grid.svg b/src/wp-includes/icons/library/grid.svg new file mode 100644 index 0000000000000..62617fcb82680 --- /dev/null +++ b/src/wp-includes/icons/library/grid.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/group.svg b/src/wp-includes/icons/library/group.svg new file mode 100644 index 0000000000000..8f00bd1d043d2 --- /dev/null +++ b/src/wp-includes/icons/library/group.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/handle.svg b/src/wp-includes/icons/library/handle.svg new file mode 100644 index 0000000000000..3dd7cb09a490b --- /dev/null +++ b/src/wp-includes/icons/library/handle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/header.svg b/src/wp-includes/icons/library/header.svg new file mode 100644 index 0000000000000..5d051294f2802 --- /dev/null +++ b/src/wp-includes/icons/library/header.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-1.svg b/src/wp-includes/icons/library/heading-level-1.svg new file mode 100644 index 0000000000000..8cfb64f53f8f8 --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-1.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-2.svg b/src/wp-includes/icons/library/heading-level-2.svg new file mode 100644 index 0000000000000..cf38f4d17adef --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-3.svg b/src/wp-includes/icons/library/heading-level-3.svg new file mode 100644 index 0000000000000..03d52fee98d61 --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-3.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-4.svg b/src/wp-includes/icons/library/heading-level-4.svg new file mode 100644 index 0000000000000..556d57faa256c --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-4.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-5.svg b/src/wp-includes/icons/library/heading-level-5.svg new file mode 100644 index 0000000000000..6f4858ef0bc5f --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-5.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading-level-6.svg b/src/wp-includes/icons/library/heading-level-6.svg new file mode 100644 index 0000000000000..511099d84a27a --- /dev/null +++ b/src/wp-includes/icons/library/heading-level-6.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/heading.svg b/src/wp-includes/icons/library/heading.svg new file mode 100644 index 0000000000000..51f90adaa39c2 --- /dev/null +++ b/src/wp-includes/icons/library/heading.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/help-filled.svg b/src/wp-includes/icons/library/help-filled.svg new file mode 100644 index 0000000000000..9c8cf7e6b5c07 --- /dev/null +++ b/src/wp-includes/icons/library/help-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/help.svg b/src/wp-includes/icons/library/help.svg new file mode 100644 index 0000000000000..ae2167edb7ce5 --- /dev/null +++ b/src/wp-includes/icons/library/help.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/home-button.svg b/src/wp-includes/icons/library/home-button.svg new file mode 100644 index 0000000000000..c9798175aa921 --- /dev/null +++ b/src/wp-includes/icons/library/home-button.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/home.svg b/src/wp-includes/icons/library/home.svg new file mode 100644 index 0000000000000..bedfb6e00f593 --- /dev/null +++ b/src/wp-includes/icons/library/home.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/html.svg b/src/wp-includes/icons/library/html.svg new file mode 100644 index 0000000000000..da3eafd242cf3 --- /dev/null +++ b/src/wp-includes/icons/library/html.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/image.svg b/src/wp-includes/icons/library/image.svg new file mode 100644 index 0000000000000..e14678e2cf4ab --- /dev/null +++ b/src/wp-includes/icons/library/image.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/inbox.svg b/src/wp-includes/icons/library/inbox.svg new file mode 100644 index 0000000000000..af82f9eb05e2a --- /dev/null +++ b/src/wp-includes/icons/library/inbox.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/info.svg b/src/wp-includes/icons/library/info.svg new file mode 100644 index 0000000000000..9d7afc85fae83 --- /dev/null +++ b/src/wp-includes/icons/library/info.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/insert-after.svg b/src/wp-includes/icons/library/insert-after.svg new file mode 100644 index 0000000000000..6743fe8043803 --- /dev/null +++ b/src/wp-includes/icons/library/insert-after.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/insert-before.svg b/src/wp-includes/icons/library/insert-before.svg new file mode 100644 index 0000000000000..90ceb9c31fb7a --- /dev/null +++ b/src/wp-includes/icons/library/insert-before.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/institution.svg b/src/wp-includes/icons/library/institution.svg new file mode 100644 index 0000000000000..fa5e94b06cf04 --- /dev/null +++ b/src/wp-includes/icons/library/institution.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-bottom.svg b/src/wp-includes/icons/library/justify-bottom.svg new file mode 100644 index 0000000000000..983f354b08d9d --- /dev/null +++ b/src/wp-includes/icons/library/justify-bottom.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-center-vertical.svg b/src/wp-includes/icons/library/justify-center-vertical.svg new file mode 100644 index 0000000000000..09fa620daedc5 --- /dev/null +++ b/src/wp-includes/icons/library/justify-center-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-center.svg b/src/wp-includes/icons/library/justify-center.svg new file mode 100644 index 0000000000000..17eb01f512295 --- /dev/null +++ b/src/wp-includes/icons/library/justify-center.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-left.svg b/src/wp-includes/icons/library/justify-left.svg new file mode 100644 index 0000000000000..f3913733ecf92 --- /dev/null +++ b/src/wp-includes/icons/library/justify-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-right.svg b/src/wp-includes/icons/library/justify-right.svg new file mode 100644 index 0000000000000..6238f51099b5f --- /dev/null +++ b/src/wp-includes/icons/library/justify-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-space-between-vertical.svg b/src/wp-includes/icons/library/justify-space-between-vertical.svg new file mode 100644 index 0000000000000..1fb2a4145c22f --- /dev/null +++ b/src/wp-includes/icons/library/justify-space-between-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-space-between.svg b/src/wp-includes/icons/library/justify-space-between.svg new file mode 100644 index 0000000000000..f562659d010a0 --- /dev/null +++ b/src/wp-includes/icons/library/justify-space-between.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-stretch-vertical.svg b/src/wp-includes/icons/library/justify-stretch-vertical.svg new file mode 100644 index 0000000000000..cff13e239deac --- /dev/null +++ b/src/wp-includes/icons/library/justify-stretch-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-stretch.svg b/src/wp-includes/icons/library/justify-stretch.svg new file mode 100644 index 0000000000000..5e7d892b5b717 --- /dev/null +++ b/src/wp-includes/icons/library/justify-stretch.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/justify-top.svg b/src/wp-includes/icons/library/justify-top.svg new file mode 100644 index 0000000000000..2e0bfacd43dd9 --- /dev/null +++ b/src/wp-includes/icons/library/justify-top.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/key.svg b/src/wp-includes/icons/library/key.svg new file mode 100644 index 0000000000000..b04dde57aa7fa --- /dev/null +++ b/src/wp-includes/icons/library/key.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/keyboard-close.svg b/src/wp-includes/icons/library/keyboard-close.svg new file mode 100644 index 0000000000000..db193d038e347 --- /dev/null +++ b/src/wp-includes/icons/library/keyboard-close.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/keyboard-return.svg b/src/wp-includes/icons/library/keyboard-return.svg new file mode 100644 index 0000000000000..db53403b3db6a --- /dev/null +++ b/src/wp-includes/icons/library/keyboard-return.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/keyboard.svg b/src/wp-includes/icons/library/keyboard.svg new file mode 100644 index 0000000000000..34fcf1a2e5fa4 --- /dev/null +++ b/src/wp-includes/icons/library/keyboard.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/language.svg b/src/wp-includes/icons/library/language.svg new file mode 100644 index 0000000000000..42b3b549824f2 --- /dev/null +++ b/src/wp-includes/icons/library/language.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/layout.svg b/src/wp-includes/icons/library/layout.svg new file mode 100644 index 0000000000000..9179ce8e9b1db --- /dev/null +++ b/src/wp-includes/icons/library/layout.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/level-up.svg b/src/wp-includes/icons/library/level-up.svg new file mode 100644 index 0000000000000..fbd9a5d69c483 --- /dev/null +++ b/src/wp-includes/icons/library/level-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/lifesaver.svg b/src/wp-includes/icons/library/lifesaver.svg new file mode 100644 index 0000000000000..766784ed531bd --- /dev/null +++ b/src/wp-includes/icons/library/lifesaver.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/line-dashed.svg b/src/wp-includes/icons/library/line-dashed.svg new file mode 100644 index 0000000000000..0fff9b3f2bfe5 --- /dev/null +++ b/src/wp-includes/icons/library/line-dashed.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/line-dotted.svg b/src/wp-includes/icons/library/line-dotted.svg new file mode 100644 index 0000000000000..ba9ff4a2b299e --- /dev/null +++ b/src/wp-includes/icons/library/line-dotted.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/line-solid.svg b/src/wp-includes/icons/library/line-solid.svg new file mode 100644 index 0000000000000..95aa7137b5bdb --- /dev/null +++ b/src/wp-includes/icons/library/line-solid.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/link-off.svg b/src/wp-includes/icons/library/link-off.svg new file mode 100644 index 0000000000000..bb22938f6522a --- /dev/null +++ b/src/wp-includes/icons/library/link-off.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/link.svg b/src/wp-includes/icons/library/link.svg new file mode 100644 index 0000000000000..5be28f494efe5 --- /dev/null +++ b/src/wp-includes/icons/library/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/list-item.svg b/src/wp-includes/icons/library/list-item.svg new file mode 100644 index 0000000000000..96f60ae5cf213 --- /dev/null +++ b/src/wp-includes/icons/library/list-item.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/list-view.svg b/src/wp-includes/icons/library/list-view.svg new file mode 100644 index 0000000000000..3df1c41cbffeb --- /dev/null +++ b/src/wp-includes/icons/library/list-view.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/list.svg b/src/wp-includes/icons/library/list.svg new file mode 100644 index 0000000000000..1178564a6b81d --- /dev/null +++ b/src/wp-includes/icons/library/list.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/lock-outline.svg b/src/wp-includes/icons/library/lock-outline.svg new file mode 100644 index 0000000000000..aae2b8e0d25dd --- /dev/null +++ b/src/wp-includes/icons/library/lock-outline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/lock-small.svg b/src/wp-includes/icons/library/lock-small.svg new file mode 100644 index 0000000000000..68c43b0e94e45 --- /dev/null +++ b/src/wp-includes/icons/library/lock-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/lock.svg b/src/wp-includes/icons/library/lock.svg new file mode 100644 index 0000000000000..4c51bf5efc8a4 --- /dev/null +++ b/src/wp-includes/icons/library/lock.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/login.svg b/src/wp-includes/icons/library/login.svg new file mode 100644 index 0000000000000..220c8635b92cc --- /dev/null +++ b/src/wp-includes/icons/library/login.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/loop.svg b/src/wp-includes/icons/library/loop.svg new file mode 100644 index 0000000000000..eaf69f00a6d41 --- /dev/null +++ b/src/wp-includes/icons/library/loop.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/map-marker.svg b/src/wp-includes/icons/library/map-marker.svg new file mode 100644 index 0000000000000..09102ac0ce2bc --- /dev/null +++ b/src/wp-includes/icons/library/map-marker.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/math.svg b/src/wp-includes/icons/library/math.svg new file mode 100644 index 0000000000000..eeda5f831717e --- /dev/null +++ b/src/wp-includes/icons/library/math.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/media-and-text.svg b/src/wp-includes/icons/library/media-and-text.svg new file mode 100644 index 0000000000000..d63b328cb4abe --- /dev/null +++ b/src/wp-includes/icons/library/media-and-text.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/media.svg b/src/wp-includes/icons/library/media.svg new file mode 100644 index 0000000000000..c529ab8413db1 --- /dev/null +++ b/src/wp-includes/icons/library/media.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/megaphone.svg b/src/wp-includes/icons/library/megaphone.svg new file mode 100644 index 0000000000000..0a76cbd05a5c7 --- /dev/null +++ b/src/wp-includes/icons/library/megaphone.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/menu.svg b/src/wp-includes/icons/library/menu.svg new file mode 100644 index 0000000000000..58c9c4d2701c9 --- /dev/null +++ b/src/wp-includes/icons/library/menu.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/mobile.svg b/src/wp-includes/icons/library/mobile.svg new file mode 100644 index 0000000000000..90410b38463b2 --- /dev/null +++ b/src/wp-includes/icons/library/mobile.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/more-horizontal.svg b/src/wp-includes/icons/library/more-horizontal.svg new file mode 100644 index 0000000000000..9abb19ec73607 --- /dev/null +++ b/src/wp-includes/icons/library/more-horizontal.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/more-vertical.svg b/src/wp-includes/icons/library/more-vertical.svg new file mode 100644 index 0000000000000..469a873d1f01f --- /dev/null +++ b/src/wp-includes/icons/library/more-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/more.svg b/src/wp-includes/icons/library/more.svg new file mode 100644 index 0000000000000..f1264ebba4fc2 --- /dev/null +++ b/src/wp-includes/icons/library/more.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/move-to.svg b/src/wp-includes/icons/library/move-to.svg new file mode 100644 index 0000000000000..26cf713a06c36 --- /dev/null +++ b/src/wp-includes/icons/library/move-to.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/navigation-overlay.svg b/src/wp-includes/icons/library/navigation-overlay.svg new file mode 100644 index 0000000000000..83425951477b7 --- /dev/null +++ b/src/wp-includes/icons/library/navigation-overlay.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/navigation.svg b/src/wp-includes/icons/library/navigation.svg new file mode 100644 index 0000000000000..9897b55a11927 --- /dev/null +++ b/src/wp-includes/icons/library/navigation.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/next.svg b/src/wp-includes/icons/library/next.svg new file mode 100644 index 0000000000000..c4a9b1b454b38 --- /dev/null +++ b/src/wp-includes/icons/library/next.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/not-allowed.svg b/src/wp-includes/icons/library/not-allowed.svg new file mode 100644 index 0000000000000..4550385ac2e3a --- /dev/null +++ b/src/wp-includes/icons/library/not-allowed.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/not-found.svg b/src/wp-includes/icons/library/not-found.svg new file mode 100644 index 0000000000000..a436d883f5ac7 --- /dev/null +++ b/src/wp-includes/icons/library/not-found.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/offline.svg b/src/wp-includes/icons/library/offline.svg new file mode 100644 index 0000000000000..ddd432987997f --- /dev/null +++ b/src/wp-includes/icons/library/offline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/overlay-text.svg b/src/wp-includes/icons/library/overlay-text.svg new file mode 100644 index 0000000000000..0b15b071b67a6 --- /dev/null +++ b/src/wp-includes/icons/library/overlay-text.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/page-break.svg b/src/wp-includes/icons/library/page-break.svg new file mode 100644 index 0000000000000..0f9dd1f1b7a2f --- /dev/null +++ b/src/wp-includes/icons/library/page-break.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/page.svg b/src/wp-includes/icons/library/page.svg new file mode 100644 index 0000000000000..ce1918e963dd6 --- /dev/null +++ b/src/wp-includes/icons/library/page.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/pages.svg b/src/wp-includes/icons/library/pages.svg new file mode 100644 index 0000000000000..4cfedd8e91f01 --- /dev/null +++ b/src/wp-includes/icons/library/pages.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/wp-includes/icons/library/paragraph.svg b/src/wp-includes/icons/library/paragraph.svg new file mode 100644 index 0000000000000..a5945a65500e6 --- /dev/null +++ b/src/wp-includes/icons/library/paragraph.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/payment.svg b/src/wp-includes/icons/library/payment.svg new file mode 100644 index 0000000000000..305e1e2495e9c --- /dev/null +++ b/src/wp-includes/icons/library/payment.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pencil.svg b/src/wp-includes/icons/library/pencil.svg new file mode 100644 index 0000000000000..6a6fccc85deed --- /dev/null +++ b/src/wp-includes/icons/library/pencil.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pending.svg b/src/wp-includes/icons/library/pending.svg new file mode 100644 index 0000000000000..ef3b154b2240f --- /dev/null +++ b/src/wp-includes/icons/library/pending.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/people.svg b/src/wp-includes/icons/library/people.svg new file mode 100644 index 0000000000000..352a6410e30bc --- /dev/null +++ b/src/wp-includes/icons/library/people.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/percent.svg b/src/wp-includes/icons/library/percent.svg new file mode 100644 index 0000000000000..bb1bf2a134d49 --- /dev/null +++ b/src/wp-includes/icons/library/percent.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pin-small.svg b/src/wp-includes/icons/library/pin-small.svg new file mode 100644 index 0000000000000..25a36f5e6a801 --- /dev/null +++ b/src/wp-includes/icons/library/pin-small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pin.svg b/src/wp-includes/icons/library/pin.svg new file mode 100644 index 0000000000000..a61c2cafad05e --- /dev/null +++ b/src/wp-includes/icons/library/pin.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/plugins.svg b/src/wp-includes/icons/library/plugins.svg new file mode 100644 index 0000000000000..a74ce8910aac1 --- /dev/null +++ b/src/wp-includes/icons/library/plugins.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/plus-circle-filled.svg b/src/wp-includes/icons/library/plus-circle-filled.svg new file mode 100644 index 0000000000000..e46a7e178e589 --- /dev/null +++ b/src/wp-includes/icons/library/plus-circle-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/plus-circle.svg b/src/wp-includes/icons/library/plus-circle.svg new file mode 100644 index 0000000000000..9ab6d1bbd7fee --- /dev/null +++ b/src/wp-includes/icons/library/plus-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/plus.svg b/src/wp-includes/icons/library/plus.svg new file mode 100644 index 0000000000000..09776c79ee92a --- /dev/null +++ b/src/wp-includes/icons/library/plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/position-center.svg b/src/wp-includes/icons/library/position-center.svg new file mode 100644 index 0000000000000..ab9a1990373c3 --- /dev/null +++ b/src/wp-includes/icons/library/position-center.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/position-left.svg b/src/wp-includes/icons/library/position-left.svg new file mode 100644 index 0000000000000..a1b96ae2f92f3 --- /dev/null +++ b/src/wp-includes/icons/library/position-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/position-right.svg b/src/wp-includes/icons/library/position-right.svg new file mode 100644 index 0000000000000..1abb237622be8 --- /dev/null +++ b/src/wp-includes/icons/library/position-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-author.svg b/src/wp-includes/icons/library/post-author.svg new file mode 100644 index 0000000000000..acbf5f1383c1c --- /dev/null +++ b/src/wp-includes/icons/library/post-author.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-categories.svg b/src/wp-includes/icons/library/post-categories.svg new file mode 100644 index 0000000000000..22471982de366 --- /dev/null +++ b/src/wp-includes/icons/library/post-categories.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-comments-count.svg b/src/wp-includes/icons/library/post-comments-count.svg new file mode 100644 index 0000000000000..55caa3b60a080 --- /dev/null +++ b/src/wp-includes/icons/library/post-comments-count.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-comments-form.svg b/src/wp-includes/icons/library/post-comments-form.svg new file mode 100644 index 0000000000000..ecbdd4766e127 --- /dev/null +++ b/src/wp-includes/icons/library/post-comments-form.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-comments.svg b/src/wp-includes/icons/library/post-comments.svg new file mode 100644 index 0000000000000..b05d4bf1a167a --- /dev/null +++ b/src/wp-includes/icons/library/post-comments.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-content.svg b/src/wp-includes/icons/library/post-content.svg new file mode 100644 index 0000000000000..82a7c427a11a9 --- /dev/null +++ b/src/wp-includes/icons/library/post-content.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-date.svg b/src/wp-includes/icons/library/post-date.svg new file mode 100644 index 0000000000000..84bc05d2549fa --- /dev/null +++ b/src/wp-includes/icons/library/post-date.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/post-excerpt.svg b/src/wp-includes/icons/library/post-excerpt.svg new file mode 100644 index 0000000000000..8dca8a3ab16f7 --- /dev/null +++ b/src/wp-includes/icons/library/post-excerpt.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-featured-image.svg b/src/wp-includes/icons/library/post-featured-image.svg new file mode 100644 index 0000000000000..d5c88159e5843 --- /dev/null +++ b/src/wp-includes/icons/library/post-featured-image.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-list.svg b/src/wp-includes/icons/library/post-list.svg new file mode 100644 index 0000000000000..008b1dc86a66e --- /dev/null +++ b/src/wp-includes/icons/library/post-list.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post-terms.svg b/src/wp-includes/icons/library/post-terms.svg new file mode 100644 index 0000000000000..1df12e6e31d53 --- /dev/null +++ b/src/wp-includes/icons/library/post-terms.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/post.svg b/src/wp-includes/icons/library/post.svg new file mode 100644 index 0000000000000..be934e242a1cd --- /dev/null +++ b/src/wp-includes/icons/library/post.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/preformatted.svg b/src/wp-includes/icons/library/preformatted.svg new file mode 100644 index 0000000000000..231d6e77a5fcd --- /dev/null +++ b/src/wp-includes/icons/library/preformatted.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/previous.svg b/src/wp-includes/icons/library/previous.svg new file mode 100644 index 0000000000000..ea03926c3aa11 --- /dev/null +++ b/src/wp-includes/icons/library/previous.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/published.svg b/src/wp-includes/icons/library/published.svg new file mode 100644 index 0000000000000..13dfc4bb18164 --- /dev/null +++ b/src/wp-includes/icons/library/published.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pull-left.svg b/src/wp-includes/icons/library/pull-left.svg new file mode 100644 index 0000000000000..016da89b0afc1 --- /dev/null +++ b/src/wp-includes/icons/library/pull-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pull-right.svg b/src/wp-includes/icons/library/pull-right.svg new file mode 100644 index 0000000000000..688280c37fbc7 --- /dev/null +++ b/src/wp-includes/icons/library/pull-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/pullquote.svg b/src/wp-includes/icons/library/pullquote.svg new file mode 100644 index 0000000000000..6fe0e1447936b --- /dev/null +++ b/src/wp-includes/icons/library/pullquote.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/query-pagination-next.svg b/src/wp-includes/icons/library/query-pagination-next.svg new file mode 100644 index 0000000000000..8925c33bfd4fb --- /dev/null +++ b/src/wp-includes/icons/library/query-pagination-next.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/query-pagination-numbers.svg b/src/wp-includes/icons/library/query-pagination-numbers.svg new file mode 100644 index 0000000000000..7fdff964d8a86 --- /dev/null +++ b/src/wp-includes/icons/library/query-pagination-numbers.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/query-pagination-previous.svg b/src/wp-includes/icons/library/query-pagination-previous.svg new file mode 100644 index 0000000000000..c8bc7eb8e032d --- /dev/null +++ b/src/wp-includes/icons/library/query-pagination-previous.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/query-pagination.svg b/src/wp-includes/icons/library/query-pagination.svg new file mode 100644 index 0000000000000..6c6cb0cfed672 --- /dev/null +++ b/src/wp-includes/icons/library/query-pagination.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/quote.svg b/src/wp-includes/icons/library/quote.svg new file mode 100644 index 0000000000000..655bd131dfe3f --- /dev/null +++ b/src/wp-includes/icons/library/quote.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/receipt.svg b/src/wp-includes/icons/library/receipt.svg new file mode 100644 index 0000000000000..def9c8118f0fc --- /dev/null +++ b/src/wp-includes/icons/library/receipt.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/redo.svg b/src/wp-includes/icons/library/redo.svg new file mode 100644 index 0000000000000..8adb40ee5d946 --- /dev/null +++ b/src/wp-includes/icons/library/redo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/remove-bug.svg b/src/wp-includes/icons/library/remove-bug.svg new file mode 100644 index 0000000000000..07fc6c0b05a76 --- /dev/null +++ b/src/wp-includes/icons/library/remove-bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/remove-submenu.svg b/src/wp-includes/icons/library/remove-submenu.svg new file mode 100644 index 0000000000000..e57bd6f94bed2 --- /dev/null +++ b/src/wp-includes/icons/library/remove-submenu.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/replace.svg b/src/wp-includes/icons/library/replace.svg new file mode 100644 index 0000000000000..c4629ecaf869d --- /dev/null +++ b/src/wp-includes/icons/library/replace.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/reset.svg b/src/wp-includes/icons/library/reset.svg new file mode 100644 index 0000000000000..660c39b49123c --- /dev/null +++ b/src/wp-includes/icons/library/reset.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/resize-corner-n-e.svg b/src/wp-includes/icons/library/resize-corner-n-e.svg new file mode 100644 index 0000000000000..764fec3b29bde --- /dev/null +++ b/src/wp-includes/icons/library/resize-corner-n-e.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/reusable-block.svg b/src/wp-includes/icons/library/reusable-block.svg new file mode 100644 index 0000000000000..e6879cc660bc4 --- /dev/null +++ b/src/wp-includes/icons/library/reusable-block.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/rotate-left.svg b/src/wp-includes/icons/library/rotate-left.svg new file mode 100644 index 0000000000000..262ab29a96648 --- /dev/null +++ b/src/wp-includes/icons/library/rotate-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/rotate-right.svg b/src/wp-includes/icons/library/rotate-right.svg new file mode 100644 index 0000000000000..deb8cc272a1b3 --- /dev/null +++ b/src/wp-includes/icons/library/rotate-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/row.svg b/src/wp-includes/icons/library/row.svg new file mode 100644 index 0000000000000..1ce7a6a417ac7 --- /dev/null +++ b/src/wp-includes/icons/library/row.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/rss.svg b/src/wp-includes/icons/library/rss.svg new file mode 100644 index 0000000000000..47af92eca26a6 --- /dev/null +++ b/src/wp-includes/icons/library/rss.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/scheduled.svg b/src/wp-includes/icons/library/scheduled.svg new file mode 100644 index 0000000000000..1a1e769092211 --- /dev/null +++ b/src/wp-includes/icons/library/scheduled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/search.svg b/src/wp-includes/icons/library/search.svg new file mode 100644 index 0000000000000..fe24af8e80dec --- /dev/null +++ b/src/wp-includes/icons/library/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/seen.svg b/src/wp-includes/icons/library/seen.svg new file mode 100644 index 0000000000000..b8bf2575dc8a4 --- /dev/null +++ b/src/wp-includes/icons/library/seen.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/send.svg b/src/wp-includes/icons/library/send.svg new file mode 100644 index 0000000000000..31444a297e420 --- /dev/null +++ b/src/wp-includes/icons/library/send.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/separator.svg b/src/wp-includes/icons/library/separator.svg new file mode 100644 index 0000000000000..f2ec17aea2a29 --- /dev/null +++ b/src/wp-includes/icons/library/separator.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/settings.svg b/src/wp-includes/icons/library/settings.svg new file mode 100644 index 0000000000000..a6b1d86540ad9 --- /dev/null +++ b/src/wp-includes/icons/library/settings.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/shadow.svg b/src/wp-includes/icons/library/shadow.svg new file mode 100644 index 0000000000000..41a5c2cac7f09 --- /dev/null +++ b/src/wp-includes/icons/library/shadow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/share.svg b/src/wp-includes/icons/library/share.svg new file mode 100644 index 0000000000000..2ed89feccf56b --- /dev/null +++ b/src/wp-includes/icons/library/share.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/shield.svg b/src/wp-includes/icons/library/shield.svg new file mode 100644 index 0000000000000..33e45e6228de5 --- /dev/null +++ b/src/wp-includes/icons/library/shield.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/shipping.svg b/src/wp-includes/icons/library/shipping.svg new file mode 100644 index 0000000000000..f987d40c9725f --- /dev/null +++ b/src/wp-includes/icons/library/shipping.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/shortcode.svg b/src/wp-includes/icons/library/shortcode.svg new file mode 100644 index 0000000000000..f0e3b412d73f8 --- /dev/null +++ b/src/wp-includes/icons/library/shortcode.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/shuffle.svg b/src/wp-includes/icons/library/shuffle.svg new file mode 100644 index 0000000000000..2683ef13fb50a --- /dev/null +++ b/src/wp-includes/icons/library/shuffle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/sidebar.svg b/src/wp-includes/icons/library/sidebar.svg new file mode 100644 index 0000000000000..15d5880d3fe93 --- /dev/null +++ b/src/wp-includes/icons/library/sidebar.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/sides-all.svg b/src/wp-includes/icons/library/sides-all.svg new file mode 100644 index 0000000000000..afbf1775bb9b8 --- /dev/null +++ b/src/wp-includes/icons/library/sides-all.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/sides-axial.svg b/src/wp-includes/icons/library/sides-axial.svg new file mode 100644 index 0000000000000..08f202cfa6d16 --- /dev/null +++ b/src/wp-includes/icons/library/sides-axial.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/sides-bottom.svg b/src/wp-includes/icons/library/sides-bottom.svg new file mode 100644 index 0000000000000..7e477e5d6d7af --- /dev/null +++ b/src/wp-includes/icons/library/sides-bottom.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/sides-horizontal.svg b/src/wp-includes/icons/library/sides-horizontal.svg new file mode 100644 index 0000000000000..df651421e339e --- /dev/null +++ b/src/wp-includes/icons/library/sides-horizontal.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/wp-includes/icons/library/sides-left.svg b/src/wp-includes/icons/library/sides-left.svg new file mode 100644 index 0000000000000..c546c042fba39 --- /dev/null +++ b/src/wp-includes/icons/library/sides-left.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/sides-right.svg b/src/wp-includes/icons/library/sides-right.svg new file mode 100644 index 0000000000000..689698d85d0dc --- /dev/null +++ b/src/wp-includes/icons/library/sides-right.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/sides-top.svg b/src/wp-includes/icons/library/sides-top.svg new file mode 100644 index 0000000000000..a413488ac3fca --- /dev/null +++ b/src/wp-includes/icons/library/sides-top.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/sides-vertical.svg b/src/wp-includes/icons/library/sides-vertical.svg new file mode 100644 index 0000000000000..1e64f408855fb --- /dev/null +++ b/src/wp-includes/icons/library/sides-vertical.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/wp-includes/icons/library/site-logo.svg b/src/wp-includes/icons/library/site-logo.svg new file mode 100644 index 0000000000000..26b6cfb4ce689 --- /dev/null +++ b/src/wp-includes/icons/library/site-logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/square.svg b/src/wp-includes/icons/library/square.svg new file mode 100644 index 0000000000000..3b66d51854cb1 --- /dev/null +++ b/src/wp-includes/icons/library/square.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/stack.svg b/src/wp-includes/icons/library/stack.svg new file mode 100644 index 0000000000000..c4d9aef31e5c0 --- /dev/null +++ b/src/wp-includes/icons/library/stack.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/star-empty.svg b/src/wp-includes/icons/library/star-empty.svg new file mode 100644 index 0000000000000..75cd0e122d458 --- /dev/null +++ b/src/wp-includes/icons/library/star-empty.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/star-filled.svg b/src/wp-includes/icons/library/star-filled.svg new file mode 100644 index 0000000000000..2b32a6424776a --- /dev/null +++ b/src/wp-includes/icons/library/star-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/star-half.svg b/src/wp-includes/icons/library/star-half.svg new file mode 100644 index 0000000000000..fe0f1b5ca0b16 --- /dev/null +++ b/src/wp-includes/icons/library/star-half.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/store.svg b/src/wp-includes/icons/library/store.svg new file mode 100644 index 0000000000000..af15718d7f908 --- /dev/null +++ b/src/wp-includes/icons/library/store.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/stretch-full-width.svg b/src/wp-includes/icons/library/stretch-full-width.svg new file mode 100644 index 0000000000000..02a5f5c0cb644 --- /dev/null +++ b/src/wp-includes/icons/library/stretch-full-width.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/stretch-wide.svg b/src/wp-includes/icons/library/stretch-wide.svg new file mode 100644 index 0000000000000..ff3031ef9bd74 --- /dev/null +++ b/src/wp-includes/icons/library/stretch-wide.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/styles.svg b/src/wp-includes/icons/library/styles.svg new file mode 100644 index 0000000000000..377fa2e6bb458 --- /dev/null +++ b/src/wp-includes/icons/library/styles.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/subscript.svg b/src/wp-includes/icons/library/subscript.svg new file mode 100644 index 0000000000000..632317fe7536c --- /dev/null +++ b/src/wp-includes/icons/library/subscript.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/superscript.svg b/src/wp-includes/icons/library/superscript.svg new file mode 100644 index 0000000000000..ca60e0e1133f2 --- /dev/null +++ b/src/wp-includes/icons/library/superscript.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/swatch.svg b/src/wp-includes/icons/library/swatch.svg new file mode 100644 index 0000000000000..af21de80a183b --- /dev/null +++ b/src/wp-includes/icons/library/swatch.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/symbol-filled.svg b/src/wp-includes/icons/library/symbol-filled.svg new file mode 100644 index 0000000000000..608a9e8ee96b2 --- /dev/null +++ b/src/wp-includes/icons/library/symbol-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/symbol.svg b/src/wp-includes/icons/library/symbol.svg new file mode 100644 index 0000000000000..58f92a5cc93c6 --- /dev/null +++ b/src/wp-includes/icons/library/symbol.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/tab.svg b/src/wp-includes/icons/library/tab.svg new file mode 100644 index 0000000000000..a6444a9739efd --- /dev/null +++ b/src/wp-includes/icons/library/tab.svg @@ -0,0 +1 @@ + diff --git a/src/wp-includes/icons/library/table-column-after.svg b/src/wp-includes/icons/library/table-column-after.svg new file mode 100644 index 0000000000000..bfbf79eefb306 --- /dev/null +++ b/src/wp-includes/icons/library/table-column-after.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table-column-before.svg b/src/wp-includes/icons/library/table-column-before.svg new file mode 100644 index 0000000000000..6966550159ef2 --- /dev/null +++ b/src/wp-includes/icons/library/table-column-before.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table-column-delete.svg b/src/wp-includes/icons/library/table-column-delete.svg new file mode 100644 index 0000000000000..a23314d76e897 --- /dev/null +++ b/src/wp-includes/icons/library/table-column-delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table-of-contents.svg b/src/wp-includes/icons/library/table-of-contents.svg new file mode 100644 index 0000000000000..09a6e26ec72b1 --- /dev/null +++ b/src/wp-includes/icons/library/table-of-contents.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/table-row-after.svg b/src/wp-includes/icons/library/table-row-after.svg new file mode 100644 index 0000000000000..f20db5ac4c884 --- /dev/null +++ b/src/wp-includes/icons/library/table-row-after.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table-row-before.svg b/src/wp-includes/icons/library/table-row-before.svg new file mode 100644 index 0000000000000..ab0c02e9dce58 --- /dev/null +++ b/src/wp-includes/icons/library/table-row-before.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table-row-delete.svg b/src/wp-includes/icons/library/table-row-delete.svg new file mode 100644 index 0000000000000..110a6a9fb80e8 --- /dev/null +++ b/src/wp-includes/icons/library/table-row-delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/table.svg b/src/wp-includes/icons/library/table.svg new file mode 100644 index 0000000000000..64e387e683d62 --- /dev/null +++ b/src/wp-includes/icons/library/table.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/tablet.svg b/src/wp-includes/icons/library/tablet.svg new file mode 100644 index 0000000000000..fa36e90de69cd --- /dev/null +++ b/src/wp-includes/icons/library/tablet.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/tabs-menu-item.svg b/src/wp-includes/icons/library/tabs-menu-item.svg new file mode 100644 index 0000000000000..2e8102d5d7f9b --- /dev/null +++ b/src/wp-includes/icons/library/tabs-menu-item.svg @@ -0,0 +1 @@ + diff --git a/src/wp-includes/icons/library/tabs-menu.svg b/src/wp-includes/icons/library/tabs-menu.svg new file mode 100644 index 0000000000000..d42453416b532 --- /dev/null +++ b/src/wp-includes/icons/library/tabs-menu.svg @@ -0,0 +1 @@ + diff --git a/src/wp-includes/icons/library/tabs.svg b/src/wp-includes/icons/library/tabs.svg new file mode 100644 index 0000000000000..9740dca50ff48 --- /dev/null +++ b/src/wp-includes/icons/library/tabs.svg @@ -0,0 +1 @@ + diff --git a/src/wp-includes/icons/library/tag.svg b/src/wp-includes/icons/library/tag.svg new file mode 100644 index 0000000000000..a2a52b7541ed8 --- /dev/null +++ b/src/wp-includes/icons/library/tag.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/term-count.svg b/src/wp-includes/icons/library/term-count.svg new file mode 100644 index 0000000000000..8b333407a02ef --- /dev/null +++ b/src/wp-includes/icons/library/term-count.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/term-description.svg b/src/wp-includes/icons/library/term-description.svg new file mode 100644 index 0000000000000..5a00b07073134 --- /dev/null +++ b/src/wp-includes/icons/library/term-description.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/term-name.svg b/src/wp-includes/icons/library/term-name.svg new file mode 100644 index 0000000000000..c4135c2511de2 --- /dev/null +++ b/src/wp-includes/icons/library/term-name.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/wp-includes/icons/library/text-color.svg b/src/wp-includes/icons/library/text-color.svg new file mode 100644 index 0000000000000..a6096517801ad --- /dev/null +++ b/src/wp-includes/icons/library/text-color.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/text-horizontal.svg b/src/wp-includes/icons/library/text-horizontal.svg new file mode 100644 index 0000000000000..faf6150751bba --- /dev/null +++ b/src/wp-includes/icons/library/text-horizontal.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/text-vertical.svg b/src/wp-includes/icons/library/text-vertical.svg new file mode 100644 index 0000000000000..64ec893f7f0f2 --- /dev/null +++ b/src/wp-includes/icons/library/text-vertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/thumbs-down.svg b/src/wp-includes/icons/library/thumbs-down.svg new file mode 100644 index 0000000000000..72c96f5b5693e --- /dev/null +++ b/src/wp-includes/icons/library/thumbs-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/thumbs-up.svg b/src/wp-includes/icons/library/thumbs-up.svg new file mode 100644 index 0000000000000..79fb58752a32a --- /dev/null +++ b/src/wp-includes/icons/library/thumbs-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/time-to-read.svg b/src/wp-includes/icons/library/time-to-read.svg new file mode 100644 index 0000000000000..fd368c5e4fc80 --- /dev/null +++ b/src/wp-includes/icons/library/time-to-read.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/tip.svg b/src/wp-includes/icons/library/tip.svg new file mode 100644 index 0000000000000..212885ca47e50 --- /dev/null +++ b/src/wp-includes/icons/library/tip.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/title.svg b/src/wp-includes/icons/library/title.svg new file mode 100644 index 0000000000000..28e8fa6921378 --- /dev/null +++ b/src/wp-includes/icons/library/title.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/tool.svg b/src/wp-includes/icons/library/tool.svg new file mode 100644 index 0000000000000..1c9cc50018fcf --- /dev/null +++ b/src/wp-includes/icons/library/tool.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/trash.svg b/src/wp-includes/icons/library/trash.svg new file mode 100644 index 0000000000000..fddfcfeb44883 --- /dev/null +++ b/src/wp-includes/icons/library/trash.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/trending-down.svg b/src/wp-includes/icons/library/trending-down.svg new file mode 100644 index 0000000000000..66f297ade96fc --- /dev/null +++ b/src/wp-includes/icons/library/trending-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/trending-up.svg b/src/wp-includes/icons/library/trending-up.svg new file mode 100644 index 0000000000000..b7644d8f2b52f --- /dev/null +++ b/src/wp-includes/icons/library/trending-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/typography.svg b/src/wp-includes/icons/library/typography.svg new file mode 100644 index 0000000000000..c81ee1fad6551 --- /dev/null +++ b/src/wp-includes/icons/library/typography.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/undo.svg b/src/wp-includes/icons/library/undo.svg new file mode 100644 index 0000000000000..2a66cab0267f1 --- /dev/null +++ b/src/wp-includes/icons/library/undo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/ungroup.svg b/src/wp-includes/icons/library/ungroup.svg new file mode 100644 index 0000000000000..9e8339598f228 --- /dev/null +++ b/src/wp-includes/icons/library/ungroup.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/unlock.svg b/src/wp-includes/icons/library/unlock.svg new file mode 100644 index 0000000000000..59785ed29f86d --- /dev/null +++ b/src/wp-includes/icons/library/unlock.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/unseen.svg b/src/wp-includes/icons/library/unseen.svg new file mode 100644 index 0000000000000..661725a3048de --- /dev/null +++ b/src/wp-includes/icons/library/unseen.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/update.svg b/src/wp-includes/icons/library/update.svg new file mode 100644 index 0000000000000..e69e11c4e2a1f --- /dev/null +++ b/src/wp-includes/icons/library/update.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/upload.svg b/src/wp-includes/icons/library/upload.svg new file mode 100644 index 0000000000000..27578edddddc3 --- /dev/null +++ b/src/wp-includes/icons/library/upload.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/verse.svg b/src/wp-includes/icons/library/verse.svg new file mode 100644 index 0000000000000..3ad231a950a52 --- /dev/null +++ b/src/wp-includes/icons/library/verse.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/video.svg b/src/wp-includes/icons/library/video.svg new file mode 100644 index 0000000000000..4b80f689b0efb --- /dev/null +++ b/src/wp-includes/icons/library/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/widget.svg b/src/wp-includes/icons/library/widget.svg new file mode 100644 index 0000000000000..987e201641fef --- /dev/null +++ b/src/wp-includes/icons/library/widget.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/word-count.svg b/src/wp-includes/icons/library/word-count.svg new file mode 100644 index 0000000000000..0d1dfd33f82c8 --- /dev/null +++ b/src/wp-includes/icons/library/word-count.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/library/wordpress.svg b/src/wp-includes/icons/library/wordpress.svg new file mode 100644 index 0000000000000..56be7255c7482 --- /dev/null +++ b/src/wp-includes/icons/library/wordpress.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/wp-includes/icons/manifest.php b/src/wp-includes/icons/manifest.php new file mode 100644 index 0000000000000..b15ff4b5fd9f0 --- /dev/null +++ b/src/wp-includes/icons/manifest.php @@ -0,0 +1,360 @@ + array( + 'label' => _x( 'Arrow Down Left', 'icon label' ), + 'filePath' => 'library/arrow-down-left.svg', + ), + 'arrow-down-right' => array( + 'label' => _x( 'Arrow Down Right', 'icon label' ), + 'filePath' => 'library/arrow-down-right.svg', + ), + 'arrow-down' => array( + 'label' => _x( 'Arrow Down', 'icon label' ), + 'filePath' => 'library/arrow-down.svg', + ), + 'arrow-left' => array( + 'label' => _x( 'Arrow Left', 'icon label' ), + 'filePath' => 'library/arrow-left.svg', + ), + 'arrow-right' => array( + 'label' => _x( 'Arrow Right', 'icon label' ), + 'filePath' => 'library/arrow-right.svg', + ), + 'arrow-up-left' => array( + 'label' => _x( 'Arrow Up Left', 'icon label' ), + 'filePath' => 'library/arrow-up-left.svg', + ), + 'arrow-up-right' => array( + 'label' => _x( 'Arrow Up Right', 'icon label' ), + 'filePath' => 'library/arrow-up-right.svg', + ), + 'arrow-up' => array( + 'label' => _x( 'Arrow Up', 'icon label' ), + 'filePath' => 'library/arrow-up.svg', + ), + 'at-symbol' => array( + 'label' => _x( 'At Symbol (@)', 'icon label' ), + 'filePath' => 'library/at-symbol.svg', + ), + 'audio' => array( + 'label' => _x( 'Audio', 'icon label' ), + 'filePath' => 'library/audio.svg', + ), + 'bell' => array( + 'label' => _x( 'Bell', 'icon label' ), + 'filePath' => 'library/bell.svg', + ), + 'block-default' => array( + 'label' => _x( 'Block Default', 'icon label' ), + 'filePath' => 'library/block-default.svg', + ), + 'block-meta' => array( + 'label' => _x( 'Block Meta', 'icon label' ), + 'filePath' => 'library/block-meta.svg', + ), + 'block-table' => array( + 'label' => _x( 'Block Table', 'icon label' ), + 'filePath' => 'library/block-table.svg', + ), + 'calendar' => array( + 'label' => _x( 'Calendar', 'icon label' ), + 'filePath' => 'library/calendar.svg', + ), + 'capture-photo' => array( + 'label' => _x( 'Capture Photo', 'icon label' ), + 'filePath' => 'library/capture-photo.svg', + ), + 'capture-video' => array( + 'label' => _x( 'Capture Video', 'icon label' ), + 'filePath' => 'library/capture-video.svg', + ), + 'cart' => array( + 'label' => _x( 'Cart', 'icon label' ), + 'filePath' => 'library/cart.svg', + ), + 'category' => array( + 'label' => _x( 'Category', 'icon label' ), + 'filePath' => 'library/category.svg', + ), + 'caution' => array( + 'label' => _x( 'Caution', 'icon label' ), + 'filePath' => 'library/caution.svg', + ), + 'chart-bar' => array( + 'label' => _x( 'Chart Bar', 'icon label' ), + 'filePath' => 'library/chart-bar.svg', + ), + 'check' => array( + 'label' => _x( 'Check', 'icon label' ), + 'filePath' => 'library/check.svg', + ), + 'chevron-down' => array( + 'label' => _x( 'Chevron Down', 'icon label' ), + 'filePath' => 'library/chevron-down.svg', + ), + 'chevron-down-small' => array( + 'label' => _x( 'Chevron Down Small', 'icon label' ), + 'filePath' => 'library/chevron-down-small.svg', + ), + 'chevron-left' => array( + 'label' => _x( 'Chevron Left', 'icon label' ), + 'filePath' => 'library/chevron-left.svg', + ), + 'chevron-left-small' => array( + 'label' => _x( 'Chevron Left Small', 'icon label' ), + 'filePath' => 'library/chevron-left-small.svg', + ), + 'chevron-right' => array( + 'label' => _x( 'Chevron Right', 'icon label' ), + 'filePath' => 'library/chevron-right.svg', + ), + 'chevron-right-small' => array( + 'label' => _x( 'Chevron Right Small', 'icon label' ), + 'filePath' => 'library/chevron-right-small.svg', + ), + 'chevron-up' => array( + 'label' => _x( 'Chevron Up', 'icon label' ), + 'filePath' => 'library/chevron-up.svg', + ), + 'chevron-up-down' => array( + 'label' => _x( 'Chevron Up Down', 'icon label' ), + 'filePath' => 'library/chevron-up-down.svg', + ), + 'chevron-up-small' => array( + 'label' => _x( 'Chevron Up Small', 'icon label' ), + 'filePath' => 'library/chevron-up-small.svg', + ), + 'comment' => array( + 'label' => _x( 'Comment', 'icon label' ), + 'filePath' => 'library/comment.svg', + ), + 'cover' => array( + 'label' => _x( 'Cover', 'icon label' ), + 'filePath' => 'library/cover.svg', + ), + 'create' => array( + 'label' => _x( 'Create', 'icon label' ), + 'filePath' => 'library/create.svg', + ), + 'desktop' => array( + 'label' => _x( 'Desktop', 'icon label' ), + 'filePath' => 'library/desktop.svg', + ), + 'download' => array( + 'label' => _x( 'Download', 'icon label' ), + 'filePath' => 'library/download.svg', + ), + 'drawer-left' => array( + 'label' => _x( 'Drawer Left', 'icon label' ), + 'filePath' => 'library/drawer-left.svg', + ), + 'drawer-right' => array( + 'label' => _x( 'Drawer Right', 'icon label' ), + 'filePath' => 'library/drawer-right.svg', + ), + 'envelope' => array( + 'label' => _x( 'Envelope', 'icon label' ), + 'filePath' => 'library/envelope.svg', + ), + 'error' => array( + 'label' => _x( 'Error', 'icon label' ), + 'filePath' => 'library/error.svg', + ), + 'external' => array( + 'label' => _x( 'External', 'icon label' ), + 'filePath' => 'library/external.svg', + ), + 'file' => array( + 'label' => _x( 'File', 'icon label' ), + 'filePath' => 'library/file.svg', + ), + 'gallery' => array( + 'label' => _x( 'Gallery', 'icon label' ), + 'filePath' => 'library/gallery.svg', + ), + 'group' => array( + 'label' => _x( 'Group', 'icon label' ), + 'filePath' => 'library/group.svg', + ), + 'heading' => array( + 'label' => _x( 'Heading', 'icon label' ), + 'filePath' => 'library/heading.svg', + ), + 'help' => array( + 'label' => _x( 'Help', 'icon label' ), + 'filePath' => 'library/help.svg', + ), + 'home' => array( + 'label' => _x( 'Home', 'icon label' ), + 'filePath' => 'library/home.svg', + ), + 'image' => array( + 'label' => _x( 'Image', 'icon label' ), + 'filePath' => 'library/image.svg', + ), + 'info' => array( + 'label' => _x( 'Info', 'icon label' ), + 'filePath' => 'library/info.svg', + ), + 'key' => array( + 'label' => _x( 'Key', 'icon label' ), + 'filePath' => 'library/key.svg', + ), + 'language' => array( + 'label' => _x( 'Language', 'icon label' ), + 'filePath' => 'library/language.svg', + ), + 'map-marker' => array( + 'label' => _x( 'Map Marker', 'icon label' ), + 'filePath' => 'library/map-marker.svg', + ), + 'menu' => array( + 'label' => _x( 'Menu', 'icon label' ), + 'filePath' => 'library/menu.svg', + ), + 'mobile' => array( + 'label' => _x( 'Mobile', 'icon label' ), + 'filePath' => 'library/mobile.svg', + ), + 'more-horizontal' => array( + 'label' => _x( 'More Horizontal', 'icon label' ), + 'filePath' => 'library/more-horizontal.svg', + ), + 'more-vertical' => array( + 'label' => _x( 'More Vertical', 'icon label' ), + 'filePath' => 'library/more-vertical.svg', + ), + 'next' => array( + 'label' => _x( 'Next', 'icon label' ), + 'filePath' => 'library/next.svg', + ), + 'paragraph' => array( + 'label' => _x( 'Paragraph', 'icon label' ), + 'filePath' => 'library/paragraph.svg', + ), + 'payment' => array( + 'label' => _x( 'Payment', 'icon label' ), + 'filePath' => 'library/payment.svg', + ), + 'pencil' => array( + 'label' => _x( 'Pencil', 'icon label' ), + 'filePath' => 'library/pencil.svg', + ), + 'people' => array( + 'label' => _x( 'People', 'icon label' ), + 'filePath' => 'library/people.svg', + ), + 'plus' => array( + 'label' => _x( 'Plus', 'icon label' ), + 'filePath' => 'library/plus.svg', + ), + 'plus-circle' => array( + 'label' => _x( 'Plus Circle', 'icon label' ), + 'filePath' => 'library/plus-circle.svg', + ), + 'previous' => array( + 'label' => _x( 'Previous', 'icon label' ), + 'filePath' => 'library/previous.svg', + ), + 'published' => array( + 'label' => _x( 'Published', 'icon label' ), + 'filePath' => 'library/published.svg', + ), + 'quote' => array( + 'label' => _x( 'Quote', 'icon label' ), + 'filePath' => 'library/quote.svg', + ), + 'receipt' => array( + 'label' => _x( 'Receipt', 'icon label' ), + 'filePath' => 'library/receipt.svg', + ), + 'rss' => array( + 'label' => _x( 'RSS', 'icon label' ), + 'filePath' => 'library/rss.svg', + ), + 'scheduled' => array( + 'label' => _x( 'Scheduled', 'icon label' ), + 'filePath' => 'library/scheduled.svg', + ), + 'search' => array( + 'label' => _x( 'Search', 'icon label' ), + 'filePath' => 'library/search.svg', + ), + 'settings' => array( + 'label' => _x( 'Settings', 'icon label' ), + 'filePath' => 'library/settings.svg', + ), + 'shadow' => array( + 'label' => _x( 'Shadow', 'icon label' ), + 'filePath' => 'library/shadow.svg', + ), + 'share' => array( + 'label' => _x( 'Share', 'icon label' ), + 'filePath' => 'library/share.svg', + ), + 'shield' => array( + 'label' => _x( 'Shield', 'icon label' ), + 'filePath' => 'library/shield.svg', + ), + 'shuffle' => array( + 'label' => _x( 'Shuffle', 'icon label' ), + 'filePath' => 'library/shuffle.svg', + ), + 'star-empty' => array( + 'label' => _x( 'Star Empty', 'icon label' ), + 'filePath' => 'library/star-empty.svg', + ), + 'star-filled' => array( + 'label' => _x( 'Star Filled', 'icon label' ), + 'filePath' => 'library/star-filled.svg', + ), + 'star-half' => array( + 'label' => _x( 'Star Half', 'icon label' ), + 'filePath' => 'library/star-half.svg', + ), + 'store' => array( + 'label' => _x( 'Store', 'icon label' ), + 'filePath' => 'library/store.svg', + ), + 'styles' => array( + 'label' => _x( 'Styles', 'icon label' ), + 'filePath' => 'library/styles.svg', + ), + 'symbol' => array( + 'label' => _x( 'Symbol', 'icon label' ), + 'filePath' => 'library/symbol.svg', + ), + 'symbol-filled' => array( + 'label' => _x( 'Symbol Filled', 'icon label' ), + 'filePath' => 'library/symbol-filled.svg', + ), + 'table' => array( + 'label' => _x( 'Table', 'icon label' ), + 'filePath' => 'library/table.svg', + ), + 'tablet' => array( + 'label' => _x( 'Tablet', 'icon label' ), + 'filePath' => 'library/tablet.svg', + ), + 'tag' => array( + 'label' => _x( 'Tag', 'icon label' ), + 'filePath' => 'library/tag.svg', + ), + 'tip' => array( + 'label' => _x( 'Tip', 'icon label' ), + 'filePath' => 'library/tip.svg', + ), + 'upload' => array( + 'label' => _x( 'Upload', 'icon label' ), + 'filePath' => 'library/upload.svg', + ), + 'verse' => array( + 'label' => _x( 'Verse', 'icon label' ), + 'filePath' => 'library/verse.svg', + ), +); diff --git a/src/wp-includes/theme.json b/src/wp-includes/theme.json index 69cb6302a471b..5cfb3ccda09c8 100644 --- a/src/wp-includes/theme.json +++ b/src/wp-includes/theme.json @@ -323,6 +323,11 @@ "allowEditing": true } }, + "core/icon": { + "dimensions": { + "width": true + } + }, "core/pullquote": { "border": { "color": true, @@ -358,6 +363,11 @@ } } }, + "core/icon": { + "dimensions": { + "width": "24px" + } + }, "core/site-logo": { "variations": { "rounded": { From 7184f2a9dda1ecbe0df27c7d7c9270505069b880 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 17:40:27 -0500 Subject: [PATCH 05/12] Restore: Sync to Gutenberg revision b441348bb7e05af351c250b74283f253acaf9138 See corresponding changelog in 0544d56a85bd25fc65ce7d1a11a4df50764b2a02 --- .../assets/script-loader-packages.min.php | 54 ++++++++++++++++--- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index ecd84978d369c..e9b805a7edd2b 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -100,7 +100,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '1822729c1c016c513b07' + 'version' => 'c363339fe030353e078b' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -136,7 +136,13 @@ 'wp-url', 'wp-wordcount' ), - 'version' => '12d29683ae6525714836' + 'module_dependencies' => array( + array( + 'id' => '@wordpress/latex-to-mathml', + 'import' => 'dynamic' + ) + ), + 'version' => '9adfd5c0b20d4d86a63d' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -365,7 +371,13 @@ 'wp-url', 'wp-widgets' ), - 'version' => '56d49503c08450158881' + 'module_dependencies' => array( + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), + 'version' => '1a6b82c9f517652a242b' ), 'edit-site.min.js' => array( 'dependencies' => array( @@ -406,7 +418,13 @@ 'wp-warning', 'wp-widgets' ), - 'version' => '8df382639056febf5fe2' + 'module_dependencies' => array( + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), + 'version' => '621fb808445b3c4c8b9e' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -437,6 +455,12 @@ 'wp-viewport', 'wp-widgets' ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), 'version' => 'be944f745795910dc41a' ), 'editor.min.js' => array( @@ -481,7 +505,13 @@ 'wp-warning', 'wp-wordcount' ), - 'version' => '74ea6d90db05b159e34a' + 'module_dependencies' => array( + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), + 'version' => 'ea0e5a24a10a92b94ef4' ), 'element.min.js' => array( 'dependencies' => array( @@ -513,6 +543,12 @@ 'wp-rich-text', 'wp-url' ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/latex-to-mathml', + 'import' => 'dynamic' + ) + ), 'version' => 'f89be9586f2d9ce4545a' ), 'hooks.min.js' => array( @@ -590,7 +626,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '1cef0981fd43cb8307f0' + 'version' => '5275f42a22469e56c419' ), 'notices.min.js' => array( 'dependencies' => array( @@ -806,6 +842,12 @@ 'wp-private-apis', 'wp-url' ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/vips/worker', + 'import' => 'dynamic' + ) + ), 'version' => '012bdf4e5d634c0e3e01' ), 'url.min.js' => array( From 30095a4938505ed60866723712ef42c5b96ed0a1 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 18:50:09 -0500 Subject: [PATCH 06/12] Restore: Sync to Gutenberg revision 23b566c72e9c4a36219ef5d6e62890f05551f6cb See corresponding changelog in f6927c87b2537519b90fe072cb541da65659cf8d --- .../assets/script-loader-packages.min.php | 8 +- .../assets/script-modules-packages.min.php | 4 +- src/wp-includes/blocks/blocks-json.php | 93 +++++++++++- src/wp-includes/blocks/icon.php | 132 ++++++++++++++++++ src/wp-includes/blocks/icon/block.json | 79 +++++++++++ src/wp-includes/blocks/query/block.json | 3 +- .../blocks/require-dynamic-blocks.php | 1 + 7 files changed, 310 insertions(+), 10 deletions(-) create mode 100644 src/wp-includes/blocks/icon.php create mode 100644 src/wp-includes/blocks/icon/block.json diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index e9b805a7edd2b..ed2248c869ad5 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -142,7 +142,7 @@ 'import' => 'dynamic' ) ), - 'version' => '9adfd5c0b20d4d86a63d' + 'version' => '28f00a6393f97214aa04' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -214,7 +214,7 @@ 'wp-rich-text', 'wp-warning' ), - 'version' => '8599a08d7a250d84e731' + 'version' => '8322e5f86662e1bcc28e' ), 'compose.min.js' => array( 'dependencies' => array( @@ -266,7 +266,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '7315eaa7025445f864b5' + 'version' => '553521bc03a0cb8c2fb5' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -809,7 +809,7 @@ 'wp-hooks', 'wp-private-apis' ), - 'version' => '4c60996d1664ab866379' + 'version' => '345bb2a88a140f25cd55' ), 'theme.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index c996ff699cf45..03cf8bba58af3 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -164,7 +164,7 @@ 'import' => 'static' ) ), - 'version' => '408485ad06e3adf4f05e' + 'version' => 'bbfb33aeb1585bfa3e58' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( @@ -308,6 +308,6 @@ 'import' => 'static' ) ), - 'version' => '6ab9dec7ead243d308cf' + 'version' => '5596cbe5b7f3c466082f' ) ); \ No newline at end of file diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index d38471c4e4b36..b486c83dfb2ca 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -3098,6 +3098,96 @@ ), 'editorStyle' => 'wp-block-html-editor' ), + 'icon' => array( + 'apiVersion' => 3, + '$schema' => 'https://schemas.wp.org/trunk/block.json', + 'name' => 'core/icon', + 'title' => 'Icon', + 'category' => 'media', + 'description' => 'Insert an SVG icon.', + 'keywords' => array( + 'icon', + 'svg' + ), + 'textdomain' => 'default', + 'attributes' => array( + 'icon' => array( + 'type' => 'string', + 'role' => 'content' + ) + ), + 'supports' => array( + 'anchor' => true, + 'ariaLabel' => array( + '__experimentalSkipSerialization' => true + ), + 'align' => array( + 'left', + 'center', + 'right' + ), + 'html' => false, + 'color' => array( + 'background' => true, + 'text' => true, + '__experimentalSkipSerialization' => true + ), + 'interactivity' => array( + 'clientNavigation' => true + ), + '__experimentalBorder' => array( + 'color' => true, + 'radius' => true, + 'style' => true, + 'width' => true, + '__experimentalSkipSerialization' => true, + '__experimentalDefaultControls' => array( + 'color' => false, + 'radius' => false, + 'style' => false, + 'width' => false + ) + ), + 'spacing' => array( + 'padding' => true, + 'margin' => true, + '__experimentalSkipSerialization' => array( + 'padding' + ), + '__experimentalDefaultControls' => array( + 'margin' => false, + 'padding' => false + ) + ), + 'dimensions' => array( + 'width' => true, + '__experimentalSkipSerialization' => array( + 'width' + ), + '__experimentalDefaultControls' => array( + 'width' => true + ) + ) + ), + 'selectors' => array( + 'root' => '.wp-block-icon', + 'color' => array( + 'root' => '.wp-block-icon svg' + ), + 'border' => array( + 'root' => '.wp-block-icon svg' + ), + 'spacing' => array( + 'padding' => '.wp-block-icon svg' + ), + 'dimensions' => array( + 'root' => '.wp-block-icon svg', + 'width' => '.wp-block-icon svg' + ) + ), + 'style' => 'wp-block-icon', + 'editorStyle' => 'wp-block-icon-editor' + ), 'image' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', 'apiVersion' => 3, @@ -6153,8 +6243,7 @@ ), 'html' => false, 'layout' => true, - 'interactivity' => true, - 'contentRole' => true + 'interactivity' => true ), 'editorStyle' => 'wp-block-query-editor' ), diff --git a/src/wp-includes/blocks/icon.php b/src/wp-includes/blocks/icon.php new file mode 100644 index 0000000000000..e09319cffea3b --- /dev/null +++ b/src/wp-includes/blocks/icon.php @@ -0,0 +1,132 @@ +get_registered_icon( $attributes['icon'] ); + + if ( is_null( $icon ) ) { + return; + } + + // Text color and background color. + $color_styles = array(); + + $preset_text_color = array_key_exists( 'textColor', $attributes ) ? "var:preset|color|{$attributes['textColor']}" : null; + $custom_text_color = $attributes['style']['color']['text'] ?? null; + $color_styles['text'] = $preset_text_color ? $preset_text_color : $custom_text_color; + + $preset_background_color = array_key_exists( 'backgroundColor', $attributes ) ? "var:preset|color|{$attributes['backgroundColor']}" : null; + $custom_background_color = $attributes['style']['color']['background'] ?? null; + $color_styles['background'] = $preset_background_color ? $preset_background_color : $custom_background_color; + + // Border. + $border_styles = array(); + $sides = array( 'top', 'right', 'bottom', 'left' ); + + if ( isset( $attributes['style']['border']['radius'] ) ) { + $border_styles['radius'] = $attributes['style']['border']['radius']; + } + if ( isset( $attributes['style']['border']['style'] ) ) { + $border_styles['style'] = $attributes['style']['border']['style']; + } + if ( isset( $attributes['style']['border']['width'] ) ) { + $border_styles['width'] = $attributes['style']['border']['width']; + } + + $preset_color = array_key_exists( 'borderColor', $attributes ) ? "var:preset|color|{$attributes['borderColor']}" : null; + $custom_color = $attributes['style']['border']['color'] ?? null; + $border_styles['color'] = $preset_color ? $preset_color : $custom_color; + + foreach ( $sides as $side ) { + $border = $attributes['style']['border'][ $side ] ?? null; + $border_styles[ $side ] = array( + 'color' => $border['color'] ?? null, + 'style' => $border['style'] ?? null, + 'width' => $border['width'] ?? null, + ); + } + + // Spacing (Padding). + $spacing_styles = array(); + if ( isset( $attributes['style']['spacing']['padding'] ) ) { + $spacing_styles['padding'] = $attributes['style']['spacing']['padding']; + } + + // Dimensions (Width). + $dimensions_styles = array(); + if ( isset( $attributes['style']['dimensions']['width'] ) ) { + $dimensions_styles['width'] = $attributes['style']['dimensions']['width']; + } + + // Generate styles and classes. + $styles = wp_style_engine_get_styles( + array( + 'color' => $color_styles, + 'border' => $border_styles, + 'spacing' => $spacing_styles, + 'dimensions' => $dimensions_styles, + ), + ); + + $processor = new WP_HTML_Tag_Processor( $icon['content'] ); + $processor->next_tag( 'svg' ); + + if ( ! empty( $styles['css'] ) ) { + $processor->set_attribute( 'style', $styles['css'] ); + } + if ( ! empty( $styles['classnames'] ) ) { + $processor->add_class( $styles['classnames'] ); + } + + $aria_label = ! empty( $attributes['ariaLabel'] ) ? $attributes['ariaLabel'] : ''; + + if ( ! $aria_label ) { + // Icon is decorative, hide it from screen readers. + $processor->set_attribute( 'aria-hidden', 'true' ); + $processor->set_attribute( 'focusable', 'false' ); + } else { + $processor->set_attribute( 'role', 'img' ); + $processor->set_attribute( 'aria-label', $aria_label ); + } + + // Return the updated SVG markup. + $svg = $processor->get_updated_html(); + $attributes = get_block_wrapper_attributes(); + return sprintf( '
    %s
    ', $attributes, $svg ); +} + + +/** + * Registers the `core/icon` block on server. + * + * @since 7.0.0 + */ +function register_block_core_icon() { + register_block_type_from_metadata( + __DIR__ . '/icon', + array( + 'render_callback' => 'render_block_core_icon', + ) + ); +} +add_action( 'init', 'register_block_core_icon' ); diff --git a/src/wp-includes/blocks/icon/block.json b/src/wp-includes/blocks/icon/block.json new file mode 100644 index 0000000000000..910cca0c8c959 --- /dev/null +++ b/src/wp-includes/blocks/icon/block.json @@ -0,0 +1,79 @@ +{ + "apiVersion": 3, + "$schema": "https://schemas.wp.org/trunk/block.json", + "name": "core/icon", + "title": "Icon", + "category": "media", + "description": "Insert an SVG icon.", + "keywords": [ "icon", "svg" ], + "textdomain": "default", + "attributes": { + "icon": { + "type": "string", + "role": "content" + } + }, + "supports": { + "anchor": true, + "ariaLabel": { + "__experimentalSkipSerialization": true + }, + "align": [ "left", "center", "right" ], + "html": false, + "color": { + "background": true, + "text": true, + "__experimentalSkipSerialization": true + }, + "interactivity": { + "clientNavigation": true + }, + "__experimentalBorder": { + "color": true, + "radius": true, + "style": true, + "width": true, + "__experimentalSkipSerialization": true, + "__experimentalDefaultControls": { + "color": false, + "radius": false, + "style": false, + "width": false + } + }, + "spacing": { + "padding": true, + "margin": true, + "__experimentalSkipSerialization": [ "padding" ], + "__experimentalDefaultControls": { + "margin": false, + "padding": false + } + }, + "dimensions": { + "width": true, + "__experimentalSkipSerialization": [ "width" ], + "__experimentalDefaultControls": { + "width": true + } + } + }, + "selectors": { + "root": ".wp-block-icon", + "color": { + "root": ".wp-block-icon svg" + }, + "border": { + "root": ".wp-block-icon svg" + }, + "spacing": { + "padding": ".wp-block-icon svg" + }, + "dimensions": { + "root": ".wp-block-icon svg", + "width": ".wp-block-icon svg" + } + }, + "style": "wp-block-icon", + "editorStyle": "wp-block-icon-editor" +} diff --git a/src/wp-includes/blocks/query/block.json b/src/wp-includes/blocks/query/block.json index 2014e1ebb257e..c2d8abc1a9334 100644 --- a/src/wp-includes/blocks/query/block.json +++ b/src/wp-includes/blocks/query/block.json @@ -54,8 +54,7 @@ "align": [ "wide", "full" ], "html": false, "layout": true, - "interactivity": true, - "contentRole": true + "interactivity": true }, "editorStyle": "wp-block-query-editor" } diff --git a/src/wp-includes/blocks/require-dynamic-blocks.php b/src/wp-includes/blocks/require-dynamic-blocks.php index c56efd18d0211..8da988339f172 100644 --- a/src/wp-includes/blocks/require-dynamic-blocks.php +++ b/src/wp-includes/blocks/require-dynamic-blocks.php @@ -29,6 +29,7 @@ require_once ABSPATH . WPINC . '/blocks/gallery.php'; require_once ABSPATH . WPINC . '/blocks/heading.php'; require_once ABSPATH . WPINC . '/blocks/home-link.php'; +require_once ABSPATH . WPINC . '/blocks/icon.php'; require_once ABSPATH . WPINC . '/blocks/image.php'; require_once ABSPATH . WPINC . '/blocks/latest-comments.php'; require_once ABSPATH . WPINC . '/blocks/latest-posts.php'; From f83a4e49d7c41feca67f579dd54f28c75cf9d3a1 Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 19:20:53 -0500 Subject: [PATCH 07/12] Restore: Sync to Gutenberg revision 022d8dd3d461f91b15c1f0410649d3ebb027207f See corresponding changelog in f328908c4e6a97dc74437504f8d6dfbfd4fe2415 --- .../assets/script-loader-packages.min.php | 24 +++++++++---------- .../assets/script-modules-packages.min.php | 13 +++++++++- src/wp-includes/blocks/image.php | 5 +--- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index ed2248c869ad5..c08c2e8b14844 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -100,7 +100,7 @@ 'wp-url', 'wp-warning' ), - 'version' => 'c363339fe030353e078b' + 'version' => '12121442081bee95ff82' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -142,7 +142,7 @@ 'import' => 'dynamic' ) ), - 'version' => '28f00a6393f97214aa04' + 'version' => 'd9167688508056e822dc' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -266,7 +266,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '553521bc03a0cb8c2fb5' + 'version' => '0c143303cd44c5f33a31' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -424,7 +424,7 @@ 'import' => 'static' ) ), - 'version' => '621fb808445b3c4c8b9e' + 'version' => '70ba63504dc660357661' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -511,7 +511,7 @@ 'import' => 'static' ) ), - 'version' => 'ea0e5a24a10a92b94ef4' + 'version' => '40227fd3e26521353cce' ), 'element.min.js' => array( 'dependencies' => array( @@ -626,7 +626,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '5275f42a22469e56c419' + 'version' => 'c217f9fd229e5c053fab' ), 'notices.min.js' => array( 'dependencies' => array( @@ -667,7 +667,7 @@ 'wp-private-apis', 'wp-url' ), - 'version' => '1fcfba2e7d83ba54735d' + 'version' => '3229838e98981966c8f5' ), 'plugins.min.js' => array( 'dependencies' => array( @@ -720,7 +720,7 @@ 'dependencies' => array( ), - 'version' => '5f0ec184488dba9baabb' + 'version' => '835912f0086b9e59aed4' ), 'react-i18n.min.js' => array( 'dependencies' => array( @@ -765,7 +765,7 @@ 'wp-keycodes', 'wp-private-apis' ), - 'version' => '9d9d9b99a28b17452d87' + 'version' => '16449e6108f48327f368' ), 'router.min.js' => array( 'dependencies' => array( @@ -809,7 +809,7 @@ 'wp-hooks', 'wp-private-apis' ), - 'version' => '345bb2a88a140f25cd55' + 'version' => '1156ddd6b9b4ba0f9015' ), 'theme.min.js' => array( 'dependencies' => array( @@ -817,7 +817,7 @@ 'wp-element', 'wp-private-apis' ), - 'version' => '63db44adf5194c9389bf' + 'version' => 'e22ce547a4420507b323' ), 'token-list.min.js' => array( 'dependencies' => array( @@ -848,7 +848,7 @@ 'import' => 'dynamic' ) ), - 'version' => '012bdf4e5d634c0e3e01' + 'version' => 'b1456f7dd2b61c0e72cd' ), 'url.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index 03cf8bba58af3..27eb140132f2c 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -164,7 +164,18 @@ 'import' => 'static' ) ), - 'version' => 'bbfb33aeb1585bfa3e58' + 'version' => 'ad3659b71ceef8bf4b61' + ), + 'connectors/index.min.js' => array( + 'dependencies' => array( + 'react-jsx-runtime', + 'wp-components', + 'wp-data', + 'wp-element', + 'wp-i18n', + 'wp-private-apis' + ), + 'version' => '00a04c7280e7ad762a10' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index 7e37ca0f021cc..32eea6bb5d9fb 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -310,10 +310,7 @@ class="lightbox-trigger" $body_content = preg_replace( '/]+>/', $button, $body_content ); - $overlay_callback = function () { - block_core_image_print_lightbox_overlay(); - }; - add_action( 'wp_footer', $overlay_callback ); + add_action( 'wp_footer', 'block_core_image_print_lightbox_overlay' ); return $body_content; } From 5bebac321d0ff09b9408560ad5c11c966ab7ce0a Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 20:05:33 -0500 Subject: [PATCH 08/12] Restore: Sync to Gutenberg revision e499abfb843a43ac88455ca319220c5f181e1cf3 See corresponding changelog in e7d40e7b994b9f0d8d448599b729bbde65c00015 --- .../assets/script-loader-packages.min.php | 34 +++++++++---------- .../assets/script-modules-packages.min.php | 16 ++++----- src/wp-includes/blocks/blocks-json.php | 21 ++++-------- src/wp-includes/blocks/html/block.json | 3 +- src/wp-includes/blocks/icon/block.json | 15 ++------ src/wp-includes/blocks/image.php | 4 ++- src/wp-includes/blocks/shortcode/block.json | 3 +- .../icons/library/resize-corner-ne.svg | 3 ++ 8 files changed, 45 insertions(+), 54 deletions(-) create mode 100644 src/wp-includes/icons/library/resize-corner-ne.svg diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index c08c2e8b14844..51695fbe4376f 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -61,7 +61,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => '17c7b74296ea735c0361' + 'version' => '23207f52d0d266f6e1c4' ), 'block-editor.min.js' => array( 'dependencies' => array( @@ -100,7 +100,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '12121442081bee95ff82' + 'version' => '5140a363580d1c7cd43c' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -142,7 +142,7 @@ 'import' => 'dynamic' ) ), - 'version' => 'd9167688508056e822dc' + 'version' => '7c541503acf57eac5326' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -214,7 +214,7 @@ 'wp-rich-text', 'wp-warning' ), - 'version' => '8322e5f86662e1bcc28e' + 'version' => '0405cfa25ddf48f7c0f2' ), 'compose.min.js' => array( 'dependencies' => array( @@ -266,7 +266,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '0c143303cd44c5f33a31' + 'version' => '94b1c2f6db3c8822c7cb' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -331,7 +331,7 @@ 'dependencies' => array( 'wp-deprecated' ), - 'version' => 'aac39fc255d02334a74e' + 'version' => '66a6cf58e0c4cd128af0' ), 'dom-ready.min.js' => array( 'dependencies' => array( @@ -377,7 +377,7 @@ 'import' => 'static' ) ), - 'version' => '1a6b82c9f517652a242b' + 'version' => '553c68d537faab610eea' ), 'edit-site.min.js' => array( 'dependencies' => array( @@ -424,7 +424,7 @@ 'import' => 'static' ) ), - 'version' => '70ba63504dc660357661' + 'version' => 'b73b3bc48dddd6b78b65' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -511,7 +511,7 @@ 'import' => 'static' ) ), - 'version' => '40227fd3e26521353cce' + 'version' => 'f6b5f35286ac82ea0bc7' ), 'element.min.js' => array( 'dependencies' => array( @@ -626,7 +626,7 @@ 'wp-url', 'wp-warning' ), - 'version' => 'c217f9fd229e5c053fab' + 'version' => '68f7334c7a77bb83ffee' ), 'notices.min.js' => array( 'dependencies' => array( @@ -634,7 +634,7 @@ 'wp-components', 'wp-data' ), - 'version' => '3f151928d7500f3b1fb6' + 'version' => '218d0173a31ae7269246' ), 'nux.min.js' => array( 'dependencies' => array( @@ -667,7 +667,7 @@ 'wp-private-apis', 'wp-url' ), - 'version' => '3229838e98981966c8f5' + 'version' => '6a1e1df3db4f7198a518' ), 'plugins.min.js' => array( 'dependencies' => array( @@ -679,7 +679,7 @@ 'wp-is-shallow-equal', 'wp-primitives' ), - 'version' => 'b03040c408cd5bcc9f89' + 'version' => '72e3cf01c2b3535a9432' ), 'preferences.min.js' => array( 'dependencies' => array( @@ -695,7 +695,7 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => 'd3f26a2b3620d15a60a3' + 'version' => '035813168e404aa30193' ), 'preferences-persistence.min.js' => array( 'dependencies' => array( @@ -809,7 +809,7 @@ 'wp-hooks', 'wp-private-apis' ), - 'version' => '1156ddd6b9b4ba0f9015' + 'version' => '44b4d0543749363ed20d' ), 'theme.min.js' => array( 'dependencies' => array( @@ -848,7 +848,7 @@ 'import' => 'dynamic' ) ), - 'version' => 'b1456f7dd2b61c0e72cd' + 'version' => '7e012a6701be0a6ad8f3' ), 'url.min.js' => array( 'dependencies' => array( @@ -885,7 +885,7 @@ 'wp-notices', 'wp-primitives' ), - 'version' => '7064da49d4dd3848ba8a' + 'version' => '02b8dd683bc610f979fa' ), 'wordcount.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index 27eb140132f2c..f9f4799923c41 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -164,7 +164,7 @@ 'import' => 'static' ) ), - 'version' => 'ad3659b71ceef8bf4b61' + 'version' => '77514d54b76613289de5' ), 'connectors/index.min.js' => array( 'dependencies' => array( @@ -175,7 +175,7 @@ 'wp-i18n', 'wp-private-apis' ), - 'version' => '00a04c7280e7ad762a10' + 'version' => 'fb1bf5511eb12e411ec6' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( @@ -203,13 +203,13 @@ 'import' => 'static' ) ), - 'version' => 'c636e2e534fd52f7c77c' + 'version' => 'e57f44d1a9f69e75d2d9' ), 'interactivity/index.min.js' => array( 'dependencies' => array( ), - 'version' => '4d9d9330d767da3813cc' + 'version' => 'f5a180d17cd8a38658aa' ), 'interactivity-router/full-page.min.js' => array( 'dependencies' => array( @@ -237,7 +237,7 @@ 'import' => 'static' ) ), - 'version' => '493dd3de12e3112b3130' + 'version' => '71aa17bac91628a0f874' ), 'latex-to-mathml/index.min.js' => array( 'dependencies' => array( @@ -271,7 +271,7 @@ 'wp-private-apis', 'wp-style-engine' ), - 'version' => '7ee4891029d81c00e97b' + 'version' => '30ab62f45bfe9f971ea0' ), 'route/index.min.js' => array( 'dependencies' => array( @@ -298,7 +298,7 @@ 'dependencies' => array( ), - 'version' => '56bdc60842ad98c1e166' + 'version' => 'd1059441df775d567043' ), 'workflow/index.min.js' => array( 'dependencies' => array( @@ -319,6 +319,6 @@ 'import' => 'static' ) ), - 'version' => '5596cbe5b7f3c466082f' + 'version' => '13556bc597bbf2a8d620' ) ); \ No newline at end of file diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index b486c83dfb2ca..f8159a5d2a7a2 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -3094,7 +3094,8 @@ 'interactivity' => array( 'clientNavigation' => true ), - 'customCSS' => false + 'customCSS' => false, + 'visibility' => false ), 'editorStyle' => 'wp-block-html-editor' ), @@ -3170,19 +3171,10 @@ ) ), 'selectors' => array( - 'root' => '.wp-block-icon', - 'color' => array( - 'root' => '.wp-block-icon svg' - ), - 'border' => array( - 'root' => '.wp-block-icon svg' - ), + 'root' => '.wp-block-icon svg', + 'css' => '.wp-block-icon', 'spacing' => array( - 'padding' => '.wp-block-icon svg' - ), - 'dimensions' => array( - 'root' => '.wp-block-icon svg', - 'width' => '.wp-block-icon svg' + 'margin' => '.wp-block-icon' ) ), 'style' => 'wp-block-icon', @@ -7140,7 +7132,8 @@ 'className' => false, 'customClassName' => false, 'html' => false, - 'customCSS' => false + 'customCSS' => false, + 'visibility' => false ), 'editorStyle' => 'wp-block-shortcode-editor' ), diff --git a/src/wp-includes/blocks/html/block.json b/src/wp-includes/blocks/html/block.json index 6bf5b3511fdf8..8134003313b49 100644 --- a/src/wp-includes/blocks/html/block.json +++ b/src/wp-includes/blocks/html/block.json @@ -21,7 +21,8 @@ "interactivity": { "clientNavigation": true }, - "customCSS": false + "customCSS": false, + "visibility": false }, "editorStyle": "wp-block-html-editor" } diff --git a/src/wp-includes/blocks/icon/block.json b/src/wp-includes/blocks/icon/block.json index 910cca0c8c959..23d0f10dc4b26 100644 --- a/src/wp-includes/blocks/icon/block.json +++ b/src/wp-includes/blocks/icon/block.json @@ -59,19 +59,10 @@ } }, "selectors": { - "root": ".wp-block-icon", - "color": { - "root": ".wp-block-icon svg" - }, - "border": { - "root": ".wp-block-icon svg" - }, + "root": ".wp-block-icon svg", + "css": ".wp-block-icon", "spacing": { - "padding": ".wp-block-icon svg" - }, - "dimensions": { - "root": ".wp-block-icon svg", - "width": ".wp-block-icon svg" + "margin": ".wp-block-icon" } }, "style": "wp-block-icon", diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index 32eea6bb5d9fb..02b60f91c030a 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -218,7 +218,9 @@ function block_core_image_render_lightbox( $block_content, $block, $block_instan if ( isset( $block['attrs']['id'] ) ) { $img_uploaded_src = wp_get_attachment_url( $block['attrs']['id'] ); $img_metadata = wp_get_attachment_metadata( $block['attrs']['id'] ); - $img_srcset = wp_get_attachment_image_srcset( $block['attrs']['id'] ); + $has_dimensions = ( $img_metadata['width'] ?? '' ) && ( $img_metadata['height'] ?? '' ); + $srcset_size = $has_dimensions ? array( $img_metadata['width'], $img_metadata['height'] ) : 'large'; + $img_srcset = wp_get_attachment_image_srcset( $block['attrs']['id'], $srcset_size ); $img_width = $img_metadata['width'] ?? 'none'; $img_height = $img_metadata['height'] ?? 'none'; } diff --git a/src/wp-includes/blocks/shortcode/block.json b/src/wp-includes/blocks/shortcode/block.json index f97640bf8197d..adbb48553ff13 100644 --- a/src/wp-includes/blocks/shortcode/block.json +++ b/src/wp-includes/blocks/shortcode/block.json @@ -17,7 +17,8 @@ "className": false, "customClassName": false, "html": false, - "customCSS": false + "customCSS": false, + "visibility": false }, "editorStyle": "wp-block-shortcode-editor" } diff --git a/src/wp-includes/icons/library/resize-corner-ne.svg b/src/wp-includes/icons/library/resize-corner-ne.svg new file mode 100644 index 0000000000000..764fec3b29bde --- /dev/null +++ b/src/wp-includes/icons/library/resize-corner-ne.svg @@ -0,0 +1,3 @@ + + + From ec268db962b94144f2e79128641e9a8e1867233a Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 20:16:10 -0500 Subject: [PATCH 09/12] Restore: Sync to Gutenberg revision e7b8c0c8a34bd62374ebf6f9cbfdeab4f822234c See corresponding changelog in aaafdc024bdf33574ff13b139ddde9bf65d42b3c --- src/wp-includes/assets/script-loader-packages.min.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index 51695fbe4376f..c1a13024c7f13 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -100,7 +100,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '5140a363580d1c7cd43c' + 'version' => '7d8ba03c46a31976363c' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -848,7 +848,7 @@ 'import' => 'dynamic' ) ), - 'version' => '7e012a6701be0a6ad8f3' + 'version' => '2dac6787d62a1c93f85e' ), 'url.min.js' => array( 'dependencies' => array( From 327427f54d6180bafb4c12817b19cb5cea5224af Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 20:19:47 -0500 Subject: [PATCH 10/12] Restore: Sync Gutenberg to revision f4d8a5803aa2fbe26e7d9af4d17e80a622b7bab8 See corresponding changelog in 8a7d2ceaad7006adcd1f67adc7a3047b79fe800e --- src/wp-includes/assets/script-loader-packages.min.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index c1a13024c7f13..f8b062a22fa13 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -100,7 +100,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '7d8ba03c46a31976363c' + 'version' => 'ca7e8cfd2cd06d8897bb' ), 'block-library.min.js' => array( 'dependencies' => array( @@ -424,7 +424,7 @@ 'import' => 'static' ) ), - 'version' => 'b73b3bc48dddd6b78b65' + 'version' => '9f119c2d05657de42da1' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -511,7 +511,7 @@ 'import' => 'static' ) ), - 'version' => 'f6b5f35286ac82ea0bc7' + 'version' => 'e157f65c34ea74a71709' ), 'element.min.js' => array( 'dependencies' => array( @@ -626,7 +626,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '68f7334c7a77bb83ffee' + 'version' => '490d1513362c0dd0d184' ), 'notices.min.js' => array( 'dependencies' => array( From efc89d85190755434445f39b173348ca9e441c2c Mon Sep 17 00:00:00 2001 From: Dennis Snell Date: Mon, 9 Mar 2026 20:22:26 -0500 Subject: [PATCH 11/12] Restore: Sync Gutenberg to revision 7b7fa2bc97a8029a302bd6511cf0d206b5953172 See corresponding changelog in 63240d9d318a27625475701bbe124f215bd9b14f --- src/wp-includes/assets/script-loader-packages.min.php | 6 +++--- src/wp-includes/assets/script-modules-packages.min.php | 4 ++-- src/wp-includes/blocks/navigation.php | 4 ++-- src/wp-includes/theme.json | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index f8b062a22fa13..21f894abd06a2 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -266,7 +266,7 @@ 'wp-url', 'wp-warning' ), - 'version' => '94b1c2f6db3c8822c7cb' + 'version' => 'f45e47fb68691ad2950f' ), 'customize-widgets.min.js' => array( 'dependencies' => array( @@ -667,7 +667,7 @@ 'wp-private-apis', 'wp-url' ), - 'version' => '6a1e1df3db4f7198a518' + 'version' => '4b640c092eb654d2bd78' ), 'plugins.min.js' => array( 'dependencies' => array( @@ -809,7 +809,7 @@ 'wp-hooks', 'wp-private-apis' ), - 'version' => '44b4d0543749363ed20d' + 'version' => 'a5e466ecaa7d3773e376' ), 'theme.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index f9f4799923c41..7682bccdddadc 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -76,7 +76,7 @@ 'import' => 'static' ) ), - 'version' => '243a659f91c3dc9841c7' + 'version' => '96a846e1d7b789c39ab9' ), 'block-library/playlist/view.min.js' => array( 'dependencies' => array( @@ -175,7 +175,7 @@ 'wp-i18n', 'wp-private-apis' ), - 'version' => 'fb1bf5511eb12e411ec6' + 'version' => 'bd74f3db1cc1555ee90d' ), 'core-abilities/index.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/blocks/navigation.php b/src/wp-includes/blocks/navigation.php index dddfb74a42647..18fc938ff1184 100644 --- a/src/wp-includes/blocks/navigation.php +++ b/src/wp-includes/blocks/navigation.php @@ -1146,8 +1146,8 @@ function block_core_navigation_add_directives_to_submenu( $tags, $block_attribut $open_on_hover = 'hover' === $computed_visibility; if ( $open_on_hover ) { - $tags->set_attribute( 'data-wp-on--mouseenter', 'actions.openMenuOnHover' ); - $tags->set_attribute( 'data-wp-on--mouseleave', 'actions.closeMenuOnHover' ); + $tags->set_attribute( 'data-wp-on--pointerenter', 'actions.openMenuOnHover' ); + $tags->set_attribute( 'data-wp-on--pointerleave', 'actions.closeMenuOnHover' ); } // Add directives to the toggle submenu button. diff --git a/src/wp-includes/theme.json b/src/wp-includes/theme.json index 5cfb3ccda09c8..fb26d36518841 100644 --- a/src/wp-includes/theme.json +++ b/src/wp-includes/theme.json @@ -1,5 +1,5 @@ { - "$schema": "../schemas/json/theme.json", + "$schema": "https://schemas.wp.org/trunk/theme.json", "version": 3, "settings": { "appearanceTools": false, From ef9bcb2e44b7ddcf31b8cb41b6db04dceca775af Mon Sep 17 00:00:00 2001 From: "wordpress-develop-pr-bot[bot]" <1178653+wordpress-develop-pr-bot[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 00:16:30 +0000 Subject: [PATCH 12/12] Automation: Updating built files with changes. --- .../assets/script-loader-packages.min.php | 14 +++++++------- .../assets/script-modules-packages.min.php | 2 +- src/wp-includes/blocks/require-dynamic-blocks.php | 2 +- src/wp-includes/blocks/require-static-blocks.php | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/wp-includes/assets/script-loader-packages.min.php b/src/wp-includes/assets/script-loader-packages.min.php index 21f894abd06a2..a786688ad2153 100644 --- a/src/wp-includes/assets/script-loader-packages.min.php +++ b/src/wp-includes/assets/script-loader-packages.min.php @@ -142,7 +142,7 @@ 'import' => 'dynamic' ) ), - 'version' => '7c541503acf57eac5326' + 'version' => 'c2d339cfc3f518d7ae7d' ), 'block-serialization-default-parser.min.js' => array( 'dependencies' => array( @@ -291,7 +291,7 @@ 'wp-private-apis', 'wp-widgets' ), - 'version' => '524dc7a4326b77064831' + 'version' => 'e80611931675bf2bbbc8' ), 'data.min.js' => array( 'dependencies' => array( @@ -377,7 +377,7 @@ 'import' => 'static' ) ), - 'version' => '553c68d537faab610eea' + 'version' => '8a4bb8684179cd65c841' ), 'edit-site.min.js' => array( 'dependencies' => array( @@ -424,7 +424,7 @@ 'import' => 'static' ) ), - 'version' => '9f119c2d05657de42da1' + 'version' => 'f1371886f952c7d1e117' ), 'edit-widgets.min.js' => array( 'dependencies' => array( @@ -461,7 +461,7 @@ 'import' => 'static' ) ), - 'version' => 'be944f745795910dc41a' + 'version' => '806130674ab07f4de152' ), 'editor.min.js' => array( 'dependencies' => array( @@ -511,7 +511,7 @@ 'import' => 'static' ) ), - 'version' => 'e157f65c34ea74a71709' + 'version' => 'f01d293e2d88336274ff' ), 'element.min.js' => array( 'dependencies' => array( @@ -809,7 +809,7 @@ 'wp-hooks', 'wp-private-apis' ), - 'version' => 'a5e466ecaa7d3773e376' + 'version' => '520093735c1b81307ab4' ), 'theme.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.min.php b/src/wp-includes/assets/script-modules-packages.min.php index 7682bccdddadc..d641243ad293b 100644 --- a/src/wp-includes/assets/script-modules-packages.min.php +++ b/src/wp-includes/assets/script-modules-packages.min.php @@ -298,7 +298,7 @@ 'dependencies' => array( ), - 'version' => 'd1059441df775d567043' + 'version' => 'a742676bcc8809271cc6' ), 'workflow/index.min.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/blocks/require-dynamic-blocks.php b/src/wp-includes/blocks/require-dynamic-blocks.php index 8da988339f172..2fc6656eeb3d3 100644 --- a/src/wp-includes/blocks/require-dynamic-blocks.php +++ b/src/wp-includes/blocks/require-dynamic-blocks.php @@ -1,6 +1,6 @@