@wordpress/editor 14.45.0 → 14.45.2-next.v.202605131032.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
@@ -45,6 +45,11 @@ function PrivatePostLastRevision() {
45
45
  onClick: () => setCurrentRevisionId(lastRevisionId),
46
46
  className: "editor-private-post-last-revision__button",
47
47
  text: revisionsCount,
48
+ "aria-label": sprintf(
49
+ /* translators: %s: number of revisions. */
50
+ __("Open revisions screen: %s revisions"),
51
+ revisionsCount
52
+ ),
48
53
  variant: "tertiary",
49
54
  size: "compact"
50
55
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-last-revision/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { backup } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction usePostLastRevisionInfo() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}, [] );\n}\n\n/**\n * Renders the component for displaying the last revision of a post.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\tclassName=\"editor-post-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t\ticonPosition=\"right\"\n\t\t\t\ttext={ sprintf(\n\t\t\t\t\t/* translators: %s: number of revisions. */\n\t\t\t\t\t__( 'Revisions (%s)' ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport function PrivatePostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostPanelRow label={ __( 'Revisions' ) }>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\t\tclassName=\"editor-private-post-last-revision__button\"\n\t\t\t\t\ttext={ revisionsCount }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default PostLastRevision;\n"],
5
- "mappings": ";AAGA,SAAS,SAAS,UAAU;AAC5B,SAAS,cAAc;AACvB,SAAS,WAAW,mBAAmB;AACvC,SAAS,cAAc;AAKvB,OAAO,2BAA2B;AAClC,OAAO,kBAAkB;AACzB,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAwBpB;AAtBH,SAAS,0BAA0B;AAClC,SAAO,UAAW,CAAE,WAAY;AAC/B,UAAM,EAAE,8BAA8B,6BAA6B,IAClE,OAAQ,WAAY;AACrB,WAAO;AAAA,MACN,gBAAgB,6BAA6B;AAAA,MAC7C,gBAAgB,6BAA6B;AAAA,IAC9C;AAAA,EACD,GAAG,CAAC,CAAE;AACP;AAOA,SAAS,mBAAmB;AAC3B,QAAM,EAAE,gBAAgB,eAAe,IAAI,wBAAwB;AACnE,QAAM,EAAE,qBAAqB,IAAI,OAAQ,YAAa,WAAY,CAAE;AAEpE,SACC,oBAAC,yBACA;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,SAAU,MAAM,qBAAsB,cAAe;AAAA,MACrD,WAAU;AAAA,MACV,MAAO;AAAA,MACP,cAAa;AAAA,MACb,MAAO;AAAA;AAAA,QAEN,GAAI,gBAAiB;AAAA,QACrB;AAAA,MACD;AAAA;AAAA,EACD,GACD;AAEF;AAEO,SAAS,0BAA0B;AACzC,QAAM,EAAE,gBAAgB,eAAe,IAAI,wBAAwB;AACnE,QAAM,EAAE,qBAAqB,IAAI,OAAQ,YAAa,WAAY,CAAE;AAEpE,SACC,oBAAC,yBACA,8BAAC,gBAAa,OAAQ,GAAI,WAAY,GACrC;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,MAAM,qBAAsB,cAAe;AAAA,MACrD,WAAU;AAAA,MACV,MAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA;AAAA,EACN,GACD,GACD;AAEF;AAEA,IAAO,6BAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { backup } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction usePostLastRevisionInfo() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}, [] );\n}\n\n/**\n * Renders the component for displaying the last revision of a post.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\tclassName=\"editor-post-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t\ticonPosition=\"right\"\n\t\t\t\ttext={ sprintf(\n\t\t\t\t\t/* translators: %s: number of revisions. */\n\t\t\t\t\t__( 'Revisions (%s)' ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport function PrivatePostLastRevision() {\n\tconst { lastRevisionId, revisionsCount } = usePostLastRevisionInfo();\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostPanelRow label={ __( 'Revisions' ) }>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\t\tclassName=\"editor-private-post-last-revision__button\"\n\t\t\t\t\ttext={ revisionsCount }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t/* translators: %s: number of revisions. */\n\t\t\t\t\t\t__( 'Open revisions screen: %s revisions' ),\n\t\t\t\t\t\trevisionsCount\n\t\t\t\t\t) }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default PostLastRevision;\n"],
5
+ "mappings": ";AAGA,SAAS,SAAS,UAAU;AAC5B,SAAS,cAAc;AACvB,SAAS,WAAW,mBAAmB;AACvC,SAAS,cAAc;AAKvB,OAAO,2BAA2B;AAClC,OAAO,kBAAkB;AACzB,SAAS,SAAS,mBAAmB;AACrC,SAAS,cAAc;AAwBpB;AAtBH,SAAS,0BAA0B;AAClC,SAAO,UAAW,CAAE,WAAY;AAC/B,UAAM,EAAE,8BAA8B,6BAA6B,IAClE,OAAQ,WAAY;AACrB,WAAO;AAAA,MACN,gBAAgB,6BAA6B;AAAA,MAC7C,gBAAgB,6BAA6B;AAAA,IAC9C;AAAA,EACD,GAAG,CAAC,CAAE;AACP;AAOA,SAAS,mBAAmB;AAC3B,QAAM,EAAE,gBAAgB,eAAe,IAAI,wBAAwB;AACnE,QAAM,EAAE,qBAAqB,IAAI,OAAQ,YAAa,WAAY,CAAE;AAEpE,SACC,oBAAC,yBACA;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,SAAU,MAAM,qBAAsB,cAAe;AAAA,MACrD,WAAU;AAAA,MACV,MAAO;AAAA,MACP,cAAa;AAAA,MACb,MAAO;AAAA;AAAA,QAEN,GAAI,gBAAiB;AAAA,QACrB;AAAA,MACD;AAAA;AAAA,EACD,GACD;AAEF;AAEO,SAAS,0BAA0B;AACzC,QAAM,EAAE,gBAAgB,eAAe,IAAI,wBAAwB;AACnE,QAAM,EAAE,qBAAqB,IAAI,OAAQ,YAAa,WAAY,CAAE;AAEpE,SACC,oBAAC,yBACA,8BAAC,gBAAa,OAAQ,GAAI,WAAY,GACrC;AAAA,IAAC;AAAA;AAAA,MACA,SAAU,MAAM,qBAAsB,cAAe;AAAA,MACrD,WAAU;AAAA,MACV,MAAO;AAAA,MACP,cAAa;AAAA;AAAA,QAEZ,GAAI,qCAAsC;AAAA,QAC1C;AAAA,MACD;AAAA,MACA,SAAQ;AAAA,MACR,MAAK;AAAA;AAAA,EACN,GACD,GACD;AAEF;AAEA,IAAO,6BAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,15 +1,14 @@
1
1
  // packages/editor/src/components/post-publish-panel/index.js
2
2
  import { __ } from "@wordpress/i18n";
3
- import { Component, createRef } from "@wordpress/element";
3
+ import { useEffect, useRef } from "@wordpress/element";
4
+ import { Button, Spinner, CheckboxControl } from "@wordpress/components";
5
+ import { useSelect, useDispatch } from "@wordpress/data";
4
6
  import {
5
- Button,
6
- Spinner,
7
- CheckboxControl,
8
- withFocusReturn,
9
- withConstrainedTabbing
10
- } from "@wordpress/components";
11
- import { withSelect, withDispatch } from "@wordpress/data";
12
- import { compose } from "@wordpress/compose";
7
+ useConstrainedTabbing,
8
+ useEvent,
9
+ useFocusReturn,
10
+ useMergeRefs
11
+ } from "@wordpress/compose";
13
12
  import { closeSmall } from "@wordpress/icons";
14
13
  import { store as coreStore } from "@wordpress/core-data";
15
14
  import PostPublishButton from "../post-publish-button/index.mjs";
@@ -17,104 +16,25 @@ import PostPublishPanelPrepublish from "./prepublish.mjs";
17
16
  import PostPublishPanelPostpublish from "./postpublish.mjs";
18
17
  import { store as editorStore } from "../../store/index.mjs";
19
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
20
- var PostPublishPanel = class extends Component {
21
- constructor() {
22
- super(...arguments);
23
- this.onSubmit = this.onSubmit.bind(this);
24
- this.cancelButtonNode = createRef();
25
- }
26
- componentDidMount() {
27
- this.timeoutID = setTimeout(() => {
28
- this.cancelButtonNode.current.focus();
29
- }, 0);
30
- }
31
- componentWillUnmount() {
32
- clearTimeout(this.timeoutID);
33
- }
34
- componentDidUpdate(prevProps) {
35
- if (prevProps.isPublished && !this.props.isSaving && this.props.isDirty || this.props.currentPostId !== prevProps.currentPostId) {
36
- this.props.onClose();
37
- }
38
- }
39
- onSubmit() {
40
- const { onClose, hasPublishAction, isPostTypeViewable } = this.props;
41
- if (!hasPublishAction || !isPostTypeViewable) {
42
- onClose();
43
- }
44
- }
45
- render() {
46
- const {
47
- forceIsDirty,
48
- isBeingScheduled,
49
- isPublished,
50
- isPublishSidebarEnabled,
51
- isScheduled,
52
- isSaving,
53
- isSavingNonPostEntityChanges,
54
- onClose,
55
- onTogglePublishSidebar,
56
- PostPublishExtension,
57
- PrePublishExtension,
58
- currentPostId,
59
- ...additionalProps
60
- } = this.props;
61
- const {
62
- hasPublishAction,
63
- isDirty,
64
- isPostTypeViewable,
65
- ...propsForPanel
66
- } = additionalProps;
67
- const isPublishedOrScheduled = isPublished || isScheduled && isBeingScheduled;
68
- const isPrePublish = !isPublishedOrScheduled && !isSaving;
69
- const isPostPublish = isPublishedOrScheduled && !isSaving;
70
- return /* @__PURE__ */ jsxs("div", { className: "editor-post-publish-panel", ...propsForPanel, children: [
71
- /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header", children: isPostPublish ? /* @__PURE__ */ jsx(
72
- Button,
73
- {
74
- size: "compact",
75
- onClick: onClose,
76
- icon: closeSmall,
77
- label: __("Close panel")
78
- }
79
- ) : /* @__PURE__ */ jsxs(Fragment, { children: [
80
- /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header-cancel-button", children: /* @__PURE__ */ jsx(
81
- Button,
82
- {
83
- ref: this.cancelButtonNode,
84
- accessibleWhenDisabled: true,
85
- disabled: isSavingNonPostEntityChanges,
86
- onClick: onClose,
87
- variant: "secondary",
88
- size: "compact",
89
- children: __("Cancel")
90
- }
91
- ) }),
92
- /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header-publish-button", children: /* @__PURE__ */ jsx(
93
- PostPublishButton,
94
- {
95
- onSubmit: this.onSubmit,
96
- forceIsDirty
97
- }
98
- ) })
99
- ] }) }),
100
- /* @__PURE__ */ jsxs("div", { className: "editor-post-publish-panel__content", children: [
101
- isPrePublish && /* @__PURE__ */ jsx(PostPublishPanelPrepublish, { children: PrePublishExtension && /* @__PURE__ */ jsx(PrePublishExtension, {}) }),
102
- isPostPublish && /* @__PURE__ */ jsx(PostPublishPanelPostpublish, { focusOnMount: true, children: PostPublishExtension && /* @__PURE__ */ jsx(PostPublishExtension, {}) }),
103
- isSaving && /* @__PURE__ */ jsx(Spinner, {})
104
- ] }),
105
- /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__footer", children: /* @__PURE__ */ jsx(
106
- CheckboxControl,
107
- {
108
- label: __("Always show pre-publish checks."),
109
- checked: isPublishSidebarEnabled,
110
- onChange: onTogglePublishSidebar
111
- }
112
- ) })
113
- ] });
114
- }
115
- };
116
- var post_publish_panel_default = compose([
117
- withSelect((select) => {
19
+ function PostPublishPanel({
20
+ forceIsDirty,
21
+ onClose,
22
+ PostPublishExtension,
23
+ PrePublishExtension,
24
+ ...propsForPanel
25
+ }) {
26
+ const {
27
+ hasPublishAction,
28
+ isPostTypeViewable,
29
+ isBeingScheduled,
30
+ isDirty,
31
+ isPublished,
32
+ isPublishSidebarEnabled,
33
+ isSaving,
34
+ isSavingNonPostEntityChanges,
35
+ isScheduled,
36
+ currentPostId
37
+ } = useSelect((select) => {
118
38
  const { getPostType } = select(coreStore);
119
39
  const {
120
40
  getCurrentPost,
@@ -126,9 +46,9 @@ var post_publish_panel_default = compose([
126
46
  isEditedPostDirty,
127
47
  isAutosavingPost,
128
48
  isSavingPost,
129
- isSavingNonPostEntityChanges
49
+ isSavingNonPostEntityChanges: _isSavingNonPostEntityChanges,
50
+ isPublishSidebarEnabled: _isPublishSidebarEnabled
130
51
  } = select(editorStore);
131
- const { isPublishSidebarEnabled } = select(editorStore);
132
52
  const postType = getPostType(getEditedPostAttribute("type"));
133
53
  return {
134
54
  hasPublishAction: getCurrentPost()._links?.["wp:action-publish"] ?? false,
@@ -136,30 +56,101 @@ var post_publish_panel_default = compose([
136
56
  isBeingScheduled: isEditedPostBeingScheduled(),
137
57
  isDirty: isEditedPostDirty(),
138
58
  isPublished: isCurrentPostPublished(),
139
- isPublishSidebarEnabled: isPublishSidebarEnabled(),
59
+ isPublishSidebarEnabled: _isPublishSidebarEnabled(),
140
60
  isSaving: isSavingPost() && !isAutosavingPost(),
141
- isSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),
61
+ isSavingNonPostEntityChanges: _isSavingNonPostEntityChanges(),
142
62
  isScheduled: isCurrentPostScheduled(),
143
63
  currentPostId: getCurrentPostId()
144
64
  };
145
- }),
146
- withDispatch((dispatch, { isPublishSidebarEnabled }) => {
147
- const { disablePublishSidebar, enablePublishSidebar } = dispatch(editorStore);
148
- return {
149
- onTogglePublishSidebar: () => {
150
- if (isPublishSidebarEnabled) {
151
- disablePublishSidebar();
152
- } else {
153
- enablePublishSidebar();
154
- }
155
- }
156
- };
157
- }),
158
- withFocusReturn,
159
- withConstrainedTabbing
160
- ])(PostPublishPanel);
65
+ }, []);
66
+ const { disablePublishSidebar, enablePublishSidebar } = useDispatch(editorStore);
67
+ const cancelButtonRef = useRef(null);
68
+ const wrapperRef = useMergeRefs([
69
+ useFocusReturn(),
70
+ useConstrainedTabbing()
71
+ ]);
72
+ useEffect(() => {
73
+ cancelButtonRef.current?.focus();
74
+ }, []);
75
+ const prevPostIdRef = useRef(currentPostId);
76
+ const stableOnClose = useEvent(onClose);
77
+ useEffect(() => {
78
+ const postChanged = currentPostId !== prevPostIdRef.current;
79
+ prevPostIdRef.current = currentPostId;
80
+ if (postChanged || isPublished && !isSaving && isDirty) {
81
+ stableOnClose();
82
+ }
83
+ }, [isPublished, isSaving, isDirty, currentPostId, stableOnClose]);
84
+ function onTogglePublishSidebar() {
85
+ if (isPublishSidebarEnabled) {
86
+ disablePublishSidebar();
87
+ } else {
88
+ enablePublishSidebar();
89
+ }
90
+ }
91
+ function onSubmit() {
92
+ if (!hasPublishAction || !isPostTypeViewable) {
93
+ onClose();
94
+ }
95
+ }
96
+ const isPublishedOrScheduled = isPublished || isScheduled && isBeingScheduled;
97
+ const isPrePublish = !isPublishedOrScheduled && !isSaving;
98
+ const isPostPublish = isPublishedOrScheduled && !isSaving;
99
+ return /* @__PURE__ */ jsxs(
100
+ "div",
101
+ {
102
+ ref: wrapperRef,
103
+ tabIndex: -1,
104
+ className: "editor-post-publish-panel",
105
+ ...propsForPanel,
106
+ children: [
107
+ /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header", children: isPostPublish ? /* @__PURE__ */ jsx(
108
+ Button,
109
+ {
110
+ size: "compact",
111
+ onClick: onClose,
112
+ icon: closeSmall,
113
+ label: __("Close panel")
114
+ }
115
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
116
+ /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header-cancel-button", children: /* @__PURE__ */ jsx(
117
+ Button,
118
+ {
119
+ ref: cancelButtonRef,
120
+ accessibleWhenDisabled: true,
121
+ disabled: isSavingNonPostEntityChanges,
122
+ onClick: onClose,
123
+ variant: "secondary",
124
+ size: "compact",
125
+ children: __("Cancel")
126
+ }
127
+ ) }),
128
+ /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__header-publish-button", children: /* @__PURE__ */ jsx(
129
+ PostPublishButton,
130
+ {
131
+ onSubmit,
132
+ forceIsDirty
133
+ }
134
+ ) })
135
+ ] }) }),
136
+ /* @__PURE__ */ jsxs("div", { className: "editor-post-publish-panel__content", children: [
137
+ isPrePublish && /* @__PURE__ */ jsx(PostPublishPanelPrepublish, { children: PrePublishExtension && /* @__PURE__ */ jsx(PrePublishExtension, {}) }),
138
+ isPostPublish && /* @__PURE__ */ jsx(PostPublishPanelPostpublish, { focusOnMount: true, children: PostPublishExtension && /* @__PURE__ */ jsx(PostPublishExtension, {}) }),
139
+ isSaving && /* @__PURE__ */ jsx(Spinner, {})
140
+ ] }),
141
+ /* @__PURE__ */ jsx("div", { className: "editor-post-publish-panel__footer", children: /* @__PURE__ */ jsx(
142
+ CheckboxControl,
143
+ {
144
+ label: __("Always show pre-publish checks."),
145
+ checked: isPublishSidebarEnabled,
146
+ onChange: onTogglePublishSidebar
147
+ }
148
+ ) })
149
+ ]
150
+ }
151
+ );
152
+ }
161
153
  export {
162
- PostPublishPanel,
163
- post_publish_panel_default as default
154
+ PostPublishPanel as default
164
155
  };
165
156
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-publish-panel/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t\tthis.cancelButtonNode = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t// PostPublishPanel) otherwise it will get this button.\n\t\tthis.timeoutID = setTimeout( () => {\n\t\t\tthis.cancelButtonNode.current.focus();\n\t\t}, 0 );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\t( prevProps.isPublished &&\n\t\t\t\t! this.props.isSaving &&\n\t\t\t\tthis.props.isDirty ) ||\n\t\t\tthis.props.currentPostId !== prevProps.currentPostId\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\tcurrentPostId,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ this.cancelButtonNode }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n/**\n * Renders a panel for publishing a post.\n */\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\tcurrentPostId: getCurrentPostId(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Button, Spinner, CheckboxControl } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseConstrainedTabbing,\n\tuseEvent,\n\tuseFocusReturn,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders a panel for publishing a post.\n *\n * @param {Object} props Component props.\n * @param {boolean} [props.forceIsDirty] Whether to force the dirty state.\n * @param {()=>void} props.onClose Called when the panel requests to close.\n * @param {React.ComponentType} [props.PostPublishExtension] Component rendered after publishing.\n * @param {React.ComponentType} [props.PrePublishExtension] Component rendered before publishing.\n *\n * @return {React.JSX.Element} The post publish panel.\n */\nexport default function PostPublishPanel( {\n\tforceIsDirty,\n\tonClose,\n\tPostPublishExtension,\n\tPrePublishExtension,\n\t...propsForPanel\n} ) {\n\tconst {\n\t\thasPublishAction,\n\t\tisPostTypeViewable,\n\t\tisBeingScheduled,\n\t\tisDirty,\n\t\tisPublished,\n\t\tisPublishSidebarEnabled,\n\t\tisSaving,\n\t\tisSavingNonPostEntityChanges,\n\t\tisScheduled,\n\t\tcurrentPostId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges: _isSavingNonPostEntityChanges,\n\t\t\tisPublishSidebarEnabled: _isPublishSidebarEnabled,\n\t\t} = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: _isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: _isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\tcurrentPostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\n\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\tuseDispatch( editorStore );\n\n\tconst cancelButtonRef = useRef( null );\n\tconst wrapperRef = useMergeRefs( [\n\t\tuseFocusReturn(),\n\t\tuseConstrainedTabbing(),\n\t] );\n\n\tuseEffect( () => {\n\t\tcancelButtonRef.current?.focus();\n\t}, [] );\n\n\t// Auto-collapse the publish sidebar when a post is published and the user\n\t// makes an edit, or when the edited post changes. The panel only mounts\n\t// for unpublished posts, so `isPublished && isDirty` cannot be true on\n\t// mount \u2014 it implies a publish-then-edit transition.\n\tconst prevPostIdRef = useRef( currentPostId );\n\tconst stableOnClose = useEvent( onClose );\n\tuseEffect( () => {\n\t\tconst postChanged = currentPostId !== prevPostIdRef.current;\n\t\tprevPostIdRef.current = currentPostId;\n\n\t\tif ( postChanged || ( isPublished && ! isSaving && isDirty ) ) {\n\t\t\tstableOnClose();\n\t\t}\n\t}, [ isPublished, isSaving, isDirty, currentPostId, stableOnClose ] );\n\n\tfunction onTogglePublishSidebar() {\n\t\tif ( isPublishSidebarEnabled ) {\n\t\t\tdisablePublishSidebar();\n\t\t} else {\n\t\t\tenablePublishSidebar();\n\t\t}\n\t}\n\n\tfunction onSubmit() {\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst isPublishedOrScheduled =\n\t\tisPublished || ( isScheduled && isBeingScheduled );\n\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\n\treturn (\n\t\t<div\n\t\t\tref={ wrapperRef }\n\t\t\ttabIndex={ -1 }\n\t\t\tclassName=\"editor-post-publish-panel\"\n\t\t\t{ ...propsForPanel }\n\t\t>\n\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tref={ cancelButtonRef }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t) }\n\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t) }\n\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t</div>\n\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -32,10 +32,33 @@ function textSimilarity(text1, text2) {
32
32
  if (!text1 || !text2) {
33
33
  return 0;
34
34
  }
35
- const changes = diffWords(text1, text2);
36
- const unchanged = changes.filter((c) => !c.added && !c.removed).reduce((sum, c) => sum + c.value.length, 0);
37
- const total = Math.max(text1.length, text2.length);
38
- return total > 0 ? unchanged / total : 0;
35
+ const segmenter = new Intl.Segmenter(void 0, {
36
+ granularity: "word"
37
+ });
38
+ const wordLikeRegex = /[\p{L}\p{N}]/u;
39
+ const getWords = (text) => {
40
+ const words = [];
41
+ for (const { segment, isWordLike } of segmenter.segment(text)) {
42
+ if (isWordLike || wordLikeRegex.test(segment)) {
43
+ words.push(segment);
44
+ }
45
+ }
46
+ return words;
47
+ };
48
+ const words1 = getWords(text1);
49
+ const words2 = getWords(text2);
50
+ if (words1.length === 0 && words2.length === 0) {
51
+ return 1;
52
+ }
53
+ const set1 = new Set(words1);
54
+ let intersection = 0;
55
+ for (const word of words2) {
56
+ if (set1.has(word)) {
57
+ intersection++;
58
+ }
59
+ }
60
+ const total = Math.max(words1.length, words2.length);
61
+ return total > 0 ? intersection / total : 0;
39
62
  }
40
63
  function pairSimilarBlocks(blocks) {
41
64
  const removed = [];
@@ -52,39 +75,84 @@ function pairSimilarBlocks(blocks) {
52
75
  return blocks;
53
76
  }
54
77
  const pairedRemoved = /* @__PURE__ */ new Set();
78
+ const pairedAdded = /* @__PURE__ */ new Set();
55
79
  const modifications = /* @__PURE__ */ new Map();
56
- const SIMILARITY_THRESHOLD = 0.3;
80
+ const SIMILARITY_THRESHOLD = 0.5;
81
+ const addedByName = /* @__PURE__ */ new Map();
82
+ for (const add of added) {
83
+ const name = add.block.blockName;
84
+ if (!addedByName.has(name)) {
85
+ addedByName.set(name, []);
86
+ }
87
+ addedByName.get(name).push(add);
88
+ }
89
+ const removedByName = /* @__PURE__ */ new Map();
90
+ for (const rem of removed) {
91
+ const name = rem.block.blockName;
92
+ if (!removedByName.has(name)) {
93
+ removedByName.set(name, []);
94
+ }
95
+ removedByName.get(name).push(rem);
96
+ }
97
+ let maxPairedAddedIndex = -1;
57
98
  for (const rem of removed) {
99
+ const candidates = addedByName.get(rem.block.blockName) || [];
100
+ const sameNameRemoved = removedByName.get(rem.block.blockName) || [];
101
+ const unpaired = candidates.filter(
102
+ (add) => !modifications.has(add.index) && add.index > maxPairedAddedIndex
103
+ );
104
+ if (unpaired.length === 0) {
105
+ continue;
106
+ }
58
107
  let bestMatch = null;
59
- let bestScore = 0;
60
- for (const add of added) {
61
- if (modifications.has(add.index)) {
62
- continue;
63
- }
64
- if (add.block.blockName !== rem.block.blockName) {
65
- continue;
66
- }
67
- const score = textSimilarity(
68
- rem.block.innerHTML || "",
69
- add.block.innerHTML || ""
70
- );
108
+ if (sameNameRemoved.length === 1 && unpaired.length === 1) {
109
+ const add = unpaired[0];
71
110
  const attrsMatch = JSON.stringify(rem.block.attrs) === JSON.stringify(add.block.attrs);
72
- if (score > bestScore && score > SIMILARITY_THRESHOLD && (score < 1 || !attrsMatch)) {
73
- bestScore = score;
111
+ const contentMatch = (rem.block.innerHTML || "") === (add.block.innerHTML || "");
112
+ if (!contentMatch || !attrsMatch) {
74
113
  bestMatch = add;
75
114
  }
115
+ } else {
116
+ let bestScore = 0;
117
+ for (const add of unpaired) {
118
+ const score = textSimilarity(
119
+ rem.block.innerHTML || "",
120
+ add.block.innerHTML || ""
121
+ );
122
+ const attrsMatch = JSON.stringify(rem.block.attrs) === JSON.stringify(add.block.attrs);
123
+ if (score > bestScore && score > SIMILARITY_THRESHOLD && (score < 1 || !attrsMatch)) {
124
+ bestScore = score;
125
+ bestMatch = add;
126
+ }
127
+ }
76
128
  }
77
129
  if (bestMatch) {
78
- pairedRemoved.add(rem.index);
79
- modifications.set(bestMatch.index, {
130
+ maxPairedAddedIndex = bestMatch.index;
131
+ const modifiedBlock = {
80
132
  ...bestMatch.block,
81
133
  __revisionDiffStatus: { status: "modified" },
82
134
  __previousRawBlock: rem.block
83
- });
135
+ };
136
+ const lo = Math.min(rem.index, bestMatch.index);
137
+ const hi = Math.max(rem.index, bestMatch.index);
138
+ let hasAddedBetween = false;
139
+ for (let i = lo + 1; i < hi; i++) {
140
+ if (blocks[i].__revisionDiffStatus?.status === "added" && !pairedAdded.has(i)) {
141
+ hasAddedBetween = true;
142
+ break;
143
+ }
144
+ }
145
+ if (hasAddedBetween) {
146
+ modifications.set(bestMatch.index, modifiedBlock);
147
+ pairedRemoved.add(rem.index);
148
+ } else {
149
+ modifications.set(rem.index, modifiedBlock);
150
+ pairedAdded.add(bestMatch.index);
151
+ }
84
152
  }
85
153
  }
86
154
  return blocks.map((block, index) => {
87
- if (pairedRemoved.has(index)) {
155
+ if (pairedRemoved.has(index) || pairedAdded.has(index)) {
88
156
  return null;
89
157
  }
90
158
  if (modifications.has(index)) {