Skip to content

ui/Drawer: Polish open/close animation, fix swipe on content padding - #77800

Merged
ciampo merged 10 commits into
trunkfrom
fix/drawer-close-animation
Apr 30, 2026
Merged

ui/Drawer: Polish open/close animation, fix swipe on content padding#77800
ciampo merged 10 commits into
trunkfrom
fix/drawer-close-animation

Conversation

@ciampo

@ciampo ciampo commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

What?

Drawer popup polish, in three pieces:

  1. Restore the slide-out close animation when the popup closes via close button, Escape, or backdrop click — previously it snapped to its closed offset instead of sliding.
  2. Fade the popup elevation shadow alongside the slide so it no longer pops in / out at the screen edge.
  3. Engage mouse-drag swipe-dismiss in the popup-edge padding gutter. Base UI carves out [data-drawer-content] from mouse-drag swipe so text selection inside the body keeps working; before this PR, our Drawer.Content was the marker, so the visual padding gutter inherited that carve-out and could not be grabbed with the mouse. Most of the drawer surface looked draggable but silently no-oped under pointer down on desktop.
Why the close animation broke

The popup transform transition was nested inside &[data-open], &[data-swiping]. Base UI removes [data-open] at the start of the close sequence, so on a non-swipe dismissal neither selector matched, the transition declaration disappeared, and the per-direction &[data-ending-style] { transform: translate(±100%) } rule applied with nothing to interpolate.

Moving the transition to the .popup top level inside the existing @media not (prefers-reduced-motion) guard mirrors what Dialog already does and what the Base UI animation handbook and drawer docs prescribe for [data-starting-style] / [data-ending-style] based transitions. will-change: transform stays scoped to the in-motion states (now including [data-ending-style]), so we still avoid retaining a transform layer while idle.

The original gating was intentional (Drawer: Scope motion layers and horizontal safe-area) — the optimization is fine, the over-scoping was the regression.

Why the elevation fade

At [data-starting-style] / [data-ending-style] the popup is translated fully past the viewport edge, but its box-shadow blur still bleeds back into the viewport, appearing as a faint halo at mount/unmount. Most visible in modal={ false } and modal="trap-focus" modes where there is no backdrop to mask it.

Setting box-shadow: none at those two states and adding box-shadow to the existing transition makes the shadow grow in alongside the slide. none interpolates against the resolved token value as a list of zero-shadow layers per the CSS Backgrounds spec, so we don't need to know how many layers --wpds-elevation-lg expands to.

The other overlay primitives (Dialog, AlertDialog, Popover, Tooltip, Select, Autocomplete) don't need this — they either have no entry/exit animation or already animate opacity through 0, which fades the shadow with the rest of the popup. The drawer is the only one that intentionally keeps the popup opaque while it slides.

Why scope the swipe carve-out tightly

In DrawerViewport.tsx, Base UI's onPointerDown handler bails out when getElementAtPoint(...).closest('[data-drawer-content]') matches — so mouse-drag never engages over the body, on purpose, so that text selection there keeps working.

When Drawer.Content is [data-drawer-content], that carve-out covers the visible padding gutter too, even though the gutter is just empty space the user perceives as part of the panel chrome. Scoping the marker tightly around the body children — Drawer.Content now renders an outer styled <div> (the actual scroll container, with data-wp-ui-overlay-scroll-container and the forwarded ref / onScroll / className / props) and wraps Base UI's _Drawer.Content inside it — leaves the padding gutter outside the carve-out. Pointer-downs there resolve to the popup ancestor and engage swipe; pointer-downs on real body content still match [data-drawer-content] via closest() and bail, preserving text selection.

Two consequences worth noting:

  • Shared CSS softens > to descendant matching for the non-pinned .content > .header / .content > .footer rules in overlay-chrome.module.css, so they traverse the new wrapper. Dialog and AlertDialog don't render the wrapper — direct nested chrome matches identically — but consumers who already wrap nested chrome in custom intermediate elements inside *.Content will now see the documented padding-collapse apply.
  • The marker is rendered with the default <div> (block), not display: contents. A boxless marker would silently neuter useOverlayScrollStateAttributes's ResizeObserver for dynamic body growth (the hook observes the scroll container's direct children, and ResizeObserver does not fire for boxless elements). Keeping the marker as a real auto-height block lets the resize signal propagate as the hook's JSDoc invariant promises.

Testing Instructions

In Storybook, open Design System / Components / Drawer and try:

  1. Close animation — open any drawer story, then close via the close button, Escape, and a backdrop click. The popup should slide back out (~450ms) toward its anchored edge, not snap. Repeat with swipeDirection set to each of up, down, left, right (use All Sides or the controls).
  2. Mouse-drag swipe-dismiss — grab the popup with a mouse drag and pull it past the anchored edge. Now works from anywhere on the popup surface that isn't live body content (text, links, focusable elements): the chrome, the popup-edge padding gutter, the empty space below short body content, etc. The release should still use the velocity-scaled duration; no regression.
  3. Mouse-drag bail-out is preserved — start a mouse drag from inside a paragraph, link, or focusable child of Drawer.Content. Swipe should not engage; selection / click should behave normally.
  4. Touch swipe (DevTools touch emulation or a real device) — swipe from anywhere in the popup. Vertical drawers gate on the scroll edge; horizontal drawers engage immediately.
  5. Elevation fadeNon Modal story is the clearest test (no backdrop). Open and close: the shadow should ramp in alongside the slide rather than appearing instantly. In modal mode (Default) the effect is subtler but should still look smooth.
  6. Scroll behavior — open a story whose body overflows. Body still scrolls; sticky chrome separators still highlight; native scrollbar still sits at the popup edge (no inset gutter); tabindex="0" toggles correctly when content stops or starts overflowing (both initially and as content mutates at runtime).
  7. Reduced motion — enable OS-level "Reduce motion" (or DevTools → Rendering → Emulate prefers-reduced-motion: reduce) and close the drawer. It should close instantly with no transition. The shadow should also not animate.

Testing Instructions for Keyboard

  1. Tab to the trigger and press Enter / Space to open.
  2. Press Escape — the drawer should slide out and focus should return to the trigger.
  3. Tab to the in-header close button and press Enter — same expectation.
  4. Open a drawer with overflowing body. Tab into the body region and arrow-scroll — the scroll region should be reachable as a tab stop while overflowing, and the tab stop should disappear once content fits.

Screenshots or screencast

Before After
Kapture.2026-04-29.at.17.30.29.mp4
Kapture.2026-04-29.at.17.27.59.mp4

Use of AI Tools

Authored with the help of an AI assistant (Cursor); diagnosis, code changes, and PR text were reviewed by a human. Per the WordPress AI Guidelines.

@github-actions github-actions Bot added the [Package] UI /packages/ui label Apr 29, 2026
@ciampo ciampo changed the title Drawer: Restore the slide-out close animation ui/Drawer: Restore the slide-out close animation Apr 29, 2026
@github-actions

github-actions Bot commented Apr 29, 2026

Copy link
Copy Markdown

Size Change: 0 B

Total Size: 7.87 MB

