Skip to content

Tabs: Handle duplicating tabs#76449

Merged
mikachan merged 17 commits into
trunkfrom
update/handle-duplicating-tabs
Apr 16, 2026
Merged

Tabs: Handle duplicating tabs#76449
mikachan merged 17 commits into
trunkfrom
update/handle-duplicating-tabs

Conversation

@mikachan

@mikachan mikachan commented Mar 12, 2026

Copy link
Copy Markdown
Member

What?

Follow-up to #75954, and addresses a TODO comment

Extends the Tabs Menu Item sync effect in the Tabs block to handle insertions in addition to deletions.

Why?

The Tabs block maintains two parallel lists that must stay in sync: Tab blocks inside Tab Panel and Tabs Menu Item blocks inside Tabs Menu. Previously, the sync effect only handled deletions. If a user pasted, duplicated, or dragged in a block on either side, no counterpart was created, leaving the new block orphaned and unreachable. Reordering menu items via drag-and-drop also did not affect the tab content order.

How?

The sync logic is extracted into a dedicated useTabMenuSync hook that compares the current block lists against a snapshot from the previous render and detects five cases:

  • Tab deleted: removes the menu item at the same position
  • Menu item deleted: removes the tab at the same position
  • Tab inserted (paste or duplicate): inserts a new Tabs Menu Item at the same index
  • Menu item inserted (paste or duplicate): inserts a new Tab at the same index, copying the label from the adjacent tab
  • Menu items reordered (drag-and-drop): calls replaceInnerBlocks to move tab content blocks into the matching order

After each programmatic insertion, a placeholder is spliced into the prevSyncStateRef snapshot so the following render sees equal lengths on both sides and does not re-trigger the effect.

Testing Instructions

  1. Open a post or page in the editor
  2. Insert a Tabs block
  3. Paste / duplicate a tab panel:
    • In the List View, select one of the Tab blocks inside the tab panel
    • Duplicate it (toolbar > ⋮ > Duplicate, or Ctrl/Cmd+D)
    • Verify a new tab button appears in the tabs menu at the matching position
    • Verify the new tab button shows the same title as the duplicated tab
    • Verify the new tab has a unique ID. It should not share an ID with the original.
  4. Paste / duplicate a tab menu item:
    • In the List View, select one of the Tab Menu Item blocks inside the tabs menu
    • Duplicate it
    • Verify a new tab panel is created at the matching position
    • Verify the new tab panel shows the same title as the duplicated menu item's tab
    • Verify the menu item receives a unique ID. It should not share an ID with the original
  5. Verify deletion still works:
    • Delete a tab panel block directly (List View > Backspace)
    • Verify its corresponding menu item is also removed
    • Delete a menu item block directly
    • Verify its corresponding tab panel is also removed
  6. Verify "Add Tab" toolbar button still works and does not create duplicate or orphaned blocks

@mikachan mikachan added [Type] Enhancement A suggestion for improvement. [Block] Tabs Affects the Tabs Block labels Mar 12, 2026
@github-actions github-actions Bot added the [Package] Block library /packages/block-library label Mar 12, 2026
@github-actions

github-actions Bot commented Mar 12, 2026

Copy link
Copy Markdown

Size Change: +276 B (0%)

Total Size: 7.75 MB

