From 10af0ccf290067dde3d6cd7638969306b3855d19 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> Date: Thu, 18 Jun 2026 23:38:33 -0400 Subject: [PATCH 1/3] Test upstream PR that only includes public icons. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 429e0469dd491..e3b51da6d8915 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "url": "https://develop.svn.wordpress.org/trunk" }, "gutenberg": { - "sha": "a2a354cf35e5b69c3330d6c1cfd42d8dc2efb9fd", + "sha": "pr-79338", "ghcrRepo": "WordPress/gutenberg/gutenberg-wp-develop-build" }, "engines": { From 6df0cfcf2722ab7e809a23c1f81d4d39b31d1eb4 Mon Sep 17 00:00:00 2001 From: "wordpress-develop-pr-bot[bot]" <1178653+wordpress-develop-pr-bot[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 03:41:36 +0000 Subject: [PATCH 2/3] Automation: Updating built files with changes. --- .../assets/script-loader-packages.php | 131 +- .../assets/script-modules-packages.php | 63 +- src/wp-includes/blocks/accordion-item.php | 1 - .../blocks/accordion-item/block.json | 1 + src/wp-includes/blocks/avatar.php | 4 +- src/wp-includes/blocks/block.php | 28 +- src/wp-includes/blocks/blocks-json.php | 125 +- src/wp-includes/blocks/button.php | 68 + src/wp-includes/blocks/button/block.json | 14 +- .../blocks/comment-author-name.php | 2 +- src/wp-includes/blocks/comment-date.php | 2 +- src/wp-includes/blocks/cover.php | 8 +- src/wp-includes/blocks/group/block.json | 7 +- src/wp-includes/blocks/home-link.php | 57 +- src/wp-includes/blocks/home-link/block.json | 7 + src/wp-includes/blocks/icon.php | 27 +- src/wp-includes/blocks/icon/block.json | 12 + src/wp-includes/blocks/image.php | 11 +- src/wp-includes/blocks/image/block.json | 5 + src/wp-includes/blocks/latest-posts.php | 2 +- src/wp-includes/blocks/list-item/block.json | 1 + src/wp-includes/blocks/loginout.php | 13 + src/wp-includes/blocks/navigation-link.php | 64 +- .../blocks/navigation-link/block.json | 5 + src/wp-includes/blocks/navigation-submenu.php | 87 +- .../blocks/navigation-submenu/block.json | 7 + src/wp-includes/blocks/navigation.php | 69 +- src/wp-includes/blocks/page-list.php | 53 +- src/wp-includes/blocks/page-list/block.json | 7 +- src/wp-includes/blocks/post-author-name.php | 2 +- src/wp-includes/blocks/post-date.php | 2 +- src/wp-includes/blocks/post-date/block.json | 4 +- .../blocks/post-excerpt/block.json | 4 +- .../blocks/post-featured-image.php | 54 +- .../blocks/post-featured-image/block.json | 1 + .../blocks/post-navigation-link/block.json | 4 +- src/wp-includes/blocks/post-template.php | 3 + src/wp-includes/blocks/post-title/block.json | 7 +- src/wp-includes/blocks/pullquote/block.json | 9 +- src/wp-includes/blocks/query-title.php | 2 +- src/wp-includes/blocks/query-title/block.json | 4 +- src/wp-includes/blocks/read-more.php | 4 +- src/wp-includes/blocks/search.php | 30 +- src/wp-includes/blocks/search/block.json | 10 +- .../blocks/site-tagline/block.json | 10 +- src/wp-includes/blocks/site-title/block.json | 4 +- src/wp-includes/build/constants.php | 2 +- src/wp-includes/build/pages.php | 14 +- .../pages/font-library/page-wp-admin.php | 23 +- .../build/pages/font-library/page.php | 45 +- .../options-connectors/page-wp-admin.php | 23 +- .../build/pages/options-connectors/page.php | 45 +- .../build/routes/connectors-home/content.js | 10970 +++++++++++++++- .../connectors-home/content.min.asset.php | 2 +- .../routes/connectors-home/content.min.js | 26 +- .../build/routes/font-list/content.js | 10660 +++++++++++++-- .../routes/font-list/content.min.asset.php | 2 +- .../build/routes/font-list/content.min.js | 36 +- .../images/icon-library/accordion-heading.svg | 4 - .../images/icon-library/accordion-item.svg | 6 - .../images/icon-library/accordion.svg | 6 - .../images/icon-library/add-card.svg | 3 - .../images/icon-library/add-submenu.svg | 3 - .../images/icon-library/add-template.svg | 3 - .../images/icon-library/align-center.svg | 3 - .../images/icon-library/align-justify.svg | 3 - .../images/icon-library/align-left.svg | 3 - .../images/icon-library/align-none.svg | 3 - .../images/icon-library/align-right.svg | 3 - .../images/icon-library/archive.svg | 3 - .../images/icon-library/aspect-ratio.svg | 3 - .../images/icon-library/background.svg | 3 - .../images/icon-library/backup.svg | 3 - .../images/icon-library/bell-unread.svg | 4 - .../images/icon-library/border.svg | 3 - src/wp-includes/images/icon-library/box.svg | 3 - .../images/icon-library/breadcrumbs.svg | 3 - src/wp-includes/images/icon-library/brush.svg | 3 - src/wp-includes/images/icon-library/bug.svg | 3 - .../images/icon-library/button.svg | 3 - .../images/icon-library/buttons.svg | 3 - .../icon-library/cancel-circle-filled.svg | 3 - .../images/icon-library/caption.svg | 3 - .../images/icon-library/caution-filled.svg | 3 - .../images/icon-library/classic.svg | 3 - .../images/icon-library/close-small.svg | 3 - src/wp-includes/images/icon-library/close.svg | 3 - .../images/icon-library/cloud-download.svg | 3 - .../images/icon-library/cloud-upload.svg | 3 - src/wp-includes/images/icon-library/cloud.svg | 3 - src/wp-includes/images/icon-library/code.svg | 3 - src/wp-includes/images/icon-library/cog.svg | 3 - src/wp-includes/images/icon-library/color.svg | 3 - .../images/icon-library/column.svg | 3 - .../images/icon-library/columns.svg | 3 - .../icon-library/comment-author-avatar.svg | 3 - .../icon-library/comment-author-name.svg | 5 - .../images/icon-library/comment-content.svg | 3 - .../images/icon-library/comment-edit-link.svg | 3 - .../icon-library/comment-reply-link.svg | 3 - .../images/icon-library/connection.svg | 3 - .../images/icon-library/contents.svg | 3 - .../images/icon-library/copy-small.svg | 3 - src/wp-includes/images/icon-library/copy.svg | 3 - .../images/icon-library/corner-all.svg | 3 - .../icon-library/corner-bottom-left.svg | 6 - .../icon-library/corner-bottom-right.svg | 6 - .../images/icon-library/corner-top-left.svg | 6 - .../images/icon-library/corner-top-right.svg | 6 - src/wp-includes/images/icon-library/crop.svg | 3 - .../images/icon-library/currency-dollar.svg | 3 - .../images/icon-library/currency-euro.svg | 3 - .../images/icon-library/currency-pound.svg | 3 - .../images/icon-library/custom-link.svg | 3 - .../images/icon-library/custom-post-type.svg | 3 - .../images/icon-library/dashboard.svg | 3 - .../images/icon-library/details.svg | 4 - .../images/icon-library/drafts.svg | 3 - .../images/icon-library/drag-handle.svg | 3 - .../images/icon-library/filter.svg | 3 - .../images/icon-library/flip-horizontal.svg | 3 - .../images/icon-library/flip-vertical.svg | 3 - .../images/icon-library/footer.svg | 3 - .../images/icon-library/format-bold.svg | 3 - .../images/icon-library/format-capitalize.svg | 3 - .../images/icon-library/format-indent-rtl.svg | 3 - .../images/icon-library/format-indent.svg | 3 - .../images/icon-library/format-italic.svg | 3 - .../icon-library/format-list-bullets-rtl.svg | 3 - .../icon-library/format-list-bullets.svg | 3 - .../icon-library/format-list-numbered-rtl.svg | 3 - .../icon-library/format-list-numbered.svg | 3 - .../images/icon-library/format-lowercase.svg | 3 - .../images/icon-library/format-ltr.svg | 3 - .../icon-library/format-outdent-rtl.svg | 3 - .../images/icon-library/format-outdent.svg | 3 - .../images/icon-library/format-rtl.svg | 3 - .../icon-library/format-strikethrough.svg | 3 - .../images/icon-library/format-underline.svg | 3 - .../images/icon-library/format-uppercase.svg | 3 - .../images/icon-library/full-height.svg | 3 - .../images/icon-library/fullscreen.svg | 3 - .../images/icon-library/funnel.svg | 3 - src/wp-includes/images/icon-library/gift.svg | 3 - src/wp-includes/images/icon-library/globe.svg | 3 - src/wp-includes/images/icon-library/grid.svg | 3 - .../images/icon-library/handle.svg | 3 - .../images/icon-library/header.svg | 3 - .../images/icon-library/heading-level-1.svg | 3 - .../images/icon-library/heading-level-2.svg | 3 - .../images/icon-library/heading-level-3.svg | 3 - .../images/icon-library/heading-level-4.svg | 3 - .../images/icon-library/heading-level-5.svg | 3 - .../images/icon-library/heading-level-6.svg | 3 - .../images/icon-library/help-filled.svg | 3 - .../images/icon-library/home-button.svg | 3 - src/wp-includes/images/icon-library/html.svg | 3 - src/wp-includes/images/icon-library/inbox.svg | 3 - .../images/icon-library/insert-after.svg | 3 - .../images/icon-library/insert-before.svg | 3 - .../images/icon-library/institution.svg | 3 - .../images/icon-library/justify-bottom.svg | 3 - .../icon-library/justify-center-vertical.svg | 3 - .../images/icon-library/justify-center.svg | 3 - .../images/icon-library/justify-left.svg | 3 - .../images/icon-library/justify-right.svg | 3 - .../justify-space-between-vertical.svg | 3 - .../icon-library/justify-space-between.svg | 3 - .../icon-library/justify-stretch-vertical.svg | 3 - .../images/icon-library/justify-stretch.svg | 3 - .../images/icon-library/justify-top.svg | 3 - .../images/icon-library/keyboard-close.svg | 3 - .../images/icon-library/keyboard-return.svg | 3 - .../images/icon-library/keyboard.svg | 4 - .../images/icon-library/layout.svg | 3 - .../images/icon-library/level-up.svg | 3 - .../images/icon-library/lifesaver.svg | 3 - .../images/icon-library/line-dashed.svg | 3 - .../images/icon-library/line-dotted.svg | 3 - .../images/icon-library/line-solid.svg | 3 - .../images/icon-library/link-off.svg | 3 - src/wp-includes/images/icon-library/link.svg | 3 - .../images/icon-library/list-item.svg | 3 - .../images/icon-library/list-view.svg | 3 - src/wp-includes/images/icon-library/list.svg | 3 - .../images/icon-library/lock-outline.svg | 3 - .../images/icon-library/lock-small.svg | 3 - src/wp-includes/images/icon-library/lock.svg | 3 - src/wp-includes/images/icon-library/login.svg | 3 - src/wp-includes/images/icon-library/loop.svg | 3 - src/wp-includes/images/icon-library/math.svg | 3 - .../images/icon-library/media-and-text.svg | 3 - src/wp-includes/images/icon-library/media.svg | 4 - .../images/icon-library/megaphone.svg | 3 - src/wp-includes/images/icon-library/more.svg | 3 - .../images/icon-library/move-to.svg | 3 - .../icon-library/navigation-overlay.svg | 3 - .../images/icon-library/navigation.svg | 3 - .../images/icon-library/not-allowed.svg | 3 - .../images/icon-library/not-found.svg | 3 - .../images/icon-library/offline.svg | 3 - .../images/icon-library/overlay-text.svg | 3 - .../images/icon-library/page-break.svg | 3 - src/wp-includes/images/icon-library/page.svg | 4 - src/wp-includes/images/icon-library/pages.svg | 5 - .../images/icon-library/pending.svg | 3 - .../images/icon-library/percent.svg | 3 - .../images/icon-library/pin-small.svg | 3 - src/wp-includes/images/icon-library/pin.svg | 3 - .../images/icon-library/plugins.svg | 3 - .../icon-library/plus-circle-filled.svg | 3 - .../images/icon-library/position-center.svg | 3 - .../images/icon-library/position-left.svg | 3 - .../images/icon-library/position-right.svg | 3 - .../images/icon-library/post-author.svg | 3 - .../images/icon-library/post-categories.svg | 3 - .../icon-library/post-comments-count.svg | 3 - .../icon-library/post-comments-form.svg | 3 - .../images/icon-library/post-comments.svg | 3 - .../images/icon-library/post-content.svg | 3 - .../images/icon-library/post-date.svg | 4 - .../images/icon-library/post-excerpt.svg | 3 - .../icon-library/post-featured-image.svg | 3 - .../images/icon-library/post-list.svg | 3 - .../images/icon-library/post-terms.svg | 3 - src/wp-includes/images/icon-library/post.svg | 3 - .../images/icon-library/preformatted.svg | 3 - .../images/icon-library/pull-left.svg | 3 - .../images/icon-library/pull-right.svg | 3 - .../images/icon-library/pullquote.svg | 3 - .../icon-library/query-pagination-next.svg | 3 - .../icon-library/query-pagination-numbers.svg | 3 - .../query-pagination-previous.svg | 3 - .../images/icon-library/query-pagination.svg | 3 - src/wp-includes/images/icon-library/redo.svg | 3 - .../images/icon-library/remove-bug.svg | 3 - .../images/icon-library/remove-submenu.svg | 3 - .../images/icon-library/replace.svg | 3 - src/wp-includes/images/icon-library/reset.svg | 3 - .../images/icon-library/resize-corner-ne.svg | 3 - .../images/icon-library/reusable-block.svg | 3 - .../images/icon-library/rotate-left.svg | 3 - .../images/icon-library/rotate-right.svg | 3 - src/wp-includes/images/icon-library/row.svg | 3 - src/wp-includes/images/icon-library/seen.svg | 3 - src/wp-includes/images/icon-library/send.svg | 3 - .../images/icon-library/separator.svg | 3 - .../images/icon-library/shipping.svg | 3 - .../images/icon-library/shortcode.svg | 3 - .../images/icon-library/sidebar.svg | 3 - .../images/icon-library/sides-all.svg | 3 - .../images/icon-library/sides-axial.svg | 3 - .../images/icon-library/sides-bottom.svg | 4 - .../images/icon-library/sides-horizontal.svg | 5 - .../images/icon-library/sides-left.svg | 4 - .../images/icon-library/sides-right.svg | 4 - .../images/icon-library/sides-top.svg | 4 - .../images/icon-library/sides-vertical.svg | 5 - .../images/icon-library/site-logo.svg | 3 - .../images/icon-library/square.svg | 3 - src/wp-includes/images/icon-library/stack.svg | 3 - .../icon-library/stretch-full-width.svg | 3 - .../images/icon-library/stretch-wide.svg | 3 - .../images/icon-library/subscript.svg | 3 - .../images/icon-library/superscript.svg | 3 - .../images/icon-library/swatch.svg | 3 - src/wp-includes/images/icon-library/tab.svg | 1 - .../icon-library/table-column-after.svg | 3 - .../icon-library/table-column-before.svg | 3 - .../icon-library/table-column-delete.svg | 3 - .../images/icon-library/table-of-contents.svg | 4 - .../images/icon-library/table-row-after.svg | 3 - .../images/icon-library/table-row-before.svg | 3 - .../images/icon-library/table-row-delete.svg | 3 - .../images/icon-library/tabs-menu-item.svg | 1 - .../images/icon-library/tabs-menu.svg | 1 - src/wp-includes/images/icon-library/tabs.svg | 1 - .../images/icon-library/term-count.svg | 4 - .../images/icon-library/term-description.svg | 3 - .../images/icon-library/term-name.svg | 4 - .../images/icon-library/text-color.svg | 3 - .../images/icon-library/text-horizontal.svg | 3 - .../images/icon-library/text-vertical.svg | 3 - .../images/icon-library/thumbs-down.svg | 3 - .../images/icon-library/thumbs-up.svg | 3 - .../images/icon-library/time-to-read.svg | 3 - src/wp-includes/images/icon-library/title.svg | 3 - src/wp-includes/images/icon-library/tool.svg | 3 - src/wp-includes/images/icon-library/trash.svg | 3 - .../images/icon-library/trending-down.svg | 3 - .../images/icon-library/trending-up.svg | 3 - .../images/icon-library/typography.svg | 3 - src/wp-includes/images/icon-library/undo.svg | 3 - .../images/icon-library/ungroup.svg | 3 - .../images/icon-library/unlock.svg | 3 - .../images/icon-library/unseen.svg | 3 - .../images/icon-library/update.svg | 3 - src/wp-includes/images/icon-library/video.svg | 3 - .../images/icon-library/widget.svg | 3 - .../images/icon-library/word-count.svg | 3 - .../images/icon-library/wordpress.svg | 3 - src/wp-includes/theme.json | 25 + 302 files changed, 21028 insertions(+), 2641 deletions(-) delete mode 100644 src/wp-includes/images/icon-library/accordion-heading.svg delete mode 100644 src/wp-includes/images/icon-library/accordion-item.svg delete mode 100644 src/wp-includes/images/icon-library/accordion.svg delete mode 100644 src/wp-includes/images/icon-library/add-card.svg delete mode 100644 src/wp-includes/images/icon-library/add-submenu.svg delete mode 100644 src/wp-includes/images/icon-library/add-template.svg delete mode 100644 src/wp-includes/images/icon-library/align-center.svg delete mode 100644 src/wp-includes/images/icon-library/align-justify.svg delete mode 100644 src/wp-includes/images/icon-library/align-left.svg delete mode 100644 src/wp-includes/images/icon-library/align-none.svg delete mode 100644 src/wp-includes/images/icon-library/align-right.svg delete mode 100644 src/wp-includes/images/icon-library/archive.svg delete mode 100644 src/wp-includes/images/icon-library/aspect-ratio.svg delete mode 100644 src/wp-includes/images/icon-library/background.svg delete mode 100644 src/wp-includes/images/icon-library/backup.svg delete mode 100644 src/wp-includes/images/icon-library/bell-unread.svg delete mode 100644 src/wp-includes/images/icon-library/border.svg delete mode 100644 src/wp-includes/images/icon-library/box.svg delete mode 100644 src/wp-includes/images/icon-library/breadcrumbs.svg delete mode 100644 src/wp-includes/images/icon-library/brush.svg delete mode 100644 src/wp-includes/images/icon-library/bug.svg delete mode 100644 src/wp-includes/images/icon-library/button.svg delete mode 100644 src/wp-includes/images/icon-library/buttons.svg delete mode 100644 src/wp-includes/images/icon-library/cancel-circle-filled.svg delete mode 100644 src/wp-includes/images/icon-library/caption.svg delete mode 100644 src/wp-includes/images/icon-library/caution-filled.svg delete mode 100644 src/wp-includes/images/icon-library/classic.svg delete mode 100644 src/wp-includes/images/icon-library/close-small.svg delete mode 100644 src/wp-includes/images/icon-library/close.svg delete mode 100644 src/wp-includes/images/icon-library/cloud-download.svg delete mode 100644 src/wp-includes/images/icon-library/cloud-upload.svg delete mode 100644 src/wp-includes/images/icon-library/cloud.svg delete mode 100644 src/wp-includes/images/icon-library/code.svg delete mode 100644 src/wp-includes/images/icon-library/cog.svg delete mode 100644 src/wp-includes/images/icon-library/color.svg delete mode 100644 src/wp-includes/images/icon-library/column.svg delete mode 100644 src/wp-includes/images/icon-library/columns.svg delete mode 100644 src/wp-includes/images/icon-library/comment-author-avatar.svg delete mode 100644 src/wp-includes/images/icon-library/comment-author-name.svg delete mode 100644 src/wp-includes/images/icon-library/comment-content.svg delete mode 100644 src/wp-includes/images/icon-library/comment-edit-link.svg delete mode 100644 src/wp-includes/images/icon-library/comment-reply-link.svg delete mode 100644 src/wp-includes/images/icon-library/connection.svg delete mode 100644 src/wp-includes/images/icon-library/contents.svg delete mode 100644 src/wp-includes/images/icon-library/copy-small.svg delete mode 100644 src/wp-includes/images/icon-library/copy.svg delete mode 100644 src/wp-includes/images/icon-library/corner-all.svg delete mode 100644 src/wp-includes/images/icon-library/corner-bottom-left.svg delete mode 100644 src/wp-includes/images/icon-library/corner-bottom-right.svg delete mode 100644 src/wp-includes/images/icon-library/corner-top-left.svg delete mode 100644 src/wp-includes/images/icon-library/corner-top-right.svg delete mode 100644 src/wp-includes/images/icon-library/crop.svg delete mode 100644 src/wp-includes/images/icon-library/currency-dollar.svg delete mode 100644 src/wp-includes/images/icon-library/currency-euro.svg delete mode 100644 src/wp-includes/images/icon-library/currency-pound.svg delete mode 100644 src/wp-includes/images/icon-library/custom-link.svg delete mode 100644 src/wp-includes/images/icon-library/custom-post-type.svg delete mode 100644 src/wp-includes/images/icon-library/dashboard.svg delete mode 100644 src/wp-includes/images/icon-library/details.svg delete mode 100644 src/wp-includes/images/icon-library/drafts.svg delete mode 100644 src/wp-includes/images/icon-library/drag-handle.svg delete mode 100644 src/wp-includes/images/icon-library/filter.svg delete mode 100644 src/wp-includes/images/icon-library/flip-horizontal.svg delete mode 100644 src/wp-includes/images/icon-library/flip-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/footer.svg delete mode 100644 src/wp-includes/images/icon-library/format-bold.svg delete mode 100644 src/wp-includes/images/icon-library/format-capitalize.svg delete mode 100644 src/wp-includes/images/icon-library/format-indent-rtl.svg delete mode 100644 src/wp-includes/images/icon-library/format-indent.svg delete mode 100644 src/wp-includes/images/icon-library/format-italic.svg delete mode 100644 src/wp-includes/images/icon-library/format-list-bullets-rtl.svg delete mode 100644 src/wp-includes/images/icon-library/format-list-bullets.svg delete mode 100644 src/wp-includes/images/icon-library/format-list-numbered-rtl.svg delete mode 100644 src/wp-includes/images/icon-library/format-list-numbered.svg delete mode 100644 src/wp-includes/images/icon-library/format-lowercase.svg delete mode 100644 src/wp-includes/images/icon-library/format-ltr.svg delete mode 100644 src/wp-includes/images/icon-library/format-outdent-rtl.svg delete mode 100644 src/wp-includes/images/icon-library/format-outdent.svg delete mode 100644 src/wp-includes/images/icon-library/format-rtl.svg delete mode 100644 src/wp-includes/images/icon-library/format-strikethrough.svg delete mode 100644 src/wp-includes/images/icon-library/format-underline.svg delete mode 100644 src/wp-includes/images/icon-library/format-uppercase.svg delete mode 100644 src/wp-includes/images/icon-library/full-height.svg delete mode 100644 src/wp-includes/images/icon-library/fullscreen.svg delete mode 100644 src/wp-includes/images/icon-library/funnel.svg delete mode 100644 src/wp-includes/images/icon-library/gift.svg delete mode 100644 src/wp-includes/images/icon-library/globe.svg delete mode 100644 src/wp-includes/images/icon-library/grid.svg delete mode 100644 src/wp-includes/images/icon-library/handle.svg delete mode 100644 src/wp-includes/images/icon-library/header.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-1.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-2.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-3.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-4.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-5.svg delete mode 100644 src/wp-includes/images/icon-library/heading-level-6.svg delete mode 100644 src/wp-includes/images/icon-library/help-filled.svg delete mode 100644 src/wp-includes/images/icon-library/home-button.svg delete mode 100644 src/wp-includes/images/icon-library/html.svg delete mode 100644 src/wp-includes/images/icon-library/inbox.svg delete mode 100644 src/wp-includes/images/icon-library/insert-after.svg delete mode 100644 src/wp-includes/images/icon-library/insert-before.svg delete mode 100644 src/wp-includes/images/icon-library/institution.svg delete mode 100644 src/wp-includes/images/icon-library/justify-bottom.svg delete mode 100644 src/wp-includes/images/icon-library/justify-center-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/justify-center.svg delete mode 100644 src/wp-includes/images/icon-library/justify-left.svg delete mode 100644 src/wp-includes/images/icon-library/justify-right.svg delete mode 100644 src/wp-includes/images/icon-library/justify-space-between-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/justify-space-between.svg delete mode 100644 src/wp-includes/images/icon-library/justify-stretch-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/justify-stretch.svg delete mode 100644 src/wp-includes/images/icon-library/justify-top.svg delete mode 100644 src/wp-includes/images/icon-library/keyboard-close.svg delete mode 100644 src/wp-includes/images/icon-library/keyboard-return.svg delete mode 100644 src/wp-includes/images/icon-library/keyboard.svg delete mode 100644 src/wp-includes/images/icon-library/layout.svg delete mode 100644 src/wp-includes/images/icon-library/level-up.svg delete mode 100644 src/wp-includes/images/icon-library/lifesaver.svg delete mode 100644 src/wp-includes/images/icon-library/line-dashed.svg delete mode 100644 src/wp-includes/images/icon-library/line-dotted.svg delete mode 100644 src/wp-includes/images/icon-library/line-solid.svg delete mode 100644 src/wp-includes/images/icon-library/link-off.svg delete mode 100644 src/wp-includes/images/icon-library/link.svg delete mode 100644 src/wp-includes/images/icon-library/list-item.svg delete mode 100644 src/wp-includes/images/icon-library/list-view.svg delete mode 100644 src/wp-includes/images/icon-library/list.svg delete mode 100644 src/wp-includes/images/icon-library/lock-outline.svg delete mode 100644 src/wp-includes/images/icon-library/lock-small.svg delete mode 100644 src/wp-includes/images/icon-library/lock.svg delete mode 100644 src/wp-includes/images/icon-library/login.svg delete mode 100644 src/wp-includes/images/icon-library/loop.svg delete mode 100644 src/wp-includes/images/icon-library/math.svg delete mode 100644 src/wp-includes/images/icon-library/media-and-text.svg delete mode 100644 src/wp-includes/images/icon-library/media.svg delete mode 100644 src/wp-includes/images/icon-library/megaphone.svg delete mode 100644 src/wp-includes/images/icon-library/more.svg delete mode 100644 src/wp-includes/images/icon-library/move-to.svg delete mode 100644 src/wp-includes/images/icon-library/navigation-overlay.svg delete mode 100644 src/wp-includes/images/icon-library/navigation.svg delete mode 100644 src/wp-includes/images/icon-library/not-allowed.svg delete mode 100644 src/wp-includes/images/icon-library/not-found.svg delete mode 100644 src/wp-includes/images/icon-library/offline.svg delete mode 100644 src/wp-includes/images/icon-library/overlay-text.svg delete mode 100644 src/wp-includes/images/icon-library/page-break.svg delete mode 100644 src/wp-includes/images/icon-library/page.svg delete mode 100644 src/wp-includes/images/icon-library/pages.svg delete mode 100644 src/wp-includes/images/icon-library/pending.svg delete mode 100644 src/wp-includes/images/icon-library/percent.svg delete mode 100644 src/wp-includes/images/icon-library/pin-small.svg delete mode 100644 src/wp-includes/images/icon-library/pin.svg delete mode 100644 src/wp-includes/images/icon-library/plugins.svg delete mode 100644 src/wp-includes/images/icon-library/plus-circle-filled.svg delete mode 100644 src/wp-includes/images/icon-library/position-center.svg delete mode 100644 src/wp-includes/images/icon-library/position-left.svg delete mode 100644 src/wp-includes/images/icon-library/position-right.svg delete mode 100644 src/wp-includes/images/icon-library/post-author.svg delete mode 100644 src/wp-includes/images/icon-library/post-categories.svg delete mode 100644 src/wp-includes/images/icon-library/post-comments-count.svg delete mode 100644 src/wp-includes/images/icon-library/post-comments-form.svg delete mode 100644 src/wp-includes/images/icon-library/post-comments.svg delete mode 100644 src/wp-includes/images/icon-library/post-content.svg delete mode 100644 src/wp-includes/images/icon-library/post-date.svg delete mode 100644 src/wp-includes/images/icon-library/post-excerpt.svg delete mode 100644 src/wp-includes/images/icon-library/post-featured-image.svg delete mode 100644 src/wp-includes/images/icon-library/post-list.svg delete mode 100644 src/wp-includes/images/icon-library/post-terms.svg delete mode 100644 src/wp-includes/images/icon-library/post.svg delete mode 100644 src/wp-includes/images/icon-library/preformatted.svg delete mode 100644 src/wp-includes/images/icon-library/pull-left.svg delete mode 100644 src/wp-includes/images/icon-library/pull-right.svg delete mode 100644 src/wp-includes/images/icon-library/pullquote.svg delete mode 100644 src/wp-includes/images/icon-library/query-pagination-next.svg delete mode 100644 src/wp-includes/images/icon-library/query-pagination-numbers.svg delete mode 100644 src/wp-includes/images/icon-library/query-pagination-previous.svg delete mode 100644 src/wp-includes/images/icon-library/query-pagination.svg delete mode 100644 src/wp-includes/images/icon-library/redo.svg delete mode 100644 src/wp-includes/images/icon-library/remove-bug.svg delete mode 100644 src/wp-includes/images/icon-library/remove-submenu.svg delete mode 100644 src/wp-includes/images/icon-library/replace.svg delete mode 100644 src/wp-includes/images/icon-library/reset.svg delete mode 100644 src/wp-includes/images/icon-library/resize-corner-ne.svg delete mode 100644 src/wp-includes/images/icon-library/reusable-block.svg delete mode 100644 src/wp-includes/images/icon-library/rotate-left.svg delete mode 100644 src/wp-includes/images/icon-library/rotate-right.svg delete mode 100644 src/wp-includes/images/icon-library/row.svg delete mode 100644 src/wp-includes/images/icon-library/seen.svg delete mode 100644 src/wp-includes/images/icon-library/send.svg delete mode 100644 src/wp-includes/images/icon-library/separator.svg delete mode 100644 src/wp-includes/images/icon-library/shipping.svg delete mode 100644 src/wp-includes/images/icon-library/shortcode.svg delete mode 100644 src/wp-includes/images/icon-library/sidebar.svg delete mode 100644 src/wp-includes/images/icon-library/sides-all.svg delete mode 100644 src/wp-includes/images/icon-library/sides-axial.svg delete mode 100644 src/wp-includes/images/icon-library/sides-bottom.svg delete mode 100644 src/wp-includes/images/icon-library/sides-horizontal.svg delete mode 100644 src/wp-includes/images/icon-library/sides-left.svg delete mode 100644 src/wp-includes/images/icon-library/sides-right.svg delete mode 100644 src/wp-includes/images/icon-library/sides-top.svg delete mode 100644 src/wp-includes/images/icon-library/sides-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/site-logo.svg delete mode 100644 src/wp-includes/images/icon-library/square.svg delete mode 100644 src/wp-includes/images/icon-library/stack.svg delete mode 100644 src/wp-includes/images/icon-library/stretch-full-width.svg delete mode 100644 src/wp-includes/images/icon-library/stretch-wide.svg delete mode 100644 src/wp-includes/images/icon-library/subscript.svg delete mode 100644 src/wp-includes/images/icon-library/superscript.svg delete mode 100644 src/wp-includes/images/icon-library/swatch.svg delete mode 100644 src/wp-includes/images/icon-library/tab.svg delete mode 100644 src/wp-includes/images/icon-library/table-column-after.svg delete mode 100644 src/wp-includes/images/icon-library/table-column-before.svg delete mode 100644 src/wp-includes/images/icon-library/table-column-delete.svg delete mode 100644 src/wp-includes/images/icon-library/table-of-contents.svg delete mode 100644 src/wp-includes/images/icon-library/table-row-after.svg delete mode 100644 src/wp-includes/images/icon-library/table-row-before.svg delete mode 100644 src/wp-includes/images/icon-library/table-row-delete.svg delete mode 100644 src/wp-includes/images/icon-library/tabs-menu-item.svg delete mode 100644 src/wp-includes/images/icon-library/tabs-menu.svg delete mode 100644 src/wp-includes/images/icon-library/tabs.svg delete mode 100644 src/wp-includes/images/icon-library/term-count.svg delete mode 100644 src/wp-includes/images/icon-library/term-description.svg delete mode 100644 src/wp-includes/images/icon-library/term-name.svg delete mode 100644 src/wp-includes/images/icon-library/text-color.svg delete mode 100644 src/wp-includes/images/icon-library/text-horizontal.svg delete mode 100644 src/wp-includes/images/icon-library/text-vertical.svg delete mode 100644 src/wp-includes/images/icon-library/thumbs-down.svg delete mode 100644 src/wp-includes/images/icon-library/thumbs-up.svg delete mode 100644 src/wp-includes/images/icon-library/time-to-read.svg delete mode 100644 src/wp-includes/images/icon-library/title.svg delete mode 100644 src/wp-includes/images/icon-library/tool.svg delete mode 100644 src/wp-includes/images/icon-library/trash.svg delete mode 100644 src/wp-includes/images/icon-library/trending-down.svg delete mode 100644 src/wp-includes/images/icon-library/trending-up.svg delete mode 100644 src/wp-includes/images/icon-library/typography.svg delete mode 100644 src/wp-includes/images/icon-library/undo.svg delete mode 100644 src/wp-includes/images/icon-library/ungroup.svg delete mode 100644 src/wp-includes/images/icon-library/unlock.svg delete mode 100644 src/wp-includes/images/icon-library/unseen.svg delete mode 100644 src/wp-includes/images/icon-library/update.svg delete mode 100644 src/wp-includes/images/icon-library/video.svg delete mode 100644 src/wp-includes/images/icon-library/widget.svg delete mode 100644 src/wp-includes/images/icon-library/word-count.svg delete mode 100644 src/wp-includes/images/icon-library/wordpress.svg diff --git a/src/wp-includes/assets/script-loader-packages.php b/src/wp-includes/assets/script-loader-packages.php index 5dccb121dbb83..7dd9201b13aa0 100644 --- a/src/wp-includes/assets/script-loader-packages.php +++ b/src/wp-includes/assets/script-loader-packages.php @@ -4,7 +4,7 @@ 'wp-dom-ready', 'wp-i18n' ), - 'version' => 'af934e5259bc51b8718e' + 'version' => '483af07a6016f640f456' ), 'annotations.js' => array( 'dependencies' => array( @@ -13,14 +13,15 @@ 'wp-i18n', 'wp-rich-text' ), - 'version' => '4b07d06c67c3b5ea590c' + 'version' => 'd4fe1eeb787c2fd5ee89' ), 'api-fetch.js' => array( 'dependencies' => array( 'wp-i18n', + 'wp-private-apis', 'wp-url' ), - 'version' => 'd7efe4dc1468d36c39b8' + 'version' => 'b5b51750518787a93005' ), 'autop.js' => array( 'dependencies' => array( @@ -42,6 +43,8 @@ ), 'block-directory.js' => array( 'dependencies' => array( + 'react', + 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', @@ -59,9 +62,11 @@ 'wp-notices', 'wp-plugins', 'wp-primitives', + 'wp-private-apis', + 'wp-theme', 'wp-url' ), - 'version' => '23207f52d0d266f6e1c4' + 'version' => '73ae241f079f4ca777e0' ), 'block-editor.js' => array( 'dependencies' => array( @@ -69,7 +74,6 @@ 'react-dom', 'react-jsx-runtime', 'wp-a11y', - 'wp-api-fetch', 'wp-blob', 'wp-block-serialization-default-parser', 'wp-blocks', @@ -100,11 +104,12 @@ 'wp-url', 'wp-warning' ), - 'version' => '93c3566b7f24c15b7e17' + 'version' => '5462efc7955392a025da' ), 'block-library.js' => array( 'dependencies' => array( 'react', + 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', @@ -132,6 +137,8 @@ 'wp-private-apis', 'wp-rich-text', 'wp-server-side-render', + 'wp-shortcode', + 'wp-theme', 'wp-upload-media', 'wp-url', 'wp-wordcount' @@ -142,7 +149,7 @@ 'import' => 'dynamic' ) ), - 'version' => '2dffdfe77b9c5cba960e' + 'version' => 'b05d4021841e1171ab8e' ), 'block-serialization-default-parser.js' => array( 'dependencies' => array( @@ -175,7 +182,7 @@ 'wp-shortcode', 'wp-warning' ), - 'version' => 'ef38e42500165bfda301' + 'version' => '2ee91c280141de25ebf0' ), 'commands.js' => array( 'dependencies' => array( @@ -187,10 +194,11 @@ 'wp-element', 'wp-i18n', 'wp-keyboard-shortcuts', + 'wp-preferences', 'wp-primitives', 'wp-private-apis' ), - 'version' => 'e3d8bba53f4ffea4fcd2' + 'version' => '8b8663311faa33540c1b' ), 'components.js' => array( 'dependencies' => array( @@ -212,9 +220,10 @@ 'wp-primitives', 'wp-private-apis', 'wp-rich-text', + 'wp-theme', 'wp-warning' ), - 'version' => '5dedfe13f08880193a28' + 'version' => '2ea1b187e430d0e7e31d' ), 'compose.js' => array( 'dependencies' => array( @@ -226,9 +235,10 @@ 'wp-is-shallow-equal', 'wp-keycodes', 'wp-priority-queue', + 'wp-private-apis', 'wp-undo-manager' ), - 'version' => 'edb5a8c0b5bf71686403' + 'version' => 'e234bbf2606001a9cdd3' ), 'core-commands.js' => array( 'dependencies' => array( @@ -245,7 +255,7 @@ 'wp-router', 'wp-url' ), - 'version' => 'b209152e7e51279d7c28' + 'version' => 'c387d70a2b85c37011a2' ), 'core-data.js' => array( 'dependencies' => array( @@ -257,20 +267,23 @@ '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' => '89931f90e4df5eb5f8a3' + 'version' => 'f7e9be29b78c6cc8bd9c' ), 'customize-widgets.js' => array( 'dependencies' => array( + 'react', + 'react-dom', 'react-jsx-runtime', + 'wp-a11y', 'wp-block-editor', 'wp-block-library', 'wp-blocks', @@ -289,9 +302,10 @@ 'wp-preferences', 'wp-primitives', 'wp-private-apis', + 'wp-theme', 'wp-widgets' ), - 'version' => '524dc7a4326b77064831' + 'version' => '0c48982a1d300208f58b' ), 'data.js' => array( 'dependencies' => array( @@ -304,7 +318,7 @@ 'wp-private-apis', 'wp-redux-routine' ), - 'version' => '1756b6a2676c1b3369ab' + 'version' => 'c547bd40753de57cdc64' ), 'data-controls.js' => array( 'dependencies' => array( @@ -319,7 +333,7 @@ 'moment', 'wp-deprecated' ), - 'version' => 'c9f8e7dd3232716f34e9' + 'version' => '2faaf49020b2074de156' ), 'deprecated.js' => array( 'dependencies' => array( @@ -331,7 +345,7 @@ 'dependencies' => array( 'wp-deprecated' ), - 'version' => '66a6cf58e0c4cd128af0' + 'version' => 'ea68e9ed0a44f0e21a67' ), 'dom-ready.js' => array( 'dependencies' => array( @@ -381,7 +395,7 @@ 'import' => 'static' ) ), - 'version' => '28ef50b859708963e197' + 'version' => 'a35bfb19692f8ac01d46' ), 'edit-site.js' => array( 'dependencies' => array( @@ -409,6 +423,7 @@ 'wp-i18n', 'wp-keyboard-shortcuts', 'wp-keycodes', + 'wp-media-utils', 'wp-notices', 'wp-patterns', 'wp-plugins', @@ -420,7 +435,8 @@ 'wp-theme', 'wp-url', 'wp-warning', - 'wp-widgets' + 'wp-widgets', + 'wp-wordcount' ), 'module_dependencies' => array( array( @@ -428,7 +444,7 @@ 'import' => 'static' ) ), - 'version' => 'dfd078032a67983c4d32' + 'version' => '6e5fedb5456e02f21087' ), 'edit-widgets.js' => array( 'dependencies' => array( @@ -469,7 +485,7 @@ 'import' => 'static' ) ), - 'version' => '899c5ac5dcb94e19d378' + 'version' => '0a7901ee8e8f8c17db97' ), 'editor.js' => array( 'dependencies' => array( @@ -519,7 +535,7 @@ 'import' => 'static' ) ), - 'version' => '37faadbdf6c40cb0c71c' + 'version' => '922385950a4de28141bb' ), 'element.js' => array( 'dependencies' => array( @@ -527,7 +543,7 @@ 'react-dom', 'wp-escape-html' ), - 'version' => '15ba804677f72a8db97b' + 'version' => 'ce395381f7d64d2a6d71' ), 'escape-html.js' => array( 'dependencies' => array( @@ -537,6 +553,8 @@ ), 'format-library.js' => array( 'dependencies' => array( + 'react', + 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-block-editor', @@ -549,6 +567,7 @@ 'wp-primitives', 'wp-private-apis', 'wp-rich-text', + 'wp-theme', 'wp-url' ), 'module_dependencies' => array( @@ -557,7 +576,7 @@ 'import' => 'dynamic' ) ), - 'version' => 'f89be9586f2d9ce4545a' + 'version' => '37d5db6c88da64a835f3' ), 'hooks.js' => array( 'dependencies' => array( @@ -575,7 +594,7 @@ 'dependencies' => array( 'wp-hooks' ), - 'version' => '781d11515ad3d91786ec' + 'version' => '125448662852c5e18937' ), 'is-shallow-equal.js' => array( 'dependencies' => array( @@ -590,7 +609,7 @@ 'wp-element', 'wp-keycodes' ), - 'version' => '2ed78d3b4c23f38804e0' + 'version' => '0dd268b2132a3f82b1d4' ), 'keycodes.js' => array( 'dependencies' => array( @@ -608,7 +627,7 @@ 'wp-element', 'wp-i18n' ), - 'version' => '2e35ebd5dbaccb5a90c5' + 'version' => 'a44da9be02cdfef6e44d' ), 'media-utils.js' => array( 'dependencies' => array( @@ -628,13 +647,14 @@ 'wp-i18n', 'wp-keycodes', 'wp-notices', + 'wp-preferences', 'wp-primitives', 'wp-private-apis', 'wp-theme', 'wp-url', 'wp-warning' ), - 'version' => '85f1375ab5f23cd5d13c' + 'version' => '399783506c464f6e2aab' ), 'notices.js' => array( 'dependencies' => array( @@ -642,23 +662,19 @@ 'wp-components', 'wp-data' ), - 'version' => '218d0173a31ae7269246' + 'version' => '505026883bbd05994872' ), 'nux.js' => array( 'dependencies' => array( - 'react-jsx-runtime', - 'wp-components', - 'wp-compose', 'wp-data', - 'wp-deprecated', - 'wp-element', - 'wp-i18n', - 'wp-primitives' + 'wp-deprecated' ), - 'version' => '14d2335a0007b36b9112' + 'version' => 'b0afe722eacfd6e9a364' ), 'patterns.js' => array( 'dependencies' => array( + 'react', + 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-block-editor', @@ -673,9 +689,10 @@ 'wp-notices', 'wp-primitives', 'wp-private-apis', + 'wp-theme', 'wp-url' ), - 'version' => '714c49ed2942c98d088f' + 'version' => 'da8dea2c09739f1fad07' ), 'plugins.js' => array( 'dependencies' => array( @@ -687,7 +704,7 @@ 'wp-is-shallow-equal', 'wp-primitives' ), - 'version' => '72e3cf01c2b3535a9432' + 'version' => 'e83617f3c2859303a401' ), 'preferences.js' => array( 'dependencies' => array( @@ -703,7 +720,7 @@ 'wp-primitives', 'wp-private-apis' ), - 'version' => '035813168e404aa30193' + 'version' => '918930601e250eee727e' ), 'preferences-persistence.js' => array( 'dependencies' => array( @@ -728,7 +745,7 @@ 'dependencies' => array( ), - 'version' => '835912f0086b9e59aed4' + 'version' => 'ef613f9b176d6b77ee10' ), 'react-i18n.js' => array( 'dependencies' => array( @@ -758,7 +775,7 @@ 'wp-primitives', 'wp-url' ), - 'version' => '21d86e46535b79d9afda' + 'version' => '372c845659b9a298e4fb' ), 'rich-text.js' => array( 'dependencies' => array( @@ -773,7 +790,7 @@ 'wp-keycodes', 'wp-private-apis' ), - 'version' => '16449e6108f48327f368' + 'version' => 'da75f56985c87415ce86' ), 'router.js' => array( 'dependencies' => array( @@ -797,7 +814,7 @@ 'wp-i18n', 'wp-url' ), - 'version' => '10a51bf05ced35b78092' + 'version' => '48cee6850e8be3502509' ), 'shortcode.js' => array( 'dependencies' => array( @@ -809,7 +826,15 @@ 'dependencies' => array( ), - 'version' => 'faa37ce61b7ec8394b2a' + 'version' => 'b2c79081dde904761e72' + ), + 'sync.js' => array( + 'dependencies' => array( + 'wp-api-fetch', + 'wp-hooks', + 'wp-private-apis' + ), + 'version' => 'eec01499761de7c20440' ), 'theme.js' => array( 'dependencies' => array( @@ -817,7 +842,7 @@ 'wp-element', 'wp-private-apis' ), - 'version' => 'e22ce547a4420507b323' + 'version' => '304ab2f8cac88ff1ba0e' ), 'token-list.js' => array( 'dependencies' => array( @@ -848,21 +873,21 @@ 'import' => 'dynamic' ) ), - 'version' => 'd359c2cccf866d7082d2' + 'version' => '74f79b5e0e8cf90eb161' ), 'url.js' => array( 'dependencies' => array( ), - 'version' => 'bb0f766c3d2efe497871' + 'version' => '9dd5f16a5ce37bf4ba2c' ), 'viewport.js' => array( 'dependencies' => array( - 'react-jsx-runtime', 'wp-compose', - 'wp-data' + 'wp-data', + 'wp-element' ), - 'version' => '8614025b8075d220d78f' + 'version' => '83b39beb77dcc56c4d26' ), 'warning.js' => array( 'dependencies' => array( @@ -885,7 +910,7 @@ 'wp-notices', 'wp-primitives' ), - 'version' => '02b8dd683bc610f979fa' + 'version' => '3ab93e442c755a6b2b4e' ), 'wordcount.js' => array( 'dependencies' => array( diff --git a/src/wp-includes/assets/script-modules-packages.php b/src/wp-includes/assets/script-modules-packages.php index 30b248da04fc1..c943810e6dafc 100644 --- a/src/wp-includes/assets/script-modules-packages.php +++ b/src/wp-includes/assets/script-modules-packages.php @@ -34,7 +34,7 @@ 'import' => 'static' ) ), - 'version' => '2af01b43d30739c3fb8d' + 'version' => 'f77b871ece5a791f449e' ), 'block-library/file/view.js' => array( 'dependencies' => array( @@ -46,7 +46,7 @@ 'import' => 'static' ) ), - 'version' => '7d4d261d10dca47ebecb' + 'version' => 'a9114a756e418400594c' ), 'block-library/form/view.js' => array( 'dependencies' => array( @@ -88,7 +88,7 @@ 'import' => 'static' ) ), - 'version' => '99f747d731f80246db11' + 'version' => '3440d5367efaa2741a5b' ), 'block-library/query/view.js' => array( 'dependencies' => array( @@ -128,7 +128,7 @@ 'import' => 'static' ) ), - 'version' => '1f60dd5e3fa56c6b2e2e' + 'version' => '5d52d03cfb0ddbaca920' ), 'boot/index.js' => array( 'dependencies' => array( @@ -166,7 +166,7 @@ 'import' => 'static' ) ), - 'version' => '54bb5a420026a61c7e4f' + 'version' => '1d8ac818498d717db8e2' ), 'connectors/index.js' => array( 'dependencies' => array( @@ -177,7 +177,42 @@ 'wp-i18n', 'wp-private-apis' ), - 'version' => '274797868955a828dfdc' + 'version' => '753a649aa400199df0fd' + ), + 'content-types/index.js' => array( + 'dependencies' => array( + 'react', + 'react-dom', + 'react-jsx-runtime', + 'wp-components', + 'wp-compose', + 'wp-core-data', + 'wp-data', + 'wp-date', + 'wp-deprecated', + 'wp-element', + 'wp-i18n', + 'wp-is-shallow-equal', + 'wp-keycodes', + 'wp-notices', + 'wp-preferences', + 'wp-primitives', + 'wp-private-apis', + 'wp-theme', + 'wp-url', + 'wp-warning' + ), + 'module_dependencies' => array( + array( + 'id' => '@wordpress/a11y', + 'import' => 'static' + ), + array( + 'id' => '@wordpress/route', + 'import' => 'static' + ) + ), + 'version' => '64eaee0eab71fc96214c' ), 'core-abilities/index.js' => array( 'dependencies' => array( @@ -190,7 +225,7 @@ 'import' => 'static' ) ), - 'version' => '012760fd849397dd0031' + 'version' => 'ed8d088084da397754c1' ), 'edit-site-init/index.js' => array( 'dependencies' => array( @@ -205,7 +240,7 @@ 'import' => 'static' ) ), - 'version' => 'e57f44d1a9f69e75d2d9' + 'version' => '03b5e26742d2806990c6' ), 'interactivity/index.js' => array( 'dependencies' => array( @@ -273,7 +308,7 @@ 'wp-private-apis', 'wp-style-engine' ), - 'version' => '30ab62f45bfe9f971ea0' + 'version' => 'e9a1d3da960d762c5954' ), 'route/index.js' => array( 'dependencies' => array( @@ -282,7 +317,7 @@ 'react-jsx-runtime', 'wp-private-apis' ), - 'version' => 'c5843b6c5e84b352f43b' + 'version' => '48a77bfa70722b4254e4' ), 'vips/loader.js' => array( 'dependencies' => array( @@ -300,7 +335,7 @@ 'dependencies' => array( ), - 'version' => 'aff5e5c5b28ae6b73aaa' + 'version' => '4972ce7ba840491f17bb' ), 'workflow/index.js' => array( 'dependencies' => array( @@ -319,8 +354,12 @@ array( 'id' => '@wordpress/abilities', 'import' => 'static' + ), + array( + 'id' => '@wordpress/core-abilities', + 'import' => 'static' ) ), - 'version' => '13556bc597bbf2a8d620' + 'version' => 'c5983b82ce036952b349' ) ); \ No newline at end of file diff --git a/src/wp-includes/blocks/accordion-item.php b/src/wp-includes/blocks/accordion-item.php index a16a1426e346d..8530b34de12d8 100644 --- a/src/wp-includes/blocks/accordion-item.php +++ b/src/wp-includes/blocks/accordion-item.php @@ -39,7 +39,6 @@ function block_core_accordion_item_render( array $attributes, string $content ): if ( $p->next_tag( array( 'class_name' => 'wp-block-accordion-heading__toggle' ) ) ) { $p->set_attribute( 'data-wp-on--click', 'actions.toggle' ); - $p->set_attribute( 'data-wp-on--keydown', 'actions.handleKeyDown' ); $p->set_attribute( 'id', $unique_id ); $p->set_attribute( 'aria-controls', $unique_id . '-panel' ); $p->set_attribute( 'data-wp-bind--aria-expanded', 'state.isOpen' ); diff --git a/src/wp-includes/blocks/accordion-item/block.json b/src/wp-includes/blocks/accordion-item/block.json index 74bfddde0e68b..22987b9558a5f 100644 --- a/src/wp-includes/blocks/accordion-item/block.json +++ b/src/wp-includes/blocks/accordion-item/block.json @@ -16,6 +16,7 @@ "interactivity": true, "spacing": { "margin": [ "top", "bottom" ], + "padding": true, "blockGap": true }, "__experimentalBorder": { diff --git a/src/wp-includes/blocks/avatar.php b/src/wp-includes/blocks/avatar.php index 7f73370973d42..196d67a4d480c 100644 --- a/src/wp-includes/blocks/avatar.php +++ b/src/wp-includes/blocks/avatar.php @@ -67,7 +67,7 @@ function render_block_core_avatar( $attributes, $content, $block ) { // translators: 1: Author archive link. 2: Link target. %3$s Aria label. %4$s Avatar image. $avatar_block = sprintf( '%4$s', esc_url( get_author_posts_url( $author_id ) ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block ); } - return sprintf( '
%2s
', $wrapper_attributes, $avatar_block ); + return sprintf( '
%2$s
', $wrapper_attributes, $avatar_block ); } $comment = get_comment( $block->context['commentId'] ); if ( ! $comment ) { @@ -93,7 +93,7 @@ function render_block_core_avatar( $attributes, $content, $block ) { } $avatar_block = sprintf( '%4$s', esc_url( $comment->comment_author_url ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block ); } - return sprintf( '
%2s
', $wrapper_attributes, $avatar_block ); + return sprintf( '
%2$s
', $wrapper_attributes, $avatar_block ); } /** diff --git a/src/wp-includes/blocks/block.php b/src/wp-includes/blocks/block.php index f09d5367a9c89..a89facf7be9a5 100644 --- a/src/wp-includes/blocks/block.php +++ b/src/wp-includes/blocks/block.php @@ -1,4 +1,4 @@ -parsed_block['innerBlocks'] = parse_blocks( $content ); $block_instance->parsed_block['innerContent'] = array_fill( 0, count( $block_instance->parsed_block['innerBlocks'] ), null ); - if ( method_exists( $block_instance, 'refresh_context_dependents' ) ) { - // WP_Block::refresh_context_dependents() was introduced in WordPress 6.8. - $block_instance->refresh_context_dependents(); - } else { - // This branch can be removed once Gutenberg requires WordPress 6.8 or later. - if ( ! class_exists( 'WP_Block_Cloner' ) ) { - // phpcs:ignore Gutenberg.Commenting.SinceTag.MissingClassSinceTag - class WP_Block_Cloner extends WP_Block { - /** - * Static methods of subclasses have access to protected properties - * of instances of the parent class. - * In this case, this gives us access to `available_context` and `registry`. - */ - // phpcs:ignore Gutenberg.Commenting.SinceTag.MissingMethodSinceTag - public static function clone_instance( $instance ) { - return new WP_Block( - $instance->parsed_block, - $instance->available_context, - $instance->registry - ); - } - } - } - $block_instance = WP_Block_Cloner::clone_instance( $block_instance ); - } + $block_instance->refresh_context_dependents(); $content = $block_instance->render( array( 'dynamic' => false ) ); unset( $seen_refs[ $attributes['ref'] ] ); diff --git a/src/wp-includes/blocks/blocks-json.php b/src/wp-includes/blocks/blocks-json.php index e905b113502ac..f524ff1087304 100644 --- a/src/wp-includes/blocks/blocks-json.php +++ b/src/wp-includes/blocks/blocks-json.php @@ -224,6 +224,7 @@ 'top', 'bottom' ), + 'padding' => true, 'blockGap' => true ), '__experimentalBorder' => array( @@ -759,9 +760,6 @@ ), 'gradient' => array( 'type' => 'string' - ), - 'width' => array( - 'type' => 'number' ) ), 'supports' => array( @@ -777,6 +775,15 @@ 'text' => true ) ), + 'dimensions' => array( + 'width' => true, + '__experimentalSkipSerialization' => array( + 'width' + ), + '__experimentalDefaultControls' => array( + 'width' => true + ) + ), 'typography' => array( '__experimentalSkipSerialization' => array( 'fontSize', @@ -851,6 +858,10 @@ 'root' => '.wp-block-button .wp-block-button__link', 'typography' => array( 'writingMode' => '.wp-block-button' + ), + 'dimensions' => array( + 'root' => '.wp-block-button', + 'width' => '.wp-block-button' ) ) ), @@ -2865,8 +2876,10 @@ 'background' => array( 'backgroundImage' => true, 'backgroundSize' => true, + 'gradient' => true, '__experimentalDefaultControls' => array( - 'backgroundImage' => true + 'backgroundImage' => true, + 'gradient' => true ) ), 'color' => array( @@ -2893,7 +2906,8 @@ ) ), 'dimensions' => array( - 'minHeight' => true + 'minHeight' => true, + 'minWidth' => true ), '__experimentalBorder' => array( 'color' => true, @@ -3034,6 +3048,13 @@ 'label' => array( 'type' => 'string', 'role' => 'content' + ), + 'opensInNewTab' => array( + 'type' => 'boolean', + 'default' => false + ), + 'description' => array( + 'type' => 'string' ) ), 'usesContext' => array( @@ -3115,6 +3136,18 @@ 'icon' => array( 'type' => 'string', 'role' => 'content' + ), + 'flipHorizontal' => array( + 'type' => 'boolean', + 'default' => false + ), + 'flipVertical' => array( + 'type' => 'boolean', + 'default' => false + ), + 'rotation' => array( + 'type' => 'number', + 'default' => 0 ) ), 'supports' => array( @@ -3291,6 +3324,10 @@ 'source' => 'attribute', 'selector' => 'figure > a', 'attribute' => 'target' + ), + 'isDecorative' => array( + 'type' => 'boolean', + 'default' => false ) ), 'supports' => array( @@ -3329,6 +3366,7 @@ ) ), 'selectors' => array( + 'dimensions' => '.wp-block-image img', 'border' => '.wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder', 'shadow' => '.wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder', 'filter' => array( @@ -3711,6 +3749,7 @@ ), 'supports' => array( 'anchor' => true, + 'html' => false, 'className' => false, 'splitting' => true, '__experimentalBorder' => array( @@ -4378,6 +4417,11 @@ 'clientNavigation' => true ) ), + 'selectors' => array( + 'states' => array( + '@current' => '.wp-block-navigation .current-menu-item' + ) + ), 'editorStyle' => 'wp-block-navigation-link-editor', 'style' => 'wp-block-navigation-link' ), @@ -4483,8 +4527,15 @@ ), 'isTopLevelItem' => array( 'type' => 'boolean' + ), + 'isParentSubmenu' => array( + 'type' => 'boolean', + 'default' => true ) ), + 'providesContext' => array( + 'core/isInsideSubmenu' => 'isParentSubmenu' + ), 'usesContext' => array( 'textColor', 'customTextColor', @@ -4572,10 +4623,6 @@ 'parentPageID' => array( 'type' => 'integer', 'default' => 0 - ), - 'isNested' => array( - 'type' => 'boolean', - 'default' => false ) ), 'usesContext' => array( @@ -4592,7 +4639,8 @@ 'showSubmenuIcon', 'style', 'openSubmenusOnClick', - 'submenuVisibility' + 'submenuVisibility', + 'core/isInsideSubmenu' ), 'supports' => array( 'anchor' => true, @@ -5348,9 +5396,6 @@ 'type' => 'string', 'role' => 'content' ), - 'textAlign' => array( - 'type' => 'string' - ), 'format' => array( 'type' => 'string' ), @@ -5387,6 +5432,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -5423,9 +5469,6 @@ 'description' => 'Display the excerpt.', 'textdomain' => 'default', 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'moreText' => array( 'type' => 'string', 'role' => 'content' @@ -5466,6 +5509,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, 'textColumns' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, @@ -5606,6 +5650,7 @@ ) ), 'selectors' => array( + 'dimensions' => '.wp-block-post-featured-image img', 'border' => '.wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay', 'shadow' => '.wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder', 'filter' => array( @@ -5624,9 +5669,6 @@ 'description' => 'Displays the next or previous post link that is adjacent to the current post.', 'textdomain' => 'default', 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'type' => array( 'type' => 'string', 'default' => 'next' @@ -5665,6 +5707,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -5922,9 +5965,6 @@ 'queryId' ), 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'level' => array( 'type' => 'number', 'default' => 2 @@ -5947,6 +5987,9 @@ 'type' => 'string', 'default' => '_self', 'role' => 'content' + ), + 'placeholder' => array( + 'type' => 'string' ) ), 'example' => array( @@ -5975,6 +6018,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -6084,9 +6128,6 @@ 'source' => 'rich-text', 'selector' => 'cite', 'role' => 'content' - ), - 'textAlign' => array( - 'type' => 'string' ) ), 'supports' => array( @@ -6114,10 +6155,7 @@ ) ), 'dimensions' => array( - 'minHeight' => true, - '__experimentalDefaultControls' => array( - 'minHeight' => false - ) + 'minHeight' => true ), 'spacing' => array( 'margin' => true, @@ -6126,6 +6164,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontWeight' => true, '__experimentalFontStyle' => true, @@ -6523,9 +6562,6 @@ 'type' => array( 'type' => 'string' ), - 'textAlign' => array( - 'type' => 'string' - ), 'level' => array( 'type' => 'number', 'default' => 1 @@ -6571,6 +6607,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalFontStyle' => true, '__experimentalFontWeight' => true, @@ -6984,10 +7021,6 @@ 'default' => array( ) - ), - 'isSearchFieldHidden' => array( - 'type' => 'boolean', - 'default' => false ) ), 'supports' => array( @@ -7038,7 +7071,11 @@ 'html' => false ), 'editorStyle' => 'wp-block-search-editor', - 'style' => 'wp-block-search' + 'style' => 'wp-block-search', + 'selectors' => array( + 'color' => '.wp-block-search .wp-block-search__button, .wp-block-search.wp-block-search__no-button .wp-block-search__input', + 'border' => '.wp-block-search.wp-block-search__button-outside .wp-block-search__input, .wp-block-search.wp-block-search__button-outside .wp-block-search__button, .wp-block-search.wp-block-search__no-button .wp-block-search__input, .wp-block-search.wp-block-search__button-only .wp-block-search__input, .wp-block-search.wp-block-search__button-only .wp-block-search__button, .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper' + ) ), 'separator' => array( '$schema' => 'https://schemas.wp.org/trunk/block.json', @@ -7224,9 +7261,6 @@ ), 'textdomain' => 'default', 'attributes' => array( - 'textAlign' => array( - 'type' => 'string' - ), 'level' => array( 'type' => 'number', 'default' => 0 @@ -7247,7 +7281,11 @@ 'example' => array( 'viewportWidth' => 350, 'attributes' => array( - 'textAlign' => 'center' + 'style' => array( + 'typography' => array( + 'textAlign' => 'center' + ) + ) ) ), 'supports' => array( @@ -7276,6 +7314,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalTextTransform' => true, '__experimentalTextDecoration' => true, @@ -7325,9 +7364,6 @@ 6 ) ), - 'textAlign' => array( - 'type' => 'string' - ), 'isLink' => array( 'type' => 'boolean', 'default' => true, @@ -7369,6 +7405,7 @@ 'typography' => array( 'fontSize' => true, 'lineHeight' => true, + 'textAlign' => true, '__experimentalFontFamily' => true, '__experimentalTextTransform' => true, '__experimentalTextDecoration' => true, diff --git a/src/wp-includes/blocks/button.php b/src/wp-includes/blocks/button.php index 0d03440b1cb0f..8a7b43a2df315 100644 --- a/src/wp-includes/blocks/button.php +++ b/src/wp-includes/blocks/button.php @@ -60,6 +60,74 @@ function render_block_core_button( $attributes, $content ) { return ''; } + $width = $attributes['style']['dimensions']['width'] ?? null; + + if ( $width ) { + // Resolve preset references to their actual values. + $resolved_width = $width; + $is_preset = str_starts_with( $width, 'var:preset|dimension|' ); + + if ( $is_preset ) { + $slug = substr( $width, strlen( 'var:preset|dimension|' ) ); + $dimension_presets = wp_get_global_settings( + array( 'dimensions', 'dimensionSizes' ), + array( 'block_name' => 'core/button' ) + ); + + // Search origins in priority order: custom > theme > default. + if ( is_array( $dimension_presets ) ) { + foreach ( array( 'custom', 'theme', 'default' ) as $origin ) { + if ( empty( $dimension_presets[ $origin ] ) || ! is_array( $dimension_presets[ $origin ] ) ) { + continue; + } + foreach ( $dimension_presets[ $origin ] as $preset ) { + if ( isset( $preset['slug'] ) && $preset['slug'] === $slug ) { + $resolved_width = $preset['size'] ?? $width; + break 2; + } + } + } + } + } + + $is_percentage = str_ends_with( $resolved_width, '%' ); + + $processor = new WP_HTML_Tag_Processor( $content ); + // Target the outer wrapper div. + if ( $processor->next_tag( array( 'class_name' => 'wp-block-button' ) ) ) { + $processor->add_class( 'has-custom-width' ); + $existing_style = $processor->get_attribute( 'style' ); + $existing_style = is_string( $existing_style ) ? $existing_style : ''; + + if ( $is_percentage ) { + $numeric_width = (float) $resolved_width; + $processor->add_class( 'wp-block-button__width' ); + + // Maintain legacy class for the standard percentage widths. + $legacy_widths = array( + '25%' => 'wp-block-button__width-25', + '50%' => 'wp-block-button__width-50', + '75%' => 'wp-block-button__width-75', + '100%' => 'wp-block-button__width-100', + ); + if ( isset( $legacy_widths[ $resolved_width ] ) ) { + $processor->add_class( $legacy_widths[ $resolved_width ] ); + } + + $width_style = "--wp--block-button--width: $numeric_width;"; + $processor->set_attribute( 'style', $width_style . ( $existing_style ? ' ' . $existing_style : '' ) ); + } else { + $css_value = $is_preset + ? 'var(--wp--preset--dimension--' . _wp_to_kebab_case( $slug ) . ')' + : $width; + $width_style = "width: $css_value;"; + $processor->set_attribute( 'style', $width_style . ( $existing_style ? ' ' . $existing_style : '' ) ); + } + + $content = $processor->get_updated_html(); + } + } + return $content; } diff --git a/src/wp-includes/blocks/button/block.json b/src/wp-includes/blocks/button/block.json index 50ba4cda9c688..2e23a64c8f559 100644 --- a/src/wp-includes/blocks/button/block.json +++ b/src/wp-includes/blocks/button/block.json @@ -63,9 +63,6 @@ }, "gradient": { "type": "string" - }, - "width": { - "type": "number" } }, "supports": { @@ -81,6 +78,13 @@ "text": true } }, + "dimensions": { + "width": true, + "__experimentalSkipSerialization": [ "width" ], + "__experimentalDefaultControls": { + "width": true + } + }, "typography": { "__experimentalSkipSerialization": [ "fontSize", @@ -145,6 +149,10 @@ "root": ".wp-block-button .wp-block-button__link", "typography": { "writingMode": ".wp-block-button" + }, + "dimensions": { + "root": ".wp-block-button", + "width": ".wp-block-button" } } } diff --git a/src/wp-includes/blocks/comment-author-name.php b/src/wp-includes/blocks/comment-author-name.php index 2f9227964ad44..d1517c681cc19 100644 --- a/src/wp-includes/blocks/comment-author-name.php +++ b/src/wp-includes/blocks/comment-author-name.php @@ -40,7 +40,7 @@ function render_block_core_comment_author_name( $attributes, $content, $block ) $link = get_comment_author_url( $comment ); if ( ! empty( $link ) && ! empty( $attributes['isLink'] ) && ! empty( $attributes['linkTarget'] ) ) { - $comment_author = sprintf( '%3s', esc_url( $link ), esc_attr( $attributes['linkTarget'] ), $comment_author ); + $comment_author = sprintf( '%3$s', esc_url( $link ), esc_attr( $attributes['linkTarget'] ), $comment_author ); } if ( '0' === $comment->comment_approved && ! $show_pending_links ) { $comment_author = wp_kses( $comment_author, array() ); diff --git a/src/wp-includes/blocks/comment-date.php b/src/wp-includes/blocks/comment-date.php index bdb6fd5ba42ae..7856e132404a8 100644 --- a/src/wp-includes/blocks/comment-date.php +++ b/src/wp-includes/blocks/comment-date.php @@ -37,7 +37,7 @@ function render_block_core_comment_date( $attributes, $content, $block ) { $link = get_comment_link( $comment ); if ( ! empty( $attributes['isLink'] ) ) { - $formatted_date = sprintf( '%2s', esc_url( $link ), $formatted_date ); + $formatted_date = sprintf( '%2$s', esc_url( $link ), $formatted_date ); } return sprintf( diff --git a/src/wp-includes/blocks/cover.php b/src/wp-includes/blocks/cover.php index 8da5db23ddc3f..16533acacd764 100644 --- a/src/wp-includes/blocks/cover.php +++ b/src/wp-includes/blocks/cover.php @@ -39,13 +39,13 @@ function render_block_core_cover( $attributes, $content ) { $lower_src = strtolower( $iframe_src ); $provider = null; - if ( strpos( $lower_src, 'youtube.com' ) !== false || strpos( $lower_src, 'youtu.be' ) !== false ) { + if ( str_contains( $lower_src, 'youtube.com' ) || str_contains( $lower_src, 'youtu.be' ) ) { $provider = 'youtube'; - } elseif ( strpos( $lower_src, 'vimeo.com' ) !== false ) { + } elseif ( str_contains( $lower_src, 'vimeo.com' ) ) { $provider = 'vimeo'; - } elseif ( strpos( $lower_src, 'videopress.com' ) !== false ) { + } elseif ( str_contains( $lower_src, 'videopress.com' ) ) { $provider = 'videopress'; - } elseif ( strpos( $lower_src, 'wordpress.tv' ) !== false ) { + } elseif ( str_contains( $lower_src, 'wordpress.tv' ) ) { $provider = 'wordpress-tv'; } diff --git a/src/wp-includes/blocks/group/block.json b/src/wp-includes/blocks/group/block.json index e83fb60d31fc7..7fa2ad2ccf4c7 100644 --- a/src/wp-includes/blocks/group/block.json +++ b/src/wp-includes/blocks/group/block.json @@ -28,8 +28,10 @@ "background": { "backgroundImage": true, "backgroundSize": true, + "gradient": true, "__experimentalDefaultControls": { - "backgroundImage": true + "backgroundImage": true, + "gradient": true } }, "color": { @@ -53,7 +55,8 @@ } }, "dimensions": { - "minHeight": true + "minHeight": true, + "minWidth": true }, "__experimentalBorder": { "color": true, diff --git a/src/wp-includes/blocks/home-link.php b/src/wp-includes/blocks/home-link.php index d61aa0bc235e2..48c4b5b191807 100644 --- a/src/wp-includes/blocks/home-link.php +++ b/src/wp-includes/blocks/home-link.php @@ -59,36 +59,6 @@ function block_core_home_link_build_css_colors( $context ) { return $colors; } -/** - * Build an array with CSS classes and inline styles defining the font sizes - * which will be applied to the home link markup in the front-end. - * - * @since 6.0.0 - * - * @param array $context Home link block context. - * @return array Font size CSS classes and inline styles. - */ -function block_core_home_link_build_css_font_sizes( $context ) { - // CSS classes. - $font_sizes = array( - 'css_classes' => array(), - 'inline_styles' => '', - ); - - $has_named_font_size = array_key_exists( 'fontSize', $context ); - $has_custom_font_size = isset( $context['style']['typography']['fontSize'] ); - - if ( $has_named_font_size ) { - // Add the font size class. - $font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $context['fontSize'] ); - } elseif ( $has_custom_font_size ) { - // Add the custom font size inline style. - $font_sizes['inline_styles'] = sprintf( 'font-size: %s;', $context['style']['typography']['fontSize'] ); - } - - return $font_sizes; -} - /** * Builds an array with classes and style for the li wrapper * @@ -98,13 +68,12 @@ function block_core_home_link_build_css_font_sizes( $context ) { * @return string The li wrapper attributes. */ function block_core_home_link_build_li_wrapper_attributes( $context ) { - $colors = block_core_home_link_build_css_colors( $context ); - $font_sizes = block_core_home_link_build_css_font_sizes( $context ); - $classes = array_merge( - $colors['css_classes'], - $font_sizes['css_classes'] + $colors = block_core_home_link_build_css_colors( $context ); + $classes = array_merge( + $colors['css_classes'] ); - $style_attribute = ( $colors['inline_styles'] . $font_sizes['inline_styles'] ); + + $style_attribute = ( $colors['inline_styles'] ); $classes[] = 'wp-block-navigation-item'; if ( is_front_page() ) { @@ -148,12 +117,24 @@ function render_block_core_home_link( $attributes, $content, $block ) { $aria_current = ' aria-current="page"'; } + $target = ''; + if ( isset( $attributes['opensInNewTab'] ) && true === $attributes['opensInNewTab'] ) { + $target = ' target="_blank"'; + } + + $description = ''; + if ( ! empty( $attributes['description'] ) ) { + $description = '' . wp_kses_post( $attributes['description'] ) . ''; + } + return sprintf( - '
  • %4$s
  • ', + '
  • %5$s%6$s
  • ', block_core_home_link_build_li_wrapper_attributes( $block->context ), esc_url( home_url() ), + $target, $aria_current, - wp_kses_post( $attributes['label'] ) + wp_kses_post( $attributes['label'] ), + $description ); } diff --git a/src/wp-includes/blocks/home-link/block.json b/src/wp-includes/blocks/home-link/block.json index 42652ba9b72ca..a2efb056469cd 100644 --- a/src/wp-includes/blocks/home-link/block.json +++ b/src/wp-includes/blocks/home-link/block.json @@ -11,6 +11,13 @@ "label": { "type": "string", "role": "content" + }, + "opensInNewTab": { + "type": "boolean", + "default": false + }, + "description": { + "type": "string" } }, "usesContext": [ diff --git a/src/wp-includes/blocks/icon.php b/src/wp-includes/blocks/icon.php index e09319cffea3b..205cd397d7c42 100644 --- a/src/wp-includes/blocks/icon.php +++ b/src/wp-includes/blocks/icon.php @@ -10,9 +10,7 @@ * * @since 7.0.0 * - * @param array $attributes The block attributes. - * @param string $content The block content. - * @param WP_Block $block The block instance. + * @param array $attributes The block attributes. * * @return string Returns the Icon. */ @@ -98,6 +96,29 @@ function render_block_core_icon( $attributes ) { $processor->add_class( $styles['classnames'] ); } + // Apply flip classes to the SVG. + $flip_horizontal = $attributes['flipHorizontal'] ?? false; + $flip_vertical = $attributes['flipVertical'] ?? false; + + if ( $flip_horizontal ) { + $processor->add_class( 'is-flip-horizontal' ); + } + if ( $flip_vertical ) { + $processor->add_class( 'is-flip-vertical' ); + } + + $rotation = isset( $attributes['rotation'] ) ? (int) $attributes['rotation'] : 0; + + if ( $rotation ) { + $current_style = $processor->get_attribute( 'style' ) ?? ''; + $rotation_css = 'rotate: ' . $rotation . 'deg;'; + if ( $current_style ) { + $processor->set_attribute( 'style', $current_style . ' ' . $rotation_css ); + } else { + $processor->set_attribute( 'style', $rotation_css ); + } + } + $aria_label = ! empty( $attributes['ariaLabel'] ) ? $attributes['ariaLabel'] : ''; if ( ! $aria_label ) { diff --git a/src/wp-includes/blocks/icon/block.json b/src/wp-includes/blocks/icon/block.json index 23d0f10dc4b26..f0dd4bb4018f3 100644 --- a/src/wp-includes/blocks/icon/block.json +++ b/src/wp-includes/blocks/icon/block.json @@ -11,6 +11,18 @@ "icon": { "type": "string", "role": "content" + }, + "flipHorizontal": { + "type": "boolean", + "default": false + }, + "flipVertical": { + "type": "boolean", + "default": false + }, + "rotation": { + "type": "number", + "default": 0 } }, "supports": { diff --git a/src/wp-includes/blocks/image.php b/src/wp-includes/blocks/image.php index 22b0ecc2aea33..dff0f19541794 100644 --- a/src/wp-includes/blocks/image.php +++ b/src/wp-includes/blocks/image.php @@ -171,13 +171,13 @@ 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 array $block_instance Block instance. + * @param string $block_content Rendered block content. + * @param array $block Block object. + * @param WP_Block $block_instance Block instance. * * @return string Filtered block content. */ -function block_core_image_render_lightbox( $block_content, $block, $block_instance ) { +function block_core_image_render_lightbox( $block_content, array $block, WP_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 @@ -250,7 +250,7 @@ function block_core_image_render_lightbox( $block_content, $block, $block_instan 'galleryId' => $block_instance->context['galleryId'] ?? null, 'customAriaLabel' => $custom_aria_label ?? null, 'navigationButtonType' => $block_instance->context['navigationButtonType'] ?? 'icon', - 'triggerButtonAriaLabel' => null, + 'triggerButtonAriaLabel' => __( 'Enlarge' ), ), ), ) @@ -390,7 +390,6 @@ class="wp-lightbox-overlay zoom" data-wp-bind--style="state.imgStyles" data-wp-bind--src="state.enlargedSrc" data-wp-bind--srcset="state.enlargedSrcset" - data-wp-bind--srcset="state.enlargedSrcset" sizes="100vw" > diff --git a/src/wp-includes/blocks/image/block.json b/src/wp-includes/blocks/image/block.json index 66a4fac4a3023..a8879d4258480 100644 --- a/src/wp-includes/blocks/image/block.json +++ b/src/wp-includes/blocks/image/block.json @@ -105,6 +105,10 @@ "source": "attribute", "selector": "figure > a", "attribute": "target" + }, + "isDecorative": { + "type": "boolean", + "default": false } }, "supports": { @@ -137,6 +141,7 @@ } }, "selectors": { + "dimensions": ".wp-block-image img", "border": ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder", "shadow": ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder", "filter": { diff --git a/src/wp-includes/blocks/latest-posts.php b/src/wp-includes/blocks/latest-posts.php index 44231ac6d14a1..c829852f8cfde 100644 --- a/src/wp-includes/blocks/latest-posts.php +++ b/src/wp-includes/blocks/latest-posts.php @@ -163,7 +163,7 @@ function render_block_core_latest_posts( $attributes ) { $trimmed_excerpt = substr( $trimmed_excerpt, 0, -11 ); $trimmed_excerpt .= sprintf( /* translators: 1: A URL to a post, 2: Hidden accessibility text: Post title */ - __( '… Read more: %2$s' ), + __( '… Read more: %2$s' ), esc_url( $post_link ), esc_html( $title ) ); diff --git a/src/wp-includes/blocks/list-item/block.json b/src/wp-includes/blocks/list-item/block.json index 1cdba86f19b2e..cdefd6c232bf3 100644 --- a/src/wp-includes/blocks/list-item/block.json +++ b/src/wp-includes/blocks/list-item/block.json @@ -21,6 +21,7 @@ }, "supports": { "anchor": true, + "html": false, "className": false, "splitting": true, "__experimentalBorder": { diff --git a/src/wp-includes/blocks/loginout.php b/src/wp-includes/blocks/loginout.php index f83d8be424ece..a9e05f8630bfe 100644 --- a/src/wp-includes/blocks/loginout.php +++ b/src/wp-includes/blocks/loginout.php @@ -38,6 +38,19 @@ function render_block_core_loginout( $attributes ) { // Get the form. $contents = wp_login_form( array( 'echo' => false ) ); + + if ( wp_is_block_theme() ) { + $processor = new WP_HTML_Tag_Processor( $contents ); + + while ( $processor->next_tag( 'input' ) ) { + if ( 'submit' === $processor->get_attribute( 'type' ) && 'wp-submit' === $processor->get_attribute( 'name' ) ) { + $processor->add_class( 'wp-block-button__link' ); + $processor->add_class( wp_theme_get_element_class_name( 'button' ) ); + $contents = $processor->get_updated_html(); + break; + } + } + } } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) ); diff --git a/src/wp-includes/blocks/navigation-link.php b/src/wp-includes/blocks/navigation-link.php index 0888d7b5acebd..6a1cfb9918873 100644 --- a/src/wp-includes/blocks/navigation-link.php +++ b/src/wp-includes/blocks/navigation-link.php @@ -5,14 +5,8 @@ * @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'; -} +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 @@ -86,43 +80,6 @@ function block_core_navigation_link_build_css_colors( $context, $attributes, $is return $colors; } -/** - * 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. - * - * @since 5.9.0 - * - * @param array $context Navigation block context. - * @return array Font size CSS classes and inline styles. - */ -function block_core_navigation_link_build_css_font_sizes( $context ) { - // CSS classes. - $font_sizes = array( - 'css_classes' => array(), - 'inline_styles' => '', - ); - - $has_named_font_size = array_key_exists( 'fontSize', $context ); - $has_custom_font_size = isset( $context['style']['typography']['fontSize'] ); - - if ( $has_named_font_size ) { - // Add the font size class. - $font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $context['fontSize'] ); - } elseif ( $has_custom_font_size ) { - // Add the custom font size inline style. - $font_sizes['inline_styles'] = sprintf( - 'font-size: %s;', - wp_get_typography_font_size_value( - array( - 'size' => $context['style']['typography']['fontSize'], - ) - ) - ); - } - - return $font_sizes; -} - /** * Decodes a url if it's encoded, returning the same url if not. * @@ -180,11 +137,7 @@ function render_block_core_navigation_link( $attributes, $content, $block ) { return ''; } - $font_sizes = block_core_navigation_link_build_css_font_sizes( $block->context ); - $classes = array_merge( - $font_sizes['css_classes'] - ); - $style_attribute = $font_sizes['inline_styles']; + $classes = array(); // Render inner blocks first to check if any menu items will actually display. $inner_blocks_html = ''; @@ -208,7 +161,6 @@ function render_block_core_navigation_link( $attributes, $content, $block ) { array( 'class' => $css_classes . ' wp-block-navigation-item' . ( $has_submenu ? ' has-child' : '' ) . ( $is_active ? ' current-menu-item' : '' ), - 'style' => $style_attribute, ) ); $html = '
  • ' . @@ -262,7 +214,13 @@ 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_render_submenu_icon() . ''; + $html .= ''; + if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { + $html .= gutenberg_block_core_shared_navigation_render_submenu_icon(); + } else { + $html .= block_core_shared_navigation_render_submenu_icon(); + } + $html .= ''; } if ( $has_submenu ) { @@ -485,4 +443,4 @@ function register_block_core_navigation_link() { * Creates all variations for post types / taxonomies dynamically (= each time when variations are requested). * Do not use variation_callback, to also account for unregistering post types/taxonomies later on. */ -add_action( 'get_block_type_variations', 'block_core_navigation_link_filter_variations', 10, 2 ); +add_filter( 'get_block_type_variations', 'block_core_navigation_link_filter_variations', 10, 2 ); diff --git a/src/wp-includes/blocks/navigation-link/block.json b/src/wp-includes/blocks/navigation-link/block.json index 997275574f1ac..0735461d0b29a 100644 --- a/src/wp-includes/blocks/navigation-link/block.json +++ b/src/wp-includes/blocks/navigation-link/block.json @@ -85,6 +85,11 @@ "clientNavigation": true } }, + "selectors": { + "states": { + "@current": ".wp-block-navigation .current-menu-item" + } + }, "editorStyle": "wp-block-navigation-link-editor", "style": "wp-block-navigation-link" } diff --git a/src/wp-includes/blocks/navigation-submenu.php b/src/wp-includes/blocks/navigation-submenu.php index 9138b5a5e08da..831c7d1807dfb 100644 --- a/src/wp-includes/blocks/navigation-submenu.php +++ b/src/wp-includes/blocks/navigation-submenu.php @@ -5,6 +5,22 @@ * @package WordPress */ +require_once __DIR__ . '/navigation-link/shared/item-should-render.php'; +require_once __DIR__ . '/navigation-link/shared/render-submenu-icon.php'; + +/** + * Renders the submenu icon SVG for the Navigation Submenu block. + * + * @since 5.9.0 + * @deprecated 7.0.0 Use block_core_shared_navigation_render_submenu_icon() instead. + * + * @return string SVG markup for the submenu icon. + */ +function block_core_navigation_submenu_render_submenu_icon() { + _deprecated_function( __FUNCTION__, '7.0.0', 'block_core_shared_navigation_render_submenu_icon()' ); + return block_core_shared_navigation_render_submenu_icon(); +} + /** * Returns the submenu visibility value with backward compatibility * for the deprecated openSubmenusOnClick attribute. @@ -46,52 +62,6 @@ function block_core_navigation_submenu_get_submenu_visibility( $context ) { return $submenu_visibility ?? '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. - * - * @since 5.9.0 - * - * @param array $context Navigation block context. - * @return array Font size CSS classes and inline styles. - */ -function block_core_navigation_submenu_build_css_font_sizes( $context ) { - // CSS classes. - $font_sizes = array( - 'css_classes' => array(), - 'inline_styles' => '', - ); - - $has_named_font_size = array_key_exists( 'fontSize', $context ); - $has_custom_font_size = isset( $context['style']['typography']['fontSize'] ); - - if ( $has_named_font_size ) { - // Add the font size class. - $font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $context['fontSize'] ); - } elseif ( $has_custom_font_size ) { - // Add the custom font size inline style. - $font_sizes['inline_styles'] = sprintf( - 'font-size: %s;', - wp_get_typography_font_size_value( - array( - 'size' => $context['style']['typography']['fontSize'], - ) - ) - ); - } - - return $font_sizes; -} - /** * Renders the `core/navigation-submenu` block. * @@ -116,9 +86,6 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { return ''; } - $font_sizes = block_core_navigation_submenu_build_css_font_sizes( $block->context ); - $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 ) { @@ -145,10 +112,7 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { $classes = array( 'wp-block-navigation-item', ); - $classes = array_merge( - $classes, - $font_sizes['css_classes'] - ); + if ( $has_submenu ) { $classes[] = 'has-child'; } @@ -168,7 +132,6 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ), - 'style' => $style_attribute, ) ); @@ -240,7 +203,13 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) { if ( $show_submenu_indicators && $has_submenu ) { // The submenu icon is rendered in a button here // so that there's a clickable element to open the submenu. - $html .= ''; + $html .= ''; } } else { $html .= ''; if ( $has_submenu ) { - $html .= '' . block_core_navigation_render_submenu_icon() . ''; + $html .= ''; + if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) { + $html .= gutenberg_block_core_shared_navigation_render_submenu_icon(); + } else { + $html .= block_core_shared_navigation_render_submenu_icon(); + } + $html .= ''; } } diff --git a/src/wp-includes/blocks/navigation-submenu/block.json b/src/wp-includes/blocks/navigation-submenu/block.json index b11aba479ce13..7dde393be1759 100644 --- a/src/wp-includes/blocks/navigation-submenu/block.json +++ b/src/wp-includes/blocks/navigation-submenu/block.json @@ -40,8 +40,15 @@ }, "isTopLevelItem": { "type": "boolean" + }, + "isParentSubmenu": { + "type": "boolean", + "default": true } }, + "providesContext": { + "core/isInsideSubmenu": "isParentSubmenu" + }, "usesContext": [ "textColor", "customTextColor", diff --git a/src/wp-includes/blocks/navigation.php b/src/wp-includes/blocks/navigation.php index 71e8d85b035dc..eb960636b9f25 100644 --- a/src/wp-includes/blocks/navigation.php +++ b/src/wp-includes/blocks/navigation.php @@ -1354,17 +1354,6 @@ function block_core_navigation_build_css_font_sizes( $attributes ) { return $font_sizes; } -/** - * Returns the top-level submenu SVG chevron icon. - * - * @since 5.9.0 - * - * @return string - */ -function block_core_navigation_render_submenu_icon() { - return ''; -} - /** * Filter out empty "null" blocks from the block list. * 'parse_blocks' includes a null block with '\n\n' as the content when @@ -1568,6 +1557,64 @@ function register_block_core_navigation() { add_action( 'init', 'register_block_core_navigation' ); +/** + * Adds the Navigation block state class to inner list containers. + * + * State block support adds the generated `wp-states-*` class to the outer + * block wrapper. The Navigation block renders its menu items inside an inner + * `wp-block-navigation__container` list, so the same state class is also needed + * there for state styles to apply directly to the menu list. + * + * Currently this is required as a workaround because of how difficult it is for nav + * child blocks to inherit styles through the complex responsive nav block html. The + * bug in https://github.com/WordPress/gutenberg/issues/62690 also prevents inheritance. + * + * @since 7.1.0 + * + * @param string $block_content The block content. + * @param array $block The full block, including name and attributes. + * @return string The updated block content. + */ +function block_core_navigation_add_state_class_to_container( $block_content, $block ) { + if ( 'core/navigation' !== ( $block['blockName'] ?? null ) || empty( $block_content ) ) { + return $block_content; + } + + $processor = new WP_HTML_Tag_Processor( $block_content ); + if ( ! $processor->next_tag() ) { + return $block_content; + } + + $class_attribute = $processor->get_attribute( 'class' ); + if ( ! is_string( $class_attribute ) || ! preg_match( '/\bwp-states-[a-f0-9]{8}\b/', $class_attribute, $matches ) ) { + return $block_content; + } + + $state_class = $matches[0]; + while ( $processor->next_tag() ) { + // Custom overlay content can include nested Navigation blocks. + // Avoid applying the outer Navigation state class to an inner nav block. + if ( $processor->has_class( 'wp-block-navigation' ) && ! $processor->has_class( 'wp-block-navigation__container' ) ) { + break; + } + + if ( ! $processor->has_class( 'wp-block-navigation__container' ) ) { + continue; + } + + $class_attribute = $processor->get_attribute( 'class' ); + if ( is_string( $class_attribute ) && preg_match( '/\bwp-states-[a-f0-9]{8}\b/', $class_attribute ) ) { + continue; + } + + $processor->add_class( $state_class ); + } + + return $processor->get_updated_html(); +} + +add_filter( 'render_block', 'block_core_navigation_add_state_class_to_container', 11, 2 ); + /** * Filter that changes the parsed attribute values of navigation blocks contain typographic presets to contain the values directly. * diff --git a/src/wp-includes/blocks/page-list.php b/src/wp-includes/blocks/page-list.php index 27e63f250a811..6dd368f8c8d43 100644 --- a/src/wp-includes/blocks/page-list.php +++ b/src/wp-includes/blocks/page-list.php @@ -123,50 +123,12 @@ function block_core_page_list_build_css_colors( $attributes, $context ) { return $colors; } - -/** - * Build an array with CSS classes and inline styles defining the font sizes - * which will be applied to the pages markup in the front-end when it is a descendant of navigation. - * - * @since 5.8.0 - * - * @param array $context Navigation block context. - * @return array Font size CSS classes and inline styles. - */ -function block_core_page_list_build_css_font_sizes( $context ) { - // CSS classes. - $font_sizes = array( - 'css_classes' => array(), - 'inline_styles' => '', - ); - - $has_named_font_size = array_key_exists( 'fontSize', $context ); - $has_custom_font_size = isset( $context['style']['typography']['fontSize'] ); - - if ( $has_named_font_size ) { - // Add the font size class. - $font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $context['fontSize'] ); - } elseif ( $has_custom_font_size ) { - // Add the custom font size inline style. - $font_sizes['inline_styles'] = sprintf( - 'font-size: %s;', - wp_get_typography_font_size_value( - array( - 'size' => $context['style']['typography']['fontSize'], - ) - ) - ); - } - - return $font_sizes; -} - /** * Outputs Page list markup from an array of pages with nested children. * * @since 5.8.0 * - * @param boolean $open_submenus_on_click Whether to open submenus on click instead of hover. + * @param string $submenu_visibility The submenu visibility mode: 'hover', 'click', or 'always'. * @param boolean $show_submenu_icons Whether to show submenu indicator icons. * @param boolean $is_navigation_child If block is a child of Navigation block. * @param array $nested_pages The array of nested pages. @@ -297,7 +259,7 @@ function render_block_core_page_list( $attributes, $content, $block ) { ++$block_id; $parent_page_id = $attributes['parentPageID']; - $is_nested = $attributes['isNested']; + $is_nested = ! empty( $block->context['core/isInsideSubmenu'] ); $all_pages = get_pages( array( @@ -342,13 +304,12 @@ function render_block_core_page_list( $attributes, $content, $block ) { } } - $colors = block_core_page_list_build_css_colors( $attributes, $block->context ); - $font_sizes = block_core_page_list_build_css_font_sizes( $block->context ); - $classes = array_merge( - $colors['css_classes'], - $font_sizes['css_classes'] + $colors = block_core_page_list_build_css_colors( $attributes, $block->context ); + $classes = array_merge( + $colors['css_classes'] ); - $style_attribute = ( $colors['inline_styles'] . $font_sizes['inline_styles'] ); + + $style_attribute = ( $colors['inline_styles'] ); $css_classes = trim( implode( ' ', $classes ) ); $nested_pages = block_core_page_list_nest_pages( $top_level_pages, $pages_with_children ); diff --git a/src/wp-includes/blocks/page-list/block.json b/src/wp-includes/blocks/page-list/block.json index 2b97f248c5768..ebd5dd6c1565c 100644 --- a/src/wp-includes/blocks/page-list/block.json +++ b/src/wp-includes/blocks/page-list/block.json @@ -12,10 +12,6 @@ "parentPageID": { "type": "integer", "default": 0 - }, - "isNested": { - "type": "boolean", - "default": false } }, "usesContext": [ @@ -32,7 +28,8 @@ "showSubmenuIcon", "style", "openSubmenusOnClick", - "submenuVisibility" + "submenuVisibility", + "core/isInsideSubmenu" ], "supports": { "anchor": true, diff --git a/src/wp-includes/blocks/post-author-name.php b/src/wp-includes/blocks/post-author-name.php index ac514401f5cc2..73113eb1efc4b 100644 --- a/src/wp-includes/blocks/post-author-name.php +++ b/src/wp-includes/blocks/post-author-name.php @@ -32,7 +32,7 @@ function render_block_core_post_author_name( $attributes, $content, $block ) { $author_name = get_the_author_meta( 'display_name', $author_id ); if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) { - $author_name = sprintf( '%3$s', get_author_posts_url( $author_id ), esc_attr( $attributes['linkTarget'] ), $author_name ); + $author_name = sprintf( '%3$s', esc_url( get_author_posts_url( $author_id ) ), esc_attr( $attributes['linkTarget'] ), $author_name ); } $classes = array(); diff --git a/src/wp-includes/blocks/post-date.php b/src/wp-includes/blocks/post-date.php index a8073dd846217..5c92c46aa60d4 100644 --- a/src/wp-includes/blocks/post-date.php +++ b/src/wp-includes/blocks/post-date.php @@ -84,7 +84,7 @@ function render_block_core_post_date( $attributes, $content, $block ) { $time_tag = sprintf( '', $unformatted_date, $formatted_date ); if ( isset( $attributes['isLink'] ) && $attributes['isLink'] && isset( $block->context['postId'] ) ) { - $time_tag = sprintf( '%2s', get_the_permalink( $block->context['postId'] ), $time_tag ); + $time_tag = sprintf( '%2$s', esc_url( get_the_permalink( $block->context['postId'] ) ), $time_tag ); } 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 7952e36af3661..75eb1eda38d8f 100644 --- a/src/wp-includes/blocks/post-date/block.json +++ b/src/wp-includes/blocks/post-date/block.json @@ -11,9 +11,6 @@ "type": "string", "role": "content" }, - "textAlign": { - "type": "string" - }, "format": { "type": "string" }, @@ -46,6 +43,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/post-excerpt/block.json b/src/wp-includes/blocks/post-excerpt/block.json index 99f6d5dcc99ed..17678a35c2950 100644 --- a/src/wp-includes/blocks/post-excerpt/block.json +++ b/src/wp-includes/blocks/post-excerpt/block.json @@ -7,9 +7,6 @@ "description": "Display the excerpt.", "textdomain": "default", "attributes": { - "textAlign": { - "type": "string" - }, "moreText": { "type": "string", "role": "content" @@ -46,6 +43,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "textColumns": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, diff --git a/src/wp-includes/blocks/post-featured-image.php b/src/wp-includes/blocks/post-featured-image.php index e9fc60f7038f5..536de7e1448e8 100644 --- a/src/wp-includes/blocks/post-featured-image.php +++ b/src/wp-includes/blocks/post-featured-image.php @@ -40,16 +40,26 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) } $extra_styles = ''; + $has_width = array_key_exists( 'width', $attributes ) && null !== $attributes['width'] && '' !== $attributes['width']; + $has_height = array_key_exists( 'height', $attributes ) && null !== $attributes['height'] && '' !== $attributes['height']; - // Aspect ratio with a height set needs to override the default width/height. if ( ! empty( $attributes['aspectRatio'] ) ) { - $extra_styles .= 'width:100%;height:100%;'; - } elseif ( ! empty( $attributes['height'] ) ) { - $extra_styles .= "height:{$attributes['height']};"; + $extra_styles .= esc_attr( safecss_filter_attr( 'aspect-ratio:' . $attributes['aspectRatio'] ) ) . ';'; + $extra_styles .= 'width:100%;'; + } + + if ( $has_height ) { + $extra_styles .= esc_attr( safecss_filter_attr( 'height:' . $attributes['height'] ) ) . ';'; + } elseif ( $has_width ) { + $extra_styles .= 'height:auto;'; + } + + if ( $has_width ) { + $extra_styles .= esc_attr( safecss_filter_attr( 'width:' . $attributes['width'] ) ) . ';'; } if ( ! empty( $attributes['scale'] ) ) { - $extra_styles .= "object-fit:{$attributes['scale']};"; + $extra_styles .= esc_attr( safecss_filter_attr( 'object-fit:' . $attributes['scale'] ) ) . ';'; } if ( ! empty( $attributes['style']['shadow'] ) ) { $shadow_styles = wp_style_engine_get_styles( array( 'shadow' => $attributes['style']['shadow'] ) ); @@ -90,6 +100,13 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) foreach ( $processor->get_attribute_names_with_prefix( '' ) as $name ) { $tag_html->set_attribute( $name, $processor->get_attribute( $name ) ); } + if ( ! empty( $attr['style'] ) ) { + $existing_style = $tag_html->get_attribute( 'style' ); + $style = is_string( $existing_style ) && '' !== $existing_style + ? rtrim( $existing_style, ';' ) . ';' . $attr['style'] + : $attr['style']; + $tag_html->set_attribute( 'style', $style ); + } $featured_image = $tag_html->get_updated_html(); } } @@ -101,13 +118,11 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) if ( $is_link ) { $link_target = $attributes['linkTarget']; $rel = ! empty( $attributes['rel'] ) ? 'rel="' . esc_attr( $attributes['rel'] ) . '"' : ''; - $height = ! empty( $attributes['height'] ) ? 'style="' . esc_attr( safecss_filter_attr( 'height:' . $attributes['height'] ) ) . '"' : ''; $featured_image = sprintf( - '%5$s%6$s', - get_the_permalink( $post_ID ), + '%4$s%5$s', + esc_url( get_the_permalink( $post_ID ) ), esc_attr( $link_target ), $rel, - $height, $featured_image, $overlay_markup ); @@ -115,20 +130,7 @@ function render_block_core_post_featured_image( $attributes, $content, $block ) $featured_image = $featured_image . $overlay_markup; } - $aspect_ratio = ! empty( $attributes['aspectRatio'] ) - ? esc_attr( safecss_filter_attr( 'aspect-ratio:' . $attributes['aspectRatio'] ) ) . ';' - : ''; - $width = ! empty( $attributes['width'] ) - ? esc_attr( safecss_filter_attr( 'width:' . $attributes['width'] ) ) . ';' - : ''; - $height = ! empty( $attributes['height'] ) - ? esc_attr( safecss_filter_attr( 'height:' . $attributes['height'] ) ) . ';' - : ''; - if ( ! $height && ! $width && ! $aspect_ratio ) { - $wrapper_attributes = get_block_wrapper_attributes(); - } else { - $wrapper_attributes = get_block_wrapper_attributes( array( 'style' => $aspect_ratio . $width . $height ) ); - } + $wrapper_attributes = get_block_wrapper_attributes(); return "
    {$featured_image}
    "; } @@ -166,10 +168,8 @@ function get_block_core_post_featured_image_overlay_element_markup( $attributes } // Apply overlay and gradient classes. - if ( $has_dim_background ) { - $class_names[] = 'has-background-dim'; - $class_names[] = "has-background-dim-{$attributes['dimRatio']}"; - } + $class_names[] = 'has-background-dim'; + $class_names[] = "has-background-dim-{$attributes['dimRatio']}"; if ( $has_solid_overlay ) { $class_names[] = "has-{$attributes['overlayColor']}-background-color"; diff --git a/src/wp-includes/blocks/post-featured-image/block.json b/src/wp-includes/blocks/post-featured-image/block.json index f5619dc29fac5..72332d2d1d1e7 100644 --- a/src/wp-includes/blocks/post-featured-image/block.json +++ b/src/wp-includes/blocks/post-featured-image/block.json @@ -98,6 +98,7 @@ } }, "selectors": { + "dimensions": ".wp-block-post-featured-image img", "border": ".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay", "shadow": ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder", "filter": { diff --git a/src/wp-includes/blocks/post-navigation-link/block.json b/src/wp-includes/blocks/post-navigation-link/block.json index 6d51d619637c9..83cf63af7841b 100644 --- a/src/wp-includes/blocks/post-navigation-link/block.json +++ b/src/wp-includes/blocks/post-navigation-link/block.json @@ -7,9 +7,6 @@ "description": "Displays the next or previous post link that is adjacent to the current post.", "textdomain": "default", "attributes": { - "textAlign": { - "type": "string" - }, "type": { "type": "string", "default": "next" @@ -46,6 +43,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": 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 72ebbe0e13d13..9ce4ce47343e1 100644 --- a/src/wp-includes/blocks/post-template.php +++ b/src/wp-includes/blocks/post-template.php @@ -94,6 +94,9 @@ function render_block_core_post_template( $attributes, $content, $block ) { if ( isset( $attributes['layout']['type'] ) && 'grid' === $attributes['layout']['type'] && ! empty( $attributes['layout']['columnCount'] ) ) { $classnames .= ' ' . sanitize_title( 'columns-' . $attributes['layout']['columnCount'] ); } + if ( isset( $attributes['layout']['type'] ) && 'grid' === $attributes['layout']['type'] && ! empty( $attributes['layout']['columnCount'] ) && ! empty( $attributes['layout']['minimumColumnWidth'] ) ) { + $classnames .= ' has-native-responsive-grid'; + } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => trim( $classnames ) ) ); diff --git a/src/wp-includes/blocks/post-title/block.json b/src/wp-includes/blocks/post-title/block.json index 1fb7efcf82db5..d1ded484486bd 100644 --- a/src/wp-includes/blocks/post-title/block.json +++ b/src/wp-includes/blocks/post-title/block.json @@ -8,9 +8,6 @@ "textdomain": "default", "usesContext": [ "postId", "postType", "queryId" ], "attributes": { - "textAlign": { - "type": "string" - }, "level": { "type": "number", "default": 2 @@ -33,6 +30,9 @@ "type": "string", "default": "_self", "role": "content" + }, + "placeholder": { + "type": "string" } }, "example": { @@ -58,6 +58,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/pullquote/block.json b/src/wp-includes/blocks/pullquote/block.json index 271bba74d0252..8bacc90dcd0ab 100644 --- a/src/wp-includes/blocks/pullquote/block.json +++ b/src/wp-includes/blocks/pullquote/block.json @@ -18,9 +18,6 @@ "source": "rich-text", "selector": "cite", "role": "content" - }, - "textAlign": { - "type": "string" } }, "supports": { @@ -43,10 +40,7 @@ } }, "dimensions": { - "minHeight": true, - "__experimentalDefaultControls": { - "minHeight": false - } + "minHeight": true }, "spacing": { "margin": true, @@ -55,6 +49,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontWeight": true, "__experimentalFontStyle": true, diff --git a/src/wp-includes/blocks/query-title.php b/src/wp-includes/blocks/query-title.php index d26a3d08ae42a..845a4bdc05aa7 100644 --- a/src/wp-includes/blocks/query-title.php +++ b/src/wp-includes/blocks/query-title.php @@ -13,7 +13,7 @@ * @since 5.8.0 * * @param array $attributes Block attributes. - * @param array $_content Block content. + * @param array $content Block content. * @param object $block Block instance. * * @return string Returns the query title based on the queried object. diff --git a/src/wp-includes/blocks/query-title/block.json b/src/wp-includes/blocks/query-title/block.json index 41e9e3fd29b62..786a46fe5cb1b 100644 --- a/src/wp-includes/blocks/query-title/block.json +++ b/src/wp-includes/blocks/query-title/block.json @@ -10,9 +10,6 @@ "type": { "type": "string" }, - "textAlign": { - "type": "string" - }, "level": { "type": "number", "default": 1 @@ -53,6 +50,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalFontStyle": true, "__experimentalFontWeight": true, diff --git a/src/wp-includes/blocks/read-more.php b/src/wp-includes/blocks/read-more.php index c01a0a377fc93..bf14f8ea242e8 100644 --- a/src/wp-includes/blocks/read-more.php +++ b/src/wp-includes/blocks/read-more.php @@ -38,9 +38,9 @@ function render_block_core_read_more( $attributes, $content, $block ) { $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $justify_class_name ) ); $more_text = ! empty( $attributes['content'] ) ? wp_kses_post( $attributes['content'] ) : __( 'Read more' ); return sprintf( - '%4s%5s', + '%4$s%5$s', $wrapper_attributes, - get_the_permalink( $post_ID ), + esc_url( get_the_permalink( $post_ID ) ), esc_attr( $attributes['linkTarget'] ), $more_text, $screen_reader_text diff --git a/src/wp-includes/blocks/search.php b/src/wp-includes/blocks/search.php index 7073d6ce8ab3f..8e5f9e904559c 100644 --- a/src/wp-includes/blocks/search.php +++ b/src/wp-includes/blocks/search.php @@ -69,10 +69,13 @@ function render_block_core_search( $attributes ) { if ( ! empty( $typography_classes ) ) { $input_classes[] = $typography_classes; } + if ( ! $show_button && ! empty( $color_classes ) ) { + $input_classes[] = $color_classes; + } if ( $input->next_tag() ) { $input->add_class( implode( ' ', $input_classes ) ); $input->set_attribute( 'id', $input_id ); - $input->set_attribute( 'value', get_search_query() ); + $input->set_attribute( 'value', get_search_query( false ) ); $input->set_attribute( 'placeholder', $attributes['placeholder'] ); // If it's interactive, enqueue the script module and add the directives. @@ -189,7 +192,7 @@ function render_block_core_search( $attributes ) { } return sprintf( - '
    %4s
    ', + '
    %4$s
    ', esc_url( home_url( '/' ) ), $wrapper_attributes, $form_directives, @@ -430,20 +433,37 @@ function styles_for_block_core_search( $attributes ) { } } + $use_input_for_colors = ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition']; + // Add color styles. $has_text_color = ! empty( $attributes['style']['color']['text'] ); if ( $has_text_color ) { - $button_styles[] = sprintf( 'color: %s;', $attributes['style']['color']['text'] ); + $text_color_style = sprintf( 'color: %s;', $attributes['style']['color']['text'] ); + if ( $use_input_for_colors ) { + $input_styles[] = $text_color_style; + } else { + $button_styles[] = $text_color_style; + } } $has_background_color = ! empty( $attributes['style']['color']['background'] ); if ( $has_background_color ) { - $button_styles[] = sprintf( 'background-color: %s;', $attributes['style']['color']['background'] ); + $background_color_style = sprintf( 'background-color: %s;', $attributes['style']['color']['background'] ); + if ( $use_input_for_colors ) { + $input_styles[] = $background_color_style; + } else { + $button_styles[] = $background_color_style; + } } $has_custom_gradient = ! empty( $attributes['style']['color']['gradient'] ); if ( $has_custom_gradient ) { - $button_styles[] = sprintf( 'background: %s;', $attributes['style']['color']['gradient'] ); + $custom_gradient_style = sprintf( 'background: %s;', $attributes['style']['color']['gradient'] ); + if ( $use_input_for_colors ) { + $input_styles[] = $custom_gradient_style; + } else { + $button_styles[] = $custom_gradient_style; + } } // Get typography styles to be shared across inner elements. diff --git a/src/wp-includes/blocks/search/block.json b/src/wp-includes/blocks/search/block.json index a6146d4404041..be9c0e3cdc2d5 100644 --- a/src/wp-includes/blocks/search/block.json +++ b/src/wp-includes/blocks/search/block.json @@ -42,10 +42,6 @@ "query": { "type": "object", "default": {} - }, - "isSearchFieldHidden": { - "type": "boolean", - "default": false } }, "supports": { @@ -92,5 +88,9 @@ "html": false }, "editorStyle": "wp-block-search-editor", - "style": "wp-block-search" + "style": "wp-block-search", + "selectors": { + "color": ".wp-block-search .wp-block-search__button, .wp-block-search.wp-block-search__no-button .wp-block-search__input", + "border": ".wp-block-search.wp-block-search__button-outside .wp-block-search__input, .wp-block-search.wp-block-search__button-outside .wp-block-search__button, .wp-block-search.wp-block-search__no-button .wp-block-search__input, .wp-block-search.wp-block-search__button-only .wp-block-search__input, .wp-block-search.wp-block-search__button-only .wp-block-search__button, .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper" + } } diff --git a/src/wp-includes/blocks/site-tagline/block.json b/src/wp-includes/blocks/site-tagline/block.json index 756b2dcb8183a..1b2764d0cfa9a 100644 --- a/src/wp-includes/blocks/site-tagline/block.json +++ b/src/wp-includes/blocks/site-tagline/block.json @@ -8,9 +8,6 @@ "keywords": [ "description" ], "textdomain": "default", "attributes": { - "textAlign": { - "type": "string" - }, "level": { "type": "number", "default": 0 @@ -23,7 +20,11 @@ "example": { "viewportWidth": 350, "attributes": { - "textAlign": "center" + "style": { + "typography": { + "textAlign": "center" + } + } } }, "supports": { @@ -49,6 +50,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalTextTransform": true, "__experimentalTextDecoration": true, diff --git a/src/wp-includes/blocks/site-title/block.json b/src/wp-includes/blocks/site-title/block.json index ac6a3c10e086a..0631de6560ba4 100644 --- a/src/wp-includes/blocks/site-title/block.json +++ b/src/wp-includes/blocks/site-title/block.json @@ -15,9 +15,6 @@ "type": "array", "default": [ 0, 1, 2, 3, 4, 5, 6 ] }, - "textAlign": { - "type": "string" - }, "isLink": { "type": "boolean", "default": true, @@ -56,6 +53,7 @@ "typography": { "fontSize": true, "lineHeight": true, + "textAlign": true, "__experimentalFontFamily": true, "__experimentalTextTransform": true, "__experimentalTextDecoration": true, diff --git a/src/wp-includes/build/constants.php b/src/wp-includes/build/constants.php index 37c81b5ccc21b..033d714c4cbc9 100644 --- a/src/wp-includes/build/constants.php +++ b/src/wp-includes/build/constants.php @@ -9,6 +9,6 @@ */ return array( - 'version' => '22.6.0-rc.1', + 'version' => '23.4.0', 'build_url' => includes_url( 'build/' ), ); diff --git a/src/wp-includes/build/pages.php b/src/wp-includes/build/pages.php index 14ca6a08fbbc1..4ba7d4921e0a0 100644 --- a/src/wp-includes/build/pages.php +++ b/src/wp-includes/build/pages.php @@ -6,7 +6,13 @@ * @package wp */ -require_once __DIR__ . '/pages/font-library/page.php'; -require_once __DIR__ . '/pages/font-library/page-wp-admin.php'; -require_once __DIR__ . '/pages/options-connectors/page.php'; -require_once __DIR__ . '/pages/options-connectors/page-wp-admin.php'; +foreach ( [ + __DIR__ . '/pages/font-library/page.php', + __DIR__ . '/pages/font-library/page-wp-admin.php', + __DIR__ . '/pages/options-connectors/page.php', + __DIR__ . '/pages/options-connectors/page-wp-admin.php', +] as $file ) { + if ( file_exists( $file ) ) { + require_once $file; + } +} diff --git a/src/wp-includes/build/pages/font-library/page-wp-admin.php b/src/wp-includes/build/pages/font-library/page-wp-admin.php index b5974ceca1e53..355b56a777bc7 100644 --- a/src/wp-includes/build/pages/font-library/page-wp-admin.php +++ b/src/wp-includes/build/pages/font-library/page-wp-admin.php @@ -89,7 +89,7 @@ function wp_font_library_wp_admin_preload_data() { // Define paths to preload - same for all pages // Please also change packages/core-data/src/entities.js when changing this. $preload_paths = array( - '/?_fields=description,gmt_offset,home,image_sizes,image_size_threshold,image_output_formats,jpeg_interlaced,png_interlaced,gif_interlaced,name,site_icon,site_icon_url,site_logo,timezone_string,url,page_for_posts,page_on_front,show_on_front', + '/?_fields=description,gmt_offset,home,image_sizes,image_size_threshold,name,site_icon,site_icon_url,site_logo,timezone_string,url,page_for_posts,page_on_front,show_on_front', array( '/wp/v2/settings', 'OPTIONS' ), ); @@ -134,7 +134,9 @@ function wp_font_library_wp_admin_enqueue_scripts( $hook_suffix ) { // Load build constants $build_constants = require __DIR__ . '/../../constants.php'; - // Fire init action for extensions to register routes and menu items + /** + * Fires when the font-library admin page is initialized so extensions can register routes and menu items. + */ do_action( 'font-library-wp-admin_init' ); // Preload REST API data @@ -219,6 +221,21 @@ function ( $handle ) { } } + /** + * Filters the boot script-module dependencies for the + * font-library-wp-admin page. + * + * Surfaces extending this page can append entries to the boot + * dependency list. Each entry is an array with 'import' (string + * 'static' or 'dynamic') and 'id' (script-module handle) keys. + * + * @param array $boot_dependencies Boot dependencies for the page. + */ + $boot_dependencies = apply_filters( + 'font-library-wp-admin_boot_dependencies', + $boot_dependencies + ); + // Dummy script module to ensure dependencies are loaded wp_register_script_module( 'font-library-wp-admin', @@ -243,9 +260,7 @@ function wp_font_library_wp_admin_render_page() {