ℹ️ View Unchanged
Filename Size
build/modules/a11y/index.min.js 355 B
build/modules/abilities/index.min.js 42.3 kB
build/modules/block-editor/utils/fit-text-frontend.min.js 617 B
build/modules/block-library/accordion/view.min.js 595 B
build/modules/block-library/file/view.min.js 346 B
build/modules/block-library/form/view.min.js 528 B
build/modules/block-library/image/view.min.js 2.64 kB
build/modules/block-library/navigation/view.min.js 1.14 kB
build/modules/block-library/playlist/view.min.js 10.9 kB
build/modules/block-library/query/view.min.js 518 B
build/modules/block-library/search/view.min.js 498 B
build/modules/block-library/tabs/view.min.js 946 B
build/modules/boot/index.min.js 18.6 kB
build/modules/connectors/index.min.js 2.05 kB
build/modules/core-abilities/index.min.js 907 B
build/modules/edit-site-init/index.min.js 1.4 kB
build/modules/interactivity-router/full-page.min.js 451 B
build/modules/interactivity-router/index.min.js 11.6 kB
build/modules/interactivity/index.min.js 15.1 kB
build/modules/latex-to-mathml/index.min.js 56.5 kB
build/modules/latex-to-mathml/loader.min.js 131 B
build/modules/lazy-editor/index.min.js 13.9 kB
build/modules/route/index.min.js 25.2 kB
build/modules/user-post-types/index.min.js 49 kB
build/modules/user-taxonomies/index.min.js 48.8 kB
build/modules/vips/loader.min.js 127 B
build/modules/vips/worker.min.js 4.56 MB
build/modules/workflow/index.min.js 19.9 kB
build/scripts/a11y/index.min.js 1.06 kB
build/scripts/annotations/index.min.js 2.49 kB
build/scripts/api-fetch/index.min.js 2.83 kB
build/scripts/autop/index.min.js 2.18 kB
build/scripts/base-styles/index.min.js 98 B
build/scripts/blob/index.min.js 631 B
build/scripts/block-directory/index.min.js 9.98 kB
build/scripts/block-editor/index.min.js 341 kB
build/scripts/block-library/index.min.js 319 kB
build/scripts/block-serialization-default-parser/index.min.js 1.16 kB
build/scripts/block-serialization-spec-parser/index.min.js 3.08 kB
build/scripts/blocks/index.min.js 56.9 kB
build/scripts/commands/index.min.js 21 kB
build/scripts/components/index.min.js 266 kB
build/scripts/compose/index.min.js 11.1 kB
build/scripts/core-commands/index.min.js 4.33 kB
build/scripts/core-data/index.min.js 30.8 kB
build/scripts/customize-widgets/index.min.js 14.3 kB
build/scripts/data-controls/index.min.js 795 B
build/scripts/data/index.min.js 9.66 kB
build/scripts/date/index.min.js 23.6 kB
build/scripts/deprecated/index.min.js 756 B
build/scripts/dom-ready/index.min.js 476 B
build/scripts/dom/index.min.js 5 kB
build/scripts/edit-post/index.min.js 18.4 kB
build/scripts/edit-site/index.min.js 264 kB
build/scripts/edit-widgets/index.min.js 21.9 kB
build/scripts/editor/index.min.js 424 kB
build/scripts/element/index.min.js 5.17 kB
build/scripts/escape-html/index.min.js 587 B
build/scripts/format-library/index.min.js 12.8 kB
build/scripts/hooks/index.min.js 1.83 kB
build/scripts/html-entities/index.min.js 494 B
build/scripts/i18n/index.min.js 2.47 kB
build/scripts/is-shallow-equal/index.min.js 572 B
build/scripts/keyboard-shortcuts/index.min.js 1.61 kB
build/scripts/keycodes/index.min.js 1.56 kB
build/scripts/list-reusable-blocks/index.min.js 2.49 kB
build/scripts/media-utils/index.min.js 79.4 kB
build/scripts/notices/index.min.js 1.85 kB
build/scripts/nux/index.min.js 1.89 kB
build/scripts/patterns/index.min.js 7.96 kB
build/scripts/plugins/index.min.js 2.15 kB
build/scripts/preferences-persistence/index.min.js 2.15 kB
build/scripts/preferences/index.min.js 3.3 kB
build/scripts/primitives/index.min.js 1.01 kB
build/scripts/priority-queue/index.min.js 1.62 kB
build/scripts/private-apis/index.min.js 1.1 kB
build/scripts/react-i18n/index.min.js 833 B
build/scripts/redux-routine/index.min.js 3.37 kB
build/scripts/reusable-blocks/index.min.js 3.1 kB
build/scripts/rich-text/index.min.js 14 kB
build/scripts/router/index.min.js 5.96 kB
build/scripts/server-side-render/index.min.js 1.91 kB
build/scripts/shortcode/index.min.js 1.59 kB
build/scripts/style-engine/index.min.js 2.42 kB
build/scripts/sync/index.min.js 38.8 kB
build/scripts/theme/index.min.js 22 kB
build/scripts/token-list/index.min.js 739 B
build/scripts/undo-manager/index.min.js 918 B
build/scripts/upload-media/index.min.js 11.2 kB
build/scripts/url/index.min.js 3.98 kB
build/scripts/vendors/react-dom.min.js 43.3 kB
build/scripts/vendors/react-jsx-runtime.min.js 667 B
build/scripts/vendors/react.min.js 2.77 kB
build/scripts/viewport/index.min.js 1.22 kB
build/scripts/warning/index.min.js 454 B
build/scripts/widgets/index.min.js 7.8 kB
build/scripts/wordcount/index.min.js 1.04 kB
build/styles/base-styles/admin-schemes-rtl.css 1.71 kB
build/styles/base-styles/admin-schemes-rtl.min.css 775 B
build/styles/base-styles/admin-schemes.css 1.71 kB
build/styles/base-styles/admin-schemes.min.css 775 B
build/styles/block-directory/style-rtl.css 1.97 kB
build/styles/block-directory/style-rtl.min.css 1.06 kB
build/styles/block-directory/style.css 1.98 kB
build/styles/block-directory/style.min.css 1.06 kB
build/styles/block-editor/content-rtl.css 5.44 kB
build/styles/block-editor/content-rtl.min.css 4.01 kB
build/styles/block-editor/content.css 5.44 kB
build/styles/block-editor/content.min.css 4.01 kB
build/styles/block-editor/default-editor-styles-rtl.css 697 B
build/styles/block-editor/default-editor-styles-rtl.min.css 224 B
build/styles/block-editor/default-editor-styles.css 697 B
build/styles/block-editor/default-editor-styles.min.css 224 B
build/styles/block-editor/style-rtl.css 18.6 kB
build/styles/block-editor/style-rtl.min.css 15.8 kB
build/styles/block-editor/style.css 18.6 kB
build/styles/block-editor/style.min.css 15.8 kB
build/styles/block-library/accordion-heading/style-rtl.css 346 B
build/styles/block-library/accordion-heading/style-rtl.min.css 325 B
build/styles/block-library/accordion-heading/style.css 346 B
build/styles/block-library/accordion-heading/style.min.css 325 B
build/styles/block-library/accordion-item/style-rtl.css 239 B
build/styles/block-library/accordion-item/style-rtl.min.css 180 B
build/styles/block-library/accordion-item/style.css 238 B
build/styles/block-library/accordion-item/style.min.css 180 B
build/styles/block-library/accordion-panel/style-rtl.css 110 B
build/styles/block-library/accordion-panel/style-rtl.min.css 99 B
build/styles/block-library/accordion-panel/style.css 110 B
build/styles/block-library/accordion-panel/style.min.css 99 B
build/styles/block-library/accordion/style-rtl.css 69 B
build/styles/block-library/accordion/style-rtl.min.css 62 B
build/styles/block-library/accordion/style.css 69 B
build/styles/block-library/accordion/style.min.css 62 B
build/styles/block-library/archives/style-rtl.css 101 B
build/styles/block-library/archives/style-rtl.min.css 90 B
build/styles/block-library/archives/style.css 101 B
build/styles/block-library/archives/style.min.css 90 B
build/styles/block-library/audio/editor-rtl.css 166 B
build/styles/block-library/audio/editor-rtl.min.css 149 B
build/styles/block-library/audio/editor.css 166 B
build/styles/block-library/audio/editor.min.css 151 B
build/styles/block-library/audio/style-rtl.css 945 B
build/styles/block-library/audio/style-rtl.min.css 132 B
build/styles/block-library/audio/style.css 945 B
build/styles/block-library/audio/style.min.css 132 B
build/styles/block-library/audio/theme-rtl.css 967 B
build/styles/block-library/audio/theme-rtl.min.css 134 B
build/styles/block-library/audio/theme.css 967 B
build/styles/block-library/audio/theme.min.css 134 B
build/styles/block-library/avatar/editor-rtl.css 127 B
build/styles/block-library/avatar/editor-rtl.min.css 115 B
build/styles/block-library/avatar/editor.css 127 B
build/styles/block-library/avatar/editor.min.css 115 B
build/styles/block-library/avatar/style-rtl.css 117 B
build/styles/block-library/avatar/style-rtl.min.css 104 B
build/styles/block-library/avatar/style.css 117 B
build/styles/block-library/avatar/style.min.css 104 B
build/styles/block-library/breadcrumbs/style-rtl.css 233 B
build/styles/block-library/breadcrumbs/style-rtl.min.css 203 B
build/styles/block-library/breadcrumbs/style.css 233 B
build/styles/block-library/breadcrumbs/style.min.css 203 B
build/styles/block-library/button/editor-rtl.css 306 B
build/styles/block-library/button/editor-rtl.min.css 265 B
build/styles/block-library/button/editor.css 317 B
build/styles/block-library/button/editor.min.css 265 B
build/styles/block-library/button/style-rtl.css 651 B
build/styles/block-library/button/style-rtl.min.css 596 B
build/styles/block-library/button/style.css 662 B
build/styles/block-library/button/style.min.css 596 B
build/styles/block-library/buttons/editor-rtl.css 391 B
build/styles/block-library/buttons/editor-rtl.min.css 291 B
build/styles/block-library/buttons/editor.css 391 B
build/styles/block-library/buttons/editor.min.css 291 B
build/styles/block-library/buttons/style-rtl.css 452 B
build/styles/block-library/buttons/style-rtl.min.css 349 B
build/styles/block-library/buttons/style.css 453 B
build/styles/block-library/buttons/style.min.css 349 B
build/styles/block-library/calendar/style-rtl.css 271 B
build/styles/block-library/calendar/style-rtl.min.css 239 B
build/styles/block-library/calendar/style.css 271 B
build/styles/block-library/calendar/style.min.css 239 B
build/styles/block-library/categories/editor-rtl.css 171 B
build/styles/block-library/categories/editor-rtl.min.css 132 B
build/styles/block-library/categories/editor.css 170 B
build/styles/block-library/categories/editor.min.css 131 B
build/styles/block-library/categories/style-rtl.css 226 B
build/styles/block-library/categories/style-rtl.min.css 169 B
build/styles/block-library/categories/style.css 235 B
build/styles/block-library/categories/style.min.css 169 B
build/styles/block-library/classic-rtl.css 402 B
build/styles/block-library/classic-rtl.min.css 358 B
build/styles/block-library/classic.css 402 B
build/styles/block-library/classic.min.css 358 B
build/styles/block-library/code/editor-rtl.css 59 B
build/styles/block-library/code/editor-rtl.min.css 53 B
build/styles/block-library/code/editor.css 59 B
build/styles/block-library/code/editor.min.css 53 B
build/styles/block-library/code/style-rtl.css 158 B
build/styles/block-library/code/style-rtl.min.css 140 B
build/styles/block-library/code/style.css 178 B
build/styles/block-library/code/style.min.css 140 B
build/styles/block-library/code/theme-rtl.css 135 B
build/styles/block-library/code/theme-rtl.min.css 122 B
build/styles/block-library/code/theme.css 135 B
build/styles/block-library/code/theme.min.css 122 B
build/styles/block-library/columns/editor-rtl.css 119 B
build/styles/block-library/columns/editor-rtl.min.css 108 B
build/styles/block-library/columns/editor.css 119 B
build/styles/block-library/columns/editor.min.css 108 B
build/styles/block-library/columns/style-rtl.css 1.3 kB
build/styles/block-library/columns/style-rtl.min.css 421 B
build/styles/block-library/columns/style.css 1.3 kB
build/styles/block-library/columns/style.min.css 421 B
build/styles/block-library/comment-author-avatar/editor-rtl.css 136 B
build/styles/block-library/comment-author-avatar/editor-rtl.min.css 124 B
build/styles/block-library/comment-author-avatar/editor.css 136 B
build/styles/block-library/comment-author-avatar/editor.min.css 124 B
build/styles/block-library/comment-author-name/style-rtl.css 79 B
build/styles/block-library/comment-author-name/style-rtl.min.css 72 B
build/styles/block-library/comment-author-name/style.css 79 B
build/styles/block-library/comment-author-name/style.min.css 72 B
build/styles/block-library/comment-content/style-rtl.css 137 B
build/styles/block-library/comment-content/style-rtl.min.css 120 B
build/styles/block-library/comment-content/style.css 137 B
build/styles/block-library/comment-content/style.min.css 120 B
build/styles/block-library/comment-date/style-rtl.css 72 B
build/styles/block-library/comment-date/style-rtl.min.css 65 B
build/styles/block-library/comment-date/style.css 72 B
build/styles/block-library/comment-date/style.min.css 65 B
build/styles/block-library/comment-edit-link/style-rtl.css 77 B
build/styles/block-library/comment-edit-link/style-rtl.min.css 70 B
build/styles/block-library/comment-edit-link/style.css 77 B
build/styles/block-library/comment-edit-link/style.min.css 70 B
build/styles/block-library/comment-reply-link/style-rtl.css 78 B
build/styles/block-library/comment-reply-link/style-rtl.min.css 71 B
build/styles/block-library/comment-reply-link/style.css 78 B
build/styles/block-library/comment-reply-link/style.min.css 71 B
build/styles/block-library/comment-template/style-rtl.css 213 B
build/styles/block-library/comment-template/style-rtl.min.css 191 B
build/styles/block-library/comment-template/style.css 213 B
build/styles/block-library/comment-template/style.min.css 191 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.css 135 B
build/styles/block-library/comments-pagination-numbers/editor-rtl.min.css 122 B
build/styles/block-library/comments-pagination-numbers/editor.css 144 B
build/styles/block-library/comments-pagination-numbers/editor.min.css 121 B
build/styles/block-library/comments-pagination/editor-rtl.css 184 B
build/styles/block-library/comments-pagination/editor-rtl.min.css 168 B
build/styles/block-library/comments-pagination/editor.css 184 B
build/styles/block-library/comments-pagination/editor.min.css 168 B
build/styles/block-library/comments-pagination/style-rtl.css 224 B
build/styles/block-library/comments-pagination/style-rtl.min.css 201 B
build/styles/block-library/comments-pagination/style.css 236 B
build/styles/block-library/comments-pagination/style.min.css 201 B
build/styles/block-library/comments-title/editor-rtl.css 83 B
build/styles/block-library/comments-title/editor-rtl.min.css 75 B
build/styles/block-library/comments-title/editor.css 83 B
build/styles/block-library/comments-title/editor.min.css 75 B
build/styles/block-library/comments/editor-rtl.css 968 B
build/styles/block-library/comments/editor-rtl.min.css 842 B
build/styles/block-library/comments/editor.css 968 B
build/styles/block-library/comments/editor.min.css 842 B
build/styles/block-library/comments/style-rtl.css 754 B
build/styles/block-library/comments/style-rtl.min.css 637 B
build/styles/block-library/comments/style.css 752 B
build/styles/block-library/comments/style.min.css 637 B
build/styles/block-library/common-rtl.css 2.48 kB
build/styles/block-library/common-rtl.min.css 1.12 kB
build/styles/block-library/common.css 2.5 kB
build/styles/block-library/common.min.css 1.12 kB
build/styles/block-library/cover/editor-rtl.css 1.05 kB
build/styles/block-library/cover/editor-rtl.min.css 631 B
build/styles/block-library/cover/editor.css 1.05 kB
build/styles/block-library/cover/editor.min.css 631 B
build/styles/block-library/cover/style-rtl.css 2.5 kB
build/styles/block-library/cover/style-rtl.min.css 1.82 kB
build/styles/block-library/cover/style.css 2.51 kB
build/styles/block-library/cover/style.min.css 1.81 kB
build/styles/block-library/details/editor-rtl.css 72 B
build/styles/block-library/details/editor-rtl.min.css 65 B
build/styles/block-library/details/editor.css 72 B
build/styles/block-library/details/editor.min.css 65 B
build/styles/block-library/details/style-rtl.css 97 B
build/styles/block-library/details/style-rtl.min.css 86 B
build/styles/block-library/details/style.css 97 B
build/styles/block-library/details/style.min.css 86 B
build/styles/block-library/editor-elements-rtl.css 117 B
build/styles/block-library/editor-elements-rtl.min.css 75 B
build/styles/block-library/editor-elements.css 117 B
build/styles/block-library/editor-elements.min.css 75 B
build/styles/block-library/editor-rtl.css 12.5 kB
build/styles/block-library/editor-rtl.min.css 10.3 kB
build/styles/block-library/editor.css 12.5 kB
build/styles/block-library/editor.min.css 10.3 kB
build/styles/block-library/elements-rtl.css 84 B
build/styles/block-library/elements-rtl.min.css 54 B
build/styles/block-library/elements.css 84 B
build/styles/block-library/elements.min.css 54 B
build/styles/block-library/embed/editor-rtl.css 391 B
build/styles/block-library/embed/editor-rtl.min.css 331 B
build/styles/block-library/embed/editor.css 390 B
build/styles/block-library/embed/editor.min.css 331 B
build/styles/block-library/embed/style-rtl.css 1.29 kB
build/styles/block-library/embed/style-rtl.min.css 448 B
build/styles/block-library/embed/style.css 1.29 kB
build/styles/block-library/embed/style.min.css 448 B
build/styles/block-library/embed/theme-rtl.css 967 B
build/styles/block-library/embed/theme-rtl.min.css 133 B
build/styles/block-library/embed/theme.css 967 B
build/styles/block-library/embed/theme.min.css 133 B
build/styles/block-library/file/editor-rtl.css 352 B
build/styles/block-library/file/editor-rtl.min.css 324 B
build/styles/block-library/file/editor.css 353 B
build/styles/block-library/file/editor.min.css 324 B
build/styles/block-library/file/style-rtl.css 318 B
build/styles/block-library/file/style-rtl.min.css 278 B
build/styles/block-library/file/style.css 331 B
build/styles/block-library/file/style.min.css 278 B
build/styles/block-library/footnotes/style-rtl.css 220 B
build/styles/block-library/footnotes/style-rtl.min.css 198 B
build/styles/block-library/footnotes/style.css 219 B
build/styles/block-library/footnotes/style.min.css 197 B
build/styles/block-library/form-input/editor-rtl.css 286 B
build/styles/block-library/form-input/editor-rtl.min.css 265 B
build/styles/block-library/form-input/editor.css 285 B
build/styles/block-library/form-input/editor.min.css 264 B
build/styles/block-library/form-input/style-rtl.css 467 B
build/styles/block-library/form-input/style-rtl.min.css 366 B
build/styles/block-library/form-input/style.css 467 B
build/styles/block-library/form-input/style.min.css 366 B
build/styles/block-library/form-submission-notification/editor-rtl.css 368 B
build/styles/block-library/form-submission-notification/editor-rtl.min.css 344 B
build/styles/block-library/form-submission-notification/editor.css 368 B
build/styles/block-library/form-submission-notification/editor.min.css 341 B
build/styles/block-library/form-submit-button/style-rtl.css 77 B
build/styles/block-library/form-submit-button/style-rtl.min.css 69 B
build/styles/block-library/form-submit-button/style.css 77 B
build/styles/block-library/form-submit-button/style.min.css 69 B
build/styles/block-library/freeform/editor-rtl.css 1.12 kB
build/styles/block-library/freeform/editor-rtl.min.css 288 B
build/styles/block-library/freeform/editor.css 1.12 kB
build/styles/block-library/freeform/editor.min.css 288 B
build/styles/block-library/gallery/editor-rtl.css 1.52 kB
build/styles/block-library/gallery/editor-rtl.min.css 615 B
build/styles/block-library/gallery/editor.css 1.52 kB
build/styles/block-library/gallery/editor.min.css 616 B
build/styles/block-library/gallery/style-rtl.css 2.84 kB
build/styles/block-library/gallery/style-rtl.min.css 1.84 kB
build/styles/block-library/gallery/style.css 2.84 kB
build/styles/block-library/gallery/style.min.css 1.84 kB
build/styles/block-library/gallery/theme-rtl.css 941 B
build/styles/block-library/gallery/theme-rtl.min.css 108 B
build/styles/block-library/gallery/theme.css 941 B
build/styles/block-library/gallery/theme.min.css 108 B
build/styles/block-library/group/editor-rtl.css 772 B
build/styles/block-library/group/editor-rtl.min.css 335 B
build/styles/block-library/group/editor.css 772 B
build/styles/block-library/group/editor.min.css 335 B
build/styles/block-library/group/style-rtl.css 120 B
build/styles/block-library/group/style-rtl.min.css 103 B
build/styles/block-library/group/style.css 120 B
build/styles/block-library/group/style.min.css 103 B
build/styles/block-library/group/theme-rtl.css 468 B
build/styles/block-library/group/theme-rtl.min.css 79 B
build/styles/block-library/group/theme.css 468 B
build/styles/block-library/group/theme.min.css 79 B
build/styles/block-library/heading/style-rtl.css 604 B
build/styles/block-library/heading/style-rtl.min.css 205 B
build/styles/block-library/heading/style.css 604 B
build/styles/block-library/heading/style.min.css 205 B
build/styles/block-library/html/editor-rtl.css 1.29 kB
build/styles/block-library/html/editor-rtl.min.css 464 B
build/styles/block-library/html/editor.css 1.3 kB
build/styles/block-library/html/editor.min.css 464 B
build/styles/block-library/icon/editor-rtl.css 776 B
build/styles/block-library/icon/editor-rtl.min.css 377 B
build/styles/block-library/icon/editor.css 776 B
build/styles/block-library/icon/editor.min.css 377 B
build/styles/block-library/icon/style-rtl.css 218 B
build/styles/block-library/icon/style-rtl.min.css 154 B
build/styles/block-library/icon/style.css 218 B
build/styles/block-library/icon/style.min.css 154 B
build/styles/block-library/image/editor-rtl.css 1.64 kB
build/styles/block-library/image/editor-rtl.min.css 782 B
build/styles/block-library/image/editor.css 1.64 kB
build/styles/block-library/image/editor.min.css 780 B
build/styles/block-library/image/style-rtl.css 2.92 kB
build/styles/block-library/image/style-rtl.min.css 1.86 kB
build/styles/block-library/image/style.css 2.92 kB
build/styles/block-library/image/style.min.css 1.85 kB
build/styles/block-library/image/theme-rtl.css 971 B
build/styles/block-library/image/theme-rtl.min.css 137 B
build/styles/block-library/image/theme.css 971 B
build/styles/block-library/image/theme.min.css 137 B
build/styles/block-library/latest-comments/style-rtl.css 392 B
build/styles/block-library/latest-comments/style-rtl.min.css 352 B
build/styles/block-library/latest-comments/style.css 390 B
build/styles/block-library/latest-comments/style.min.css 352 B
build/styles/block-library/latest-posts/editor-rtl.css 154 B
build/styles/block-library/latest-posts/editor-rtl.min.css 139 B
build/styles/block-library/latest-posts/editor.css 153 B
build/styles/block-library/latest-posts/editor.min.css 138 B
build/styles/block-library/latest-posts/style-rtl.css 1.36 kB
build/styles/block-library/latest-posts/style-rtl.min.css 520 B
build/styles/block-library/latest-posts/style.css 1.37 kB
build/styles/block-library/latest-posts/style.min.css 520 B
build/styles/block-library/list/style-rtl.css 498 B
build/styles/block-library/list/style-rtl.min.css 107 B
build/styles/block-library/list/style.css 498 B
build/styles/block-library/list/style.min.css 107 B
build/styles/block-library/loginout/style-rtl.css 68 B
build/styles/block-library/loginout/style-rtl.min.css 61 B
build/styles/block-library/loginout/style.css 68 B
build/styles/block-library/loginout/style.min.css 61 B
build/styles/block-library/math/editor-rtl.css 491 B
build/styles/block-library/math/editor-rtl.min.css 105 B
build/styles/block-library/math/editor.css 502 B
build/styles/block-library/math/editor.min.css 105 B
build/styles/block-library/math/style-rtl.css 70 B
build/styles/block-library/math/style-rtl.min.css 61 B
build/styles/block-library/math/style.css 70 B
build/styles/block-library/math/style.min.css 61 B
build/styles/block-library/media-text/editor-rtl.css 389 B
build/styles/block-library/media-text/editor-rtl.min.css 321 B
build/styles/block-library/media-text/editor.css 389 B
build/styles/block-library/media-text/editor.min.css 320 B
build/styles/block-library/media-text/style-rtl.css 873 B
build/styles/block-library/media-text/style-rtl.min.css 552 B
build/styles/block-library/media-text/style.css 901 B
build/styles/block-library/media-text/style.min.css 550 B
build/styles/block-library/more/editor-rtl.css 796 B
build/styles/block-library/more/editor-rtl.min.css 393 B
build/styles/block-library/more/editor.css 798 B
build/styles/block-library/more/editor.min.css 393 B
build/styles/block-library/navigation-link/editor-rtl.css 1.28 kB
build/styles/block-library/navigation-link/editor-rtl.min.css 710 B
build/styles/block-library/navigation-link/editor.css 1.27 kB
build/styles/block-library/navigation-link/editor.min.css 713 B
build/styles/block-library/navigation-link/style-rtl.css 579 B
build/styles/block-library/navigation-link/style-rtl.min.css 190 B
build/styles/block-library/navigation-link/style.css 579 B
build/styles/block-library/navigation-link/style.min.css 188 B
build/styles/block-library/navigation-overlay-close/style-rtl.css 260 B
build/styles/block-library/navigation-overlay-close/style-rtl.min.css 237 B
build/styles/block-library/navigation-overlay-close/style.css 260 B
build/styles/block-library/navigation-overlay-close/style.min.css 237 B
build/styles/block-library/navigation-submenu/editor-rtl.css 1.12 kB
build/styles/block-library/navigation-submenu/editor-rtl.min.css 295 B
build/styles/block-library/navigation-submenu/editor.css 1.12 kB
build/styles/block-library/navigation-submenu/editor.min.css 294 B
build/styles/block-library/navigation/editor-rtl.css 3.28 kB
build/styles/block-library/navigation/editor-rtl.min.css 2.28 kB
build/styles/block-library/navigation/editor.css 3.29 kB
build/styles/block-library/navigation/editor.min.css 2.28 kB
build/styles/block-library/navigation/style-rtl.css 3.59 kB
build/styles/block-library/navigation/style-rtl.min.css 2.52 kB
build/styles/block-library/navigation/style.css 3.59 kB
build/styles/block-library/navigation/style.min.css 2.5 kB
build/styles/block-library/nextpage/editor-rtl.css 799 B
build/styles/block-library/nextpage/editor-rtl.min.css 392 B
build/styles/block-library/nextpage/editor.css 800 B
build/styles/block-library/nextpage/editor.min.css 392 B
build/styles/block-library/page-list/editor-rtl.css 1.18 kB
build/styles/block-library/page-list/editor-rtl.min.css 356 B
build/styles/block-library/page-list/editor.css 1.18 kB
build/styles/block-library/page-list/editor.min.css 356 B
build/styles/block-library/page-list/style-rtl.css 207 B
build/styles/block-library/page-list/style-rtl.min.css 192 B
build/styles/block-library/page-list/style.css 207 B
build/styles/block-library/page-list/style.min.css 192 B
build/styles/block-library/paragraph/editor-rtl.css 315 B
build/styles/block-library/paragraph/editor-rtl.min.css 292 B
build/styles/block-library/paragraph/editor.css 314 B
build/styles/block-library/paragraph/editor.min.css 292 B
build/styles/block-library/paragraph/style-rtl.css 746 B
build/styles/block-library/paragraph/style-rtl.min.css 341 B
build/styles/block-library/paragraph/style.css 752 B
build/styles/block-library/paragraph/style.min.css 340 B
build/styles/block-library/playlist-track/style-rtl.css 453 B
build/styles/block-library/playlist-track/style-rtl.min.css 420 B
build/styles/block-library/playlist-track/style.css 453 B
build/styles/block-library/playlist-track/style.min.css 420 B
build/styles/block-library/playlist/editor-rtl.css 120 B
build/styles/block-library/playlist/editor-rtl.min.css 112 B
build/styles/block-library/playlist/editor.css 120 B
build/styles/block-library/playlist/editor.min.css 112 B
build/styles/block-library/playlist/style-rtl.css 1.52 kB
build/styles/block-library/playlist/style-rtl.min.css 1.42 kB
build/styles/block-library/playlist/style.css 1.52 kB
build/styles/block-library/playlist/style.min.css 1.42 kB
build/styles/block-library/post-author-biography/style-rtl.css 96 B
build/styles/block-library/post-author-biography/style-rtl.min.css 86 B
build/styles/block-library/post-author-biography/style.css 96 B
build/styles/block-library/post-author-biography/style.min.css 86 B
build/styles/block-library/post-author-name/style-rtl.css 76 B
build/styles/block-library/post-author-name/style-rtl.min.css 69 B
build/styles/block-library/post-author-name/style.css 76 B
build/styles/block-library/post-author-name/style.min.css 69 B
build/styles/block-library/post-author/editor-rtl.css 490 B
build/styles/block-library/post-author/editor-rtl.min.css 104 B
build/styles/block-library/post-author/editor.css 490 B
build/styles/block-library/post-author/editor.min.css 104 B
build/styles/block-library/post-author/style-rtl.css 213 B
build/styles/block-library/post-author/style-rtl.min.css 188 B
build/styles/block-library/post-author/style.css 214 B
build/styles/block-library/post-author/style.min.css 189 B
build/styles/block-library/post-comments-count/style-rtl.css 79 B
build/styles/block-library/post-comments-count/style-rtl.min.css 72 B
build/styles/block-library/post-comments-count/style.css 79 B
build/styles/block-library/post-comments-count/style.min.css 72 B
build/styles/block-library/post-comments-form/editor-rtl.css 104 B
build/styles/block-library/post-comments-form/editor-rtl.min.css 96 B
build/styles/block-library/post-comments-form/editor.css 104 B
build/styles/block-library/post-comments-form/editor.min.css 96 B
build/styles/block-library/post-comments-form/style-rtl.css 585 B
build/styles/block-library/post-comments-form/style-rtl.min.css 525 B
build/styles/block-library/post-comments-form/style.css 584 B
build/styles/block-library/post-comments-form/style.min.css 525 B
build/styles/block-library/post-comments-link/style-rtl.css 78 B
build/styles/block-library/post-comments-link/style-rtl.min.css 71 B
build/styles/block-library/post-comments-link/style.css 78 B
build/styles/block-library/post-comments-link/style.min.css 71 B
build/styles/block-library/post-content/style-rtl.css 68 B
build/styles/block-library/post-content/style-rtl.min.css 61 B
build/styles/block-library/post-content/style.css 68 B
build/styles/block-library/post-content/style.min.css 61 B
build/styles/block-library/post-date/style-rtl.css 69 B
build/styles/block-library/post-date/style-rtl.min.css 62 B
build/styles/block-library/post-date/style.css 69 B
build/styles/block-library/post-date/style.min.css 62 B
build/styles/block-library/post-excerpt/editor-rtl.css 78 B
build/styles/block-library/post-excerpt/editor-rtl.min.css 71 B
build/styles/block-library/post-excerpt/editor.css 78 B
build/styles/block-library/post-excerpt/editor.min.css 71 B
build/styles/block-library/post-excerpt/style-rtl.css 171 B
build/styles/block-library/post-excerpt/style-rtl.min.css 155 B
build/styles/block-library/post-excerpt/style.css 171 B
build/styles/block-library/post-excerpt/style.min.css 155 B
build/styles/block-library/post-featured-image/editor-rtl.css 1.14 kB
build/styles/block-library/post-featured-image/editor-rtl.min.css 719 B
build/styles/block-library/post-featured-image/editor.css 1.14 kB
build/styles/block-library/post-featured-image/editor.min.css 717 B
build/styles/block-library/post-featured-image/style-rtl.css 392 B
build/styles/block-library/post-featured-image/style-rtl.min.css 347 B
build/styles/block-library/post-featured-image/style.css 392 B
build/styles/block-library/post-featured-image/style.min.css 347 B
build/styles/block-library/post-navigation-link/style-rtl.css 234 B
build/styles/block-library/post-navigation-link/style-rtl.min.css 215 B
build/styles/block-library/post-navigation-link/style.css 245 B
build/styles/block-library/post-navigation-link/style.min.css 214 B
build/styles/block-library/post-template/style-rtl.css 1.27 kB
build/styles/block-library/post-template/style-rtl.min.css 441 B
build/styles/block-library/post-template/style.css 1.27 kB
build/styles/block-library/post-template/style.min.css 441 B
build/styles/block-library/post-terms/style-rtl.css 108 B
build/styles/block-library/post-terms/style-rtl.min.css 96 B
build/styles/block-library/post-terms/style.css 108 B
build/styles/block-library/post-terms/style.min.css 96 B
build/styles/block-library/post-time-to-read/style-rtl.css 77 B
build/styles/block-library/post-time-to-read/style-rtl.min.css 70 B
build/styles/block-library/post-time-to-read/style.css 77 B
build/styles/block-library/post-time-to-read/style.min.css 70 B
build/styles/block-library/post-title/style-rtl.css 175 B
build/styles/block-library/post-title/style-rtl.min.css 162 B
build/styles/block-library/post-title/style.css 175 B
build/styles/block-library/post-title/style.min.css 162 B
build/styles/block-library/preformatted/style-rtl.css 511 B
build/styles/block-library/preformatted/style-rtl.min.css 125 B
build/styles/block-library/preformatted/style.css 511 B
build/styles/block-library/preformatted/style.min.css 125 B
build/styles/block-library/pullquote/editor-rtl.css 146 B
build/styles/block-library/pullquote/editor-rtl.min.css 133 B
build/styles/block-library/pullquote/editor.css 146 B
build/styles/block-library/pullquote/editor.min.css 133 B
build/styles/block-library/pullquote/style-rtl.css 765 B
build/styles/block-library/pullquote/style-rtl.min.css 365 B
build/styles/block-library/pullquote/style.css 764 B
build/styles/block-library/pullquote/style.min.css 365 B
build/styles/block-library/pullquote/theme-rtl.css 195 B
build/styles/block-library/pullquote/theme-rtl.min.css 176 B
build/styles/block-library/pullquote/theme.css 195 B
build/styles/block-library/pullquote/theme.min.css 176 B
build/styles/block-library/query-pagination-numbers/editor-rtl.css 134 B
build/styles/block-library/query-pagination-numbers/editor-rtl.min.css 121 B
build/styles/block-library/query-pagination-numbers/editor.css 144 B
build/styles/block-library/query-pagination-numbers/editor.min.css 118 B
build/styles/block-library/query-pagination/editor-rtl.css 168 B
build/styles/block-library/query-pagination/editor-rtl.min.css 154 B
build/styles/block-library/query-pagination/editor.css 168 B
build/styles/block-library/query-pagination/editor.min.css 154 B
build/styles/block-library/query-pagination/style-rtl.css 254 B
build/styles/block-library/query-pagination/style-rtl.min.css 237 B
build/styles/block-library/query-pagination/style.css 265 B
build/styles/block-library/query-pagination/style.min.css 237 B
build/styles/block-library/query-title/style-rtl.css 71 B
build/styles/block-library/query-title/style-rtl.min.css 64 B
build/styles/block-library/query-title/style.css 71 B
build/styles/block-library/query-title/style.min.css 64 B
build/styles/block-library/query-total/style-rtl.css 71 B
build/styles/block-library/query-total/style-rtl.min.css 64 B
build/styles/block-library/query-total/style.css 71 B
build/styles/block-library/query-total/style.min.css 64 B
build/styles/block-library/query/editor-rtl.css 1.28 kB
build/styles/block-library/query/editor-rtl.min.css 438 B
build/styles/block-library/query/editor.css 1.28 kB
build/styles/block-library/query/editor.min.css 438 B
build/styles/block-library/quote/style-rtl.css 255 B
build/styles/block-library/quote/style-rtl.min.css 238 B
build/styles/block-library/quote/style.css 256 B
build/styles/block-library/quote/style.min.css 238 B
build/styles/block-library/quote/theme-rtl.css 253 B
build/styles/block-library/quote/theme-rtl.min.css 233 B
build/styles/block-library/quote/theme.css 254 B
build/styles/block-library/quote/theme.min.css 236 B
build/styles/block-library/read-more/style-rtl.css 146 B
build/styles/block-library/read-more/style-rtl.min.css 131 B
build/styles/block-library/read-more/style.css 146 B
build/styles/block-library/read-more/style.min.css 131 B
build/styles/block-library/reset-rtl.css 936 B
build/styles/block-library/reset-rtl.min.css 467 B
build/styles/block-library/reset.css 936 B
build/styles/block-library/reset.min.css 467 B
build/styles/block-library/rss/editor-rtl.css 144 B
build/styles/block-library/rss/editor-rtl.min.css 126 B
build/styles/block-library/rss/editor.css 144 B
build/styles/block-library/rss/editor.min.css 126 B
build/styles/block-library/rss/style-rtl.css 1.11 kB
build/styles/block-library/rss/style-rtl.min.css 284 B
build/styles/block-library/rss/style.css 1.12 kB
build/styles/block-library/rss/style.min.css 283 B
build/styles/block-library/search/editor-rtl.css 217 B
build/styles/block-library/search/editor-rtl.min.css 199 B
build/styles/block-library/search/editor.css 217 B
build/styles/block-library/search/editor.min.css 199 B
build/styles/block-library/search/style-rtl.css 1.1 kB
build/styles/block-library/search/style-rtl.min.css 665 B
build/styles/block-library/search/style.css 1.1 kB
build/styles/block-library/search/style.min.css 666 B
build/styles/block-library/search/theme-rtl.css 130 B
build/styles/block-library/search/theme-rtl.min.css 113 B
build/styles/block-library/search/theme.css 130 B
build/styles/block-library/search/theme.min.css 113 B
build/styles/block-library/separator/editor-rtl.css 106 B
build/styles/block-library/separator/editor-rtl.min.css 100 B
build/styles/block-library/separator/editor.css 106 B
build/styles/block-library/separator/editor.min.css 100 B
build/styles/block-library/separator/style-rtl.css 284 B
build/styles/block-library/separator/style-rtl.min.css 248 B
build/styles/block-library/separator/style.css 297 B
build/styles/block-library/separator/style.min.css 248 B
build/styles/block-library/separator/theme-rtl.css 226 B
build/styles/block-library/separator/theme-rtl.min.css 195 B
build/styles/block-library/separator/theme.css 226 B
build/styles/block-library/separator/theme.min.css 195 B
build/styles/block-library/shortcode/editor-rtl.css 1.1 kB
build/styles/block-library/shortcode/editor-rtl.min.css 286 B
build/styles/block-library/shortcode/editor.css 1.1 kB
build/styles/block-library/shortcode/editor.min.css 286 B
build/styles/block-library/site-logo/editor-rtl.css 1.12 kB
build/styles/block-library/site-logo/editor-rtl.min.css 696 B
build/styles/block-library/site-logo/editor.css 1.12 kB
build/styles/block-library/site-logo/editor.min.css 692 B
build/styles/block-library/site-logo/style-rtl.css 239 B
build/styles/block-library/site-logo/style-rtl.min.css 218 B
build/styles/block-library/site-logo/style.css 238 B
build/styles/block-library/site-logo/style.min.css 218 B
build/styles/block-library/site-tagline/editor-rtl.css 94 B
build/styles/block-library/site-tagline/editor-rtl.min.css 87 B
build/styles/block-library/site-tagline/editor.css 94 B
build/styles/block-library/site-tagline/editor.min.css 87 B
build/styles/block-library/site-tagline/style-rtl.css 72 B
build/styles/block-library/site-tagline/style-rtl.min.css 65 B
build/styles/block-library/site-tagline/style.css 72 B
build/styles/block-library/site-tagline/style.min.css 65 B
build/styles/block-library/site-title/editor-rtl.css 93 B
build/styles/block-library/site-title/editor-rtl.min.css 85 B
build/styles/block-library/site-title/editor.css 93 B
build/styles/block-library/site-title/editor.min.css 85 B
build/styles/block-library/site-title/style-rtl.css 153 B
build/styles/block-library/site-title/style-rtl.min.css 143 B
build/styles/block-library/site-title/style.css 153 B
build/styles/block-library/site-title/style.min.css 143 B
build/styles/block-library/social-link/editor-rtl.css 346 B
build/styles/block-library/social-link/editor-rtl.min.css 314 B
build/styles/block-library/social-link/editor.css 348 B
build/styles/block-library/social-link/editor.min.css 314 B
build/styles/block-library/social-links/editor-rtl.css 737 B
build/styles/block-library/social-links/editor-rtl.min.css 339 B
build/styles/block-library/social-links/editor.css 738 B
build/styles/block-library/social-links/editor.min.css 338 B
build/styles/block-library/social-links/style-rtl.css 1.57 kB
build/styles/block-library/social-links/style-rtl.min.css 1.51 kB
build/styles/block-library/social-links/style.css 1.57 kB
build/styles/block-library/social-links/style.min.css 1.51 kB
build/styles/block-library/spacer/editor-rtl.css 774 B
build/styles/block-library/spacer/editor-rtl.min.css 346 B
build/styles/block-library/spacer/editor.css 774 B
build/styles/block-library/spacer/editor.min.css 346 B
build/styles/block-library/spacer/style-rtl.css 55 B
build/styles/block-library/spacer/style-rtl.min.css 48 B
build/styles/block-library/spacer/style.css 55 B
build/styles/block-library/spacer/style.min.css 48 B
build/styles/block-library/style-rtl.css 21.5 kB
build/styles/block-library/style-rtl.min.css 18 kB
build/styles/block-library/style.css 21.6 kB
build/styles/block-library/style.min.css 18 kB
build/styles/block-library/tab-list/editor-rtl.css 107 B
build/styles/block-library/tab-list/editor-rtl.min.css 97 B
build/styles/block-library/tab-list/editor.css 107 B
build/styles/block-library/tab-list/editor.min.css 97 B
build/styles/block-library/tab-panel/style-rtl.css 238 B
build/styles/block-library/tab-panel/style-rtl.min.css 215 B
build/styles/block-library/tab-panel/style.css 238 B
build/styles/block-library/tab-panel/style.min.css 215 B
build/styles/block-library/tab-panels/style-rtl.css 76 B
build/styles/block-library/tab-panels/style-rtl.min.css 65 B
build/styles/block-library/tab-panels/style.css 76 B
build/styles/block-library/tab-panels/style.min.css 65 B
build/styles/block-library/tab/editor-rtl.css 160 B
build/styles/block-library/tab/editor-rtl.min.css 148 B
build/styles/block-library/tab/editor.css 160 B
build/styles/block-library/tab/editor.min.css 148 B
build/styles/block-library/tab/style-rtl.css 397 B
build/styles/block-library/tab/style-rtl.min.css 352 B
build/styles/block-library/tab/style.css 398 B
build/styles/block-library/tab/style.min.css 356 B
build/styles/block-library/table-of-contents/style-rtl.css 89 B
build/styles/block-library/table-of-contents/style-rtl.min.css 83 B
build/styles/block-library/table-of-contents/style.css 89 B
build/styles/block-library/table-of-contents/style.min.css 83 B
build/styles/block-library/table/editor-rtl.css 1.25 kB
build/styles/block-library/table/editor-rtl.min.css 394 B
build/styles/block-library/table/editor.css 1.25 kB
build/styles/block-library/table/editor.min.css 394 B
build/styles/block-library/table/style-rtl.css 1.06 kB
build/styles/block-library/table/style-rtl.min.css 641 B
build/styles/block-library/table/style.css 1.06 kB
build/styles/block-library/table/style.min.css 640 B
build/styles/block-library/table/theme-rtl.css 985 B
build/styles/block-library/table/theme-rtl.min.css 152 B
build/styles/block-library/table/theme.css 985 B
build/styles/block-library/table/theme.min.css 152 B
build/styles/block-library/tabs/style-rtl.css 64 B
build/styles/block-library/tabs/style-rtl.min.css 57 B
build/styles/block-library/tabs/style.css 64 B
build/styles/block-library/tabs/style.min.css 57 B
build/styles/block-library/tag-cloud/style-rtl.css 283 B
build/styles/block-library/tag-cloud/style-rtl.min.css 248 B
build/styles/block-library/tag-cloud/style.css 283 B
build/styles/block-library/tag-cloud/style.min.css 248 B
build/styles/block-library/template-part/editor-rtl.css 1.2 kB
build/styles/block-library/template-part/editor-rtl.min.css 368 B
build/styles/block-library/template-part/editor.css 1.2 kB
build/styles/block-library/template-part/editor.min.css 368 B
build/styles/block-library/template-part/theme-rtl.css 492 B
build/styles/block-library/template-part/theme-rtl.min.css 113 B
build/styles/block-library/template-part/theme.css 492 B
build/styles/block-library/template-part/theme.min.css 113 B
build/styles/block-library/term-count/style-rtl.css 70 B
build/styles/block-library/term-count/style-rtl.min.css 63 B
build/styles/block-library/term-count/style.css 70 B
build/styles/block-library/term-count/style.min.css 63 B
build/styles/block-library/term-description/style-rtl.css 138 B
build/styles/block-library/term-description/style-rtl.min.css 126 B
build/styles/block-library/term-description/style.css 138 B
build/styles/block-library/term-description/style.min.css 126 B
build/styles/block-library/term-name/style-rtl.css 69 B
build/styles/block-library/term-name/style-rtl.min.css 62 B
build/styles/block-library/term-name/style.css 69 B
build/styles/block-library/term-name/style.min.css 62 B
build/styles/block-library/term-template/editor-rtl.css 267 B
build/styles/block-library/term-template/editor-rtl.min.css 225 B
build/styles/block-library/term-template/editor.css 267 B
build/styles/block-library/term-template/editor.min.css 225 B
build/styles/block-library/term-template/style-rtl.css 124 B
build/styles/block-library/term-template/style-rtl.min.css 114 B
build/styles/block-library/term-template/style.css 124 B
build/styles/block-library/term-template/style.min.css 114 B
build/styles/block-library/text-columns/editor-rtl.css 481 B
build/styles/block-library/text-columns/editor-rtl.min.css 95 B
build/styles/block-library/text-columns/editor.css 481 B
build/styles/block-library/text-columns/editor.min.css 95 B
build/styles/block-library/text-columns/style-rtl.css 177 B
build/styles/block-library/text-columns/style-rtl.min.css 165 B
build/styles/block-library/text-columns/style.css 177 B
build/styles/block-library/text-columns/style.min.css 165 B
build/styles/block-library/theme-rtl.css 1.59 kB
build/styles/block-library/theme-rtl.min.css 715 B
build/styles/block-library/theme.css 1.6 kB
build/styles/block-library/theme.min.css 719 B
build/styles/block-library/verse/style-rtl.css 155 B
build/styles/block-library/verse/style-rtl.min.css 137 B
build/styles/block-library/verse/style.css 155 B
build/styles/block-library/verse/style.min.css 137 B
build/styles/block-library/video/editor-rtl.css 839 B
build/styles/block-library/video/editor-rtl.min.css 428 B
build/styles/block-library/video/editor.css 840 B
build/styles/block-library/video/editor.min.css 428 B
build/styles/block-library/video/style-rtl.css 1.02 kB
build/styles/block-library/video/style-rtl.min.css 202 B
build/styles/block-library/video/style.css 1.02 kB
build/styles/block-library/video/style.min.css 202 B
build/styles/block-library/video/theme-rtl.css 967 B
build/styles/block-library/video/theme-rtl.min.css 134 B
build/styles/block-library/video/theme.css 967 B
build/styles/block-library/video/theme.min.css 134 B
build/styles/commands/style-rtl.css 2.07 kB
build/styles/commands/style-rtl.min.css 1.17 kB
build/styles/commands/style.css 2.06 kB
build/styles/commands/style.min.css 1.17 kB
build/styles/components/style-rtl.css 17.5 kB
build/styles/components/style-rtl.min.css 14.3 kB
build/styles/components/style.css 17.5 kB
build/styles/components/style.min.css 14.3 kB
build/styles/customize-widgets/style-rtl.css 2.35 kB
build/styles/customize-widgets/style-rtl.min.css 1.44 kB
build/styles/customize-widgets/style.css 2.35 kB
build/styles/customize-widgets/style.min.css 1.44 kB
build/styles/edit-post/classic-rtl.css 1.29 kB
build/styles/edit-post/classic-rtl.min.css 425 B
build/styles/edit-post/classic.css 1.31 kB
build/styles/edit-post/classic.min.css 428 B
build/styles/edit-post/style-rtl.css 3.51 kB
build/styles/edit-post/style-rtl.min.css 2.21 kB
build/styles/edit-post/style.css 3.51 kB
build/styles/edit-post/style.min.css 2.21 kB
build/styles/edit-site/style-rtl.css 20.3 kB
build/styles/edit-site/style-rtl.min.css 16.5 kB
build/styles/edit-site/style.css 20.4 kB
build/styles/edit-site/style.min.css 16.5 kB
build/styles/edit-widgets/style-rtl.css 4.85 kB
build/styles/edit-widgets/style-rtl.min.css 3.52 kB
build/styles/edit-widgets/style.css 4.85 kB
build/styles/edit-widgets/style.min.css 3.52 kB
build/styles/editor/style-rtl.css 27.2 kB
build/styles/editor/style-rtl.min.css 22.9 kB
build/styles/editor/style.css 27.3 kB
build/styles/editor/style.min.css 22.9 kB
build/styles/format-library/style-rtl.css 735 B
build/styles/format-library/style-rtl.min.css 326 B
build/styles/format-library/style.css 746 B
build/styles/format-library/style.min.css 326 B
build/styles/list-reusable-blocks/style-rtl.css 1.07 kB
build/styles/list-reusable-blocks/style-rtl.min.css 250 B
build/styles/list-reusable-blocks/style.css 1.07 kB
build/styles/list-reusable-blocks/style.min.css 249 B
build/styles/media-utils/style-rtl.css 2.08 kB
build/styles/media-utils/style-rtl.min.css 1.17 kB
build/styles/media-utils/style.css 2.08 kB
build/styles/media-utils/style.min.css 1.17 kB
build/styles/nux/style-rtl.css 1.48 kB
build/styles/nux/style-rtl.min.css 622 B
build/styles/nux/style.css 1.5 kB
build/styles/nux/style.min.css 618 B
build/styles/patterns/style-rtl.css 1.46 kB
build/styles/patterns/style-rtl.min.css 611 B
build/styles/patterns/style.css 1.46 kB
build/styles/patterns/style.min.css 611 B
build/styles/preferences/style-rtl.css 1.26 kB
build/styles/preferences/style-rtl.min.css 415 B
build/styles/preferences/style.css 1.26 kB
build/styles/preferences/style.min.css 415 B
build/styles/reusable-blocks/style-rtl.css 1.11 kB
build/styles/reusable-blocks/style-rtl.min.css 275 B
build/styles/reusable-blocks/style.css 1.11 kB
build/styles/reusable-blocks/style.min.css 275 B
build/styles/widgets/style-rtl.css 2.05 kB
build/styles/widgets/style-rtl.min.css 1.16 kB
build/styles/widgets/style.css 2.06 kB
build/styles/widgets/style.min.css 1.16 kB

compressed-size-action

@ciampo ciampo changed the title ui/Drawer: Restore the slide-out close animation ui/Drawer: Polish open/close animation Apr 29, 2026
@ciampo ciampo changed the title ui/Drawer: Polish open/close animation ui/Drawer: Polish open/close animation; engage mouse-drag swipe in content gutter Apr 29, 2026
@github-actions

github-actions Bot commented Apr 29, 2026

Copy link
Copy Markdown

Flaky tests detected in 5d78f3e.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/25160940518
📝 Reported issues:

@ciampo ciampo changed the title ui/Drawer: Polish open/close animation; engage mouse-drag swipe in content gutter ui/Drawer: Polish open/close animation, fix swipe on content padding Apr 29, 2026
@ciampo ciampo self-assigned this Apr 29, 2026
@ciampo ciampo added the [Type] Bug An existing feature does not function as intended label Apr 29, 2026
@ciampo
ciampo force-pushed the fix/drawer-close-animation branch from 736c681 to 8737a2c Compare April 29, 2026 22:34
@ciampo
ciampo marked this pull request as ready for review April 29, 2026 22:42
@ciampo
ciampo requested a review from a team as a code owner April 29, 2026 22:42
@ciampo
ciampo requested a review from jameskoster April 29, 2026 22:42
@github-actions