📦 View Changed
Filename Size Change
build/scripts/block-library/index.min.js 317 kB +276 B (+0.09%)
ℹ️ 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 17 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/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 8.03 kB
build/scripts/block-editor/index.min.js 340 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 265 kB
build/scripts/compose/index.min.js 11.1 kB
build/scripts/core-commands/index.min.js 4.31 kB
build/scripts/core-data/index.min.js 30.9 kB
build/scripts/customize-widgets/index.min.js 12.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 16.4 kB
build/scripts/edit-site/index.min.js 262 kB
build/scripts/edit-widgets/index.min.js 19.9 kB
build/scripts/editor/index.min.js 413 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 10.7 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.57 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.2 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.98 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.41 kB
build/scripts/sync/index.min.js 38.6 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 8.22 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.46 kB
build/styles/block-editor/content-rtl.min.css 4.03 kB
build/styles/block-editor/content.css 5.46 kB
build/styles/block-editor/content.min.css 4.02 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 363 B
build/styles/block-library/classic-rtl.min.css 321 B
build/styles/block-library/classic.css 363 B
build/styles/block-library/classic.min.css 321 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.25 kB
build/styles/block-library/post-template/style-rtl.min.css 414 B
build/styles/block-library/post-template/style.css 1.25 kB
build/styles/block-library/post-template/style.min.css 414 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-panel/style-rtl.css 75 B
build/styles/block-library/tab-panel/style-rtl.min.css 64 B
build/styles/block-library/tab-panel/style.css 75 B
build/styles/block-library/tab-panel/style.min.css 64 B
build/styles/block-library/tab/style-rtl.css 233 B
build/styles/block-library/tab/style-rtl.min.css 210 B
build/styles/block-library/tab/style.css 233 B
build/styles/block-library/tab/style.min.css 210 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-menu-item/editor-rtl.css 168 B
build/styles/block-library/tabs-menu-item/editor-rtl.min.css 155 B
build/styles/block-library/tabs-menu-item/editor.css 168 B
build/styles/block-library/tabs-menu-item/editor.min.css 155 B
build/styles/block-library/tabs-menu-item/style-rtl.css 404 B
build/styles/block-library/tabs-menu-item/style-rtl.min.css 361 B
build/styles/block-library/tabs-menu-item/style.css 405 B
build/styles/block-library/tabs-menu-item/style.min.css 362 B
build/styles/block-library/tabs-menu/editor-rtl.css 116 B
build/styles/block-library/tabs-menu/editor-rtl.min.css 104 B
build/styles/block-library/tabs-menu/editor.css 116 B
build/styles/block-library/tabs-menu/editor.min.css 104 B
build/styles/block-library/tabs/style-rtl.css 95 B
build/styles/block-library/tabs/style-rtl.min.css 84 B
build/styles/block-library/tabs/style.css 95 B
build/styles/block-library/tabs/style.min.css 84 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 825 B
build/styles/block-library/video/editor-rtl.min.css 415 B
build/styles/block-library/video/editor.css 826 B
build/styles/block-library/video/editor.min.css 416 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.3 kB
build/styles/components/style-rtl.min.css 14.1 kB
build/styles/components/style.css 17.4 kB
build/styles/components/style.min.css 14.1 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.98 kB
build/styles/edit-post/style-rtl.min.css 2.67 kB
build/styles/edit-post/style.css 3.99 kB
build/styles/edit-post/style.min.css 2.67 kB
build/styles/edit-site/style-rtl.css 20.9 kB
build/styles/edit-site/style-rtl.min.css 17.1 kB
build/styles/edit-site/style.css 21 kB
build/styles/edit-site/style.min.css 17.1 kB
build/styles/edit-widgets/style-rtl.css 5.29 kB
build/styles/edit-widgets/style-rtl.min.css 3.95 kB
build/styles/edit-widgets/style.css 5.29 kB
build/styles/edit-widgets/style.min.css 3.96 kB
build/styles/editor/style-rtl.css 26.6 kB
build/styles/editor/style-rtl.min.css 22.5 kB
build/styles/editor/style.css 26.6 kB
build/styles/editor/style.min.css 22.4 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

@github-actions

github-actions Bot commented Mar 12, 2026

Copy link
Copy Markdown

Flaky tests detected in f450557.
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/24513639289
📝 Reported issues:

@github-actions

github-actions Bot commented Mar 12, 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: mikachan <[email protected]>
Co-authored-by: t-hamano <[email protected]>

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

Copilot AI 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.

Pull request overview

Adds a dedicated sync hook to the Tabs block so the two parallel inner-block lists (tab panels and menu items) stay in sync not only on deletions but also when blocks are inserted via paste/duplicate.

Changes:

  • Extracts the tabs/menu deletion sync logic from tabs/edit.js into a new useTabMenuSync hook and extends it to handle one-sided insertions.
  • Implements anchor collision handling by generating unique tab-N / tab-N-button anchors and updating duplicated blocks when needed.
  • Adds a Jest test suite covering initial mount, deletion sync, insertion sync, and anchor-conflict scenarios.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
packages/block-library/src/tabs/use-tab-menu-sync.js New hook that syncs core/tab and core/tabs-menu-item lists on deletions and one-sided insertions, including anchor collision resolution.
packages/block-library/src/tabs/test/use-tab-menu-sync.js New unit tests for the sync hook (mount behavior, deletion, insertion, and conflict cases).
packages/block-library/src/tabs/edit.js Replaces inline sync effect with useTabMenuSync and expands selection to include the tab-panel and tabs-menu clientIds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/block-library/src/tabs/use-tab-menu-sync.js Outdated
Comment thread packages/block-library/src/tabs/test/use-tab-menu-sync.js Outdated
@mikachan mikachan requested review from scruffian and t-hamano April 14, 2026 16:34
# Conflicts:
#	packages/block-library/src/tabs/edit.js

@t-hamano t-hamano 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.

Thanks for the PR!

Broadly speaking, I think there are two main points to address:

We need to consider the possibility that multiple blocks may be deleted; otherwise, orphaned blocks could occur.

Recording.2026-04-15.183744.mp4

Another point is that useTabMenuSync is for block synchronization, so it shouldn't create an undo history. I believe we need to add __unstableMarkNextChangeAsNotPersistent before removeBlock, insertBlock, and replaceInnerBlocks.

Comment thread packages/block-library/src/tabs/use-tab-menu-sync.js Outdated
Comment thread packages/block-library/src/tabs/test/use-tab-menu-sync.js Outdated
@mikachan

Copy link
Copy Markdown
Member Author

Thanks for the review, @t-hamano!

We need to consider the possibility that multiple blocks may be deleted; otherwise, orphaned blocks could occur.

Good spot, this should be fixed in f49f46d. I've also added __unstableMarkNextChangeAsNotPersistent() so it doesn't create an undo history.

@t-hamano t-hamano 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.

Thanks for the update! This PR works well, and the undo/redo operations function correctly.

Comment thread packages/block-library/src/tabs/test/use-tab-menu-sync.js Outdated
Comment thread packages/block-library/src/tabs/use-tab-menu-sync.js Outdated
@mikachan mikachan merged commit 675f99c into trunk Apr 16, 2026
43 of 47 checks passed
@mikachan mikachan deleted the update/handle-duplicating-tabs branch April 16, 2026 14:24
@github-actions github-actions Bot added this to the Gutenberg 23.1 milestone Apr 16, 2026
ciampo pushed a commit that referenced this pull request Apr 16, 2026
* Handle sync when deleting and copying tabs

* Generate a new tab ID when a tab is duplicated

* Extract sync logic to hook

* Add tests

* Only update sync snapshot when necessary

* Add one-sided insertion test

* Replace removed boolean flags in useTabMenuSync

* Remove refs to anchors

* Fix reordering regression

* Handle bulk deletions and suppress sync undo

* Replace insertBlock with insertBlocks

* Remove test helpers

* Replace map with spreads

* Remove unit tests for useTabMenuSync

Co-authored-by: mikachan <[email protected]>
Co-authored-by: t-hamano <[email protected]>
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 `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`).

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

The following commits are included:
- Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287)
- Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357)
- Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367)
- Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354)
- Test: Connectors Point to the righ page. (WordPress/gutenberg#77272)
- Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358)
- UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332)
- Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378)
- Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373)
- Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368)
- EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- UI: Use shared style-imports types (WordPress/gutenberg#77388)
- Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968)
- Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254)
- Externalize react-dom/client (WordPress/gutenberg#77326)
- Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364)
- Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383)
- Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879)
- Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370)
- Share React CSS custom properties typing (WordPress/gutenberg#77394)
- Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414)
- Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417)
- Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379)
- Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369)
- blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393)
- Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424)
- Tabs: Handle duplicating tabs (WordPress/gutenberg#76449)
- Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171)
- UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381)
- viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410)
- Update changelog for blocks package (WordPress/gutenberg#77437)
- Tabs: Clean up Edit components (WordPress/gutenberg#77426)
- Media editor: remove unused dependency (WordPress/gutenberg#77438)
- Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650)
- Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411)
- UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165)
- ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319)
- docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338)
- Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914)
- Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422)
- Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949)
- Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420)
- Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432)
- Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376)
- GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335)
- Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287)
- GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456)
- Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474)
- Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408)
- Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931)
- Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185)
- Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392)
- Add heading level 1 for the fonts page (WordPress/gutenberg#77482)
- CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468)
- Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217)
- Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469)
- EditSite: Remove unused CSS rule (WordPress/gutenberg#77494)
- Card: Remove unused CardContext (WordPress/gutenberg#77463)
- design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159)
- Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112)
- Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440)
- Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888)
- Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036)
- Convert tests/unit to npm workspace (WordPress/gutenberg#77063)
- UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452)
- Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451)
- Experiment: Add custom taxonomies (WordPress/gutenberg#77497)
- Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758)
- UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194)
- Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519)
- Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512)
- Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461)
- Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433)
- Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501)
- Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469)
- Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479)
- UI: Start recommending new Card components (WordPress/gutenberg#77423)
- Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480)
- Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191)
- Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536)
- Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537)
- Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418)
- [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)
- Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523)
- Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543)
- Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527)
- Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548)
- Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430)
- Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428)
- UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520)
- components: Menu popover render + surface/motion split (WordPress/gutenberg#77460)
- Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506)
- Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215)
- UI: Add Drawer primitive (WordPress/gutenberg#76690)
- Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566)
- Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567)
- Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565)
- Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550)
- Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540)
- Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585)
- Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586)
- Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547)
- Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350)
- Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546)
- fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588)
- fix: edit-post back button tooltip position (WordPress/gutenberg#77587)
- Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590)
- Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524)
- Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593)
- Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589)
- wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568)
- Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384)
- ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389)
- Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569)
- Media: Move image output format filtering to upload response (WordPress/gutenberg#75793)
- Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573)
- Experiment: Fix console errors/warnings  for taxonomies (WordPress/gutenberg#77601)
- Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603)
- Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591)
- Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581)
- Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639)
- Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597)
- Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635)
- Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592)
- Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916)
- Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637)
- ButtonGroup: Inline z-index (WordPress/gutenberg#77621)
- VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575)
- Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605)
- FormToggle: Inline z-index (WordPress/gutenberg#77619)
- ResizableBox: Inline handle z-index (WordPress/gutenberg#77620)
- Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993)
- RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631)
- Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443)
- Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661)
- Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177)
- Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680)
- Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664)
- Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663)
- [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088)
- ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693)
- ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648)
- ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692)
- UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642)
- Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617)
- ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559)
- e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725)
- Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728)
- Image editor: formalize cropper contract (WordPress/gutenberg#77668)
- Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665)
- Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641)
- Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657)
- Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730)
- `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552)
- Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556)
- Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607)
- Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733)
- DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554)
- Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660)
- fix: disable custom css command for non block themes (WordPress/gutenberg#77685)
- Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684)
- Notes: Refactor internals into smaller components (WordPress/gutenberg#77614)
- Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689)
- Admin UI: use UI Text component in header (WordPress/gutenberg#77372)
- I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214)
- Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012)
- ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691)
- Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714)
- CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715)
- ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717)
- Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747)
- Tooltip: Fix flaky unit test (WordPress/gutenberg#77751)
- Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683)
- RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669)
- Add `@wordpress/grid` package (WordPress/gutenberg#77562)
- Base styles: update changelog to be clearer (WordPress/gutenberg#77767)
- Media editor modal: add interactive grid (WordPress/gutenberg#77771)
- Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732)
- Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638)
- Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776)
- Guidelines: Extract initial public API methods (WordPress/gutenberg#77643)
- Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551)
- Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734)
- Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765)
- Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750)
- Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483)
- Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827)
- Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780)
- Connectors: keep focus on action Button during install (WordPress/gutenberg#77544)
- Widgets: add widget-types data layer (WordPress/gutenberg#77752)
- Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769)
- CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667)
- Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774)
- Grid: add @types/jest devDependency (WordPress/gutenberg#77801)
- Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799)
- User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802)
- Experiment: Taxonomies REST controller (WordPress/gutenberg#77697)
- Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786)
- UI: Recommend Link component for use (WordPress/gutenberg#77505)
- ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)

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

git-svn-id: https://develop.svn.wordpress.org/trunk@62581 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 `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`).

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

The following commits are included:
- Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287)
- Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357)
- Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367)
- Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354)
- Test: Connectors Point to the righ page. (WordPress/gutenberg#77272)
- Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358)
- UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332)
- Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378)
- Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373)
- Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368)
- EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- UI: Use shared style-imports types (WordPress/gutenberg#77388)
- Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968)
- Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254)
- Externalize react-dom/client (WordPress/gutenberg#77326)
- Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364)
- Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383)
- Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879)
- Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370)
- Share React CSS custom properties typing (WordPress/gutenberg#77394)
- Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414)
- Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417)
- Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379)
- Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369)
- blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393)
- Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424)
- Tabs: Handle duplicating tabs (WordPress/gutenberg#76449)
- Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171)
- UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381)
- viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410)
- Update changelog for blocks package (WordPress/gutenberg#77437)
- Tabs: Clean up Edit components (WordPress/gutenberg#77426)
- Media editor: remove unused dependency (WordPress/gutenberg#77438)
- Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650)
- Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411)
- UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165)
- ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319)
- docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338)
- Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914)
- Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422)
- Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949)
- Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420)
- Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432)
- Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376)
- GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335)
- Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287)
- GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456)
- Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474)
- Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408)
- Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931)
- Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185)
- Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392)
- Add heading level 1 for the fonts page (WordPress/gutenberg#77482)
- CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468)
- Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217)
- Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469)
- EditSite: Remove unused CSS rule (WordPress/gutenberg#77494)
- Card: Remove unused CardContext (WordPress/gutenberg#77463)
- design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159)
- Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112)
- Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440)
- Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888)
- Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036)
- Convert tests/unit to npm workspace (WordPress/gutenberg#77063)
- UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452)
- Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451)
- Experiment: Add custom taxonomies (WordPress/gutenberg#77497)
- Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758)
- UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194)
- Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519)
- Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512)
- Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461)
- Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433)
- Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501)
- Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469)
- Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479)
- UI: Start recommending new Card components (WordPress/gutenberg#77423)
- Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480)
- Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191)
- Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536)
- Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537)
- Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418)
- [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)
- Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523)
- Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543)
- Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527)
- Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548)
- Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430)
- Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428)
- UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520)
- components: Menu popover render + surface/motion split (WordPress/gutenberg#77460)
- Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506)
- Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215)
- UI: Add Drawer primitive (WordPress/gutenberg#76690)
- Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566)
- Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567)
- Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565)
- Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550)
- Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540)
- Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585)
- Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586)
- Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547)
- Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350)
- Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546)
- fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588)
- fix: edit-post back button tooltip position (WordPress/gutenberg#77587)
- Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590)
- Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524)
- Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593)
- Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589)
- wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568)
- Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384)
- ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389)
- Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569)
- Media: Move image output format filtering to upload response (WordPress/gutenberg#75793)
- Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573)
- Experiment: Fix console errors/warnings  for taxonomies (WordPress/gutenberg#77601)
- Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603)
- Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591)
- Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581)
- Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639)
- Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597)
- Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635)
- Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592)
- Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916)
- Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637)
- ButtonGroup: Inline z-index (WordPress/gutenberg#77621)
- VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575)
- Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605)
- FormToggle: Inline z-index (WordPress/gutenberg#77619)
- ResizableBox: Inline handle z-index (WordPress/gutenberg#77620)
- Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993)
- RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631)
- Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443)
- Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661)
- Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177)
- Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680)
- Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664)
- Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663)
- [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088)
- ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693)
- ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648)
- ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692)
- UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642)
- Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617)
- ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559)
- e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725)
- Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728)
- Image editor: formalize cropper contract (WordPress/gutenberg#77668)
- Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665)
- Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641)
- Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657)
- Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730)
- `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552)
- Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556)
- Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607)
- Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733)
- DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554)
- Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660)
- fix: disable custom css command for non block themes (WordPress/gutenberg#77685)
- Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684)
- Notes: Refactor internals into smaller components (WordPress/gutenberg#77614)
- Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689)
- Admin UI: use UI Text component in header (WordPress/gutenberg#77372)
- I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214)
- Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012)
- ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691)
- Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714)
- CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715)
- ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717)
- Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747)
- Tooltip: Fix flaky unit test (WordPress/gutenberg#77751)
- Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683)
- RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669)
- Add `@wordpress/grid` package (WordPress/gutenberg#77562)
- Base styles: update changelog to be clearer (WordPress/gutenberg#77767)
- Media editor modal: add interactive grid (WordPress/gutenberg#77771)
- Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732)
- Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638)
- Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776)
- Guidelines: Extract initial public API methods (WordPress/gutenberg#77643)
- Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551)
- Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734)
- Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765)
- Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750)
- Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483)
- Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827)
- Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780)
- Connectors: keep focus on action Button during install (WordPress/gutenberg#77544)
- Widgets: add widget-types data layer (WordPress/gutenberg#77752)
- Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769)
- CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667)
- Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774)
- Grid: add @types/jest devDependency (WordPress/gutenberg#77801)
- Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799)
- User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802)
- Experiment: Taxonomies REST controller (WordPress/gutenberg#77697)
- Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786)
- UI: Recommend Link component for use (WordPress/gutenberg#77505)
- ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)

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


git-svn-id: http://core.svn.wordpress.org/trunk@61861 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 `7295bd91a3c2b64bb11dde0a12313210d9d16a12 ` (version `23.0.0`) to `585cf86bb6f408b1dc61175f75db016aa4760653` (version `23.1.0`).

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

The following commits are included:
- Edit Site: Move show-icon-labels handling to specific edit-site call sites (WordPress/gutenberg#77287)
- Boot: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77357)
- Image: Fix non-local image ID removal undo trap (WordPress/gutenberg#77367)
- Block Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77354)
- Test: Connectors Point to the righ page. (WordPress/gutenberg#77272)
- Commands: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77358)
- UI: use Text in Notice.ActionLink typography (WordPress/gutenberg#77332)
- Jest setup: remove unneeded rAF polyfills (WordPress/gutenberg#77378)
- Fields: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77373)
- Widgets: Use --wpds-cursor-control design token (WordPress/gutenberg#77368)
- EditPost: Use `--wpds-cursor-control` design token for interactive controls (WordPress/gutenberg#77360)
- Post Editor: Store metaboxes RTC-compatible flag on location entries (WordPress/gutenberg#77361)
- UI: Use shared style-imports types (WordPress/gutenberg#77388)
- Stop adding “noreferrer” to external links except File block. (WordPress/gutenberg#26968)
- Core Abilities: Export initialization promise as `ready` (WordPress/gutenberg#77254)
- Externalize react-dom/client (WordPress/gutenberg#77326)
- Data: Export and consolidate 'onSubKey' helper (WordPress/gutenberg#77364)
- Paragraph: Refactor replacement logic in 'useOnEnter' hook (WordPress/gutenberg#77383)
- Fix pseudo selector block style rendering in the editor (WordPress/gutenberg#76879)
- Tabs: Lock top-level structure and disable visibility controls (WordPress/gutenberg#77370)
- Share React CSS custom properties typing (WordPress/gutenberg#77394)
- Notes: Refactor and extract offset calculation logic (WordPress/gutenberg#77414)
- Tabs: Remove redundant version field from block.json (WordPress/gutenberg#77417)
- Latest Comments: Fix uneven padding issue causing mis-alignment (WordPress/gutenberg#77379)
- Workflow: Use --wpds-cursor-control design token (WordPress/gutenberg#77369)
- blocks: Port over some of the type information for @wordpress/blocks from DefinitelyTyped (WordPress/gutenberg#77393)
- Notes: Extract floating notes state into a dedicated store (WordPress/gutenberg#77424)
- Tabs: Handle duplicating tabs (WordPress/gutenberg#76449)
- Components: Refactor NavigableContainer from class to function component (WordPress/gutenberg#77171)
- UI: Fix focus-trap broken by ThemeProvider's display:contents (WordPress/gutenberg#77381)
- viewport visibility: use 'key' instead of 'value' for device type (WordPress/gutenberg#77410)
- Update changelog for blocks package (WordPress/gutenberg#77437)
- Tabs: Clean up Edit components (WordPress/gutenberg#77426)
- Media editor: remove unused dependency (WordPress/gutenberg#77438)
- Block Editor: Strip per-block custom CSS on save for users without edit_css (WordPress/gutenberg#76650)
- Ensure Post Template fallback styles don't apply when minimumColumnWidth is defined (WordPress/gutenberg#77411)
- UI: Upgrade title validation to cleanup-based re-validation (WordPress/gutenberg#77165)
- ui/Tabs: Fix `act()` warnings in tests (WordPress/gutenberg#77319)
- docs: Clarify UI package setup for different contexts (WordPress/gutenberg#77338)
- Fix: Preserve aspectRatio and scale when switching to wide/full align… (WordPress/gutenberg#76914)
- Link: Honor `openInNewTab` consistently (WordPress/gutenberg#77422)
- Block Supports: Add min width support to dimensions (WordPress/gutenberg#76949)
- Link: Remove underline from unstyled icon links (WordPress/gutenberg#77420)
- Theme: Update Terrazzo packages to 2.0 (WordPress/gutenberg#77432)
- Editor: Use `--wpds-cursor-control` design token (WordPress/gutenberg#77376)
- GlobalStylesUI: Use `--wpds-cursor-control` design token for interact… (WordPress/gutenberg#77335)
- Typescript: Migrate keyboard-shortcuts to TS (WordPress/gutenberg#76287)
- GlobalStylesUI: Remove unused CSS rule (WordPress/gutenberg#77456)
- Writing Flow: fix arrow keys skipping paragraph containing link (WordPress/gutenberg#77474)
- Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings (WordPress/gutenberg#77408)
- Fix: Change Featured Image toggle label to 'Make image a link' (WordPress/gutenberg#71931)
- Autocomplete: Skip stale triggers from completed mentions (WordPress/gutenberg#77185)
- Fix: Add cursor pointer to the ariakit menu item component - Issue - WordPress/gutenberg#70411 (WordPress/gutenberg#70412)
- Guidelines CPT: Skip registration when post type already exists (WordPress/gutenberg#77486)
- ESLint: Introduce bulk suppressions workflow (WordPress/gutenberg#77392)
- Add heading level 1 for the fonts page (WordPress/gutenberg#77482)
- CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin (WordPress/gutenberg#77468)
- Docs: Add ESLint v10 migration guide and polish docs (WordPress/gutenberg#77217)
- Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin (WordPress/gutenberg#77469)
- EditSite: Remove unused CSS rule (WordPress/gutenberg#77494)
- Card: Remove unused CardContext (WordPress/gutenberg#77463)
- design-system-mcp: Add new package for design system MCP tooling (WordPress/gutenberg#77159)
- Storybook: Fix component descriptions in manifest files (WordPress/gutenberg#77112)
- Notes: Reduce passes in useBlockComments memo and rename outputs (WordPress/gutenberg#77440)
- Upload Media: Enable concurrent sideload uploads (WordPress/gutenberg#75888)
- Deduplicate client-side image sizes with matching dimensions (WordPress/gutenberg#77036)
- Convert tests/unit to npm workspace (WordPress/gutenberg#77063)
- UI: Portal prop and Portal subcomponents for overlay Popups (WordPress/gutenberg#77452)
- Storybook: add global preview styles for @wordpress/ui overlays (WordPress/gutenberg#77451)
- Experiment: Add custom taxonomies (WordPress/gutenberg#77497)
- Storybook: Fix 'Open source file' links for storybook-local stories (WordPress/gutenberg#76758)
- UI Dialog: Add Description, modal context, and misc improvements (WordPress/gutenberg#77194)
- Docs: Update parameter type from `number` to `int` in CSS declaration methods (WordPress/gutenberg#77519)
- Fix: use node_modules/.bin/stylelint to avoid npm warnings on Node 24 (WordPress/gutenberg#77512)
- Text: Apply both heading and paragraph CSS defenses unconditionally (WordPress/gutenberg#77461)
- Notes: Compute note positions centrally in useFloatingBoard (WordPress/gutenberg#77433)
- Stylelint: Add cursor pointer rule and block-library override (WordPress/gutenberg#77501)
- Admin UI: Add visual prop to Page header component (WordPress/gutenberg#76469)
- Fix: post saving should be locked during media uploads (WordPress/gutenberg#76973)
- RTC: Fixed orphaned meta causing dirty editor state (WordPress/gutenberg#77529)
- Media Editor experiment: add experimental image editor and cropper (WordPress/gutenberg#77479)
- UI: Start recommending new Card components (WordPress/gutenberg#77423)
- Media Editor Modal: Add a media editor modal experiment (WordPress/gutenberg#77480)
- Expand support for `isElementVisible` (`VisuallyHidden`) (WordPress/gutenberg#77191)
- Experiments Page: Update labels for the media-related experiments to group them together and better clarify what the experiments do (WordPress/gutenberg#77536)
- Media Editor: render cropper in media editor modal for images (WordPress/gutenberg#77537)
- Tabs: Rename tabs blocks to follow WCAG Tabs pattern (WordPress/gutenberg#77418)
- [Video Block]: Update z-index for tracks popover to ensure proper stacking context (WordPress/gutenberg#77517)
- Guidelines: Make the CPT type-aware (WordPress/gutenberg#77491)
- Taxonomies: add spacing above Add Taxonomy modal actions (WordPress/gutenberg#77523)
- Taxonomies Route: Declare @wordpress/base-styles dependency (WordPress/gutenberg#77543)
- Taxonomies: warn when editing an existing taxonomy's slug (WordPress/gutenberg#77527)
- Site Logo Block: Enable the media editor modal experiment for the crop button (WordPress/gutenberg#77548)
- Menu: Fix flaky submenu focus test (WordPress/gutenberg#77430)
- Add no-unsafe-render-order ESLint rule (WordPress/gutenberg#77428)
- UI: Update `@base-ui/react` from `1.4.0` to `1.4.1` (WordPress/gutenberg#77520)
- components: Menu popover render + surface/motion split (WordPress/gutenberg#77460)
- Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion (WordPress/gutenberg#77506)
- Consolidate ESLint config into tools/eslint/ workspace package (WordPress/gutenberg#77215)
- UI: Add Drawer primitive (WordPress/gutenberg#76690)
- Fix import order in block-editor `custom-css.js` (WordPress/gutenberg#77566)
- Experiment: Follow up improvements on taxonomies(77497) (WordPress/gutenberg#77567)
- Client-side media: declare convert_format as boolean arg on sideload route (WordPress/gutenberg#77565)
- Media Upload Modal: Enhance filtering logic to support "text/vtt" and "video/*" (WordPress/gutenberg#77550)
- Media Editor: add cropper controls to the media editor modal (WordPress/gutenberg#77540)
- Media Editor: add zoom control and hide fine rotation on narrow viewports (WordPress/gutenberg#77585)
- Remove ZebulanStanphill from CODEOWNERS (WordPress/gutenberg#77586)
- Image editor: reserve inner gutter so crop handles stay accessible (WordPress/gutenberg#77547)
- Docs: Auto-generate per-block API reference pages from block.json (WordPress/gutenberg#77350)
- Embed: Fix variation upgrade undo trap (WordPress/gutenberg#77546)
- fix: block-mover up/down button tooltip positions (WordPress/gutenberg#77588)
- fix: edit-post back button tooltip position (WordPress/gutenberg#77587)
- Revert "Docs: Auto-generate per-block API reference pages from block.json (https://github.com/WordPress/gutenberg/pull/7…" (WordPress/gutenberg#77590)
- Experiment: Add delete action to taxonomy management (WordPress/gutenberg#77524)
- Tests: Remove duplicate mentions spec (WordPress/gutenberg#77593)
- Notes: Refactor to use new '@wordpress/ui' components (WordPress/gutenberg#77589)
- wp-build: Widen optional peer dependency ranges (WordPress/gutenberg#77568)
- Eslint: Improve design token linting for CSS declaration strings (WordPress/gutenberg#77384)
- ESLint: Add `use-import-as` rule (WordPress/gutenberg#77389)
- Experiments: register `gutenberg-dashboard-widgets` flag (WordPress/gutenberg#77569)
- Media: Move image output format filtering to upload response (WordPress/gutenberg#75793)
- Dashboard: register admin page route + sidebar menu (shell) (WordPress/gutenberg#77573)
- Experiment: Fix console errors/warnings  for taxonomies (WordPress/gutenberg#77601)
- Experiment: Improve `taxonomies` DataViews height (WordPress/gutenberg#77603)
- Experimental Image Cropper: Ensure focus is on canvas when dragging (WordPress/gutenberg#77591)
- Template parts: make 'Detach' context menu item consistent across patterns and template parts (WordPress/gutenberg#77581)
- Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas (WordPress/gutenberg#77639)
- Fix: block-mover horizontal tooltip position (WordPress/gutenberg#77597)
- Experiment: Render taxonomy status as a Badge (WordPress/gutenberg#77635)
- Guidelines: Drop default_term from wp_guideline_type taxonomy (WordPress/gutenberg#77592)
- Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button (WordPress/gutenberg#61916)
- Experiment: Split status action to two actions, make them bulk-capable (WordPress/gutenberg#77637)
- ButtonGroup: Inline z-index (WordPress/gutenberg#77621)
- VisuallyHidden: Recommend @wordpress/ui and migrate usages (WordPress/gutenberg#77575)
- Experiment: Improve taxonomy `edit` action (WordPress/gutenberg#77605)
- FormToggle: Inline z-index (WordPress/gutenberg#77619)
- ResizableBox: Inline handle z-index (WordPress/gutenberg#77620)
- Build: Skip sourcemaps for WASM-inlined script module workers (WordPress/gutenberg#75993)
- RTC: Fix "Connection Lost" dialog when too many entities are loaded (WordPress/gutenberg#77631)
- Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern (WordPress/gutenberg#77443)
- Connectors: Treat network-active plugins as active in plugin status check (WordPress/gutenberg#77661)
- Update TypeScript to tsgo (7.0) (WordPress/gutenberg#77177)
- Revert tsgo update as it breaks trunk (WordPress/gutenberg#77680)
- Image editor: fix locked-ratio resize driver-axis on non-square images (WordPress/gutenberg#77664)
- Image editor: hold Shift while resizing to lock current aspect ratio (WordPress/gutenberg#77663)
- [Admin UI]: Move to CSS modules and implement logical properties (WordPress/gutenberg#77088)
- ui: Forward style and className on *.Popup to inner Base UI Popup (WordPress/gutenberg#77693)
- ui: Align WithCustomZIndex Storybook examples across overlays (WordPress/gutenberg#77648)
- ui: Uniform title and description styles across overlays (WordPress/gutenberg#77692)
- UI: Add `Autocomplete` primitive (WordPress/gutenberg#77642)
- Admin UI: change default heading level from h2 to h1 (WordPress/gutenberg#77617)
- ui/Dialog, ui/AlertDialog, ui/Drawer: support sticky header and footer (WordPress/gutenberg#77559)
- e2e: shorten visit-site-editor canvas-loader visible wait (WordPress/gutenberg#77725)
- Gutenberg Experiments: Ensure the experiment is active before outputting flags (WordPress/gutenberg#77728)
- Image editor: formalize cropper contract (WordPress/gutenberg#77668)
- Image Editor experiment: Pass theme aspect ratios to media editor (WordPress/gutenberg#77665)
- Media Editor Modal: save via Core's /edit modifiers (WordPress/gutenberg#77641)
- Experiment: Taxonomies new package and `add/edit` screens (WordPress/gutenberg#77657)
- Media editor: confirm before discarding unsaved changes (WordPress/gutenberg#77730)
- `FormTokenField`: Add `help` prop to render additional help text below the field (WordPress/gutenberg#77552)
- Migrate `test/integration` into `@wordpress/integration-tests` workspace (WordPress/gutenberg#77556)
- Tabs: Add classic theme styles to reset button defaults (WordPress/gutenberg#77607)
- Media Editor Modal: surface save failures as scoped snackbar notices (WordPress/gutenberg#77733)
- DataForm: Render field `description` as help text in the `array` control (WordPress/gutenberg#77554)
- Revisions: Improve screen reader accessibility for diff markers region and slider (WordPress/gutenberg#77660)
- fix: disable custom css command for non block themes (WordPress/gutenberg#77685)
- Experiments: Declare `@wordpress/base-styles` dependency (WordPress/gutenberg#77684)
- Notes: Refactor internals into smaller components (WordPress/gutenberg#77614)
- Connectors: Add role="list" wrapper to connector cards for valid ARIA structure (WordPress/gutenberg#77689)
- Admin UI: use UI Text component in header (WordPress/gutenberg#77372)
- I18N: Polyfill script module translations for WordPress < 7.0 (WordPress/gutenberg#77214)
- Refactor Admin UI / Breadcrumbs to use DS components and design tokens (WordPress/gutenberg#77012)
- ui: Unify hairline border across overlay popups (WordPress/gutenberg#77691)
- Base Styles: Remove stale z-index entries (WordPress/gutenberg#77714)
- CircularOptionPicker: Inline z-index values (WordPress/gutenberg#77715)
- ComplementaryArea: Inline z-index values (WordPress/gutenberg#77717)
- Disable TinyMCE: Warning instead of direct redirect (WordPress/gutenberg#77747)
- Tooltip: Fix flaky unit test (WordPress/gutenberg#77751)
- Admin UI: ensure consistent header spacing with and without actions (WordPress/gutenberg#76683)
- RTC: fix connection lost error on large update cause by mismatch between update size bounds check and expanded base64 update size (WordPress/gutenberg#77669)
- Add `@wordpress/grid` package (WordPress/gutenberg#77562)
- Base styles: update changelog to be clearer (WordPress/gutenberg#77767)
- Media editor modal: add interactive grid (WordPress/gutenberg#77771)
- Media editor: avoid double-mount flicker on open (WordPress/gutenberg#77732)
- Command Palette: Fix macOs label for sites unable to determine UA via PHP (WordPress/gutenberg#77638)
- Accordion: Remove invalid `isBlock` prop from `ToggleControl` (WordPress/gutenberg#77776)
- Guidelines: Extract initial public API methods (WordPress/gutenberg#77643)
- Embed: Restore paragraph with URL when undoing paste-to-embed transform (WordPress/gutenberg#77551)
- Guidelines: Split singleton REST API into dedicated /content-guidelines route (WordPress/gutenberg#77734)
- Allow EmptyState from @wordpress/ui in recommended components (WordPress/gutenberg#77765)
- Block Editor: Fix blockGap fallback parsing for nested var() values (WordPress/gutenberg#77750)
- Core Data: Remove redundant memoization wrapper from 'getQueriedItems' (WordPress/gutenberg#77483)
- Enhancement: Add descriptive name for docker container images (WordPress/gutenberg#67827)
- Fix: Add Missing Dimension Controls & Limited Customization in Accordion Block (WordPress/gutenberg#77780)
- Connectors: keep focus on action Button during install (WordPress/gutenberg#77544)
- Widgets: add widget-types data layer (WordPress/gutenberg#77752)
- Grid: fix `width: 'fill'` when tiles span multiple rows (WordPress/gutenberg#77769)
- CollapsibleCard: Prevent focus ring clipping by content overflow (WordPress/gutenberg#77667)
- Block editor: Remove stale reusable block z-index styles (WordPress/gutenberg#77774)
- Grid: add @types/jest devDependency (WordPress/gutenberg#77801)
- Env: Minor refactoring of cacheDirectoryPath evaluation (WordPress/gutenberg#77799)
- User Taxonomies: show Public field in create/edit form (WordPress/gutenberg#77802)
- Experiment: Taxonomies REST controller (WordPress/gutenberg#77697)
- Experiment: Taxonomies implement `auto-fill labels` (WordPress/gutenberg#77786)
- UI: Recommend Link component for use (WordPress/gutenberg#77505)
- ExternalLink: Align appearance with Link from @wordpress/ui (WordPress/gutenberg#77790)
- Disable TinyMCE: Repurpose experiment as Classic block removal (WordPress/gutenberg#77838)
- Media Upload Modal: Fix pagination and search (WordPress/gutenberg#77872)
- Disable Classic block: Always register, hide from inserter conditionally (WordPress/gutenberg#77840)
- Disable Classic block: Control inserter support via filter (WordPress/gutenberg#77845)
- Classic Block: Unwrap experiment to hide it from inserter (WordPress/gutenberg#77911)
- RTC: Attach sync observers after hydrating persisted CRDT doc (WordPress/gutenberg#77966)
- RTC: Fix compaction unit test (WordPress/gutenberg#77986)
- RTC: Fix divergence when two offline users reconnect (WordPress/gutenberg#77980)
- Fix PHP multisite tests (WordPress/gutenberg#77825)
- Connectors: Stop e2e capability restriction from leaking across specs (WordPress/gutenberg#77857)

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

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

Labels

[Block] Tabs Affects the Tabs Block [Package] Block library /packages/block-library [Type] Enhancement A suggestion for improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants