@wordpress/editor 14.45.0 → 14.45.2-next.v.202605131006.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +12 -0
  3. package/build/components/collab-sidebar/index.cjs +42 -25
  4. package/build/components/collab-sidebar/index.cjs.map +2 -2
  5. package/build/components/collab-sidebar/note-thread.cjs +19 -9
  6. package/build/components/collab-sidebar/note-thread.cjs.map +2 -2
  7. package/build/components/collab-sidebar/notes.cjs +8 -6
  8. package/build/components/collab-sidebar/notes.cjs.map +2 -2
  9. package/build/components/collab-sidebar/utils.cjs +24 -9
  10. package/build/components/collab-sidebar/utils.cjs.map +2 -2
  11. package/build/components/collaborators-presence/index.cjs +0 -10
  12. package/build/components/collaborators-presence/index.cjs.map +3 -3
  13. package/build/components/collaborators-presence/list.cjs +0 -10
  14. package/build/components/collaborators-presence/list.cjs.map +3 -3
  15. package/build/components/post-last-revision/index.cjs +5 -0
  16. package/build/components/post-last-revision/index.cjs.map +2 -2
  17. package/build/components/post-publish-panel/index.cjs +112 -124
  18. package/build/components/post-publish-panel/index.cjs.map +3 -3
  19. package/build/components/post-revisions-preview/block-diff.cjs +91 -23
  20. package/build/components/post-revisions-preview/block-diff.cjs.map +2 -2
  21. package/build/components/post-revisions-preview/diff-markers.cjs +3 -2
  22. package/build/components/post-revisions-preview/diff-markers.cjs.map +2 -2
  23. package/build/components/post-revisions-preview/revisions-slider.cjs +98 -50
  24. package/build/components/post-revisions-preview/revisions-slider.cjs.map +2 -2
  25. package/build/store/private-actions.cjs +21 -0
  26. package/build/store/private-actions.cjs.map +2 -2
  27. package/build/store/private-selectors.cjs +93 -42
  28. package/build/store/private-selectors.cjs.map +2 -2
  29. package/build/store/reducer.cjs +15 -0
  30. package/build/store/reducer.cjs.map +2 -2
  31. package/build/store/selectors.cjs.map +2 -2
  32. package/build-module/components/collab-sidebar/index.mjs +42 -25
  33. package/build-module/components/collab-sidebar/index.mjs.map +2 -2
  34. package/build-module/components/collab-sidebar/note-thread.mjs +24 -10
  35. package/build-module/components/collab-sidebar/note-thread.mjs.map +2 -2
  36. package/build-module/components/collab-sidebar/notes.mjs +8 -6
  37. package/build-module/components/collab-sidebar/notes.mjs.map +2 -2
  38. package/build-module/components/collab-sidebar/utils.mjs +22 -8
  39. package/build-module/components/collab-sidebar/utils.mjs.map +2 -2
  40. package/build-module/components/collaborators-presence/index.mjs +0 -10
  41. package/build-module/components/collaborators-presence/index.mjs.map +3 -3
  42. package/build-module/components/collaborators-presence/list.mjs +0 -10
  43. package/build-module/components/collaborators-presence/list.mjs.map +3 -3
  44. package/build-module/components/post-last-revision/index.mjs +5 -0
  45. package/build-module/components/post-last-revision/index.mjs.map +2 -2
  46. package/build-module/components/post-publish-panel/index.mjs +120 -129
  47. package/build-module/components/post-publish-panel/index.mjs.map +2 -2
  48. package/build-module/components/post-revisions-preview/block-diff.mjs +91 -23
  49. package/build-module/components/post-revisions-preview/block-diff.mjs.map +2 -2
  50. package/build-module/components/post-revisions-preview/diff-markers.mjs +3 -2
  51. package/build-module/components/post-revisions-preview/diff-markers.mjs.map +2 -2
  52. package/build-module/components/post-revisions-preview/revisions-slider.mjs +101 -53
  53. package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +2 -2
  54. package/build-module/store/private-actions.mjs +20 -0
  55. package/build-module/store/private-actions.mjs.map +2 -2
  56. package/build-module/store/private-selectors.mjs +95 -43
  57. package/build-module/store/private-selectors.mjs.map +2 -2
  58. package/build-module/store/reducer.mjs +14 -0
  59. package/build-module/store/reducer.mjs.map +2 -2
  60. package/build-module/store/selectors.mjs.map +2 -2
  61. package/build-style/style-rtl.css +398 -33
  62. package/build-style/style.css +398 -33
  63. package/build-types/bindings/api.d.ts +1 -1
  64. package/build-types/bindings/api.d.ts.map +1 -1
  65. package/build-types/bindings/pattern-overrides.d.ts +8 -5
  66. package/build-types/bindings/pattern-overrides.d.ts.map +1 -1
  67. package/build-types/bindings/post-data.d.ts +8 -5
  68. package/build-types/bindings/post-data.d.ts.map +1 -1
  69. package/build-types/bindings/post-meta.d.ts +10 -7
  70. package/build-types/bindings/post-meta.d.ts.map +1 -1
  71. package/build-types/bindings/term-data.d.ts +9 -6
  72. package/build-types/bindings/term-data.d.ts.map +1 -1
  73. package/build-types/components/autocompleters/index.d.ts +2 -2
  74. package/build-types/components/autocompleters/index.d.ts.map +1 -1
  75. package/build-types/components/autocompleters/link.d.ts +6 -10
  76. package/build-types/components/autocompleters/link.d.ts.map +1 -1
  77. package/build-types/components/autocompleters/user.d.ts +7 -12
  78. package/build-types/components/autocompleters/user.d.ts.map +1 -1
  79. package/build-types/components/autosave-monitor/index.d.ts +28 -4
  80. package/build-types/components/autosave-monitor/index.d.ts.map +1 -1
  81. package/build-types/components/block-removal-warnings/index.d.ts +3 -0
  82. package/build-types/components/block-removal-warnings/index.d.ts.map +1 -1
  83. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts +7 -7
  84. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -1
  85. package/build-types/components/block-visibility/index.d.ts.map +1 -1
  86. package/build-types/components/blog-title/index.d.ts.map +1 -1
  87. package/build-types/components/character-count/index.d.ts.map +1 -1
  88. package/build-types/components/collab-sidebar/add-note-menu-item.d.ts +2 -2
  89. package/build-types/components/collab-sidebar/add-note-menu-item.d.ts.map +1 -1
  90. package/build-types/components/collab-sidebar/add-note.d.ts +2 -2
  91. package/build-types/components/collab-sidebar/add-note.d.ts.map +1 -1
  92. package/build-types/components/collab-sidebar/board-store.d.ts +1 -1
  93. package/build-types/components/collab-sidebar/board-store.d.ts.map +1 -1
  94. package/build-types/components/collab-sidebar/constants.d.ts +3 -3
  95. package/build-types/components/collab-sidebar/constants.d.ts.map +1 -1
  96. package/build-types/components/collab-sidebar/floating-container.d.ts +3 -3
  97. package/build-types/components/collab-sidebar/floating-container.d.ts.map +1 -1
  98. package/build-types/components/collab-sidebar/hooks.d.ts +7 -7
  99. package/build-types/components/collab-sidebar/hooks.d.ts.map +1 -1
  100. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  101. package/build-types/components/collab-sidebar/note-byline.d.ts +2 -2
  102. package/build-types/components/collab-sidebar/note-byline.d.ts.map +1 -1
  103. package/build-types/components/collab-sidebar/note-card.d.ts +3 -3
  104. package/build-types/components/collab-sidebar/note-card.d.ts.map +1 -1
  105. package/build-types/components/collab-sidebar/note-form.d.ts +4 -4
  106. package/build-types/components/collab-sidebar/note-form.d.ts.map +1 -1
  107. package/build-types/components/collab-sidebar/note-indicator-toolbar.d.ts +2 -2
  108. package/build-types/components/collab-sidebar/note-indicator-toolbar.d.ts.map +1 -1
  109. package/build-types/components/collab-sidebar/note-thread.d.ts +5 -5
  110. package/build-types/components/collab-sidebar/note-thread.d.ts.map +1 -1
  111. package/build-types/components/collab-sidebar/note.d.ts +4 -4
  112. package/build-types/components/collab-sidebar/note.d.ts.map +1 -1
  113. package/build-types/components/collab-sidebar/notes.d.ts +2 -2
  114. package/build-types/components/collab-sidebar/notes.d.ts.map +1 -1
  115. package/build-types/components/collab-sidebar/utils.d.ts +17 -24
  116. package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
  117. package/build-types/components/collaborators-overlay/cursor-dom-utils.d.ts.map +1 -1
  118. package/build-types/components/collaborators-overlay/cursor-registry.d.ts.map +1 -1
  119. package/build-types/components/collaborators-overlay/index.d.ts +4 -1
  120. package/build-types/components/collaborators-overlay/index.d.ts.map +1 -1
  121. package/build-types/components/collaborators-overlay/overlay.d.ts +1 -1
  122. package/build-types/components/collaborators-overlay/overlay.d.ts.map +1 -1
  123. package/build-types/components/collaborators-presence/avatar/component.d.ts.map +1 -1
  124. package/build-types/components/collaborators-presence/avatar-group/component.d.ts.map +1 -1
  125. package/build-types/components/collaborators-presence/index.d.ts +1 -2
  126. package/build-types/components/collaborators-presence/index.d.ts.map +1 -1
  127. package/build-types/components/collaborators-presence/list.d.ts +1 -2
  128. package/build-types/components/collaborators-presence/list.d.ts.map +1 -1
  129. package/build-types/components/collapsible-block-toolbar/index.d.ts.map +1 -1
  130. package/build-types/components/commands/index.d.ts.map +1 -1
  131. package/build-types/components/deprecated.d.ts +82 -53
  132. package/build-types/components/deprecated.d.ts.map +1 -1
  133. package/build-types/components/document-bar/index.d.ts +3 -3
  134. package/build-types/components/document-bar/index.d.ts.map +1 -1
  135. package/build-types/components/document-bar/useEditedSectionDetails.d.ts.map +1 -1
  136. package/build-types/components/document-outline/check.d.ts +2 -2
  137. package/build-types/components/document-outline/check.d.ts.map +1 -1
  138. package/build-types/components/document-outline/index.d.ts +2 -2
  139. package/build-types/components/document-outline/index.d.ts.map +1 -1
  140. package/build-types/components/document-outline/item.d.ts +5 -5
  141. package/build-types/components/document-outline/item.d.ts.map +1 -1
  142. package/build-types/components/document-tools/index.d.ts +1 -1
  143. package/build-types/components/document-tools/index.d.ts.map +1 -1
  144. package/build-types/components/editor/index.d.ts +7 -7
  145. package/build-types/components/editor/index.d.ts.map +1 -1
  146. package/build-types/components/editor-history/redo.d.ts +11 -2
  147. package/build-types/components/editor-history/redo.d.ts.map +1 -1
  148. package/build-types/components/editor-history/undo.d.ts +11 -2
  149. package/build-types/components/editor-history/undo.d.ts.map +1 -1
  150. package/build-types/components/editor-interface/index.d.ts +5 -5
  151. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  152. package/build-types/components/editor-notices/index.d.ts +1 -1
  153. package/build-types/components/editor-notices/index.d.ts.map +1 -1
  154. package/build-types/components/editor-snackbars/index.d.ts.map +1 -1
  155. package/build-types/components/entities-saved-states/entity-record-item.d.ts +1 -1
  156. package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -1
  157. package/build-types/components/entities-saved-states/entity-type-list.d.ts +2 -2
  158. package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -1
  159. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts +10 -1
  160. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts.map +1 -1
  161. package/build-types/components/entities-saved-states/index.d.ts +4 -4
  162. package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
  163. package/build-types/components/error-boundary/index.d.ts +18 -8
  164. package/build-types/components/error-boundary/index.d.ts.map +1 -1
  165. package/build-types/components/global-keyboard-shortcuts/index.d.ts.map +1 -1
  166. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts +1 -1
  167. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts.map +1 -1
  168. package/build-types/components/global-styles/block-link.d.ts +1 -1
  169. package/build-types/components/global-styles/block-link.d.ts.map +1 -1
  170. package/build-types/components/global-styles/header.d.ts +2 -2
  171. package/build-types/components/global-styles/header.d.ts.map +1 -1
  172. package/build-types/components/global-styles/hooks.d.ts +3 -3
  173. package/build-types/components/global-styles/hooks.d.ts.map +1 -1
  174. package/build-types/components/global-styles/index.d.ts +3 -3
  175. package/build-types/components/global-styles/index.d.ts.map +1 -1
  176. package/build-types/components/global-styles/menu.d.ts +2 -2
  177. package/build-types/components/global-styles/menu.d.ts.map +1 -1
  178. package/build-types/components/global-styles-provider/index.d.ts +1 -1
  179. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  180. package/build-types/components/global-styles-renderer/index.d.ts +1 -1
  181. package/build-types/components/global-styles-renderer/index.d.ts.map +1 -1
  182. package/build-types/components/global-styles-sidebar/default-sidebar.d.ts +6 -6
  183. package/build-types/components/global-styles-sidebar/default-sidebar.d.ts.map +1 -1
  184. package/build-types/components/global-styles-sidebar/index.d.ts.map +1 -1
  185. package/build-types/components/global-styles-sidebar/welcome-guide-image.d.ts +1 -1
  186. package/build-types/components/global-styles-sidebar/welcome-guide-image.d.ts.map +1 -1
  187. package/build-types/components/global-styles-sidebar/welcome-guide.d.ts.map +1 -1
  188. package/build-types/components/header/back-button.d.ts +3 -3
  189. package/build-types/components/header/back-button.d.ts.map +1 -1
  190. package/build-types/components/header/header-skeleton.d.ts +5 -5
  191. package/build-types/components/header/header-skeleton.d.ts.map +1 -1
  192. package/build-types/components/header/index.d.ts +2 -2
  193. package/build-types/components/header/index.d.ts.map +1 -1
  194. package/build-types/components/index.d.ts +94 -91
  195. package/build-types/components/index.d.ts.map +1 -1
  196. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
  197. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +3 -3
  198. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts.map +1 -1
  199. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts +1 -1
  200. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts.map +1 -1
  201. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts +1 -1
  202. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts.map +1 -1
  203. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +3 -3
  204. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts.map +1 -1
  205. package/build-types/components/list-view-sidebar/index.d.ts.map +1 -1
  206. package/build-types/components/list-view-sidebar/list-view-outline.d.ts.map +1 -1
  207. package/build-types/components/local-autosave-monitor/index.d.ts +12 -0
  208. package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -1
  209. package/build-types/components/media/index.d.ts +2 -2
  210. package/build-types/components/media/index.d.ts.map +1 -1
  211. package/build-types/components/media/media-editor-modal.d.ts.map +1 -1
  212. package/build-types/components/media/metadata-panel.d.ts.map +1 -1
  213. package/build-types/components/media/preview.d.ts.map +1 -1
  214. package/build-types/components/media-categories/index.d.ts +11 -4
  215. package/build-types/components/media-categories/index.d.ts.map +1 -1
  216. package/build-types/components/mode-switcher/index.d.ts +1 -1
  217. package/build-types/components/mode-switcher/index.d.ts.map +1 -1
  218. package/build-types/components/more-menu/copy-content-menu-item.d.ts.map +1 -1
  219. package/build-types/components/more-menu/index.d.ts.map +1 -1
  220. package/build-types/components/more-menu/tools-more-menu-group.d.ts +2 -2
  221. package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -1
  222. package/build-types/components/more-menu/view-more-menu-group.d.ts +2 -2
  223. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
  224. package/build-types/components/page-attributes/check.d.ts +3 -3
  225. package/build-types/components/page-attributes/check.d.ts.map +1 -1
  226. package/build-types/components/page-attributes/order.d.ts +1 -1
  227. package/build-types/components/page-attributes/order.d.ts.map +1 -1
  228. package/build-types/components/page-attributes/panel.d.ts +1 -1
  229. package/build-types/components/page-attributes/panel.d.ts.map +1 -1
  230. package/build-types/components/page-attributes/parent.d.ts +3 -3
  231. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  232. package/build-types/components/pattern-duplicate-modal/index.d.ts +1 -1
  233. package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -1
  234. package/build-types/components/pattern-overrides-panel/index.d.ts.map +1 -1
  235. package/build-types/components/pattern-rename-modal/index.d.ts +1 -1
  236. package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -1
  237. package/build-types/components/plugin-document-setting-panel/index.d.ts +8 -61
  238. package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -1
  239. package/build-types/components/plugin-more-menu-item/index.d.ts +5 -5
  240. package/build-types/components/plugin-more-menu-item/index.d.ts.map +1 -1
  241. package/build-types/components/plugin-post-publish-panel/index.d.ts +9 -40
  242. package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -1
  243. package/build-types/components/plugin-post-status-info/index.d.ts +6 -47
  244. package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -1
  245. package/build-types/components/plugin-pre-publish-panel/index.d.ts +9 -43
  246. package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -1
  247. package/build-types/components/plugin-preview-menu-item/index.d.ts +5 -5
  248. package/build-types/components/plugin-preview-menu-item/index.d.ts.map +1 -1
  249. package/build-types/components/plugin-sidebar/index.d.ts +4 -4
  250. package/build-types/components/plugin-sidebar/index.d.ts.map +1 -1
  251. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts +3 -3
  252. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -1
  253. package/build-types/components/post-actions/actions.d.ts +3 -3
  254. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  255. package/build-types/components/post-actions/index.d.ts +4 -4
  256. package/build-types/components/post-actions/index.d.ts.map +1 -1
  257. package/build-types/components/post-actions/set-as-homepage.d.ts +2 -2
  258. package/build-types/components/post-actions/set-as-homepage.d.ts.map +1 -1
  259. package/build-types/components/post-actions/set-as-posts-page.d.ts +2 -2
  260. package/build-types/components/post-actions/set-as-posts-page.d.ts.map +1 -1
  261. package/build-types/components/post-author/check.d.ts +2 -2
  262. package/build-types/components/post-author/check.d.ts.map +1 -1
  263. package/build-types/components/post-author/combobox.d.ts.map +1 -1
  264. package/build-types/components/post-author/constants.d.ts +10 -8
  265. package/build-types/components/post-author/constants.d.ts.map +1 -1
  266. package/build-types/components/post-author/hook.d.ts +1 -1
  267. package/build-types/components/post-author/hook.d.ts.map +1 -1
  268. package/build-types/components/post-author/index.d.ts +2 -2
  269. package/build-types/components/post-author/index.d.ts.map +1 -1
  270. package/build-types/components/post-author/panel.d.ts +1 -1
  271. package/build-types/components/post-author/panel.d.ts.map +1 -1
  272. package/build-types/components/post-author/select.d.ts.map +1 -1
  273. package/build-types/components/post-card-panel/index.d.ts +7 -7
  274. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  275. package/build-types/components/post-comments/index.d.ts +6 -1
  276. package/build-types/components/post-comments/index.d.ts.map +1 -1
  277. package/build-types/components/post-content-information/index.d.ts +1 -1
  278. package/build-types/components/post-content-information/index.d.ts.map +1 -1
  279. package/build-types/components/post-discussion/panel.d.ts +1 -1
  280. package/build-types/components/post-discussion/panel.d.ts.map +1 -1
  281. package/build-types/components/post-excerpt/check.d.ts +3 -3
  282. package/build-types/components/post-excerpt/check.d.ts.map +1 -1
  283. package/build-types/components/post-excerpt/index.d.ts +3 -3
  284. package/build-types/components/post-excerpt/index.d.ts.map +1 -1
  285. package/build-types/components/post-excerpt/panel.d.ts +2 -2
  286. package/build-types/components/post-excerpt/panel.d.ts.map +1 -1
  287. package/build-types/components/post-excerpt/plugin.d.ts +6 -43
  288. package/build-types/components/post-excerpt/plugin.d.ts.map +1 -1
  289. package/build-types/components/post-featured-image/check.d.ts +3 -3
  290. package/build-types/components/post-featured-image/check.d.ts.map +1 -1
  291. package/build-types/components/post-featured-image/index.d.ts +15 -0
  292. package/build-types/components/post-featured-image/index.d.ts.map +1 -1
  293. package/build-types/components/post-featured-image/panel.d.ts +1 -1
  294. package/build-types/components/post-featured-image/panel.d.ts.map +1 -1
  295. package/build-types/components/post-fields/index.d.ts +1 -1
  296. package/build-types/components/post-fields/index.d.ts.map +1 -1
  297. package/build-types/components/post-format/check.d.ts +2 -2
  298. package/build-types/components/post-format/check.d.ts.map +1 -1
  299. package/build-types/components/post-format/index.d.ts +12 -12
  300. package/build-types/components/post-format/index.d.ts.map +1 -1
  301. package/build-types/components/post-format/panel.d.ts +2 -2
  302. package/build-types/components/post-format/panel.d.ts.map +1 -1
  303. package/build-types/components/post-last-edited-panel/index.d.ts.map +1 -1
  304. package/build-types/components/post-last-revision/check.d.ts +3 -3
  305. package/build-types/components/post-last-revision/check.d.ts.map +1 -1
  306. package/build-types/components/post-last-revision/index.d.ts +3 -3
  307. package/build-types/components/post-last-revision/index.d.ts.map +1 -1
  308. package/build-types/components/post-last-revision/panel.d.ts +2 -2
  309. package/build-types/components/post-last-revision/panel.d.ts.map +1 -1
  310. package/build-types/components/post-locked-modal/index.d.ts +11 -5
  311. package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
  312. package/build-types/components/post-panel-row/index.d.ts +1 -1
  313. package/build-types/components/post-panel-row/index.d.ts.map +1 -1
  314. package/build-types/components/post-panel-section/index.d.ts +2 -2
  315. package/build-types/components/post-panel-section/index.d.ts.map +1 -1
  316. package/build-types/components/post-pending-status/check.d.ts +3 -3
  317. package/build-types/components/post-pending-status/check.d.ts.map +1 -1
  318. package/build-types/components/post-pending-status/index.d.ts +1 -1
  319. package/build-types/components/post-pending-status/index.d.ts.map +1 -1
  320. package/build-types/components/post-pingbacks/index.d.ts +7 -1
  321. package/build-types/components/post-pingbacks/index.d.ts.map +1 -1
  322. package/build-types/components/post-preview-button/index.d.ts +2 -2
  323. package/build-types/components/post-preview-button/index.d.ts.map +1 -1
  324. package/build-types/components/post-publish-button/index.d.ts +5 -5
  325. package/build-types/components/post-publish-button/index.d.ts.map +1 -1
  326. package/build-types/components/post-publish-button/label.d.ts.map +1 -1
  327. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts +1 -1
  328. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -1
  329. package/build-types/components/post-publish-panel/index.d.ts +17 -13
  330. package/build-types/components/post-publish-panel/index.d.ts.map +1 -1
  331. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts +1 -1
  332. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -1
  333. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -1
  334. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts +1 -1
  335. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts.map +1 -1
  336. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -1
  337. package/build-types/components/post-publish-panel/media-util.d.ts +2 -2
  338. package/build-types/components/post-publish-panel/media-util.d.ts.map +1 -1
  339. package/build-types/components/post-publish-panel/postpublish.d.ts +2 -2
  340. package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -1
  341. package/build-types/components/post-publish-panel/prepublish.d.ts +1 -1
  342. package/build-types/components/post-publish-panel/prepublish.d.ts.map +1 -1
  343. package/build-types/components/post-revisions-panel/index.d.ts.map +1 -1
  344. package/build-types/components/post-revisions-preview/block-diff.d.ts +1 -1
  345. package/build-types/components/post-revisions-preview/block-diff.d.ts.map +1 -1
  346. package/build-types/components/post-revisions-preview/diff-format-types.d.ts +2 -2
  347. package/build-types/components/post-revisions-preview/diff-format-types.d.ts.map +1 -1
  348. package/build-types/components/post-revisions-preview/diff-markers.d.ts +1 -1
  349. package/build-types/components/post-revisions-preview/diff-markers.d.ts.map +1 -1
  350. package/build-types/components/post-revisions-preview/index.d.ts +2 -2
  351. package/build-types/components/post-revisions-preview/index.d.ts.map +1 -1
  352. package/build-types/components/post-revisions-preview/preserve-client-ids.d.ts +1 -1
  353. package/build-types/components/post-revisions-preview/preserve-client-ids.d.ts.map +1 -1
  354. package/build-types/components/post-revisions-preview/revisions-canvas.d.ts +1 -1
  355. package/build-types/components/post-revisions-preview/revisions-canvas.d.ts.map +1 -1
  356. package/build-types/components/post-revisions-preview/revisions-header.d.ts +2 -2
  357. package/build-types/components/post-revisions-preview/revisions-header.d.ts.map +1 -1
  358. package/build-types/components/post-revisions-preview/revisions-slider.d.ts +3 -3
  359. package/build-types/components/post-revisions-preview/revisions-slider.d.ts.map +1 -1
  360. package/build-types/components/post-saved-state/index.d.ts +1 -1
  361. package/build-types/components/post-saved-state/index.d.ts.map +1 -1
  362. package/build-types/components/post-schedule/check.d.ts +2 -2
  363. package/build-types/components/post-schedule/check.d.ts.map +1 -1
  364. package/build-types/components/post-schedule/index.d.ts +3 -3
  365. package/build-types/components/post-schedule/index.d.ts.map +1 -1
  366. package/build-types/components/post-schedule/label.d.ts +4 -4
  367. package/build-types/components/post-schedule/label.d.ts.map +1 -1
  368. package/build-types/components/post-schedule/panel.d.ts +1 -1
  369. package/build-types/components/post-schedule/panel.d.ts.map +1 -1
  370. package/build-types/components/post-status/index.d.ts +2 -2
  371. package/build-types/components/post-status/index.d.ts.map +1 -1
  372. package/build-types/components/post-sticky/check.d.ts +2 -2
  373. package/build-types/components/post-sticky/check.d.ts.map +1 -1
  374. package/build-types/components/post-sticky/index.d.ts +1 -1
  375. package/build-types/components/post-sticky/index.d.ts.map +1 -1
  376. package/build-types/components/post-sticky/panel.d.ts +1 -1
  377. package/build-types/components/post-sticky/panel.d.ts.map +1 -1
  378. package/build-types/components/post-switch-to-draft-button/index.d.ts +1 -1
  379. package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -1
  380. package/build-types/components/post-sync-status/index.d.ts +1 -1
  381. package/build-types/components/post-sync-status/index.d.ts.map +1 -1
  382. package/build-types/components/post-taxonomies/check.d.ts +2 -2
  383. package/build-types/components/post-taxonomies/check.d.ts.map +1 -1
  384. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +4 -4
  385. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  386. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +6 -6
  387. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  388. package/build-types/components/post-taxonomies/index.d.ts +9 -1
  389. package/build-types/components/post-taxonomies/index.d.ts.map +1 -1
  390. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -1
  391. package/build-types/components/post-taxonomies/panel.d.ts +1 -1
  392. package/build-types/components/post-taxonomies/panel.d.ts.map +1 -1
  393. package/build-types/components/post-template/block-theme.d.ts.map +1 -1
  394. package/build-types/components/post-template/classic-theme.d.ts +8 -1
  395. package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
  396. package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -1
  397. package/build-types/components/post-template/create-new-template.d.ts.map +1 -1
  398. package/build-types/components/post-template/hooks.d.ts +5 -5
  399. package/build-types/components/post-template/hooks.d.ts.map +1 -1
  400. package/build-types/components/post-template/panel.d.ts +1 -1
  401. package/build-types/components/post-template/panel.d.ts.map +1 -1
  402. package/build-types/components/post-template/reset-default-template.d.ts.map +1 -1
  403. package/build-types/components/post-template/swap-template-button.d.ts +1 -1
  404. package/build-types/components/post-template/swap-template-button.d.ts.map +1 -1
  405. package/build-types/components/post-text-editor/index.d.ts +1 -1
  406. package/build-types/components/post-text-editor/index.d.ts.map +1 -1
  407. package/build-types/components/post-title/constants.d.ts +2 -2
  408. package/build-types/components/post-title/constants.d.ts.map +1 -1
  409. package/build-types/components/post-title/index.d.ts +9 -1
  410. package/build-types/components/post-title/index.d.ts.map +1 -1
  411. package/build-types/components/post-title/post-title-raw.d.ts +1 -1
  412. package/build-types/components/post-title/use-post-title-focus.d.ts.map +1 -1
  413. package/build-types/components/post-title/use-post-title.d.ts.map +1 -1
  414. package/build-types/components/post-transform-panel/hooks.d.ts +1 -1
  415. package/build-types/components/post-transform-panel/hooks.d.ts.map +1 -1
  416. package/build-types/components/post-transform-panel/index.d.ts.map +1 -1
  417. package/build-types/components/post-trash/check.d.ts +2 -2
  418. package/build-types/components/post-trash/check.d.ts.map +1 -1
  419. package/build-types/components/post-trash/index.d.ts +1 -1
  420. package/build-types/components/post-trash/index.d.ts.map +1 -1
  421. package/build-types/components/post-type-support-check/index.d.ts +3 -3
  422. package/build-types/components/post-type-support-check/index.d.ts.map +1 -1
  423. package/build-types/components/post-url/check.d.ts +2 -2
  424. package/build-types/components/post-url/check.d.ts.map +1 -1
  425. package/build-types/components/post-url/index.d.ts +1 -1
  426. package/build-types/components/post-url/index.d.ts.map +1 -1
  427. package/build-types/components/post-url/label.d.ts +2 -2
  428. package/build-types/components/post-url/label.d.ts.map +1 -1
  429. package/build-types/components/post-url/panel.d.ts +1 -1
  430. package/build-types/components/post-url/panel.d.ts.map +1 -1
  431. package/build-types/components/post-view-link/index.d.ts.map +1 -1
  432. package/build-types/components/post-visibility/check.d.ts +1 -1
  433. package/build-types/components/post-visibility/check.d.ts.map +1 -1
  434. package/build-types/components/post-visibility/index.d.ts +1 -1
  435. package/build-types/components/post-visibility/index.d.ts.map +1 -1
  436. package/build-types/components/post-visibility/label.d.ts +1 -1
  437. package/build-types/components/post-visibility/label.d.ts.map +1 -1
  438. package/build-types/components/post-visibility/utils.d.ts +1 -1
  439. package/build-types/components/post-visibility/utils.d.ts.map +1 -1
  440. package/build-types/components/posts-per-page/index.d.ts.map +1 -1
  441. package/build-types/components/preferences-modal/enable-panel.d.ts.map +1 -1
  442. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts +4 -5
  443. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -1
  444. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts.map +1 -1
  445. package/build-types/components/preferences-modal/index.d.ts +3 -0
  446. package/build-types/components/preferences-modal/index.d.ts.map +1 -1
  447. package/build-types/components/preview-dropdown/index.d.ts +1 -1
  448. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  449. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  450. package/build-types/components/provider/index.d.ts +33 -33
  451. package/build-types/components/provider/index.d.ts.map +1 -1
  452. package/build-types/components/provider/navigation-block-editing-mode.d.ts.map +1 -1
  453. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts +1 -1
  454. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts.map +1 -1
  455. package/build-types/components/provider/use-block-editor-settings.d.ts +1 -1
  456. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  457. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts +1 -1
  458. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts.map +1 -1
  459. package/build-types/components/provider/use-post-content-block-types.d.ts.map +1 -1
  460. package/build-types/components/provider/use-revision-blocks.d.ts +1 -1
  461. package/build-types/components/provider/use-revision-blocks.d.ts.map +1 -1
  462. package/build-types/components/provider/use-upload-save-lock.d.ts.map +1 -1
  463. package/build-types/components/provider/with-registry-provider.d.ts +1 -1
  464. package/build-types/components/provider/with-registry-provider.d.ts.map +1 -1
  465. package/build-types/components/resizable-editor/index.d.ts +2 -2
  466. package/build-types/components/resizable-editor/index.d.ts.map +1 -1
  467. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -1
  468. package/build-types/components/revision-author-panel/index.d.ts.map +1 -1
  469. package/build-types/components/revision-block-diff/index.d.ts.map +1 -1
  470. package/build-types/components/revision-created-panel/index.d.ts.map +1 -1
  471. package/build-types/components/revision-diff-panel/index.d.ts.map +1 -1
  472. package/build-types/components/revision-fields-diff/index.d.ts.map +1 -1
  473. package/build-types/components/save-publish-panels/index.d.ts +7 -7
  474. package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
  475. package/build-types/components/sidebar/constants.d.ts +4 -4
  476. package/build-types/components/sidebar/constants.d.ts.map +1 -1
  477. package/build-types/components/sidebar/dataform-post-summary.d.ts.map +1 -1
  478. package/build-types/components/sidebar/header.d.ts +1 -1
  479. package/build-types/components/sidebar/index.d.ts +3 -3
  480. package/build-types/components/sidebar/index.d.ts.map +1 -1
  481. package/build-types/components/sidebar/post-revision-summary.d.ts.map +1 -1
  482. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  483. package/build-types/components/site-discussion/index.d.ts.map +1 -1
  484. package/build-types/components/start-page-options/index.d.ts +1 -1
  485. package/build-types/components/start-page-options/index.d.ts.map +1 -1
  486. package/build-types/components/start-template-options/index.d.ts.map +1 -1
  487. package/build-types/components/style-book/categories.d.ts +3 -0
  488. package/build-types/components/style-book/categories.d.ts.map +1 -1
  489. package/build-types/components/style-book/color-examples.d.ts.map +1 -1
  490. package/build-types/components/style-book/duotone-examples.d.ts.map +1 -1
  491. package/build-types/components/style-book/index.d.ts +19 -8
  492. package/build-types/components/style-book/index.d.ts.map +1 -1
  493. package/build-types/components/styles-canvas/index.d.ts +2 -2
  494. package/build-types/components/styles-canvas/index.d.ts.map +1 -1
  495. package/build-types/components/styles-canvas/revisions.d.ts +1 -1
  496. package/build-types/components/styles-canvas/style-book.d.ts +1 -1
  497. package/build-types/components/table-of-contents/index.d.ts +11 -1
  498. package/build-types/components/table-of-contents/index.d.ts.map +1 -1
  499. package/build-types/components/table-of-contents/panel.d.ts +1 -1
  500. package/build-types/components/table-of-contents/panel.d.ts.map +1 -1
  501. package/build-types/components/template-actions-panel/block-theme-content.d.ts.map +1 -1
  502. package/build-types/components/template-actions-panel/classic-theme-content.d.ts.map +1 -1
  503. package/build-types/components/template-actions-panel/index.d.ts.map +1 -1
  504. package/build-types/components/template-content-panel/index.d.ts.map +1 -1
  505. package/build-types/components/template-part-content-panel/index.d.ts.map +1 -1
  506. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts.map +1 -1
  507. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts +1 -1
  508. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts.map +1 -1
  509. package/build-types/components/template-part-menu-items/index.d.ts.map +1 -1
  510. package/build-types/components/template-validation-notice/index.d.ts.map +1 -1
  511. package/build-types/components/text-editor/index.d.ts.map +1 -1
  512. package/build-types/components/theme-support-check/index.d.ts +2 -2
  513. package/build-types/components/theme-support-check/index.d.ts.map +1 -1
  514. package/build-types/components/time-to-read/index.d.ts +1 -1
  515. package/build-types/components/time-to-read/index.d.ts.map +1 -1
  516. package/build-types/components/unsaved-changes-warning/index.d.ts +1 -1
  517. package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -1
  518. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts +1 -1
  519. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
  520. package/build-types/components/visual-editor/index.d.ts +4 -4
  521. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  522. package/build-types/components/visual-editor/use-edit-content-only-section-exit.d.ts +1 -1
  523. package/build-types/components/visual-editor/use-edit-content-only-section-exit.d.ts.map +1 -1
  524. package/build-types/components/visual-editor/use-padding-appender.d.ts +1 -1
  525. package/build-types/components/visual-editor/use-padding-appender.d.ts.map +1 -1
  526. package/build-types/components/visual-editor/use-select-nearest-editable-block.d.ts +1 -1
  527. package/build-types/components/visual-editor/use-select-nearest-editable-block.d.ts.map +1 -1
  528. package/build-types/components/visual-editor/use-zoom-out-mode-exit.d.ts +1 -1
  529. package/build-types/components/visual-editor/use-zoom-out-mode-exit.d.ts.map +1 -1
  530. package/build-types/components/word-count/index.d.ts +1 -1
  531. package/build-types/components/word-count/index.d.ts.map +1 -1
  532. package/build-types/components/zoom-out-toggle/index.d.ts +3 -3
  533. package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -1
  534. package/build-types/dataviews/api.d.ts +6 -6
  535. package/build-types/dataviews/api.d.ts.map +1 -1
  536. package/build-types/dataviews/fields/content-preview/index.d.ts.map +1 -1
  537. package/build-types/dataviews/store/private-actions.d.ts +5 -5
  538. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  539. package/build-types/dataviews/store/reducer.d.ts +2 -2
  540. package/build-types/dataviews/store/reducer.d.ts.map +1 -1
  541. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +3 -9
  542. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -1
  543. package/build-types/hooks/index.d.ts +10 -1
  544. package/build-types/hooks/index.d.ts.map +1 -1
  545. package/build-types/hooks/pattern-overrides.d.ts +1 -1
  546. package/build-types/hooks/pattern-overrides.d.ts.map +1 -1
  547. package/build-types/hooks/use-global-styles-output.d.ts +2 -2
  548. package/build-types/hooks/use-global-styles-output.d.ts.map +1 -1
  549. package/build-types/index.d.ts +10 -5
  550. package/build-types/index.d.ts.map +1 -1
  551. package/build-types/lock-unlock.d.ts +1 -2
  552. package/build-types/lock-unlock.d.ts.map +1 -1
  553. package/build-types/private-apis.d.ts +1 -1
  554. package/build-types/private-apis.d.ts.map +1 -1
  555. package/build-types/store/actions.d.ts +330 -116
  556. package/build-types/store/actions.d.ts.map +1 -1
  557. package/build-types/store/constants.d.ts.map +1 -1
  558. package/build-types/store/defaults.d.ts +1 -1
  559. package/build-types/store/defaults.d.ts.map +1 -1
  560. package/build-types/store/index.d.ts +77 -9
  561. package/build-types/store/index.d.ts.map +1 -1
  562. package/build-types/store/local-autosave.d.ts +3 -3
  563. package/build-types/store/local-autosave.d.ts.map +1 -1
  564. package/build-types/store/private-actions.d.ts +106 -46
  565. package/build-types/store/private-actions.d.ts.map +1 -1
  566. package/build-types/store/private-selectors.d.ts +96 -68
  567. package/build-types/store/private-selectors.d.ts.map +1 -1
  568. package/build-types/store/reducer.d.ts +47 -52
  569. package/build-types/store/reducer.d.ts.map +1 -1
  570. package/build-types/store/selectors.d.ts +422 -429
  571. package/build-types/store/selectors.d.ts.map +1 -1
  572. package/build-types/store/utils/is-template-revertable.d.ts.map +1 -1
  573. package/build-types/store/utils/notice-builder.d.ts +3 -3
  574. package/build-types/store/utils/notice-builder.d.ts.map +1 -1
  575. package/build-types/utils/get-item-title.d.ts +1 -1
  576. package/build-types/utils/get-item-title.d.ts.map +1 -1
  577. package/build-types/utils/get-template-info.d.ts +11 -4
  578. package/build-types/utils/get-template-info.d.ts.map +1 -1
  579. package/build-types/utils/get-template-part-icon.d.ts +1 -1
  580. package/build-types/utils/get-template-part-icon.d.ts.map +1 -1
  581. package/build-types/utils/index.d.ts +6 -3
  582. package/build-types/utils/index.d.ts.map +1 -1
  583. package/build-types/utils/media-finalize/index.d.ts.map +1 -1
  584. package/build-types/utils/media-sideload/index.d.ts +1 -1
  585. package/build-types/utils/media-sideload/index.d.ts.map +1 -1
  586. package/build-types/utils/media-upload/index.d.ts +1 -1
  587. package/build-types/utils/media-upload/index.d.ts.map +1 -1
  588. package/build-types/utils/media-upload/on-success.d.ts.map +1 -1
  589. package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
  590. package/build-types/utils/search-templates.d.ts +1 -1
  591. package/build-types/utils/search-templates.d.ts.map +1 -1
  592. package/build-types/utils/set-nested-value.d.ts.map +1 -1
  593. package/build-types/utils/terms.d.ts +19 -4
  594. package/build-types/utils/terms.d.ts.map +1 -1
  595. package/build-types/utils/url.d.ts +1 -1
  596. package/build-types/utils/url.d.ts.map +1 -1
  597. package/package.json +48 -48
  598. package/src/components/block-visibility/style.scss +2 -2
  599. package/src/components/collab-sidebar/index.js +48 -36
  600. package/src/components/collab-sidebar/note-thread.js +28 -10
  601. package/src/components/collab-sidebar/notes.js +9 -6
  602. package/src/components/collab-sidebar/style.scss +4 -0
  603. package/src/components/collab-sidebar/utils.js +41 -14
  604. package/src/components/collaborators-presence/index.tsx +0 -2
  605. package/src/components/collaborators-presence/list.tsx +0 -2
  606. package/src/components/post-last-revision/index.js +5 -0
  607. package/src/components/post-publish-panel/index.js +149 -156
  608. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +11 -26
  609. package/src/components/post-publish-panel/test/index.js +41 -23
  610. package/src/components/post-revisions-preview/block-diff.js +165 -41
  611. package/src/components/post-revisions-preview/diff-markers.js +12 -9
  612. package/src/components/post-revisions-preview/revisions-slider.js +130 -71
  613. package/src/components/post-revisions-preview/style.scss +3 -3
  614. package/src/components/post-revisions-preview/test/block-diff.js +133 -4
  615. package/src/components/post-template/style.scss +1 -1
  616. package/src/components/start-page-options/style.scss +2 -2
  617. package/src/components/start-template-options/style.scss +2 -2
  618. package/src/store/private-actions.js +34 -0
  619. package/src/store/private-selectors.js +127 -51
  620. package/src/store/reducer.js +21 -0
  621. package/src/store/selectors.js +6 -0
  622. package/src/store/test/private-selectors.js +107 -1
  623. package/src/style.scss +2 -0
@@ -206,7 +206,9 @@ describe( 'diffRevisionContent', () => {
206
206
  const normalized = normalizeBlockTree( blocks );
207
207
 
208
208
  // Post-LCS pairing detects similar blocks and marks them as modified.
209
- // The removed block is filtered out, modified block shows inline diff.
209
+ // Added blocks between the removed and added positions mean the
210
+ // modified block stays at the added position to preserve the
211
+ // current revision's layout.
210
212
  expect( normalized ).toHaveLength( 3 );
211
213
  expect( normalized ).toMatchObject( [
212
214
  {
@@ -674,7 +676,8 @@ describe( 'diffRevisionContent', () => {
674
676
  const blocks = diffRevisionContent( current, previous );
675
677
 
676
678
  // Post-LCS pairing matches B with D (same block type, high HTML similarity).
677
- // C remains removed since it has no matching added block.
679
+ // Post-LCS pairing matches B with D. Modified block appears at
680
+ // B's position (earlier than D), C removed after.
678
681
  expect( normalizeBlockTree( blocks ) ).toMatchObject( [
679
682
  {
680
683
  name: 'core/group',
@@ -689,6 +692,17 @@ describe( 'diffRevisionContent', () => {
689
692
  __revisionDiffStatus: undefined,
690
693
  },
691
694
  },
695
+ {
696
+ name: 'core/paragraph',
697
+ attributes: {
698
+ // B→D modification with inline diff
699
+ content:
700
+ '<del title="Removed" class="revision-diff-removed">B</del><ins title="Added" class="revision-diff-added">D</ins>',
701
+ __revisionDiffStatus: {
702
+ status: 'modified',
703
+ },
704
+ },
705
+ },
692
706
  {
693
707
  name: 'core/paragraph',
694
708
  attributes: {
@@ -696,22 +710,137 @@ describe( 'diffRevisionContent', () => {
696
710
  __revisionDiffStatus: { status: 'removed' },
697
711
  },
698
712
  },
713
+ ],
714
+ },
715
+ ] );
716
+ } );
717
+
718
+ it( 'handles multiple inner block changes at once (similar content)', () => {
719
+ const previous = serialize( [
720
+ createBlock( 'core/group', {}, [
721
+ createBlock( 'core/paragraph', { content: 'A' } ),
722
+ createBlock( 'core/paragraph', {
723
+ content: 'The quick brown fox jumps over the lazy dog',
724
+ } ),
725
+ createBlock( 'core/paragraph', { content: 'C' } ),
726
+ ] ),
727
+ ] );
728
+ const current = serialize( [
729
+ createBlock( 'core/group', {}, [
730
+ createBlock( 'core/paragraph', { content: 'A' } ),
731
+ createBlock( 'core/paragraph', {
732
+ content: 'The quick brown fox leaps over the lazy dog',
733
+ } ),
734
+ ] ),
735
+ ] );
736
+ const blocks = diffRevisionContent( current, previous );
737
+
738
+ // Post-LCS pairing matches the fox sentences (high word overlap).
739
+ // Modified block at fox's original position, C removed after.
740
+ expect( normalizeBlockTree( blocks ) ).toMatchObject( [
741
+ {
742
+ name: 'core/group',
743
+ attributes: {
744
+ __revisionDiffStatus: undefined,
745
+ },
746
+ innerBlocks: [
699
747
  {
700
748
  name: 'core/paragraph',
701
749
  attributes: {
702
- // B→D modification with inline diff
750
+ content: 'A',
751
+ __revisionDiffStatus: undefined,
752
+ },
753
+ },
754
+ {
755
+ name: 'core/paragraph',
756
+ attributes: {
757
+ // jumps→leaps modification with inline diff
703
758
  content:
704
- '<del title="Removed" class="revision-diff-removed">B</del><ins title="Added" class="revision-diff-added">D</ins>',
759
+ 'The quick brown fox <del title="Removed" class="revision-diff-removed">jumps</del><ins title="Added" class="revision-diff-added">leaps</ins> over the lazy dog',
705
760
  __revisionDiffStatus: {
706
761
  status: 'modified',
707
762
  },
708
763
  },
709
764
  },
765
+ {
766
+ name: 'core/paragraph',
767
+ attributes: {
768
+ content: 'C',
769
+ __revisionDiffStatus: { status: 'removed' },
770
+ },
771
+ },
710
772
  ],
711
773
  },
712
774
  ] );
713
775
  } );
714
776
 
777
+ it( 'pairs paragraphs in order when section is condensed', () => {
778
+ // Four paragraphs condensed into two. The first paragraph
779
+ // should pair and appear first, not after the removed blocks.
780
+ const previous = serialize( [
781
+ createBlock( 'core/paragraph', {
782
+ content:
783
+ 'The International Space Station is the largest structure ever built in space. Assembled over more than a decade from modules launched by the United States, Russia, Europe, Japan, and Canada, it spans the area of a football field and weighs nearly a million pounds. It orbits Earth every ninety minutes at an altitude of roughly 250 miles, traveling at 17,500 miles per hour.',
784
+ } ),
785
+ createBlock( 'core/paragraph', {
786
+ content:
787
+ 'The station has been continuously occupied since November 2, 2000 — the longest unbroken human presence in space. More than 270 people from twenty-one countries have visited. Its laboratories have hosted thousands of experiments in biology, physics, materials science, and medicine. Research on the ISS has advanced our understanding of protein crystallization, combustion, fluid dynamics, and the long-term effects of microgravity on the human body.',
788
+ } ),
789
+ createBlock( 'core/paragraph', {
790
+ content:
791
+ 'But the ISS is also a lesson in the costs of international cooperation. Originally estimated at $8 billion, the total cost has exceeded $150 billion, making it by far the most expensive single object ever constructed. Its scientific output, while significant, has been modest relative to that investment. Critics argue that the same money spent on robotic missions and ground-based research would have yielded far greater scientific returns.',
792
+ } ),
793
+ createBlock( 'core/paragraph', {
794
+ content:
795
+ "The station's supporters counter that its value lies beyond pure science. The ISS demonstrated that former Cold War adversaries could work together on a project of extraordinary complexity. It kept human spaceflight alive during a period when no alternative destination existed. And it served as a testbed for the technologies and operational experience needed for future deep-space missions — life support systems, spacewalk procedures, crew psychology, and the logistics of sustaining humans far from Earth.",
796
+ } ),
797
+ ] );
798
+ const current = serialize( [
799
+ createBlock( 'core/paragraph', {
800
+ content:
801
+ 'The International Space Station is the largest structure ever built in space. Assembled over more than a decade from modules launched by the United States, Russia, Europe, Japan, and Canada, it spans the area of a football field. It has been continuously occupied since November 2000.',
802
+ } ),
803
+ createBlock( 'core/paragraph', {
804
+ content:
805
+ 'More than 270 people from twenty-one countries have visited. Its laboratories have hosted thousands of experiments. The total cost has exceeded $150 billion, making it the most expensive single object ever constructed.',
806
+ } ),
807
+ ] );
808
+ const blocks = diffRevisionContent( current, previous );
809
+ const normalized = normalizeBlockTree( blocks );
810
+
811
+ const statuses = normalized.map(
812
+ ( b ) =>
813
+ b.attributes.__revisionDiffStatus?.status || 'unchanged'
814
+ );
815
+
816
+ // Pairings must not cross: if prev P1 pairs with curr P1,
817
+ // then prev P2 can only pair with curr P2 (not curr P1).
818
+ // Verify no crossing by checking modified blocks appear
819
+ // in a consistent order.
820
+ const modifiedIndices = [];
821
+ const removedIndices = [];
822
+ statuses.forEach( ( s, i ) => {
823
+ if ( s === 'modified' ) {
824
+ modifiedIndices.push( i );
825
+ }
826
+ if ( s === 'removed' ) {
827
+ removedIndices.push( i );
828
+ }
829
+ } );
830
+
831
+ // Prev P1 pairs with Curr P1 (high overlap — same opening,
832
+ // condensed ending). Prev P2-P4 are too different from
833
+ // Curr P2 to pair (score below 0.5 threshold), so they
834
+ // appear as separate removed + added blocks.
835
+ expect( statuses ).toEqual( [
836
+ 'modified',
837
+ 'removed',
838
+ 'removed',
839
+ 'removed',
840
+ 'added',
841
+ ] );
842
+ } );
843
+
715
844
  it( 'does not pair blocks with completely different content', () => {
716
845
  const previous = serialize( [
717
846
  createBlock( 'core/group', {}, [
@@ -13,7 +13,7 @@
13
13
  padding: $grid-unit-20 0;
14
14
  transform: translateY(- $grid-unit-05); // Offsets the top padding on the modal content container
15
15
  margin-bottom: - $grid-unit-05;
16
- z-index: z-index(".editor-post-template__swap-template-search");
16
+ z-index: 2; // Above the BlockPreview z-index: 1 overlay in the scrolling list.
17
17
  }
18
18
  }
19
19
 
@@ -1,7 +1,6 @@
1
1
  @use "@wordpress/base-styles/colors" as *;
2
2
  @use "@wordpress/base-styles/mixins" as *;
3
3
  @use "@wordpress/base-styles/variables" as *;
4
- @use "@wordpress/base-styles/z-index" as *;
5
4
 
6
5
  $actions-height: 72px;
7
6
 
@@ -17,7 +16,8 @@ $actions-height: 72px;
17
16
  padding-left: $grid-unit-40;
18
17
  padding-right: $grid-unit-40;
19
18
  border-top: 1px solid $gray-300;
20
- z-index: z-index(".editor-start-page-options__modal__actions");
19
+ // Ensure modal footer actions appear above the modal's scrolling content.
20
+ z-index: 1;
21
21
  }
22
22
 
23
23
  .block-editor-block-patterns-list {
@@ -1,7 +1,6 @@
1
1
  @use "@wordpress/base-styles/colors" as *;
2
2
  @use "@wordpress/base-styles/mixins" as *;
3
3
  @use "@wordpress/base-styles/variables" as *;
4
- @use "@wordpress/base-styles/z-index" as *;
5
4
 
6
5
  $actions-height: 92px;
7
6
 
@@ -17,7 +16,8 @@ $actions-height: 92px;
17
16
  padding-left: $grid-unit-40;
18
17
  padding-right: $grid-unit-40;
19
18
  border-top: 1px solid $gray-300;
20
- z-index: z-index(".editor-start-template-options__modal__actions");
19
+ // Ensure modal footer actions appear above the modal's scrolling content.
20
+ z-index: 1;
21
21
  }
22
22
 
23
23
  .block-editor-block-patterns-list {
@@ -16,6 +16,7 @@ import { dateI18n, getSettings as getDateSettings } from '@wordpress/date';
16
16
  * Internal dependencies
17
17
  */
18
18
  import isTemplateRevertable from './utils/is-template-revertable';
19
+ import { buildRevisionsPageQuery } from './private-selectors';
19
20
  export * from '../dataviews/store/private-actions';
20
21
 
21
22
  /**
@@ -589,6 +590,39 @@ export function setCurrentRevisionId( revisionId ) {
589
590
  };
590
591
  }
591
592
 
593
+ /**
594
+ * Set the current revisions page number and select the newest
595
+ * revision on that page once it loads.
596
+ *
597
+ * @param {number} page The page number.
598
+ */
599
+ export const setRevisionPage =
600
+ ( page ) =>
601
+ async ( { dispatch, select, registry } ) => {
602
+ const postType = select.getCurrentPostType();
603
+ const postId = select.getCurrentPostId();
604
+ const entityConfig = registry
605
+ .select( coreStore )
606
+ .getEntityConfig( 'postType', postType );
607
+ const revisionKey = entityConfig?.revisionKey || 'id';
608
+
609
+ const revisions = await registry
610
+ .resolveSelect( coreStore )
611
+ .getRevisions(
612
+ 'postType',
613
+ postType,
614
+ postId,
615
+ buildRevisionsPageQuery( revisionKey, page )
616
+ );
617
+
618
+ registry.batch( () => {
619
+ dispatch( { type: 'SET_REVISION_PAGE', page } );
620
+ if ( revisions?.length ) {
621
+ dispatch.setCurrentRevisionId( revisions[ 0 ][ revisionKey ] );
622
+ }
623
+ } );
624
+ };
625
+
592
626
  /**
593
627
  * Set whether the revision diff highlighting is shown.
594
628
  *
@@ -21,7 +21,12 @@ import { store as preferencesStore } from '@wordpress/preferences';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import { getRenderingMode, getCurrentPost } from './selectors';
24
+ import {
25
+ getRenderingMode,
26
+ getCurrentPost,
27
+ getEditorSettings,
28
+ getCurrentPostRevisionsCount,
29
+ } from './selectors';
25
30
  import {
26
31
  getEntityActions as _getEntityActions,
27
32
  getEntityFields as _getEntityFields,
@@ -297,6 +302,11 @@ export const getDefaultRenderingMode = createRegistrySelector(
297
302
  'core',
298
303
  'renderingModes'
299
304
  )?.[ theme ]?.[ postType ];
305
+
306
+ if ( RENDERING_MODES.includes( defaultModePreference ) ) {
307
+ return defaultModePreference;
308
+ }
309
+
300
310
  const postTypeDefaultMode = Array.isArray(
301
311
  postTypeEntity?.supports?.editor
302
312
  )
@@ -305,14 +315,18 @@ export const getDefaultRenderingMode = createRegistrySelector(
305
315
  )?.[ 'default-mode' ]
306
316
  : undefined;
307
317
 
308
- const defaultMode = defaultModePreference || postTypeDefaultMode;
318
+ if ( RENDERING_MODES.includes( postTypeDefaultMode ) ) {
319
+ return postTypeDefaultMode;
320
+ }
321
+
322
+ const settingsDefaultMode =
323
+ getEditorSettings( state ).defaultRenderingMode;
309
324
 
310
- // Fallback gracefully to 'post-only' when rendering mode is not supported.
311
- if ( ! RENDERING_MODES.includes( defaultMode ) ) {
312
- return 'post-only';
325
+ if ( RENDERING_MODES.includes( settingsDefaultMode ) ) {
326
+ return settingsDefaultMode;
313
327
  }
314
328
 
315
- return defaultMode;
329
+ return 'post-only';
316
330
  }
317
331
  );
318
332
 
@@ -336,6 +350,85 @@ export function getShowStylebook( state ) {
336
350
  return state.showStylebook ?? false;
337
351
  }
338
352
 
353
+ /**
354
+ * Returns the current revisions page number.
355
+ *
356
+ * @param {Object} state Global application state.
357
+ * @return {number} The page number.
358
+ */
359
+ export function getRevisionPage( state ) {
360
+ return state.revisionPage;
361
+ }
362
+
363
+ /**
364
+ * Builds the query object for fetching a page of revisions.
365
+ *
366
+ * @param {string} revisionKey The entity's revision key.
367
+ * @param {number} page The 1-based page number (page 1 = newest).
368
+ * @return {Object} Query object for getRevisions.
369
+ */
370
+ export function buildRevisionsPageQuery( revisionKey, page ) {
371
+ return {
372
+ per_page: REVISIONS_PER_PAGE,
373
+ page,
374
+ context: 'edit',
375
+ orderby: 'date',
376
+ order: 'desc',
377
+ _fields: [
378
+ ...new Set( [
379
+ 'id',
380
+ 'date',
381
+ 'modified',
382
+ 'author',
383
+ 'meta',
384
+ 'title.raw',
385
+ 'excerpt.raw',
386
+ 'content.raw',
387
+ revisionKey,
388
+ ] ),
389
+ ].join(),
390
+ };
391
+ }
392
+
393
+ const REVISIONS_PER_PAGE = 100;
394
+
395
+ export function getRevisionsPerPage() {
396
+ return REVISIONS_PER_PAGE;
397
+ }
398
+
399
+ /**
400
+ * Returns revisions for the given page number.
401
+ *
402
+ * @param {Object} state Global application state.
403
+ * @param {number} page The 1-based page number (page 1 = newest).
404
+ * @return {Array|null} The revisions array, or null if not yet loaded.
405
+ */
406
+ export const getPageRevisions = createRegistrySelector(
407
+ ( select ) => ( state, page ) => {
408
+ if ( ! page ) {
409
+ return null;
410
+ }
411
+
412
+ const { type: postType, id: postId } = getCurrentPost( state );
413
+ if ( ! postType || ! postId ) {
414
+ return null;
415
+ }
416
+
417
+ const entityConfig = select( coreStore ).getEntityConfig(
418
+ 'postType',
419
+ postType
420
+ );
421
+ const revisionKey = entityConfig?.revisionKey || 'id';
422
+
423
+ return select( coreStore ).getRevisions(
424
+ 'postType',
425
+ postType,
426
+ postId,
427
+ buildRevisionsPageQuery( revisionKey, page )
428
+ );
429
+ }
430
+ );
431
+
339
432
  /**
340
433
  * Returns whether the editor is in revisions preview mode.
341
434
  *
@@ -379,40 +472,22 @@ export const getCurrentRevision = createRegistrySelector(
379
472
  return undefined;
380
473
  }
381
474
 
475
+ const page = getRevisionPage( state );
476
+ if ( ! page ) {
477
+ return null;
478
+ }
479
+
382
480
  const { type: postType, id: postId } = getCurrentPost( state );
383
481
  const entityConfig = select( coreStore ).getEntityConfig(
384
482
  'postType',
385
483
  postType
386
484
  );
387
485
  const revisionKey = entityConfig?.revisionKey || 'id';
388
- // - Use getRevisions (plural) instead of getRevision (singular) to
389
- // avoid a race condition where both API calls complete around the
390
- // same time and the single revision fetch overwrites the list in the
391
- // store.
392
- // - getRevision also needs to be updated to check if there's any
393
- // received revisions from the collection API call to avoid unnecessary
394
- // API calls.
395
486
  const revisions = select( coreStore ).getRevisions(
396
487
  'postType',
397
488
  postType,
398
489
  postId,
399
- {
400
- per_page: -1,
401
- context: 'edit',
402
- _fields: [
403
- ...new Set( [
404
- 'id',
405
- 'date',
406
- 'modified',
407
- 'author',
408
- 'meta',
409
- 'title.raw',
410
- 'excerpt.raw',
411
- 'content.raw',
412
- revisionKey,
413
- ] ),
414
- ].join(),
415
- }
490
+ buildRevisionsPageQuery( revisionKey, page )
416
491
  );
417
492
  if ( ! revisions ) {
418
493
  return null;
@@ -459,35 +534,23 @@ export const getPreviousRevision = createRegistrySelector(
459
534
  return undefined;
460
535
  }
461
536
 
537
+ const page = getRevisionPage( state );
538
+ if ( ! page ) {
539
+ return null;
540
+ }
541
+
462
542
  const { type: postType, id: postId } = getCurrentPost( state );
463
543
  const entityConfig = select( coreStore ).getEntityConfig(
464
544
  'postType',
465
545
  postType
466
546
  );
467
547
  const revisionKey = entityConfig?.revisionKey || 'id';
548
+ const query = buildRevisionsPageQuery( revisionKey, page );
468
549
  const revisions = select( coreStore ).getRevisions(
469
550
  'postType',
470
551
  postType,
471
552
  postId,
472
- {
473
- per_page: -1,
474
- context: 'edit',
475
- orderby: 'date',
476
- order: 'asc',
477
- _fields: [
478
- ...new Set( [
479
- 'id',
480
- 'date',
481
- 'modified',
482
- 'author',
483
- 'meta',
484
- 'title.raw',
485
- 'excerpt.raw',
486
- 'content.raw',
487
- revisionKey,
488
- ] ),
489
- ].join(),
490
- }
553
+ query
491
554
  );
492
555
  if ( ! revisions ) {
493
556
  return null;
@@ -499,8 +562,21 @@ export const getPreviousRevision = createRegistrySelector(
499
562
  );
500
563
 
501
564
  // Return the previous revision (older one) if it exists.
502
- if ( currentIndex > 0 ) {
503
- return revisions[ currentIndex - 1 ];
565
+ if ( currentIndex >= 0 && currentIndex < revisions.length - 1 ) {
566
+ return revisions[ currentIndex + 1 ];
567
+ }
568
+
569
+ // At page boundary: fetch the first revision from the next page.
570
+ const totalRevisions = getCurrentPostRevisionsCount( state );
571
+ const totalPages = Math.ceil( totalRevisions / query.per_page ) || 1;
572
+ if ( currentIndex === revisions.length - 1 && page < totalPages ) {
573
+ const nextPageRevisions = select( coreStore ).getRevisions(
574
+ 'postType',
575
+ postType,
576
+ postId,
577
+ buildRevisionsPageQuery( revisionKey, page + 1 )
578
+ );
579
+ return nextPageRevisions?.[ 0 ] ?? null;
504
580
  }
505
581
 
506
582
  return null;
@@ -434,6 +434,26 @@ export function revisionId( state = null, action ) {
434
434
  return state;
435
435
  }
436
436
 
437
+ /**
438
+ * Reducer for the current revisions page number.
439
+ *
440
+ * @param {number} state Current page number.
441
+ * @param {Object} action Dispatched action.
442
+ * @return {number} Updated state.
443
+ */
444
+ export function revisionPage( state = 1, action ) {
445
+ switch ( action.type ) {
446
+ case 'SET_REVISION_PAGE':
447
+ return action.page;
448
+ case 'SET_CURRENT_REVISION_ID':
449
+ if ( ! action.revisionId ) {
450
+ return 1;
451
+ }
452
+ return state;
453
+ }
454
+ return state;
455
+ }
456
+
437
457
  /**
438
458
  * Reducer for whether the revision diff is shown.
439
459
  * Resets to true when entering/exiting revisions mode.
@@ -490,6 +510,7 @@ export default combineReducers( {
490
510
  stylesPath,
491
511
  showStylebook,
492
512
  revisionId,
513
+ revisionPage,
493
514
  showRevisionDiff,
494
515
  selectedNote,
495
516
  dataviews: dataviewsReducer,
@@ -1253,6 +1253,12 @@ export const isEditorPanelOpened = createRegistrySelector(
1253
1253
  /**
1254
1254
  * A block selection object.
1255
1255
  *
1256
+ * This type is duplicated to avoid creating circular dependencies.
1257
+ *
1258
+ * @see {import("@wordpress/block-editor/src/store/actions").WPBlockSelection}
1259
+ * @see {import("@wordpress/block-editor/src/store/selectors").WPBlockSelection}
1260
+ * @see {import("@wordpress/core-data/src/types").WPBlockSelection}
1261
+ *
1256
1262
  * @typedef {Object} WPBlockSelection
1257
1263
  *
1258
1264
  * @property {string} clientId A block client ID.
@@ -1,7 +1,16 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { store as coreStore } from '@wordpress/core-data';
5
+ import { store as preferencesStore } from '@wordpress/preferences';
6
+
1
7
  /**
2
8
  * Internal dependencies
3
9
  */
4
- import { getPostBlocksByName } from '../private-selectors';
10
+ import {
11
+ getDefaultRenderingMode,
12
+ getPostBlocksByName,
13
+ } from '../private-selectors';
5
14
 
6
15
  describe( 'getPostBlocksByName', () => {
7
16
  const state = {
@@ -76,3 +85,100 @@ describe( 'getPostBlocksByName', () => {
76
85
  expect( result ).toEqual( [ 'block1', 'block2', 'block3' ] );
77
86
  } );
78
87
  } );
88
+
89
+ describe( 'getDefaultRenderingMode', () => {
90
+ function setupRegistry( {
91
+ supportsEditor = true,
92
+ theme = 'twentytwentyfive',
93
+ renderingModes = null,
94
+ } = {} ) {
95
+ getDefaultRenderingMode.registry = {
96
+ select: ( store ) => {
97
+ if ( store === coreStore ) {
98
+ return {
99
+ getPostType: () => ( {
100
+ supports: { editor: supportsEditor },
101
+ } ),
102
+ getCurrentTheme: () => ( { stylesheet: theme } ),
103
+ hasFinishedResolution: () => true,
104
+ };
105
+ }
106
+ if ( store === preferencesStore ) {
107
+ return {
108
+ get: () => renderingModes,
109
+ };
110
+ }
111
+ },
112
+ };
113
+ }
114
+
115
+ describe( 'editor.default-mode post type support', () => {
116
+ it( 'default-mode from post type support should be respected when no user preference is saved', () => {
117
+ setupRegistry( {
118
+ supportsEditor: [ { 'default-mode': 'template-locked' } ],
119
+ } );
120
+ const state = {
121
+ editorSettings: { defaultRenderingMode: 'post-only' },
122
+ };
123
+
124
+ expect( getDefaultRenderingMode( state, 'post' ) ).toBe(
125
+ 'template-locked'
126
+ );
127
+ } );
128
+
129
+ it( 'user preference should take priority over post type supports registered default-mode support', () => {
130
+ setupRegistry( {
131
+ theme: 'twentytwentyfive',
132
+ supportsEditor: [ { 'default-mode': 'template-locked' } ],
133
+ renderingModes: { twentytwentyfive: { post: 'post-only' } },
134
+ } );
135
+ const state = {
136
+ editorSettings: { defaultRenderingMode: 'post-only' },
137
+ };
138
+
139
+ expect( getDefaultRenderingMode( state, 'post' ) ).toBe(
140
+ 'post-only'
141
+ );
142
+ } );
143
+ } );
144
+
145
+ describe( 'defaultRenderingMode from editor settings', () => {
146
+ it( 'uses defaultRenderingMode from editor settings when no user preference is saved', () => {
147
+ setupRegistry( { renderingModes: null } );
148
+ const state = {
149
+ editorSettings: { defaultRenderingMode: 'template-locked' },
150
+ };
151
+
152
+ expect( getDefaultRenderingMode( state, 'post' ) ).toBe(
153
+ 'template-locked'
154
+ );
155
+ } );
156
+
157
+ it( 'user preference takes priority over defaultRenderingMode from editor settings', () => {
158
+ setupRegistry( {
159
+ theme: 'twentytwentyfive',
160
+ renderingModes: {
161
+ twentytwentyfive: { post: 'template-locked' },
162
+ },
163
+ } );
164
+ const state = {
165
+ editorSettings: { defaultRenderingMode: 'post-only' },
166
+ };
167
+
168
+ expect( getDefaultRenderingMode( state, 'post' ) ).toBe(
169
+ 'template-locked'
170
+ );
171
+ } );
172
+
173
+ it( 'falls back to post-only when defaultRenderingMode in settings is the default', () => {
174
+ setupRegistry( { renderingModes: null } );
175
+ const state = {
176
+ editorSettings: { defaultRenderingMode: 'post-only' },
177
+ };
178
+
179
+ expect( getDefaultRenderingMode( state, 'post' ) ).toBe(
180
+ 'post-only'
181
+ );
182
+ } );
183
+ } );
184
+ } );