github-actions Bot commented Apr 29, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@jameskoster jameskoster left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working as advertised :)

This comment was marked as resolved.

ciampo added 8 commits April 30, 2026 16:24
The popup `transform` transition was nested inside `&[data-open],
&[data-swiping]`, so it only applied while the drawer was open or being
swiped. Base UI removes `[data-open]` at the start of the close
sequence, so non-swipe dismissals (close button, Escape, backdrop
click) had nothing to interpolate and the popup snapped to its
`[data-ending-style]` offset instead of sliding out.

Move the transition (and its `[data-ending-style]` /  `[data-swiping]`
duration overrides) to the `.popup` top level — the same shape Base UI
documents and our `Dialog` already uses. The `will-change` hint stays
scoped to the in-motion states (now including `[data-ending-style]`),
so we still avoid retaining a transform layer while the drawer is
fully idle.
The removed block read like a commit message rather than a code
comment. The adjacent `will-change` block already names the in-motion
states (opening, swiping, closing); `Dialog` follows the same shape
without commentary; and the `[data-starting-style]` /
`[data-ending-style]` contract is documented Base UI API.
Paint the popup `box-shadow` only while the popup body is on screen.
At `[data-starting-style]` and `[data-ending-style]` the popup is
translated fully past the viewport edge, but its shadow blur still
bleeds back into the viewport — most noticeable in non-modal mode,
where there is no backdrop to mask it.

Set `box-shadow: none` at those two states and add `box-shadow` to the
existing transition. `none` interpolates against the resolved token
value as a list of zero-shadow layers per the CSS Backgrounds spec,
so we don't need to know how many layers `--wpds-elevation-lg`
expands to.
Note that `will-change` is intentionally limited to `transform` (the
only animated property the compositor can take off the main thread),
and that `box-shadow: none` for the offscreen states is intentionally
left outside the `prefers-reduced-motion` guard so the popup mounts /
unmounts without a stray shadow when transitions are disabled.

No behavior change.
Base UI's drawer carves out `[data-drawer-content]` from mouse-drag
swipe-dismiss so text selection inside the body keeps working. Before
this change, our `Drawer.Content` wrapper *was* the marker, so the
visual popup-edge gutter (`Drawer.Content`'s padding) inherited that
carve-out and could not be grabbed with the mouse on desktop —
leaving only the chrome (`Drawer.Header` / `Drawer.Footer`) draggable
in practice. Most of the visible drawer surface looked draggable but
silently no-oped under a mouse pointerdown.

Scope the marker tightly around the body children: `Drawer.Content`
now renders an outer styled `<div>` (the actual scroll container,
keeping its `data-wp-ui-overlay-scroll-container` attribute and the
forwarded `ref`/`onScroll`/className/...) and wraps Base UI's
`_Drawer.Content` as a plain inner `<div>`. The padding gutter falls
outside the marker, so a pointerdown there resolves to the popup
ancestor and engages swipe; pointerdowns on real body content still
match `[data-drawer-content]` via `closest()` and bail out, preserving
text selection.

The shared `overlay-chrome.module.css` non-pinned-chrome rules switch
from `>` to descendant matching to traverse the new wrapper. `Dialog`
and `AlertDialog` don't render the wrapper, so the change is a no-op
for direct nested chrome there; consumers who already wrap nested
chrome in custom intermediate elements inside `*.Content` will now
see the documented padding-collapse behavior apply (previously only
matched direct children).

The marker is rendered with the default `<div>` (display: block), not
`display: contents`. A boxless marker would silently neuter
`useOverlayScrollStateAttributes`'s `ResizeObserver` for dynamic body
growth (the hook observes the scroll container's direct children, and
RO does not fire entries for boxless elements). Keeping the marker as
a real auto-height block lets the resize signal propagate as the
hook's existing JSDoc invariant promises.

Also adds the missing PR-link suffix to the prior two `Drawer`
animation entries in the CHANGELOG.
The previous commit relaxed the shared `.content > .header` /
`.content > .footer` rules in `overlay-chrome.module.css` to descendant
matching so they would traverse `Drawer.Content`'s new outer wrapper.
That relaxation was too coarse: it also fired for `Dialog` and
`AlertDialog` consumers who wrap chrome in arbitrary intermediate
elements inside `*.Content`, collapsing both the chrome's inline
padding and (worse) its `:first-child` / `:last-child` block-padding —
breaking the visual rhythm of legitimate consumer-defined sections.

Tighten by pairing each direct-child rule with an explicit one-level-
deeper variant through `[data-drawer-content]`. Drawer's marker is a
transparent wrapper we control, so mirroring through it preserves the
intent (chrome at the scroll body's true visual edge collapses its
popup-edge padding); arbitrary consumer-supplied wrappers no longer
match for `Dialog` / `AlertDialog`, restoring pre-PR behavior there.

Updates the CHANGELOG entry to reflect the byte-identical layout for
`Dialog` / `AlertDialog`.
Asserts the load-bearing invariants of the wrapper introduced two
commits ago:

- The forwarded ref / scroll listener / overlay-chrome class land on
  the visible scroll container (no `[data-drawer-content]` on the
  outer element).
- Base UI's `[data-drawer-content]` marker is the only direct child
  of that scroll container — so the popup-edge padding gutter falls
  outside the marker and stays mouse-draggable for swipe-dismiss.
- The marker renders as a real block-level element rather than
  `display: contents`, which would silently neuter
  `useOverlayScrollStateAttributes`'s `ResizeObserver` for dynamic
  body growth.

Catches both a future Base UI release that changes the marker's
default tag and a regression that re-introduces `display: contents`
or removes the wrapper.
Drop references to Base UI's `_Drawer.Content` marker, the
`[data-drawer-content]` selector, and the wrapper-vs-marker layering
from the public JSDoc on `Drawer.Content` and `ContentProps.children`.
Replace them with user-facing descriptions of the swipe-to-dismiss
behavior (mouse drag preserved in the gutter and chrome but not over
the body; touch swipe engages from anywhere, gated by the scroll edge
on vertical drawers). The internal structure remains an implementation
detail.
ciampo added 2 commits April 30, 2026 16:25
`0.12.0` shipped on trunk while this PR was still open, so the entries
the previous rebase landed inside `## 0.12.0 (2026-04-29)` belong in
the new (now empty) `## Unreleased` section instead. Move all three
Drawer entries (close-animation Bug Fix, shadow-fade Enhancement,
mouse-drag swipe-dismiss Enhancement) up; restore `0.12.0` to its
released state on trunk byte-for-byte.
Trim the three Drawer entries to a single short sentence each; drop
implementation details and rationale, leaving only the user-facing
behavior change. Full context lives in the PR.
@ciampo
ciampo force-pushed the fix/drawer-close-animation branch from 42e9f47 to e951a83 Compare April 30, 2026 14:25
@ciampo
ciampo enabled auto-merge (squash) April 30, 2026 14:33
@ciampo
ciampo disabled auto-merge April 30, 2026 15:00
@ciampo

ciampo commented Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

Merging as E2E test failures can't be related to this PR (I don't think the code in this PR is used in Gutenberg yet)

@ciampo
ciampo merged commit 9a7484a into trunk Apr 30, 2026
39 of 40 checks passed
@ciampo
ciampo deleted the fix/drawer-close-animation branch April 30, 2026 15:24
@github-actions github-actions Bot added this to the Gutenberg 23.2 milestone Apr 30, 2026
@@ -41,8 +44,8 @@ const Content = forwardRef< HTMLDivElement, ContentProps >(
onScroll={ scrollStateOnScroll }
{ ...props }

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rest props can still include render, which is now forwarded onto this plain div instead of the Drawer.Content.

@ciampo ciampo Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, i'll open a small follow-up fix. Curious that TS didn't flag it?

In fact, what do you think the expected behaviour should be? Forwarding ...props to Drawer.Content ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mirka fix proposed in #77941

pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jun 30, 2026
This updates the pinned commit hash of the Gutenberg repository from `585cf86bb6f408b1dc61175f75db016aa4760653 ` (version `23.1.0`) to `d5ac60e6118060529737127d44a6fdc8abf57eb9` (version `23.2.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.1.0..v23.2.0.

The following commits are included:
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Revise README for FocalPointPicker component to use object-position (WordPress/gutenberg#77722)
- Experiment: Add first e2e tests for Taxonomies (WordPress/gutenberg#77828)
- Content Types: Add post type management (WordPress/gutenberg#77754)
- Grid: lock document cursor during resize gesture (WordPress/gutenberg#77813)
- Build: Add experimental `widgets/` folder support to @wordpress/build (WordPress/gutenberg#77347)
- TabPanel: Fix tab indicator animation (WordPress/gutenberg#77812)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Cover block: Inline z-index values (WordPress/gutenberg#77753)
- Button: Align link variant underline with Link and ExternalLink (WordPress/gutenberg#77842)
- ui/Drawer: Polish open/close animation, fix swipe on content padding (WordPress/gutenberg#77800)
- Site Editor: Remove local z-index helper entries (WordPress/gutenberg#77808)
- Inline sticky search z-index values (WordPress/gutenberg#77806)
- Block Manager: Inline z-index values (WordPress/gutenberg#77759)
- Update TypeScript to tsgo (try 2) (WordPress/gutenberg#77682)
- Editor: Inline pattern chooser z-index values (WordPress/gutenberg#77772)
- Media editor modal: disable scroll wheel zoom while a crop is active (WordPress/gutenberg#77826)
- Media editor modal: disable scroll wheel zoom while a pan/drag is active (WordPress/gutenberg#77863)
- Media Editor Modal: Try adding undo/redo for the image cropper (WordPress/gutenberg#77782)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- `defaultRenderingMode` value not respected when changed using `block_editor_settings_all` (WordPress/gutenberg#77870)
- Media editor modal: expand keyboard shortcuts and add interaction helpers (WordPress/gutenberg#77871)
- Media editor modal: name landmark regions and add panel headings (WordPress/gutenberg#77875)
- Media Editor Modal: Use shift modifier to adjust keyboard pan speed (WordPress/gutenberg#77878)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- ESLint: Replace `eslint-plugin-react-compiler` with `eslint-plugin-react-hooks` (WordPress/gutenberg#69962)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Grid: add `renderResizeHandle` render prop (WordPress/gutenberg#77811)
- Grid: render resize handle as component (WordPress/gutenberg#77888)
- Update uuid dependency (WordPress/gutenberg#77848)
- Added Translator Context for Reply (WordPress/gutenberg#77891)
- Media editor modal: add Shift+R for counter-clockwise rotation (WordPress/gutenberg#77898)
- Update references to default branch. (WordPress/gutenberg#77606)
- Notes: Keep tall floating threads scrollable on short content (WordPress/gutenberg#77821)
- Taxonomy edit route: declare @wordpress/base-styles as dependency (WordPress/gutenberg#77901)
- Post Types DataViews: Make titles clickable to open edit page (WordPress/gutenberg#77885)
- Upgrade and unify @types/node version (WordPress/gutenberg#77900)
- Widget Types: replace bootstrap with resolver (WordPress/gutenberg#77847)
- SlotFill: add dependencies to updateFill effect (WordPress/gutenberg#77907)
- Grid: prevent resize runaway near viewport edge (WordPress/gutenberg#77854)
- Experiment: Add taxonomy visibility fields (WordPress/gutenberg#77835)
- Content Types: Add Duplicate action to taxonomy management (WordPress/gutenberg#77853)
- Site Editor: Inline layout z-index values (WordPress/gutenberg#77807)
- RTC: Clarify WPBlockSelection type and link to duplicates in other packages. (WordPress/gutenberg#77862)
- Editor: Improve revisions diff pairing performance (WordPress/gutenberg#77126)
- Media Editor Modal: In the image cropper, pan when dragging the crop instead of constraining to the visible area (WordPress/gutenberg#77899)
- Block Editor: Clarify logic for 'directInsert' inner blocks setting (WordPress/gutenberg#77873)
- Block Editor: Fix target block for copying direct insert block attributes (WordPress/gutenberg#77877)
- Link: Fix awkward focus outline around the new-tab icon (WordPress/gutenberg#77910)
- Plugin loader: use require for build/constants.php (WordPress/gutenberg#77908)
- Tests: Fix argument forwarding for test:unit workspace scripts (WordPress/gutenberg#77541)
- Try responsive global block styles with states (WordPress/gutenberg#77513)
- Image editor: suppress image editor undo/redo while a crop interaction is active (WordPress/gutenberg#77930)
- Experimental: Content types - disable create/save button based on form validity (WordPress/gutenberg#77931)
- Guidelines: Refactor accordion to use CollapsibleCard (WordPress/gutenberg#77903)
- Guidelines REST: Require read access for standard route (WordPress/gutenberg#77843)
- Embed: Add '[embed]' shortcode transform (WordPress/gutenberg#77937)
- Edit Post: Fix suppressed errors in Layout component (WordPress/gutenberg#77940)
- Experiment: User post types REST controller (WordPress/gutenberg#77915)
- Content Types: Add Duplicate action to post type management (WordPress/gutenberg#77844)
- Experiment: Content types fix new instance returned in `useSelect` (WordPress/gutenberg#77916)
- Select: Hide user agent focus ring in popup (WordPress/gutenberg#77919)
- Interactivity API: Fix popover bind hydration (WordPress/gutenberg#77797)
- UI: Use string label type for form controls (WordPress/gutenberg#77860)
- Widget Types: bootstrap registry into the dashboard client (WordPress/gutenberg#77917)
- ui/Drawer: Forward `render` prop on `Drawer.Content` to the scroll container (WordPress/gutenberg#77941)
- ColorPicker : Fix inconsistent HEX input clearing behavior (WordPress/gutenberg#77912)
- ExternalLink: Fix focus outline under wp-admin (WordPress/gutenberg#77935)
- Experiment: Auto fill `slug` from singular label for taxonomies and post types (WordPress/gutenberg#77938)
- Site editor: preserve non-global styles in pattern previews (WordPress/gutenberg#77957)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- Migrate native tests to workspace (WordPress/gutenberg#77425)
- Remove root uuid dependency (WordPress/gutenberg#77960)
- Build: Update lint-staged to 16.4.0 (WordPress/gutenberg#77963)
- docgen: Automatic documentation handle for TypeScript overloads (WordPress/gutenberg#77558)
- Dashboard: Add experimental `WidgetDashboard` rendering engine (WordPress/gutenberg#77770)
- Fix flaky Menu test (WordPress/gutenberg#77972)
- Widget Types: server-side registry, decouple wp-build pages (WordPress/gutenberg#77958)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Media editor: replace fine-rotation slider with RotationRuler (WordPress/gutenberg#77906)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- Fix: Buttons block shows inserter picker when multiple allowed blocks are registered (WordPress/gutenberg#77858)
- Update nvm installation script to version 0.40.4 (WordPress/gutenberg#77996)
- Use theme gray for muted Text (WordPress/gutenberg#77999)
- Add lint rule for non-module stylesheet imports (WordPress/gutenberg#77984)
- Dashboard experiment: new icon (WordPress/gutenberg#78016)
- Testing: Add `createRecord` e2e request util (WordPress/gutenberg#78017)
- Widget Types: REST endpoint and core-data entity (WordPress/gutenberg#77987)
- Block Editor: Remove unused reducer action types (WordPress/gutenberg#77880)
- Experiment: Sync user taxonomies with post types (WordPress/gutenberg#77997)
- Dashboard experiment: remove storybook examples for now (WordPress/gutenberg#78020)
- Dashboard: add `WidgetDashboard.Actions` compound (WordPress/gutenberg#78019)
- Experiment: add first basic user post types e2e tests and update taxonomy tests (WordPress/gutenberg#77998)
- Fill in E2E tests for client-side media processing (WordPress/gutenberg#75949)
- Modal: Render as a bottom sheet on mobile (WordPress/gutenberg#77956)
- Grid: add warning about being under development (WordPress/gutenberg#78022)
- RTC: Fix race condition on room creation which can cause a split update log (WordPress/gutenberg#77675)
- Connectors: Clarify AI plugin callout copy (WordPress/gutenberg#78043)
- Image editor: update sidebar aspect ratio and resize controls (WordPress/gutenberg#78046)
- Fix: Only auto register settings if the plugin the connector references is installed and active. (WordPress/gutenberg#77273)
- Connectors: Add is_active callback support to plugin registration (WordPress/gutenberg#77897)
- Site Editor e2e tests: reimplement the wait for load (WordPress/gutenberg#77981)
- Make Block Inserter search input sticky while scrolling (WordPress/gutenberg#77698)
- Embed: Tighten raw URL transform isMatch (WordPress/gutenberg#78021)
- Notes: Separate intent from mechanics in openTheSidebar (WordPress/gutenberg#78039)
- Image editor: improve media editor crop accessibility and dialog focus (WordPress/gutenberg#78047)
- Fix flaky e2e test for Pages dataview keyboard navigation (WordPress/gutenberg#78054)
- RTC: Fix find_canonical_storage_post_id() always returning null (WordPress/gutenberg#78053)
- Dashboard: persist layout via @wordpress/preferences (WordPress/gutenberg#78034)
- Dashboard: backend default layout filter (WordPress/gutenberg#78040)
- i18n: add context to scale (WordPress/gutenberg#76917)
- Dashboard: lift Suspense + error boundary into widget chrome and add a default header (WordPress/gutenberg#78012)
- Dashboard: add widget inserter modal (WordPress/gutenberg#78033)
- Fix flaky homepage-settings e2e test (WordPress/gutenberg#78063)
- Experiment: Content types single route and package (WordPress/gutenberg#78059)
- Configure global fallbackFn for timezone-mock to handle Date subclasses (WordPress/gutenberg#78056)
- Content types: flush rewrite rules on rewrite-impacting changes (WordPress/gutenberg#78058)
- Editor: Paginate revisions slider by 100 per page (WordPress/gutenberg#77200)
- Add RTC cursor-scope regression tests (WordPress/gutenberg#77662)
- Dashboard: REST endpoint for the default layout (WordPress/gutenberg#78066)
- Paste: preserve leading number when pasting single-line text like dates (WordPress/gutenberg#77949)
- Revision: Fix failing e2e test (WordPress/gutenberg#78079)
- Global Styles: Refactor client side style states to use nodes (WordPress/gutenberg#78000)
- Media Editor Modal: Add focus border styles to the stencil rect when the canvas is keyboard focused (WordPress/gutenberg#78078)
- Post Content focus mode: Fix flaky e2e test (WordPress/gutenberg#78084)
- Update date-fns to v4.1.0 in components and editor packages (WordPress/gutenberg#78057)
- Revisions: Add diagonal stripe patterns to diff markers to avoid color-only distinction (WordPress/gutenberg#77904)
- Admin UI: Fix nested landmark in Page header (WordPress/gutenberg#78001)
- Fix: Shortcode block does not render in Navigation Overlay (WordPress/gutenberg#77511)
- Fix flaky 'publish panel' e2e test (WordPress/gutenberg#78082)
- Experiment: Content types reuse some commone utils (WordPress/gutenberg#78091)
- Style Runtime: Support CSS module style injection across documents (WordPress/gutenberg#77965)
- Experiment: Add Classic block migration notice (WordPress/gutenberg#78090)
- Content Types: Abstract and reuse label autofilling for post types (WordPress/gutenberg#78099)
- i18n: add context to table header/footer label (WordPress/gutenberg#78007)
- Experiment: Content types reuse `createStatusAction` (WordPress/gutenberg#78102)
- Select: Support placeholder prop on Trigger (WordPress/gutenberg#78076)
- feat: Enhance Connectors page on read-only file system (WordPress/gutenberg#77521)
- Add missing Portal Storybook subcomponents (WordPress/gutenberg#78108)
- RTC: Fix title divergence between users on page refresh after title update (WordPress/gutenberg#77666)
- Docs: shortcode transforms with wrapped content + rawHandler JSDoc (WordPress/gutenberg#78003)
- Connectors: Refine PHPStan type shapes (WordPress/gutenberg#78103)
- Fix lockfile drift and missing dep from content-types consolidation (WordPress/gutenberg#78109)
- Classic Block: Use onReplace prop for migration actions (WordPress/gutenberg#78113)
- Media Editor Experiment: Add a route, based on the media editor modal, refactor the modal components (WordPress/gutenberg#77994)
- i18n: add context to (site) identity (WordPress/gutenberg#78132)
- Script Modules: Guard setAccessible() calls behind PHP < 8.1 check (WordPress/gutenberg#78137)
- Connectors: Avoid using centered text (WordPress/gutenberg#78125)
- Content Types: Introduce view items actions (WordPress/gutenberg#78104)
- Fix: Guard require_once calls in generated PHP files against deployment race conditions (WordPress/gutenberg#78110)
- bin/dev.mjs: warn (not exit) on stale webpack watching this checkout (WordPress/gutenberg#78098)
- E2E: Reset preferences after navigable-toolbar tests (WordPress/gutenberg#78115)
- Editor: Refactor 'PostPublishPanel' into function component (WordPress/gutenberg#78083)
- Document how to ignore VSCode Workplace Settings. (WordPress/gutenberg#77608)
- Select: Fix disabled cursor styles (WordPress/gutenberg#78112)
- Revisions: Add tooltip to diff marker buttons  (WordPress/gutenberg#77690)
- Experiment: Make content types `_builtin` (WordPress/gutenberg#78150)
- Experiment: Content types - use `form` for quick edit dialogs (WordPress/gutenberg#78149)
- Experiment: Content types use `toggle` for `active` prop edit (WordPress/gutenberg#78146)
- Experiment: Update view content types actions (WordPress/gutenberg#78159)
- Block Editor: Add translation context for “Exit pattern” (WordPress/gutenberg#78158)
- ColorPalette: Fix duplicate-key warnings and incorrect selection with identical color values (WordPress/gutenberg#78004)
- Menu: Fix flaky keyboard focus test (WordPress/gutenberg#78162)
- e2e tests: use editPost and createNewPost helpers everywhere (WordPress/gutenberg#78170)
- Support object values in Select primitive (WordPress/gutenberg#77861)
- Text: Fix render prop CSS defenses (WordPress/gutenberg#78172)
- Design System: Add missing packages to Storybook introduction (WordPress/gutenberg#77504)
- Add SelectControl component to @wordpress/ui (WordPress/gutenberg#77809)
- Dashboard experiment: animate customize UX (WordPress/gutenberg#78065)
- Add RTC y-websocket-server tests (WordPress/gutenberg#78179)
- Grid: add DashboardLanes masonry surface (WordPress/gutenberg#78107)
- Dashboard: staging layer for in-progress layout edits (WordPress/gutenberg#78071)
- Media: Guard gutenberg_delete_heic_companion_file() against non-string $metadata['original'] (WordPress/gutenberg#78128)
- Image block: Try syncing updated metadata fields (alt and caption) from the media editor (WordPress/gutenberg#78139)
- Correct capitalization in help text for Breadcrumbs block (WordPress/gutenberg#78175)
- Add min release age to npm config (WordPress/gutenberg#78191)
- isFulfilled: don't change resolution state, call in resolveSelect (WordPress/gutenberg#78151)
- Add aria-label to Revisions button in Post Summary sidebar (WordPress/gutenberg#78140)
- Experiment: Content types invaidate cache for synced taxonomies-post types (WordPress/gutenberg#78143)
- Shortcode: Offer block-specific transforms when text matches a registered shortcode (WordPress/gutenberg#77944)
- E2E: Remove slash from bad embed request mock (WordPress/gutenberg#78200)
- UI: Add component status notes to Storybook (WordPress/gutenberg#77988)
- ui/Tooltip, ui/IconButton: Add positioner slot API (WordPress/gutenberg#78089)
- Add motion design tokens (duration and easing) to @wordpress/theme (WordPress/gutenberg#76097)
- Grid: add edit-mode overlay to DashboardGrid and DashboardLanes (WordPress/gutenberg#78199)
- Grid: fix keyboard activation on draggable items (WordPress/gutenberg#78163)
- ui/CollapsibleCard: support rendering Header as a heading element (WordPress/gutenberg#77962)
- Revisions diff markers: enforce 24×24px minimum target size (WCAG 2.5.8) (WordPress/gutenberg#77671)
- Popover: Remove close button z-index (WordPress/gutenberg#78180)
- Button: Align compound component metadata (WordPress/gutenberg#78184)
- Dashboard: use design animation tokens (WordPress/gutenberg#78204)
- Tools: Remove save-exact from .npmrc (WordPress/gutenberg#78196)
- UI: Improve docs for compound exports (WordPress/gutenberg#78212)
- Bump addressable in /packages/react-native-editor/ios (WordPress/gutenberg#77128)
- Bump follow-redirects from 1.15.6 to 1.16.0 (WordPress/gutenberg#77278)
- Bump vite from 7.3.0 to 7.3.2 (WordPress/gutenberg#77076)
- Bump flatted from 3.3.1 to 3.4.2 (WordPress/gutenberg#76708)
- Bump @xmldom/xmldom from 0.8.10 to 0.8.13 (WordPress/gutenberg#77577)
- Media Editor Modal: Fix empty author and attached to fields (WordPress/gutenberg#78189)
- Bump fast-xml-parser from 4.5.0 to 4.5.4 (WordPress/gutenberg#76081)
- Bump node-forge from 1.3.1 to 1.3.2 (WordPress/gutenberg#73601)
- Experiment: Integrate `useView` in content types lists (WordPress/gutenberg#78197)
- Experiment: Add term/post type count fields in content types (WordPress/gutenberg#78157)
- Connectors: Increase right padding of callout for mobile layout (WordPress/gutenberg#78126)
- UI: Fix subcomponent story labels (WordPress/gutenberg#78210)
- Fonts: Move admin menu compat from experimental to wordpress-7.0 (WordPress/gutenberg#78227)
- Experiment: Render badges for some content types' fields (WordPress/gutenberg#78194)
- Testing: Consolidate CI workflows for changelog testing (WordPress/gutenberg#78169)
- Edit Post: Inline meta boxes z-index values (WordPress/gutenberg#78181)
- Backport package publish commits to release/23.2 (WordPress/gutenberg#78347)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65559.

git-svn-id: https://develop.svn.wordpress.org/trunk@62582 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jun 30, 2026
This updates the pinned commit hash of the Gutenberg repository from `585cf86bb6f408b1dc61175f75db016aa4760653 ` (version `23.1.0`) to `d5ac60e6118060529737127d44a6fdc8abf57eb9` (version `23.2.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.1.0..v23.2.0.

The following commits are included:
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Revise README for FocalPointPicker component to use object-position (WordPress/gutenberg#77722)
- Experiment: Add first e2e tests for Taxonomies (WordPress/gutenberg#77828)
- Content Types: Add post type management (WordPress/gutenberg#77754)
- Grid: lock document cursor during resize gesture (WordPress/gutenberg#77813)
- Build: Add experimental `widgets/` folder support to @wordpress/build (WordPress/gutenberg#77347)
- TabPanel: Fix tab indicator animation (WordPress/gutenberg#77812)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Cover block: Inline z-index values (WordPress/gutenberg#77753)
- Button: Align link variant underline with Link and ExternalLink (WordPress/gutenberg#77842)
- ui/Drawer: Polish open/close animation, fix swipe on content padding (WordPress/gutenberg#77800)
- Site Editor: Remove local z-index helper entries (WordPress/gutenberg#77808)
- Inline sticky search z-index values (WordPress/gutenberg#77806)
- Block Manager: Inline z-index values (WordPress/gutenberg#77759)
- Update TypeScript to tsgo (try 2) (WordPress/gutenberg#77682)
- Editor: Inline pattern chooser z-index values (WordPress/gutenberg#77772)
- Media editor modal: disable scroll wheel zoom while a crop is active (WordPress/gutenberg#77826)
- Media editor modal: disable scroll wheel zoom while a pan/drag is active (WordPress/gutenberg#77863)
- Media Editor Modal: Try adding undo/redo for the image cropper (WordPress/gutenberg#77782)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- `defaultRenderingMode` value not respected when changed using `block_editor_settings_all` (WordPress/gutenberg#77870)
- Media editor modal: expand keyboard shortcuts and add interaction helpers (WordPress/gutenberg#77871)
- Media editor modal: name landmark regions and add panel headings (WordPress/gutenberg#77875)
- Media Editor Modal: Use shift modifier to adjust keyboard pan speed (WordPress/gutenberg#77878)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- ESLint: Replace `eslint-plugin-react-compiler` with `eslint-plugin-react-hooks` (WordPress/gutenberg#69962)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Grid: add `renderResizeHandle` render prop (WordPress/gutenberg#77811)
- Grid: render resize handle as component (WordPress/gutenberg#77888)
- Update uuid dependency (WordPress/gutenberg#77848)
- Added Translator Context for Reply (WordPress/gutenberg#77891)
- Media editor modal: add Shift+R for counter-clockwise rotation (WordPress/gutenberg#77898)
- Update references to default branch. (WordPress/gutenberg#77606)
- Notes: Keep tall floating threads scrollable on short content (WordPress/gutenberg#77821)
- Taxonomy edit route: declare @wordpress/base-styles as dependency (WordPress/gutenberg#77901)
- Post Types DataViews: Make titles clickable to open edit page (WordPress/gutenberg#77885)
- Upgrade and unify @types/node version (WordPress/gutenberg#77900)
- Widget Types: replace bootstrap with resolver (WordPress/gutenberg#77847)
- SlotFill: add dependencies to updateFill effect (WordPress/gutenberg#77907)
- Grid: prevent resize runaway near viewport edge (WordPress/gutenberg#77854)
- Experiment: Add taxonomy visibility fields (WordPress/gutenberg#77835)
- Content Types: Add Duplicate action to taxonomy management (WordPress/gutenberg#77853)
- Site Editor: Inline layout z-index values (WordPress/gutenberg#77807)
- RTC: Clarify WPBlockSelection type and link to duplicates in other packages. (WordPress/gutenberg#77862)
- Editor: Improve revisions diff pairing performance (WordPress/gutenberg#77126)
- Media Editor Modal: In the image cropper, pan when dragging the crop instead of constraining to the visible area (WordPress/gutenberg#77899)
- Block Editor: Clarify logic for 'directInsert' inner blocks setting (WordPress/gutenberg#77873)
- Block Editor: Fix target block for copying direct insert block attributes (WordPress/gutenberg#77877)
- Link: Fix awkward focus outline around the new-tab icon (WordPress/gutenberg#77910)
- Plugin loader: use require for build/constants.php (WordPress/gutenberg#77908)
- Tests: Fix argument forwarding for test:unit workspace scripts (WordPress/gutenberg#77541)
- Try responsive global block styles with states (WordPress/gutenberg#77513)
- Image editor: suppress image editor undo/redo while a crop interaction is active (WordPress/gutenberg#77930)
- Experimental: Content types - disable create/save button based on form validity (WordPress/gutenberg#77931)
- Guidelines: Refactor accordion to use CollapsibleCard (WordPress/gutenberg#77903)
- Guidelines REST: Require read access for standard route (WordPress/gutenberg#77843)
- Embed: Add '[embed]' shortcode transform (WordPress/gutenberg#77937)
- Edit Post: Fix suppressed errors in Layout component (WordPress/gutenberg#77940)
- Experiment: User post types REST controller (WordPress/gutenberg#77915)
- Content Types: Add Duplicate action to post type management (WordPress/gutenberg#77844)
- Experiment: Content types fix new instance returned in `useSelect` (WordPress/gutenberg#77916)
- Select: Hide user agent focus ring in popup (WordPress/gutenberg#77919)
- Interactivity API: Fix popover bind hydration (WordPress/gutenberg#77797)
- UI: Use string label type for form controls (WordPress/gutenberg#77860)
- Widget Types: bootstrap registry into the dashboard client (WordPress/gutenberg#77917)
- ui/Drawer: Forward `render` prop on `Drawer.Content` to the scroll container (WordPress/gutenberg#77941)
- ColorPicker : Fix inconsistent HEX input clearing behavior (WordPress/gutenberg#77912)
- ExternalLink: Fix focus outline under wp-admin (WordPress/gutenberg#77935)
- Experiment: Auto fill `slug` from singular label for taxonomies and post types (WordPress/gutenberg#77938)
- Site editor: preserve non-global styles in pattern previews (WordPress/gutenberg#77957)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- Migrate native tests to workspace (WordPress/gutenberg#77425)
- Remove root uuid dependency (WordPress/gutenberg#77960)
- Build: Update lint-staged to 16.4.0 (WordPress/gutenberg#77963)
- docgen: Automatic documentation handle for TypeScript overloads (WordPress/gutenberg#77558)
- Dashboard: Add experimental `WidgetDashboard` rendering engine (WordPress/gutenberg#77770)
- Fix flaky Menu test (WordPress/gutenberg#77972)
- Widget Types: server-side registry, decouple wp-build pages (WordPress/gutenberg#77958)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Media editor: replace fine-rotation slider with RotationRuler (WordPress/gutenberg#77906)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- Fix: Buttons block shows inserter picker when multiple allowed blocks are registered (WordPress/gutenberg#77858)
- Update nvm installation script to version 0.40.4 (WordPress/gutenberg#77996)
- Use theme gray for muted Text (WordPress/gutenberg#77999)
- Add lint rule for non-module stylesheet imports (WordPress/gutenberg#77984)
- Dashboard experiment: new icon (WordPress/gutenberg#78016)
- Testing: Add `createRecord` e2e request util (WordPress/gutenberg#78017)
- Widget Types: REST endpoint and core-data entity (WordPress/gutenberg#77987)
- Block Editor: Remove unused reducer action types (WordPress/gutenberg#77880)
- Experiment: Sync user taxonomies with post types (WordPress/gutenberg#77997)
- Dashboard experiment: remove storybook examples for now (WordPress/gutenberg#78020)
- Dashboard: add `WidgetDashboard.Actions` compound (WordPress/gutenberg#78019)
- Experiment: add first basic user post types e2e tests and update taxonomy tests (WordPress/gutenberg#77998)
- Fill in E2E tests for client-side media processing (WordPress/gutenberg#75949)
- Modal: Render as a bottom sheet on mobile (WordPress/gutenberg#77956)
- Grid: add warning about being under development (WordPress/gutenberg#78022)
- RTC: Fix race condition on room creation which can cause a split update log (WordPress/gutenberg#77675)
- Connectors: Clarify AI plugin callout copy (WordPress/gutenberg#78043)
- Image editor: update sidebar aspect ratio and resize controls (WordPress/gutenberg#78046)
- Fix: Only auto register settings if the plugin the connector references is installed and active. (WordPress/gutenberg#77273)
- Connectors: Add is_active callback support to plugin registration (WordPress/gutenberg#77897)
- Site Editor e2e tests: reimplement the wait for load (WordPress/gutenberg#77981)
- Make Block Inserter search input sticky while scrolling (WordPress/gutenberg#77698)
- Embed: Tighten raw URL transform isMatch (WordPress/gutenberg#78021)
- Notes: Separate intent from mechanics in openTheSidebar (WordPress/gutenberg#78039)
- Image editor: improve media editor crop accessibility and dialog focus (WordPress/gutenberg#78047)
- Fix flaky e2e test for Pages dataview keyboard navigation (WordPress/gutenberg#78054)
- RTC: Fix find_canonical_storage_post_id() always returning null (WordPress/gutenberg#78053)
- Dashboard: persist layout via @wordpress/preferences (WordPress/gutenberg#78034)
- Dashboard: backend default layout filter (WordPress/gutenberg#78040)
- i18n: add context to scale (WordPress/gutenberg#76917)
- Dashboard: lift Suspense + error boundary into widget chrome and add a default header (WordPress/gutenberg#78012)
- Dashboard: add widget inserter modal (WordPress/gutenberg#78033)
- Fix flaky homepage-settings e2e test (WordPress/gutenberg#78063)
- Experiment: Content types single route and package (WordPress/gutenberg#78059)
- Configure global fallbackFn for timezone-mock to handle Date subclasses (WordPress/gutenberg#78056)
- Content types: flush rewrite rules on rewrite-impacting changes (WordPress/gutenberg#78058)
- Editor: Paginate revisions slider by 100 per page (WordPress/gutenberg#77200)
- Add RTC cursor-scope regression tests (WordPress/gutenberg#77662)
- Dashboard: REST endpoint for the default layout (WordPress/gutenberg#78066)
- Paste: preserve leading number when pasting single-line text like dates (WordPress/gutenberg#77949)
- Revision: Fix failing e2e test (WordPress/gutenberg#78079)
- Global Styles: Refactor client side style states to use nodes (WordPress/gutenberg#78000)
- Media Editor Modal: Add focus border styles to the stencil rect when the canvas is keyboard focused (WordPress/gutenberg#78078)
- Post Content focus mode: Fix flaky e2e test (WordPress/gutenberg#78084)
- Update date-fns to v4.1.0 in components and editor packages (WordPress/gutenberg#78057)
- Revisions: Add diagonal stripe patterns to diff markers to avoid color-only distinction (WordPress/gutenberg#77904)
- Admin UI: Fix nested landmark in Page header (WordPress/gutenberg#78001)
- Fix: Shortcode block does not render in Navigation Overlay (WordPress/gutenberg#77511)
- Fix flaky 'publish panel' e2e test (WordPress/gutenberg#78082)
- Experiment: Content types reuse some commone utils (WordPress/gutenberg#78091)
- Style Runtime: Support CSS module style injection across documents (WordPress/gutenberg#77965)
- Experiment: Add Classic block migration notice (WordPress/gutenberg#78090)
- Content Types: Abstract and reuse label autofilling for post types (WordPress/gutenberg#78099)
- i18n: add context to table header/footer label (WordPress/gutenberg#78007)
- Experiment: Content types reuse `createStatusAction` (WordPress/gutenberg#78102)
- Select: Support placeholder prop on Trigger (WordPress/gutenberg#78076)
- feat: Enhance Connectors page on read-only file system (WordPress/gutenberg#77521)
- Add missing Portal Storybook subcomponents (WordPress/gutenberg#78108)
- RTC: Fix title divergence between users on page refresh after title update (WordPress/gutenberg#77666)
- Docs: shortcode transforms with wrapped content + rawHandler JSDoc (WordPress/gutenberg#78003)
- Connectors: Refine PHPStan type shapes (WordPress/gutenberg#78103)
- Fix lockfile drift and missing dep from content-types consolidation (WordPress/gutenberg#78109)
- Classic Block: Use onReplace prop for migration actions (WordPress/gutenberg#78113)
- Media Editor Experiment: Add a route, based on the media editor modal, refactor the modal components (WordPress/gutenberg#77994)
- i18n: add context to (site) identity (WordPress/gutenberg#78132)
- Script Modules: Guard setAccessible() calls behind PHP < 8.1 check (WordPress/gutenberg#78137)
- Connectors: Avoid using centered text (WordPress/gutenberg#78125)
- Content Types: Introduce view items actions (WordPress/gutenberg#78104)
- Fix: Guard require_once calls in generated PHP files against deployment race conditions (WordPress/gutenberg#78110)
- bin/dev.mjs: warn (not exit) on stale webpack watching this checkout (WordPress/gutenberg#78098)
- E2E: Reset preferences after navigable-toolbar tests (WordPress/gutenberg#78115)
- Editor: Refactor 'PostPublishPanel' into function component (WordPress/gutenberg#78083)
- Document how to ignore VSCode Workplace Settings. (WordPress/gutenberg#77608)
- Select: Fix disabled cursor styles (WordPress/gutenberg#78112)
- Revisions: Add tooltip to diff marker buttons  (WordPress/gutenberg#77690)
- Experiment: Make content types `_builtin` (WordPress/gutenberg#78150)
- Experiment: Content types - use `form` for quick edit dialogs (WordPress/gutenberg#78149)
- Experiment: Content types use `toggle` for `active` prop edit (WordPress/gutenberg#78146)
- Experiment: Update view content types actions (WordPress/gutenberg#78159)
- Block Editor: Add translation context for “Exit pattern” (WordPress/gutenberg#78158)
- ColorPalette: Fix duplicate-key warnings and incorrect selection with identical color values (WordPress/gutenberg#78004)
- Menu: Fix flaky keyboard focus test (WordPress/gutenberg#78162)
- e2e tests: use editPost and createNewPost helpers everywhere (WordPress/gutenberg#78170)
- Support object values in Select primitive (WordPress/gutenberg#77861)
- Text: Fix render prop CSS defenses (WordPress/gutenberg#78172)
- Design System: Add missing packages to Storybook introduction (WordPress/gutenberg#77504)
- Add SelectControl component to @wordpress/ui (WordPress/gutenberg#77809)
- Dashboard experiment: animate customize UX (WordPress/gutenberg#78065)
- Add RTC y-websocket-server tests (WordPress/gutenberg#78179)
- Grid: add DashboardLanes masonry surface (WordPress/gutenberg#78107)
- Dashboard: staging layer for in-progress layout edits (WordPress/gutenberg#78071)
- Media: Guard gutenberg_delete_heic_companion_file() against non-string $metadata['original'] (WordPress/gutenberg#78128)
- Image block: Try syncing updated metadata fields (alt and caption) from the media editor (WordPress/gutenberg#78139)
- Correct capitalization in help text for Breadcrumbs block (WordPress/gutenberg#78175)
- Add min release age to npm config (WordPress/gutenberg#78191)
- isFulfilled: don't change resolution state, call in resolveSelect (WordPress/gutenberg#78151)
- Add aria-label to Revisions button in Post Summary sidebar (WordPress/gutenberg#78140)
- Experiment: Content types invaidate cache for synced taxonomies-post types (WordPress/gutenberg#78143)
- Shortcode: Offer block-specific transforms when text matches a registered shortcode (WordPress/gutenberg#77944)
- E2E: Remove slash from bad embed request mock (WordPress/gutenberg#78200)
- UI: Add component status notes to Storybook (WordPress/gutenberg#77988)
- ui/Tooltip, ui/IconButton: Add positioner slot API (WordPress/gutenberg#78089)
- Add motion design tokens (duration and easing) to @wordpress/theme (WordPress/gutenberg#76097)
- Grid: add edit-mode overlay to DashboardGrid and DashboardLanes (WordPress/gutenberg#78199)
- Grid: fix keyboard activation on draggable items (WordPress/gutenberg#78163)
- ui/CollapsibleCard: support rendering Header as a heading element (WordPress/gutenberg#77962)
- Revisions diff markers: enforce 24×24px minimum target size (WCAG 2.5.8) (WordPress/gutenberg#77671)
- Popover: Remove close button z-index (WordPress/gutenberg#78180)
- Button: Align compound component metadata (WordPress/gutenberg#78184)
- Dashboard: use design animation tokens (WordPress/gutenberg#78204)
- Tools: Remove save-exact from .npmrc (WordPress/gutenberg#78196)
- UI: Improve docs for compound exports (WordPress/gutenberg#78212)
- Bump addressable in /packages/react-native-editor/ios (WordPress/gutenberg#77128)
- Bump follow-redirects from 1.15.6 to 1.16.0 (WordPress/gutenberg#77278)
- Bump vite from 7.3.0 to 7.3.2 (WordPress/gutenberg#77076)
- Bump flatted from 3.3.1 to 3.4.2 (WordPress/gutenberg#76708)
- Bump @xmldom/xmldom from 0.8.10 to 0.8.13 (WordPress/gutenberg#77577)
- Media Editor Modal: Fix empty author and attached to fields (WordPress/gutenberg#78189)
- Bump fast-xml-parser from 4.5.0 to 4.5.4 (WordPress/gutenberg#76081)
- Bump node-forge from 1.3.1 to 1.3.2 (WordPress/gutenberg#73601)
- Experiment: Integrate `useView` in content types lists (WordPress/gutenberg#78197)
- Experiment: Add term/post type count fields in content types (WordPress/gutenberg#78157)
- Connectors: Increase right padding of callout for mobile layout (WordPress/gutenberg#78126)
- UI: Fix subcomponent story labels (WordPress/gutenberg#78210)
- Fonts: Move admin menu compat from experimental to wordpress-7.0 (WordPress/gutenberg#78227)
- Experiment: Render badges for some content types' fields (WordPress/gutenberg#78194)
- Testing: Consolidate CI workflows for changelog testing (WordPress/gutenberg#78169)
- Edit Post: Inline meta boxes z-index values (WordPress/gutenberg#78181)
- Backport package publish commits to release/23.2 (WordPress/gutenberg#78347)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65559.
Built from https://develop.svn.wordpress.org/trunk@62582


git-svn-id: http://core.svn.wordpress.org/trunk@61862 1a063a9b-81f0-0310-95a4-ce76da25c4cd
KhushalSainS pushed a commit to KhushalSainS/wordpress-develop that referenced this pull request Jul 1, 2026
This updates the pinned commit hash of the Gutenberg repository from `585cf86bb6f408b1dc61175f75db016aa4760653 ` (version `23.1.0`) to `d5ac60e6118060529737127d44a6fdc8abf57eb9` (version `23.2.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.1.0..v23.2.0.

The following commits are included:
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Revise README for FocalPointPicker component to use object-position (WordPress/gutenberg#77722)
- Experiment: Add first e2e tests for Taxonomies (WordPress/gutenberg#77828)
- Content Types: Add post type management (WordPress/gutenberg#77754)
- Grid: lock document cursor during resize gesture (WordPress/gutenberg#77813)
- Build: Add experimental `widgets/` folder support to @wordpress/build (WordPress/gutenberg#77347)
- TabPanel: Fix tab indicator animation (WordPress/gutenberg#77812)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Cover block: Inline z-index values (WordPress/gutenberg#77753)
- Button: Align link variant underline with Link and ExternalLink (WordPress/gutenberg#77842)
- ui/Drawer: Polish open/close animation, fix swipe on content padding (WordPress/gutenberg#77800)
- Site Editor: Remove local z-index helper entries (WordPress/gutenberg#77808)
- Inline sticky search z-index values (WordPress/gutenberg#77806)
- Block Manager: Inline z-index values (WordPress/gutenberg#77759)
- Update TypeScript to tsgo (try 2) (WordPress/gutenberg#77682)
- Editor: Inline pattern chooser z-index values (WordPress/gutenberg#77772)
- Media editor modal: disable scroll wheel zoom while a crop is active (WordPress/gutenberg#77826)
- Media editor modal: disable scroll wheel zoom while a pan/drag is active (WordPress/gutenberg#77863)
- Media Editor Modal: Try adding undo/redo for the image cropper (WordPress/gutenberg#77782)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- `defaultRenderingMode` value not respected when changed using `block_editor_settings_all` (WordPress/gutenberg#77870)
- Media editor modal: expand keyboard shortcuts and add interaction helpers (WordPress/gutenberg#77871)
- Media editor modal: name landmark regions and add panel headings (WordPress/gutenberg#77875)
- Media Editor Modal: Use shift modifier to adjust keyboard pan speed (WordPress/gutenberg#77878)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- ESLint: Replace `eslint-plugin-react-compiler` with `eslint-plugin-react-hooks` (WordPress/gutenberg#69962)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Grid: add `renderResizeHandle` render prop (WordPress/gutenberg#77811)
- Grid: render resize handle as component (WordPress/gutenberg#77888)
- Update uuid dependency (WordPress/gutenberg#77848)
- Added Translator Context for Reply (WordPress/gutenberg#77891)
- Media editor modal: add Shift+R for counter-clockwise rotation (WordPress/gutenberg#77898)
- Update references to default branch. (WordPress/gutenberg#77606)
- Notes: Keep tall floating threads scrollable on short content (WordPress/gutenberg#77821)
- Taxonomy edit route: declare @wordpress/base-styles as dependency (WordPress/gutenberg#77901)
- Post Types DataViews: Make titles clickable to open edit page (WordPress/gutenberg#77885)
- Upgrade and unify @types/node version (WordPress/gutenberg#77900)
- Widget Types: replace bootstrap with resolver (WordPress/gutenberg#77847)
- SlotFill: add dependencies to updateFill effect (WordPress/gutenberg#77907)
- Grid: prevent resize runaway near viewport edge (WordPress/gutenberg#77854)
- Experiment: Add taxonomy visibility fields (WordPress/gutenberg#77835)
- Content Types: Add Duplicate action to taxonomy management (WordPress/gutenberg#77853)
- Site Editor: Inline layout z-index values (WordPress/gutenberg#77807)
- RTC: Clarify WPBlockSelection type and link to duplicates in other packages. (WordPress/gutenberg#77862)
- Editor: Improve revisions diff pairing performance (WordPress/gutenberg#77126)
- Media Editor Modal: In the image cropper, pan when dragging the crop instead of constraining to the visible area (WordPress/gutenberg#77899)
- Block Editor: Clarify logic for 'directInsert' inner blocks setting (WordPress/gutenberg#77873)
- Block Editor: Fix target block for copying direct insert block attributes (WordPress/gutenberg#77877)
- Link: Fix awkward focus outline around the new-tab icon (WordPress/gutenberg#77910)
- Plugin loader: use require for build/constants.php (WordPress/gutenberg#77908)
- Tests: Fix argument forwarding for test:unit workspace scripts (WordPress/gutenberg#77541)
- Try responsive global block styles with states (WordPress/gutenberg#77513)
- Image editor: suppress image editor undo/redo while a crop interaction is active (WordPress/gutenberg#77930)
- Experimental: Content types - disable create/save button based on form validity (WordPress/gutenberg#77931)
- Guidelines: Refactor accordion to use CollapsibleCard (WordPress/gutenberg#77903)
- Guidelines REST: Require read access for standard route (WordPress/gutenberg#77843)
- Embed: Add '[embed]' shortcode transform (WordPress/gutenberg#77937)
- Edit Post: Fix suppressed errors in Layout component (WordPress/gutenberg#77940)
- Experiment: User post types REST controller (WordPress/gutenberg#77915)
- Content Types: Add Duplicate action to post type management (WordPress/gutenberg#77844)
- Experiment: Content types fix new instance returned in `useSelect` (WordPress/gutenberg#77916)
- Select: Hide user agent focus ring in popup (WordPress/gutenberg#77919)
- Interactivity API: Fix popover bind hydration (WordPress/gutenberg#77797)
- UI: Use string label type for form controls (WordPress/gutenberg#77860)
- Widget Types: bootstrap registry into the dashboard client (WordPress/gutenberg#77917)
- ui/Drawer: Forward `render` prop on `Drawer.Content` to the scroll container (WordPress/gutenberg#77941)
- ColorPicker : Fix inconsistent HEX input clearing behavior (WordPress/gutenberg#77912)
- ExternalLink: Fix focus outline under wp-admin (WordPress/gutenberg#77935)
- Experiment: Auto fill `slug` from singular label for taxonomies and post types (WordPress/gutenberg#77938)
- Site editor: preserve non-global styles in pattern previews (WordPress/gutenberg#77957)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- Migrate native tests to workspace (WordPress/gutenberg#77425)
- Remove root uuid dependency (WordPress/gutenberg#77960)
- Build: Update lint-staged to 16.4.0 (WordPress/gutenberg#77963)
- docgen: Automatic documentation handle for TypeScript overloads (WordPress/gutenberg#77558)
- Dashboard: Add experimental `WidgetDashboard` rendering engine (WordPress/gutenberg#77770)
- Fix flaky Menu test (WordPress/gutenberg#77972)
- Widget Types: server-side registry, decouple wp-build pages (WordPress/gutenberg#77958)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Media editor: replace fine-rotation slider with RotationRuler (WordPress/gutenberg#77906)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- Fix: Buttons block shows inserter picker when multiple allowed blocks are registered (WordPress/gutenberg#77858)
- Update nvm installation script to version 0.40.4 (WordPress/gutenberg#77996)
- Use theme gray for muted Text (WordPress/gutenberg#77999)
- Add lint rule for non-module stylesheet imports (WordPress/gutenberg#77984)
- Dashboard experiment: new icon (WordPress/gutenberg#78016)
- Testing: Add `createRecord` e2e request util (WordPress/gutenberg#78017)
- Widget Types: REST endpoint and core-data entity (WordPress/gutenberg#77987)
- Block Editor: Remove unused reducer action types (WordPress/gutenberg#77880)
- Experiment: Sync user taxonomies with post types (WordPress/gutenberg#77997)
- Dashboard experiment: remove storybook examples for now (WordPress/gutenberg#78020)
- Dashboard: add `WidgetDashboard.Actions` compound (WordPress/gutenberg#78019)
- Experiment: add first basic user post types e2e tests and update taxonomy tests (WordPress/gutenberg#77998)
- Fill in E2E tests for client-side media processing (WordPress/gutenberg#75949)
- Modal: Render as a bottom sheet on mobile (WordPress/gutenberg#77956)
- Grid: add warning about being under development (WordPress/gutenberg#78022)
- RTC: Fix race condition on room creation which can cause a split update log (WordPress/gutenberg#77675)
- Connectors: Clarify AI plugin callout copy (WordPress/gutenberg#78043)
- Image editor: update sidebar aspect ratio and resize controls (WordPress/gutenberg#78046)
- Fix: Only auto register settings if the plugin the connector references is installed and active. (WordPress/gutenberg#77273)
- Connectors: Add is_active callback support to plugin registration (WordPress/gutenberg#77897)
- Site Editor e2e tests: reimplement the wait for load (WordPress/gutenberg#77981)
- Make Block Inserter search input sticky while scrolling (WordPress/gutenberg#77698)
- Embed: Tighten raw URL transform isMatch (WordPress/gutenberg#78021)
- Notes: Separate intent from mechanics in openTheSidebar (WordPress/gutenberg#78039)
- Image editor: improve media editor crop accessibility and dialog focus (WordPress/gutenberg#78047)
- Fix flaky e2e test for Pages dataview keyboard navigation (WordPress/gutenberg#78054)
- RTC: Fix find_canonical_storage_post_id() always returning null (WordPress/gutenberg#78053)
- Dashboard: persist layout via @wordpress/preferences (WordPress/gutenberg#78034)
- Dashboard: backend default layout filter (WordPress/gutenberg#78040)
- i18n: add context to scale (WordPress/gutenberg#76917)
- Dashboard: lift Suspense + error boundary into widget chrome and add a default header (WordPress/gutenberg#78012)
- Dashboard: add widget inserter modal (WordPress/gutenberg#78033)
- Fix flaky homepage-settings e2e test (WordPress/gutenberg#78063)
- Experiment: Content types single route and package (WordPress/gutenberg#78059)
- Configure global fallbackFn for timezone-mock to handle Date subclasses (WordPress/gutenberg#78056)
- Content types: flush rewrite rules on rewrite-impacting changes (WordPress/gutenberg#78058)
- Editor: Paginate revisions slider by 100 per page (WordPress/gutenberg#77200)
- Add RTC cursor-scope regression tests (WordPress/gutenberg#77662)
- Dashboard: REST endpoint for the default layout (WordPress/gutenberg#78066)
- Paste: preserve leading number when pasting single-line text like dates (WordPress/gutenberg#77949)
- Revision: Fix failing e2e test (WordPress/gutenberg#78079)
- Global Styles: Refactor client side style states to use nodes (WordPress/gutenberg#78000)
- Media Editor Modal: Add focus border styles to the stencil rect when the canvas is keyboard focused (WordPress/gutenberg#78078)
- Post Content focus mode: Fix flaky e2e test (WordPress/gutenberg#78084)
- Update date-fns to v4.1.0 in components and editor packages (WordPress/gutenberg#78057)
- Revisions: Add diagonal stripe patterns to diff markers to avoid color-only distinction (WordPress/gutenberg#77904)
- Admin UI: Fix nested landmark in Page header (WordPress/gutenberg#78001)
- Fix: Shortcode block does not render in Navigation Overlay (WordPress/gutenberg#77511)
- Fix flaky 'publish panel' e2e test (WordPress/gutenberg#78082)
- Experiment: Content types reuse some commone utils (WordPress/gutenberg#78091)
- Style Runtime: Support CSS module style injection across documents (WordPress/gutenberg#77965)
- Experiment: Add Classic block migration notice (WordPress/gutenberg#78090)
- Content Types: Abstract and reuse label autofilling for post types (WordPress/gutenberg#78099)
- i18n: add context to table header/footer label (WordPress/gutenberg#78007)
- Experiment: Content types reuse `createStatusAction` (WordPress/gutenberg#78102)
- Select: Support placeholder prop on Trigger (WordPress/gutenberg#78076)
- feat: Enhance Connectors page on read-only file system (WordPress/gutenberg#77521)
- Add missing Portal Storybook subcomponents (WordPress/gutenberg#78108)
- RTC: Fix title divergence between users on page refresh after title update (WordPress/gutenberg#77666)
- Docs: shortcode transforms with wrapped content + rawHandler JSDoc (WordPress/gutenberg#78003)
- Connectors: Refine PHPStan type shapes (WordPress/gutenberg#78103)
- Fix lockfile drift and missing dep from content-types consolidation (WordPress/gutenberg#78109)
- Classic Block: Use onReplace prop for migration actions (WordPress/gutenberg#78113)
- Media Editor Experiment: Add a route, based on the media editor modal, refactor the modal components (WordPress/gutenberg#77994)
- i18n: add context to (site) identity (WordPress/gutenberg#78132)
- Script Modules: Guard setAccessible() calls behind PHP < 8.1 check (WordPress/gutenberg#78137)
- Connectors: Avoid using centered text (WordPress/gutenberg#78125)
- Content Types: Introduce view items actions (WordPress/gutenberg#78104)
- Fix: Guard require_once calls in generated PHP files against deployment race conditions (WordPress/gutenberg#78110)
- bin/dev.mjs: warn (not exit) on stale webpack watching this checkout (WordPress/gutenberg#78098)
- E2E: Reset preferences after navigable-toolbar tests (WordPress/gutenberg#78115)
- Editor: Refactor 'PostPublishPanel' into function component (WordPress/gutenberg#78083)
- Document how to ignore VSCode Workplace Settings. (WordPress/gutenberg#77608)
- Select: Fix disabled cursor styles (WordPress/gutenberg#78112)
- Revisions: Add tooltip to diff marker buttons  (WordPress/gutenberg#77690)
- Experiment: Make content types `_builtin` (WordPress/gutenberg#78150)
- Experiment: Content types - use `form` for quick edit dialogs (WordPress/gutenberg#78149)
- Experiment: Content types use `toggle` for `active` prop edit (WordPress/gutenberg#78146)
- Experiment: Update view content types actions (WordPress/gutenberg#78159)
- Block Editor: Add translation context for “Exit pattern” (WordPress/gutenberg#78158)
- ColorPalette: Fix duplicate-key warnings and incorrect selection with identical color values (WordPress/gutenberg#78004)
- Menu: Fix flaky keyboard focus test (WordPress/gutenberg#78162)
- e2e tests: use editPost and createNewPost helpers everywhere (WordPress/gutenberg#78170)
- Support object values in Select primitive (WordPress/gutenberg#77861)
- Text: Fix render prop CSS defenses (WordPress/gutenberg#78172)
- Design System: Add missing packages to Storybook introduction (WordPress/gutenberg#77504)
- Add SelectControl component to @wordpress/ui (WordPress/gutenberg#77809)
- Dashboard experiment: animate customize UX (WordPress/gutenberg#78065)
- Add RTC y-websocket-server tests (WordPress/gutenberg#78179)
- Grid: add DashboardLanes masonry surface (WordPress/gutenberg#78107)
- Dashboard: staging layer for in-progress layout edits (WordPress/gutenberg#78071)
- Media: Guard gutenberg_delete_heic_companion_file() against non-string $metadata['original'] (WordPress/gutenberg#78128)
- Image block: Try syncing updated metadata fields (alt and caption) from the media editor (WordPress/gutenberg#78139)
- Correct capitalization in help text for Breadcrumbs block (WordPress/gutenberg#78175)
- Add min release age to npm config (WordPress/gutenberg#78191)
- isFulfilled: don't change resolution state, call in resolveSelect (WordPress/gutenberg#78151)
- Add aria-label to Revisions button in Post Summary sidebar (WordPress/gutenberg#78140)
- Experiment: Content types invaidate cache for synced taxonomies-post types (WordPress/gutenberg#78143)
- Shortcode: Offer block-specific transforms when text matches a registered shortcode (WordPress/gutenberg#77944)
- E2E: Remove slash from bad embed request mock (WordPress/gutenberg#78200)
- UI: Add component status notes to Storybook (WordPress/gutenberg#77988)
- ui/Tooltip, ui/IconButton: Add positioner slot API (WordPress/gutenberg#78089)
- Add motion design tokens (duration and easing) to @wordpress/theme (WordPress/gutenberg#76097)
- Grid: add edit-mode overlay to DashboardGrid and DashboardLanes (WordPress/gutenberg#78199)
- Grid: fix keyboard activation on draggable items (WordPress/gutenberg#78163)
- ui/CollapsibleCard: support rendering Header as a heading element (WordPress/gutenberg#77962)
- Revisions diff markers: enforce 24×24px minimum target size (WCAG 2.5.8) (WordPress/gutenberg#77671)
- Popover: Remove close button z-index (WordPress/gutenberg#78180)
- Button: Align compound component metadata (WordPress/gutenberg#78184)
- Dashboard: use design animation tokens (WordPress/gutenberg#78204)
- Tools: Remove save-exact from .npmrc (WordPress/gutenberg#78196)
- UI: Improve docs for compound exports (WordPress/gutenberg#78212)
- Bump addressable in /packages/react-native-editor/ios (WordPress/gutenberg#77128)
- Bump follow-redirects from 1.15.6 to 1.16.0 (WordPress/gutenberg#77278)
- Bump vite from 7.3.0 to 7.3.2 (WordPress/gutenberg#77076)
- Bump flatted from 3.3.1 to 3.4.2 (WordPress/gutenberg#76708)
- Bump @xmldom/xmldom from 0.8.10 to 0.8.13 (WordPress/gutenberg#77577)
- Media Editor Modal: Fix empty author and attached to fields (WordPress/gutenberg#78189)
- Bump fast-xml-parser from 4.5.0 to 4.5.4 (WordPress/gutenberg#76081)
- Bump node-forge from 1.3.1 to 1.3.2 (WordPress/gutenberg#73601)
- Experiment: Integrate `useView` in content types lists (WordPress/gutenberg#78197)
- Experiment: Add term/post type count fields in content types (WordPress/gutenberg#78157)
- Connectors: Increase right padding of callout for mobile layout (WordPress/gutenberg#78126)
- UI: Fix subcomponent story labels (WordPress/gutenberg#78210)
- Fonts: Move admin menu compat from experimental to wordpress-7.0 (WordPress/gutenberg#78227)
- Experiment: Render badges for some content types' fields (WordPress/gutenberg#78194)
- Testing: Consolidate CI workflows for changelog testing (WordPress/gutenberg#78169)
- Edit Post: Inline meta boxes z-index values (WordPress/gutenberg#78181)
- Backport package publish commits to release/23.2 (WordPress/gutenberg#78347)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65559.

git-svn-id: https://develop.svn.wordpress.org/trunk@62582 602fd350-edb4-49c9-b593-d223f7449a82
SteelWagstaff pushed a commit to SteelWagstaff/wordpress-develop that referenced this pull request Jul 2, 2026
This updates the pinned commit hash of the Gutenberg repository from `585cf86bb6f408b1dc61175f75db016aa4760653 ` (version `23.1.0`) to `d5ac60e6118060529737127d44a6fdc8abf57eb9` (version `23.2.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.1.0..v23.2.0.

The following commits are included:
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Revise README for FocalPointPicker component to use object-position (WordPress/gutenberg#77722)
- Experiment: Add first e2e tests for Taxonomies (WordPress/gutenberg#77828)
- Content Types: Add post type management (WordPress/gutenberg#77754)
- Grid: lock document cursor during resize gesture (WordPress/gutenberg#77813)
- Build: Add experimental `widgets/` folder support to @wordpress/build (WordPress/gutenberg#77347)
- TabPanel: Fix tab indicator animation (WordPress/gutenberg#77812)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Cover block: Inline z-index values (WordPress/gutenberg#77753)
- Button: Align link variant underline with Link and ExternalLink (WordPress/gutenberg#77842)
- ui/Drawer: Polish open/close animation, fix swipe on content padding (WordPress/gutenberg#77800)
- Site Editor: Remove local z-index helper entries (WordPress/gutenberg#77808)
- Inline sticky search z-index values (WordPress/gutenberg#77806)
- Block Manager: Inline z-index values (WordPress/gutenberg#77759)
- Update TypeScript to tsgo (try 2) (WordPress/gutenberg#77682)
- Editor: Inline pattern chooser z-index values (WordPress/gutenberg#77772)
- Media editor modal: disable scroll wheel zoom while a crop is active (WordPress/gutenberg#77826)
- Media editor modal: disable scroll wheel zoom while a pan/drag is active (WordPress/gutenberg#77863)
- Media Editor Modal: Try adding undo/redo for the image cropper (WordPress/gutenberg#77782)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- `defaultRenderingMode` value not respected when changed using `block_editor_settings_all` (WordPress/gutenberg#77870)
- Media editor modal: expand keyboard shortcuts and add interaction helpers (WordPress/gutenberg#77871)
- Media editor modal: name landmark regions and add panel headings (WordPress/gutenberg#77875)
- Media Editor Modal: Use shift modifier to adjust keyboard pan speed (WordPress/gutenberg#77878)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- ESLint: Replace `eslint-plugin-react-compiler` with `eslint-plugin-react-hooks` (WordPress/gutenberg#69962)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Grid: add `renderResizeHandle` render prop (WordPress/gutenberg#77811)
- Grid: render resize handle as component (WordPress/gutenberg#77888)
- Update uuid dependency (WordPress/gutenberg#77848)
- Added Translator Context for Reply (WordPress/gutenberg#77891)
- Media editor modal: add Shift+R for counter-clockwise rotation (WordPress/gutenberg#77898)
- Update references to default branch. (WordPress/gutenberg#77606)
- Notes: Keep tall floating threads scrollable on short content (WordPress/gutenberg#77821)
- Taxonomy edit route: declare @wordpress/base-styles as dependency (WordPress/gutenberg#77901)
- Post Types DataViews: Make titles clickable to open edit page (WordPress/gutenberg#77885)
- Upgrade and unify @types/node version (WordPress/gutenberg#77900)
- Widget Types: replace bootstrap with resolver (WordPress/gutenberg#77847)
- SlotFill: add dependencies to updateFill effect (WordPress/gutenberg#77907)
- Grid: prevent resize runaway near viewport edge (WordPress/gutenberg#77854)
- Experiment: Add taxonomy visibility fields (WordPress/gutenberg#77835)
- Content Types: Add Duplicate action to taxonomy management (WordPress/gutenberg#77853)
- Site Editor: Inline layout z-index values (WordPress/gutenberg#77807)
- RTC: Clarify WPBlockSelection type and link to duplicates in other packages. (WordPress/gutenberg#77862)
- Editor: Improve revisions diff pairing performance (WordPress/gutenberg#77126)
- Media Editor Modal: In the image cropper, pan when dragging the crop instead of constraining to the visible area (WordPress/gutenberg#77899)
- Block Editor: Clarify logic for 'directInsert' inner blocks setting (WordPress/gutenberg#77873)
- Block Editor: Fix target block for copying direct insert block attributes (WordPress/gutenberg#77877)
- Link: Fix awkward focus outline around the new-tab icon (WordPress/gutenberg#77910)
- Plugin loader: use require for build/constants.php (WordPress/gutenberg#77908)
- Tests: Fix argument forwarding for test:unit workspace scripts (WordPress/gutenberg#77541)
- Try responsive global block styles with states (WordPress/gutenberg#77513)
- Image editor: suppress image editor undo/redo while a crop interaction is active (WordPress/gutenberg#77930)
- Experimental: Content types - disable create/save button based on form validity (WordPress/gutenberg#77931)
- Guidelines: Refactor accordion to use CollapsibleCard (WordPress/gutenberg#77903)
- Guidelines REST: Require read access for standard route (WordPress/gutenberg#77843)
- Embed: Add '[embed]' shortcode transform (WordPress/gutenberg#77937)
- Edit Post: Fix suppressed errors in Layout component (WordPress/gutenberg#77940)
- Experiment: User post types REST controller (WordPress/gutenberg#77915)
- Content Types: Add Duplicate action to post type management (WordPress/gutenberg#77844)
- Experiment: Content types fix new instance returned in `useSelect` (WordPress/gutenberg#77916)
- Select: Hide user agent focus ring in popup (WordPress/gutenberg#77919)
- Interactivity API: Fix popover bind hydration (WordPress/gutenberg#77797)
- UI: Use string label type for form controls (WordPress/gutenberg#77860)
- Widget Types: bootstrap registry into the dashboard client (WordPress/gutenberg#77917)
- ui/Drawer: Forward `render` prop on `Drawer.Content` to the scroll container (WordPress/gutenberg#77941)
- ColorPicker : Fix inconsistent HEX input clearing behavior (WordPress/gutenberg#77912)
- ExternalLink: Fix focus outline under wp-admin (WordPress/gutenberg#77935)
- Experiment: Auto fill `slug` from singular label for taxonomies and post types (WordPress/gutenberg#77938)
- Site editor: preserve non-global styles in pattern previews (WordPress/gutenberg#77957)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- Migrate native tests to workspace (WordPress/gutenberg#77425)
- Remove root uuid dependency (WordPress/gutenberg#77960)
- Build: Update lint-staged to 16.4.0 (WordPress/gutenberg#77963)
- docgen: Automatic documentation handle for TypeScript overloads (WordPress/gutenberg#77558)
- Dashboard: Add experimental `WidgetDashboard` rendering engine (WordPress/gutenberg#77770)
- Fix flaky Menu test (WordPress/gutenberg#77972)
- Widget Types: server-side registry, decouple wp-build pages (WordPress/gutenberg#77958)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Media editor: replace fine-rotation slider with RotationRuler (WordPress/gutenberg#77906)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- Fix: Buttons block shows inserter picker when multiple allowed blocks are registered (WordPress/gutenberg#77858)
- Update nvm installation script to version 0.40.4 (WordPress/gutenberg#77996)
- Use theme gray for muted Text (WordPress/gutenberg#77999)
- Add lint rule for non-module stylesheet imports (WordPress/gutenberg#77984)
- Dashboard experiment: new icon (WordPress/gutenberg#78016)
- Testing: Add `createRecord` e2e request util (WordPress/gutenberg#78017)
- Widget Types: REST endpoint and core-data entity (WordPress/gutenberg#77987)
- Block Editor: Remove unused reducer action types (WordPress/gutenberg#77880)
- Experiment: Sync user taxonomies with post types (WordPress/gutenberg#77997)
- Dashboard experiment: remove storybook examples for now (WordPress/gutenberg#78020)
- Dashboard: add `WidgetDashboard.Actions` compound (WordPress/gutenberg#78019)
- Experiment: add first basic user post types e2e tests and update taxonomy tests (WordPress/gutenberg#77998)
- Fill in E2E tests for client-side media processing (WordPress/gutenberg#75949)
- Modal: Render as a bottom sheet on mobile (WordPress/gutenberg#77956)
- Grid: add warning about being under development (WordPress/gutenberg#78022)
- RTC: Fix race condition on room creation which can cause a split update log (WordPress/gutenberg#77675)
- Connectors: Clarify AI plugin callout copy (WordPress/gutenberg#78043)
- Image editor: update sidebar aspect ratio and resize controls (WordPress/gutenberg#78046)
- Fix: Only auto register settings if the plugin the connector references is installed and active. (WordPress/gutenberg#77273)
- Connectors: Add is_active callback support to plugin registration (WordPress/gutenberg#77897)
- Site Editor e2e tests: reimplement the wait for load (WordPress/gutenberg#77981)
- Make Block Inserter search input sticky while scrolling (WordPress/gutenberg#77698)
- Embed: Tighten raw URL transform isMatch (WordPress/gutenberg#78021)
- Notes: Separate intent from mechanics in openTheSidebar (WordPress/gutenberg#78039)
- Image editor: improve media editor crop accessibility and dialog focus (WordPress/gutenberg#78047)
- Fix flaky e2e test for Pages dataview keyboard navigation (WordPress/gutenberg#78054)
- RTC: Fix find_canonical_storage_post_id() always returning null (WordPress/gutenberg#78053)
- Dashboard: persist layout via @wordpress/preferences (WordPress/gutenberg#78034)
- Dashboard: backend default layout filter (WordPress/gutenberg#78040)
- i18n: add context to scale (WordPress/gutenberg#76917)
- Dashboard: lift Suspense + error boundary into widget chrome and add a default header (WordPress/gutenberg#78012)
- Dashboard: add widget inserter modal (WordPress/gutenberg#78033)
- Fix flaky homepage-settings e2e test (WordPress/gutenberg#78063)
- Experiment: Content types single route and package (WordPress/gutenberg#78059)
- Configure global fallbackFn for timezone-mock to handle Date subclasses (WordPress/gutenberg#78056)
- Content types: flush rewrite rules on rewrite-impacting changes (WordPress/gutenberg#78058)
- Editor: Paginate revisions slider by 100 per page (WordPress/gutenberg#77200)
- Add RTC cursor-scope regression tests (WordPress/gutenberg#77662)
- Dashboard: REST endpoint for the default layout (WordPress/gutenberg#78066)
- Paste: preserve leading number when pasting single-line text like dates (WordPress/gutenberg#77949)
- Revision: Fix failing e2e test (WordPress/gutenberg#78079)
- Global Styles: Refactor client side style states to use nodes (WordPress/gutenberg#78000)
- Media Editor Modal: Add focus border styles to the stencil rect when the canvas is keyboard focused (WordPress/gutenberg#78078)
- Post Content focus mode: Fix flaky e2e test (WordPress/gutenberg#78084)
- Update date-fns to v4.1.0 in components and editor packages (WordPress/gutenberg#78057)
- Revisions: Add diagonal stripe patterns to diff markers to avoid color-only distinction (WordPress/gutenberg#77904)
- Admin UI: Fix nested landmark in Page header (WordPress/gutenberg#78001)
- Fix: Shortcode block does not render in Navigation Overlay (WordPress/gutenberg#77511)
- Fix flaky 'publish panel' e2e test (WordPress/gutenberg#78082)
- Experiment: Content types reuse some commone utils (WordPress/gutenberg#78091)
- Style Runtime: Support CSS module style injection across documents (WordPress/gutenberg#77965)
- Experiment: Add Classic block migration notice (WordPress/gutenberg#78090)
- Content Types: Abstract and reuse label autofilling for post types (WordPress/gutenberg#78099)
- i18n: add context to table header/footer label (WordPress/gutenberg#78007)
- Experiment: Content types reuse `createStatusAction` (WordPress/gutenberg#78102)
- Select: Support placeholder prop on Trigger (WordPress/gutenberg#78076)
- feat: Enhance Connectors page on read-only file system (WordPress/gutenberg#77521)
- Add missing Portal Storybook subcomponents (WordPress/gutenberg#78108)
- RTC: Fix title divergence between users on page refresh after title update (WordPress/gutenberg#77666)
- Docs: shortcode transforms with wrapped content + rawHandler JSDoc (WordPress/gutenberg#78003)
- Connectors: Refine PHPStan type shapes (WordPress/gutenberg#78103)
- Fix lockfile drift and missing dep from content-types consolidation (WordPress/gutenberg#78109)
- Classic Block: Use onReplace prop for migration actions (WordPress/gutenberg#78113)
- Media Editor Experiment: Add a route, based on the media editor modal, refactor the modal components (WordPress/gutenberg#77994)
- i18n: add context to (site) identity (WordPress/gutenberg#78132)
- Script Modules: Guard setAccessible() calls behind PHP < 8.1 check (WordPress/gutenberg#78137)
- Connectors: Avoid using centered text (WordPress/gutenberg#78125)
- Content Types: Introduce view items actions (WordPress/gutenberg#78104)
- Fix: Guard require_once calls in generated PHP files against deployment race conditions (WordPress/gutenberg#78110)
- bin/dev.mjs: warn (not exit) on stale webpack watching this checkout (WordPress/gutenberg#78098)
- E2E: Reset preferences after navigable-toolbar tests (WordPress/gutenberg#78115)
- Editor: Refactor 'PostPublishPanel' into function component (WordPress/gutenberg#78083)
- Document how to ignore VSCode Workplace Settings. (WordPress/gutenberg#77608)
- Select: Fix disabled cursor styles (WordPress/gutenberg#78112)
- Revisions: Add tooltip to diff marker buttons  (WordPress/gutenberg#77690)
- Experiment: Make content types `_builtin` (WordPress/gutenberg#78150)
- Experiment: Content types - use `form` for quick edit dialogs (WordPress/gutenberg#78149)
- Experiment: Content types use `toggle` for `active` prop edit (WordPress/gutenberg#78146)
- Experiment: Update view content types actions (WordPress/gutenberg#78159)
- Block Editor: Add translation context for “Exit pattern” (WordPress/gutenberg#78158)
- ColorPalette: Fix duplicate-key warnings and incorrect selection with identical color values (WordPress/gutenberg#78004)
- Menu: Fix flaky keyboard focus test (WordPress/gutenberg#78162)
- e2e tests: use editPost and createNewPost helpers everywhere (WordPress/gutenberg#78170)
- Support object values in Select primitive (WordPress/gutenberg#77861)
- Text: Fix render prop CSS defenses (WordPress/gutenberg#78172)
- Design System: Add missing packages to Storybook introduction (WordPress/gutenberg#77504)
- Add SelectControl component to @wordpress/ui (WordPress/gutenberg#77809)
- Dashboard experiment: animate customize UX (WordPress/gutenberg#78065)
- Add RTC y-websocket-server tests (WordPress/gutenberg#78179)
- Grid: add DashboardLanes masonry surface (WordPress/gutenberg#78107)
- Dashboard: staging layer for in-progress layout edits (WordPress/gutenberg#78071)
- Media: Guard gutenberg_delete_heic_companion_file() against non-string $metadata['original'] (WordPress/gutenberg#78128)
- Image block: Try syncing updated metadata fields (alt and caption) from the media editor (WordPress/gutenberg#78139)
- Correct capitalization in help text for Breadcrumbs block (WordPress/gutenberg#78175)
- Add min release age to npm config (WordPress/gutenberg#78191)
- isFulfilled: don't change resolution state, call in resolveSelect (WordPress/gutenberg#78151)
- Add aria-label to Revisions button in Post Summary sidebar (WordPress/gutenberg#78140)
- Experiment: Content types invaidate cache for synced taxonomies-post types (WordPress/gutenberg#78143)
- Shortcode: Offer block-specific transforms when text matches a registered shortcode (WordPress/gutenberg#77944)
- E2E: Remove slash from bad embed request mock (WordPress/gutenberg#78200)
- UI: Add component status notes to Storybook (WordPress/gutenberg#77988)
- ui/Tooltip, ui/IconButton: Add positioner slot API (WordPress/gutenberg#78089)
- Add motion design tokens (duration and easing) to @wordpress/theme (WordPress/gutenberg#76097)
- Grid: add edit-mode overlay to DashboardGrid and DashboardLanes (WordPress/gutenberg#78199)
- Grid: fix keyboard activation on draggable items (WordPress/gutenberg#78163)
- ui/CollapsibleCard: support rendering Header as a heading element (WordPress/gutenberg#77962)
- Revisions diff markers: enforce 24×24px minimum target size (WCAG 2.5.8) (WordPress/gutenberg#77671)
- Popover: Remove close button z-index (WordPress/gutenberg#78180)
- Button: Align compound component metadata (WordPress/gutenberg#78184)
- Dashboard: use design animation tokens (WordPress/gutenberg#78204)
- Tools: Remove save-exact from .npmrc (WordPress/gutenberg#78196)
- UI: Improve docs for compound exports (WordPress/gutenberg#78212)
- Bump addressable in /packages/react-native-editor/ios (WordPress/gutenberg#77128)
- Bump follow-redirects from 1.15.6 to 1.16.0 (WordPress/gutenberg#77278)
- Bump vite from 7.3.0 to 7.3.2 (WordPress/gutenberg#77076)
- Bump flatted from 3.3.1 to 3.4.2 (WordPress/gutenberg#76708)
- Bump @xmldom/xmldom from 0.8.10 to 0.8.13 (WordPress/gutenberg#77577)
- Media Editor Modal: Fix empty author and attached to fields (WordPress/gutenberg#78189)
- Bump fast-xml-parser from 4.5.0 to 4.5.4 (WordPress/gutenberg#76081)
- Bump node-forge from 1.3.1 to 1.3.2 (WordPress/gutenberg#73601)
- Experiment: Integrate `useView` in content types lists (WordPress/gutenberg#78197)
- Experiment: Add term/post type count fields in content types (WordPress/gutenberg#78157)
- Connectors: Increase right padding of callout for mobile layout (WordPress/gutenberg#78126)
- UI: Fix subcomponent story labels (WordPress/gutenberg#78210)
- Fonts: Move admin menu compat from experimental to wordpress-7.0 (WordPress/gutenberg#78227)
- Experiment: Render badges for some content types' fields (WordPress/gutenberg#78194)
- Testing: Consolidate CI workflows for changelog testing (WordPress/gutenberg#78169)
- Edit Post: Inline meta boxes z-index values (WordPress/gutenberg#78181)
- Backport package publish commits to release/23.2 (WordPress/gutenberg#78347)

Props adamsilverstein, jorbin, westonruter, wildworks.
Fixes #65559.

git-svn-id: https://develop.svn.wordpress.org/trunk@62582 602fd350-edb4-49c9-b593-d223f7449a82
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] UI /packages/ui [Type] Bug An existing feature does not function as intended

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants