@wordpress/editor 14.48.1 → 14.49.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 (460) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +5 -13
  3. package/build/bindings/pattern-overrides.cjs +1 -1
  4. package/build/bindings/pattern-overrides.cjs.map +2 -2
  5. package/build/components/autosave-monitor/index.cjs +40 -83
  6. package/build/components/autosave-monitor/index.cjs.map +3 -3
  7. package/build/components/collab-sidebar/note-byline.cjs +1 -1
  8. package/build/components/collab-sidebar/note-byline.cjs.map +2 -2
  9. package/build/components/collab-sidebar/note.cjs +49 -17
  10. package/build/components/collab-sidebar/note.cjs.map +3 -3
  11. package/build/components/collab-sidebar/notes.cjs.map +1 -1
  12. package/build/components/collab-sidebar/utils.cjs +1 -1
  13. package/build/components/collab-sidebar/utils.cjs.map +2 -2
  14. package/build/components/collaborators-overlay/avatar-iframe-styles.cjs.map +1 -1
  15. package/build/components/collaborators-overlay/collaborator-styles.cjs.map +1 -1
  16. package/build/components/collaborators-overlay/compute-selection.cjs.map +1 -1
  17. package/build/components/collaborators-overlay/overlay-iframe-styles.cjs +1 -1
  18. package/build/components/collaborators-overlay/overlay-iframe-styles.cjs.map +1 -1
  19. package/build/components/collaborators-overlay/use-block-highlighting.cjs.map +1 -1
  20. package/build/components/collaborators-presence/avatar/component.cjs.map +2 -2
  21. package/build/components/collaborators-presence/avatar/use-image-loading-status.cjs.map +1 -1
  22. package/build/components/document-bar/index.cjs +7 -5
  23. package/build/components/document-bar/index.cjs.map +2 -2
  24. package/build/components/global-keyboard-shortcuts/index.cjs +3 -2
  25. package/build/components/global-keyboard-shortcuts/index.cjs.map +2 -2
  26. package/build/components/global-styles-sidebar/welcome-guide.cjs +3 -3
  27. package/build/components/global-styles-sidebar/welcome-guide.cjs.map +1 -1
  28. package/build/components/local-autosave-monitor/index.cjs +14 -15
  29. package/build/components/local-autosave-monitor/index.cjs.map +2 -2
  30. package/build/components/page-attributes/parent.cjs +1 -1
  31. package/build/components/page-attributes/parent.cjs.map +2 -2
  32. package/build/components/post-card-panel/index.cjs +1 -1
  33. package/build/components/post-card-panel/index.cjs.map +2 -2
  34. package/build/components/post-excerpt/panel.cjs +1 -1
  35. package/build/components/post-excerpt/panel.cjs.map +2 -2
  36. package/build/components/post-locked-modal/index.cjs +3 -3
  37. package/build/components/post-locked-modal/index.cjs.map +1 -1
  38. package/build/components/post-preview-button/index.cjs +2 -2
  39. package/build/components/post-preview-button/index.cjs.map +2 -2
  40. package/build/components/post-publish-button/index.cjs +4 -3
  41. package/build/components/post-publish-button/index.cjs.map +2 -2
  42. package/build/components/post-publish-button/label.cjs +2 -2
  43. package/build/components/post-publish-button/label.cjs.map +2 -2
  44. package/build/components/post-publish-panel/index.cjs.map +1 -1
  45. package/build/components/post-publish-panel/postpublish.cjs +1 -2
  46. package/build/components/post-publish-panel/postpublish.cjs.map +2 -2
  47. package/build/components/post-revisions-preview/block-diff.cjs.map +1 -1
  48. package/build/components/post-revisions-preview/diff-markers.cjs.map +2 -2
  49. package/build/components/post-revisions-preview/revisions-slider.cjs +1 -1
  50. package/build/components/post-revisions-preview/revisions-slider.cjs.map +2 -2
  51. package/build/components/post-revisions-timeline/index.cjs +173 -0
  52. package/build/components/post-revisions-timeline/index.cjs.map +7 -0
  53. package/build/components/post-saved-state/index.cjs +17 -26
  54. package/build/components/post-saved-state/index.cjs.map +2 -2
  55. package/build/components/post-schedule/label.cjs +5 -5
  56. package/build/components/post-schedule/label.cjs.map +1 -1
  57. package/build/components/post-status/index.cjs +0 -1
  58. package/build/components/post-status/index.cjs.map +2 -2
  59. package/build/components/post-taxonomies/flat-term-selector.cjs +2 -1
  60. package/build/components/post-taxonomies/flat-term-selector.cjs.map +3 -3
  61. package/build/components/post-taxonomies/hierarchical-term-selector.cjs +1 -2
  62. package/build/components/post-taxonomies/hierarchical-term-selector.cjs.map +2 -2
  63. package/build/components/post-template/create-new-template-modal.cjs +0 -1
  64. package/build/components/post-template/create-new-template-modal.cjs.map +2 -2
  65. package/build/components/post-text-editor/index.cjs +51 -0
  66. package/build/components/post-text-editor/index.cjs.map +2 -2
  67. package/build/components/post-text-editor/utils.cjs +150 -0
  68. package/build/components/post-text-editor/utils.cjs.map +7 -0
  69. package/build/components/post-url/index.cjs +1 -1
  70. package/build/components/post-url/index.cjs.map +2 -2
  71. package/build/components/post-view-link/index.cjs +1 -1
  72. package/build/components/post-view-link/index.cjs.map +2 -2
  73. package/build/components/post-visibility/index.cjs +0 -1
  74. package/build/components/post-visibility/index.cjs.map +2 -2
  75. package/build/components/provider/disable-non-page-content-blocks.cjs +23 -3
  76. package/build/components/provider/disable-non-page-content-blocks.cjs.map +2 -2
  77. package/build/components/provider/index.cjs +1 -1
  78. package/build/components/provider/index.cjs.map +2 -2
  79. package/build/components/provider/navigation-block-editing-mode.cjs +9 -2
  80. package/build/components/provider/navigation-block-editing-mode.cjs.map +2 -2
  81. package/build/components/provider/use-block-editor-settings.cjs +2 -1
  82. package/build/components/provider/use-block-editor-settings.cjs.map +2 -2
  83. package/build/components/resizable-editor/resize-handle.cjs.map +2 -2
  84. package/build/components/revision-diff-panel/index.cjs +7 -2
  85. package/build/components/revision-diff-panel/index.cjs.map +2 -2
  86. package/build/components/revision-fields-diff/index.cjs +6 -2
  87. package/build/components/revision-fields-diff/index.cjs.map +2 -2
  88. package/build/components/sidebar/dataform-post-summary.cjs +189 -29
  89. package/build/components/sidebar/dataform-post-summary.cjs.map +3 -3
  90. package/build/components/sidebar/index.cjs +1 -11
  91. package/build/components/sidebar/index.cjs.map +3 -3
  92. package/build/components/sidebar/post-revision-summary.cjs +11 -17
  93. package/build/components/sidebar/post-revision-summary.cjs.map +3 -3
  94. package/build/components/sidebar/post-summary.cjs +8 -6
  95. package/build/components/sidebar/post-summary.cjs.map +3 -3
  96. package/build/components/style-book/examples.cjs +1 -1
  97. package/build/components/style-book/examples.cjs.map +1 -1
  98. package/build/components/style-book/index.cjs +1 -1
  99. package/build/components/style-book/index.cjs.map +2 -2
  100. package/build/components/sync-connection-error-modal/index.cjs +3 -3
  101. package/build/components/sync-connection-error-modal/index.cjs.map +1 -1
  102. package/build/components/template-actions-panel/block-theme-content.cjs.map +2 -2
  103. package/build/components/template-actions-panel/index.cjs +0 -9
  104. package/build/components/template-actions-panel/index.cjs.map +3 -3
  105. package/build/components/template-validation-notice/index.cjs +1 -1
  106. package/build/components/template-validation-notice/index.cjs.map +1 -1
  107. package/build/components/upload-progress-snackbar/index.cjs +3 -3
  108. package/build/components/upload-progress-snackbar/index.cjs.map +2 -2
  109. package/build/components/upload-progress-snackbar/tracker.cjs.map +1 -1
  110. package/build/components/visual-editor/edit-template-blocks-notification.cjs +1 -1
  111. package/build/components/visual-editor/edit-template-blocks-notification.cjs.map +1 -1
  112. package/build/{components/revision-author-panel → dataviews/fields/revisions}/index.cjs +18 -26
  113. package/build/dataviews/fields/revisions/index.cjs.map +7 -0
  114. package/build/dataviews/fields/revisions/revisions-view.cjs +74 -0
  115. package/build/dataviews/fields/revisions/revisions-view.cjs.map +7 -0
  116. package/build/dataviews/store/private-actions.cjs +17 -5
  117. package/build/dataviews/store/private-actions.cjs.map +3 -3
  118. package/build/hooks/push-changes-to-global-styles/index.cjs +1 -1
  119. package/build/hooks/push-changes-to-global-styles/index.cjs.map +1 -1
  120. package/build/store/actions.cjs +1 -1
  121. package/build/store/actions.cjs.map +2 -2
  122. package/build/store/private-actions.cjs +2 -2
  123. package/build/store/private-actions.cjs.map +2 -2
  124. package/build/store/private-selectors.cjs +6 -1
  125. package/build/store/private-selectors.cjs.map +2 -2
  126. package/build/utils/media-upload/index.cjs.map +1 -1
  127. package/build/utils/set-nested-value.cjs.map +1 -1
  128. package/build-module/bindings/pattern-overrides.mjs +1 -1
  129. package/build-module/bindings/pattern-overrides.mjs.map +2 -2
  130. package/build-module/components/autosave-monitor/index.mjs +42 -81
  131. package/build-module/components/autosave-monitor/index.mjs.map +2 -2
  132. package/build-module/components/collab-sidebar/note-byline.mjs +1 -1
  133. package/build-module/components/collab-sidebar/note-byline.mjs.map +2 -2
  134. package/build-module/components/collab-sidebar/note.mjs +50 -18
  135. package/build-module/components/collab-sidebar/note.mjs.map +2 -2
  136. package/build-module/components/collab-sidebar/notes.mjs.map +1 -1
  137. package/build-module/components/collab-sidebar/utils.mjs +1 -1
  138. package/build-module/components/collab-sidebar/utils.mjs.map +2 -2
  139. package/build-module/components/collaborators-overlay/avatar-iframe-styles.mjs.map +1 -1
  140. package/build-module/components/collaborators-overlay/collaborator-styles.mjs.map +1 -1
  141. package/build-module/components/collaborators-overlay/compute-selection.mjs.map +1 -1
  142. package/build-module/components/collaborators-overlay/overlay-iframe-styles.mjs +1 -1
  143. package/build-module/components/collaborators-overlay/overlay-iframe-styles.mjs.map +1 -1
  144. package/build-module/components/collaborators-overlay/use-block-highlighting.mjs.map +1 -1
  145. package/build-module/components/collaborators-presence/avatar/component.mjs.map +2 -2
  146. package/build-module/components/collaborators-presence/avatar/use-image-loading-status.mjs.map +1 -1
  147. package/build-module/components/document-bar/index.mjs +7 -5
  148. package/build-module/components/document-bar/index.mjs.map +2 -2
  149. package/build-module/components/global-keyboard-shortcuts/index.mjs +3 -2
  150. package/build-module/components/global-keyboard-shortcuts/index.mjs.map +2 -2
  151. package/build-module/components/global-styles-sidebar/welcome-guide.mjs +3 -3
  152. package/build-module/components/global-styles-sidebar/welcome-guide.mjs.map +1 -1
  153. package/build-module/components/local-autosave-monitor/index.mjs +15 -16
  154. package/build-module/components/local-autosave-monitor/index.mjs.map +2 -2
  155. package/build-module/components/page-attributes/parent.mjs +1 -1
  156. package/build-module/components/page-attributes/parent.mjs.map +2 -2
  157. package/build-module/components/post-card-panel/index.mjs +1 -1
  158. package/build-module/components/post-card-panel/index.mjs.map +2 -2
  159. package/build-module/components/post-excerpt/panel.mjs +1 -1
  160. package/build-module/components/post-excerpt/panel.mjs.map +2 -2
  161. package/build-module/components/post-locked-modal/index.mjs +3 -3
  162. package/build-module/components/post-locked-modal/index.mjs.map +1 -1
  163. package/build-module/components/post-preview-button/index.mjs +2 -2
  164. package/build-module/components/post-preview-button/index.mjs.map +2 -2
  165. package/build-module/components/post-publish-button/index.mjs +4 -3
  166. package/build-module/components/post-publish-button/index.mjs.map +2 -2
  167. package/build-module/components/post-publish-button/label.mjs +2 -2
  168. package/build-module/components/post-publish-button/label.mjs.map +2 -2
  169. package/build-module/components/post-publish-panel/index.mjs.map +1 -1
  170. package/build-module/components/post-publish-panel/postpublish.mjs +1 -2
  171. package/build-module/components/post-publish-panel/postpublish.mjs.map +2 -2
  172. package/build-module/components/post-revisions-preview/block-diff.mjs.map +1 -1
  173. package/build-module/components/post-revisions-preview/diff-markers.mjs.map +2 -2
  174. package/build-module/components/post-revisions-preview/revisions-slider.mjs +1 -1
  175. package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +2 -2
  176. package/build-module/components/post-revisions-timeline/index.mjs +152 -0
  177. package/build-module/components/post-revisions-timeline/index.mjs.map +7 -0
  178. package/build-module/components/post-saved-state/index.mjs +17 -26
  179. package/build-module/components/post-saved-state/index.mjs.map +2 -2
  180. package/build-module/components/post-schedule/label.mjs +5 -5
  181. package/build-module/components/post-schedule/label.mjs.map +1 -1
  182. package/build-module/components/post-status/index.mjs +0 -1
  183. package/build-module/components/post-status/index.mjs.map +2 -2
  184. package/build-module/components/post-taxonomies/flat-term-selector.mjs +3 -6
  185. package/build-module/components/post-taxonomies/flat-term-selector.mjs.map +2 -2
  186. package/build-module/components/post-taxonomies/hierarchical-term-selector.mjs +1 -2
  187. package/build-module/components/post-taxonomies/hierarchical-term-selector.mjs.map +2 -2
  188. package/build-module/components/post-template/create-new-template-modal.mjs +0 -1
  189. package/build-module/components/post-template/create-new-template-modal.mjs.map +2 -2
  190. package/build-module/components/post-text-editor/index.mjs +51 -0
  191. package/build-module/components/post-text-editor/index.mjs.map +2 -2
  192. package/build-module/components/post-text-editor/utils.mjs +123 -0
  193. package/build-module/components/post-text-editor/utils.mjs.map +7 -0
  194. package/build-module/components/post-url/index.mjs +1 -1
  195. package/build-module/components/post-url/index.mjs.map +2 -2
  196. package/build-module/components/post-view-link/index.mjs +1 -1
  197. package/build-module/components/post-view-link/index.mjs.map +2 -2
  198. package/build-module/components/post-visibility/index.mjs +0 -1
  199. package/build-module/components/post-visibility/index.mjs.map +2 -2
  200. package/build-module/components/provider/disable-non-page-content-blocks.mjs +23 -3
  201. package/build-module/components/provider/disable-non-page-content-blocks.mjs.map +2 -2
  202. package/build-module/components/provider/index.mjs +1 -1
  203. package/build-module/components/provider/index.mjs.map +2 -2
  204. package/build-module/components/provider/navigation-block-editing-mode.mjs +10 -3
  205. package/build-module/components/provider/navigation-block-editing-mode.mjs.map +2 -2
  206. package/build-module/components/provider/use-block-editor-settings.mjs +2 -1
  207. package/build-module/components/provider/use-block-editor-settings.mjs.map +2 -2
  208. package/build-module/components/resizable-editor/resize-handle.mjs.map +2 -2
  209. package/build-module/components/revision-diff-panel/index.mjs +7 -2
  210. package/build-module/components/revision-diff-panel/index.mjs.map +2 -2
  211. package/build-module/components/revision-fields-diff/index.mjs +6 -2
  212. package/build-module/components/revision-fields-diff/index.mjs.map +2 -2
  213. package/build-module/components/sidebar/dataform-post-summary.mjs +190 -30
  214. package/build-module/components/sidebar/dataform-post-summary.mjs.map +2 -2
  215. package/build-module/components/sidebar/index.mjs +1 -11
  216. package/build-module/components/sidebar/index.mjs.map +2 -2
  217. package/build-module/components/sidebar/post-revision-summary.mjs +11 -17
  218. package/build-module/components/sidebar/post-revision-summary.mjs.map +2 -2
  219. package/build-module/components/sidebar/post-summary.mjs +8 -6
  220. package/build-module/components/sidebar/post-summary.mjs.map +2 -2
  221. package/build-module/components/style-book/examples.mjs +1 -1
  222. package/build-module/components/style-book/examples.mjs.map +1 -1
  223. package/build-module/components/style-book/index.mjs +1 -1
  224. package/build-module/components/style-book/index.mjs.map +2 -2
  225. package/build-module/components/sync-connection-error-modal/index.mjs +3 -3
  226. package/build-module/components/sync-connection-error-modal/index.mjs.map +1 -1
  227. package/build-module/components/template-actions-panel/block-theme-content.mjs.map +2 -2
  228. package/build-module/components/template-actions-panel/index.mjs +0 -9
  229. package/build-module/components/template-actions-panel/index.mjs.map +2 -2
  230. package/build-module/components/template-validation-notice/index.mjs +1 -1
  231. package/build-module/components/template-validation-notice/index.mjs.map +1 -1
  232. package/build-module/components/upload-progress-snackbar/index.mjs +3 -3
  233. package/build-module/components/upload-progress-snackbar/index.mjs.map +2 -2
  234. package/build-module/components/upload-progress-snackbar/tracker.mjs.map +1 -1
  235. package/build-module/components/visual-editor/edit-template-blocks-notification.mjs +1 -1
  236. package/build-module/components/visual-editor/edit-template-blocks-notification.mjs.map +1 -1
  237. package/build-module/dataviews/fields/revisions/index.mjs +20 -0
  238. package/build-module/dataviews/fields/revisions/index.mjs.map +7 -0
  239. package/build-module/dataviews/fields/revisions/revisions-view.mjs +53 -0
  240. package/build-module/dataviews/fields/revisions/revisions-view.mjs.map +7 -0
  241. package/build-module/dataviews/store/private-actions.mjs +28 -8
  242. package/build-module/dataviews/store/private-actions.mjs.map +2 -2
  243. package/build-module/hooks/push-changes-to-global-styles/index.mjs +1 -1
  244. package/build-module/hooks/push-changes-to-global-styles/index.mjs.map +1 -1
  245. package/build-module/store/actions.mjs +1 -1
  246. package/build-module/store/actions.mjs.map +2 -2
  247. package/build-module/store/private-actions.mjs +2 -2
  248. package/build-module/store/private-actions.mjs.map +2 -2
  249. package/build-module/store/private-selectors.mjs +7 -1
  250. package/build-module/store/private-selectors.mjs.map +2 -2
  251. package/build-module/utils/media-upload/index.mjs.map +1 -1
  252. package/build-module/utils/set-nested-value.mjs.map +1 -1
  253. package/build-style/style-rtl.css +298 -238
  254. package/build-style/style.css +298 -238
  255. package/build-types/components/autosave-monitor/index.d.ts +11 -29
  256. package/build-types/components/autosave-monitor/index.d.ts.map +1 -1
  257. package/build-types/components/collab-sidebar/note-byline.d.ts +0 -3
  258. package/build-types/components/collab-sidebar/note-byline.d.ts.map +1 -1
  259. package/build-types/components/collab-sidebar/note.d.ts.map +1 -1
  260. package/build-types/components/collaborators-presence/avatar/component.d.ts.map +1 -1
  261. package/build-types/components/document-bar/index.d.ts +2 -2
  262. package/build-types/components/document-bar/index.d.ts.map +1 -1
  263. package/build-types/components/global-keyboard-shortcuts/index.d.ts.map +1 -1
  264. package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -1
  265. package/build-types/components/post-publish-button/index.d.ts.map +1 -1
  266. package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -1
  267. package/build-types/components/post-revisions-preview/diff-markers.d.ts.map +1 -1
  268. package/build-types/components/post-revisions-timeline/index.d.ts +2 -0
  269. package/build-types/components/post-revisions-timeline/index.d.ts.map +1 -0
  270. package/build-types/components/post-saved-state/index.d.ts.map +1 -1
  271. package/build-types/components/post-status/index.d.ts.map +1 -1
  272. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  273. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  274. package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -1
  275. package/build-types/components/post-text-editor/index.d.ts +1 -1
  276. package/build-types/components/post-text-editor/index.d.ts.map +1 -1
  277. package/build-types/components/post-visibility/index.d.ts.map +1 -1
  278. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  279. package/build-types/components/provider/index.d.ts.map +1 -1
  280. package/build-types/components/provider/navigation-block-editing-mode.d.ts.map +1 -1
  281. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  282. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -1
  283. package/build-types/components/revision-diff-panel/index.d.ts +3 -1
  284. package/build-types/components/revision-diff-panel/index.d.ts.map +1 -1
  285. package/build-types/components/revision-fields-diff/index.d.ts.map +1 -1
  286. package/build-types/components/sidebar/dataform-post-summary.d.ts.map +1 -1
  287. package/build-types/components/sidebar/index.d.ts.map +1 -1
  288. package/build-types/components/sidebar/post-revision-summary.d.ts.map +1 -1
  289. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  290. package/build-types/components/template-actions-panel/block-theme-content.d.ts.map +1 -1
  291. package/build-types/components/template-actions-panel/index.d.ts.map +1 -1
  292. package/build-types/dataviews/fields/revisions/index.d.ts +8 -0
  293. package/build-types/dataviews/fields/revisions/index.d.ts.map +1 -0
  294. package/build-types/dataviews/fields/revisions/revisions-view.d.ts +2 -0
  295. package/build-types/dataviews/fields/revisions/revisions-view.d.ts.map +1 -0
  296. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  297. package/build-types/store/private-selectors.d.ts +1 -1
  298. package/build-types/store/private-selectors.d.ts.map +1 -1
  299. package/build-types/store/selectors.d.ts +1 -1
  300. package/build-types/store/selectors.d.ts.map +1 -1
  301. package/build-types/utils/get-template-part-icon.d.ts.map +1 -1
  302. package/package.json +53 -47
  303. package/src/bindings/pattern-overrides.js +1 -1
  304. package/src/bindings/test/pattern-overrides.js +65 -0
  305. package/src/components/autosave-monitor/index.js +69 -104
  306. package/src/components/autosave-monitor/test/index.js +137 -122
  307. package/src/components/collab-sidebar/note-byline.js +0 -1
  308. package/src/components/collab-sidebar/note.js +64 -29
  309. package/src/components/collab-sidebar/style.scss +20 -0
  310. package/src/components/collaborators-presence/avatar/component.tsx +0 -1
  311. package/src/components/collaborators-presence/avatar/test/index.tsx +0 -1
  312. package/src/components/document-bar/index.js +8 -3
  313. package/src/components/document-bar/style.scss +4 -2
  314. package/src/components/global-keyboard-shortcuts/index.js +2 -1
  315. package/src/components/local-autosave-monitor/index.js +23 -21
  316. package/src/components/plugin-post-publish-panel/test/__snapshots__/index.js.snap +1 -0
  317. package/src/components/post-card-panel/index.js +1 -1
  318. package/src/components/post-publish-button/index.js +6 -3
  319. package/src/components/post-publish-button/test/index.js +13 -0
  320. package/src/components/post-publish-panel/postpublish.js +0 -1
  321. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +7 -2
  322. package/src/components/post-revisions-preview/diff-markers.js +0 -1
  323. package/src/components/post-revisions-timeline/index.js +186 -0
  324. package/src/components/post-revisions-timeline/style.scss +43 -0
  325. package/src/components/post-saved-state/index.js +23 -26
  326. package/src/components/post-saved-state/test/__snapshots__/index.js.snap +1 -0
  327. package/src/components/post-saved-state/test/index.js +18 -0
  328. package/src/components/post-status/index.js +0 -1
  329. package/src/components/post-taxonomies/flat-term-selector.js +4 -7
  330. package/src/components/post-taxonomies/hierarchical-term-selector.js +0 -1
  331. package/src/components/post-template/create-new-template-modal.js +0 -1
  332. package/src/components/post-text-editor/index.js +65 -0
  333. package/src/components/post-text-editor/test/utils.js +210 -0
  334. package/src/components/post-text-editor/utils.js +204 -0
  335. package/src/components/post-type-support-check/test/index.js +11 -0
  336. package/src/components/post-url/index.js +1 -1
  337. package/src/components/post-view-link/index.js +1 -1
  338. package/src/components/post-view-link/test/index.js +71 -0
  339. package/src/components/post-visibility/index.js +0 -1
  340. package/src/components/provider/disable-non-page-content-blocks.js +23 -6
  341. package/src/components/provider/index.js +2 -1
  342. package/src/components/provider/navigation-block-editing-mode.js +10 -4
  343. package/src/components/provider/use-block-editor-settings.js +3 -1
  344. package/src/components/resizable-editor/resize-handle.js +0 -1
  345. package/src/components/revision-diff-panel/index.js +8 -2
  346. package/src/components/revision-fields-diff/index.js +12 -1
  347. package/src/components/sidebar/dataform-post-summary.js +291 -36
  348. package/src/components/sidebar/index.js +2 -12
  349. package/src/components/sidebar/post-revision-summary.js +8 -15
  350. package/src/components/sidebar/post-summary.js +12 -10
  351. package/src/components/style-book/index.js +1 -1
  352. package/src/components/template-actions-panel/block-theme-content.js +0 -1
  353. package/src/components/template-actions-panel/index.js +0 -15
  354. package/src/dataviews/fields/revisions/index.tsx +28 -0
  355. package/src/dataviews/fields/revisions/revisions-view.tsx +59 -0
  356. package/src/dataviews/store/private-actions.ts +35 -7
  357. package/src/store/private-actions.js +2 -2
  358. package/src/store/private-selectors.js +11 -1
  359. package/src/store/test/actions.js +2 -2
  360. package/src/store/test/private-selectors.js +69 -0
  361. package/src/style.scss +1 -1
  362. package/build/components/post-revisions-panel/index.cjs +0 -173
  363. package/build/components/post-revisions-panel/index.cjs.map +0 -7
  364. package/build/components/revision-author-panel/index.cjs.map +0 -7
  365. package/build/components/revision-created-panel/index.cjs +0 -47
  366. package/build/components/revision-created-panel/index.cjs.map +0 -7
  367. package/build-module/components/post-revisions-panel/index.mjs +0 -148
  368. package/build-module/components/post-revisions-panel/index.mjs.map +0 -7
  369. package/build-module/components/revision-author-panel/index.mjs +0 -28
  370. package/build-module/components/revision-author-panel/index.mjs.map +0 -7
  371. package/build-module/components/revision-created-panel/index.mjs +0 -26
  372. package/build-module/components/revision-created-panel/index.mjs.map +0 -7
  373. package/build-types/components/collab-sidebar/add-comment.d.ts +0 -6
  374. package/build-types/components/collab-sidebar/add-comment.d.ts.map +0 -1
  375. package/build-types/components/collab-sidebar/comment-author-info.d.ts +0 -8
  376. package/build-types/components/collab-sidebar/comment-author-info.d.ts.map +0 -1
  377. package/build-types/components/collab-sidebar/comment-form.d.ts +0 -9
  378. package/build-types/components/collab-sidebar/comment-form.d.ts.map +0 -1
  379. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts +0 -6
  380. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts.map +0 -1
  381. package/build-types/components/collab-sidebar/comment-menu-item.d.ts +0 -6
  382. package/build-types/components/collab-sidebar/comment-menu-item.d.ts.map +0 -1
  383. package/build-types/components/collab-sidebar/comments.d.ts +0 -10
  384. package/build-types/components/collab-sidebar/comments.d.ts.map +0 -1
  385. package/build-types/components/global-styles-provider/index.d.ts +0 -16
  386. package/build-types/components/global-styles-provider/index.d.ts.map +0 -1
  387. package/build-types/components/media/index.d.ts +0 -3
  388. package/build-types/components/media/index.d.ts.map +0 -1
  389. package/build-types/components/media/metadata-panel.d.ts +0 -12
  390. package/build-types/components/media/metadata-panel.d.ts.map +0 -1
  391. package/build-types/components/media/preview.d.ts +0 -9
  392. package/build-types/components/media/preview.d.ts.map +0 -1
  393. package/build-types/components/post-revisions-panel/index.d.ts +0 -2
  394. package/build-types/components/post-revisions-panel/index.d.ts.map +0 -1
  395. package/build-types/components/revision-author-panel/index.d.ts +0 -2
  396. package/build-types/components/revision-author-panel/index.d.ts.map +0 -1
  397. package/build-types/components/revision-created-panel/index.d.ts +0 -2
  398. package/build-types/components/revision-created-panel/index.d.ts.map +0 -1
  399. package/src/components/editor-help/images/add-dark.png +0 -0
  400. package/src/components/editor-help/images/add-dark@2x.png +0 -0
  401. package/src/components/editor-help/images/add-dark@3x.png +0 -0
  402. package/src/components/editor-help/images/add-light.png +0 -0
  403. package/src/components/editor-help/images/add-light@2x.png +0 -0
  404. package/src/components/editor-help/images/add-light@3x.png +0 -0
  405. package/src/components/editor-help/images/block-layout-collage.png +0 -0
  406. package/src/components/editor-help/images/block-layout-collage@2x.png +0 -0
  407. package/src/components/editor-help/images/block-layout-collage@3x.png +0 -0
  408. package/src/components/editor-help/images/build-layouts-dark.png +0 -0
  409. package/src/components/editor-help/images/build-layouts-dark@2x.png +0 -0
  410. package/src/components/editor-help/images/build-layouts-dark@3x.png +0 -0
  411. package/src/components/editor-help/images/build-layouts-light.png +0 -0
  412. package/src/components/editor-help/images/build-layouts-light@2x.png +0 -0
  413. package/src/components/editor-help/images/build-layouts-light@3x.png +0 -0
  414. package/src/components/editor-help/images/drag-and-drop-dark.png +0 -0
  415. package/src/components/editor-help/images/drag-and-drop-dark@2x.png +0 -0
  416. package/src/components/editor-help/images/drag-and-drop-dark@3x.png +0 -0
  417. package/src/components/editor-help/images/drag-and-drop-light.png +0 -0
  418. package/src/components/editor-help/images/drag-and-drop-light@2x.png +0 -0
  419. package/src/components/editor-help/images/drag-and-drop-light@3x.png +0 -0
  420. package/src/components/editor-help/images/edit-media-dark.png +0 -0
  421. package/src/components/editor-help/images/edit-media-dark@2x.png +0 -0
  422. package/src/components/editor-help/images/edit-media-dark@3x.png +0 -0
  423. package/src/components/editor-help/images/edit-media-light.png +0 -0
  424. package/src/components/editor-help/images/edit-media-light@2x.png +0 -0
  425. package/src/components/editor-help/images/edit-media-light@3x.png +0 -0
  426. package/src/components/editor-help/images/embed-media-dark.png +0 -0
  427. package/src/components/editor-help/images/embed-media-dark@2x.png +0 -0
  428. package/src/components/editor-help/images/embed-media-dark@3x.png +0 -0
  429. package/src/components/editor-help/images/embed-media-light.png +0 -0
  430. package/src/components/editor-help/images/embed-media-light@2x.png +0 -0
  431. package/src/components/editor-help/images/embed-media-light@3x.png +0 -0
  432. package/src/components/editor-help/images/move-dark.png +0 -0
  433. package/src/components/editor-help/images/move-dark@2x.png +0 -0
  434. package/src/components/editor-help/images/move-dark@3x.png +0 -0
  435. package/src/components/editor-help/images/move-light.png +0 -0
  436. package/src/components/editor-help/images/move-light@2x.png +0 -0
  437. package/src/components/editor-help/images/move-light@3x.png +0 -0
  438. package/src/components/editor-help/images/options-dark.png +0 -0
  439. package/src/components/editor-help/images/options-dark@2x.png +0 -0
  440. package/src/components/editor-help/images/options-dark@3x.png +0 -0
  441. package/src/components/editor-help/images/options-light.png +0 -0
  442. package/src/components/editor-help/images/options-light@2x.png +0 -0
  443. package/src/components/editor-help/images/options-light@3x.png +0 -0
  444. package/src/components/editor-help/images/rich-text-dark.png +0 -0
  445. package/src/components/editor-help/images/rich-text-dark@2x.png +0 -0
  446. package/src/components/editor-help/images/rich-text-dark@3x.png +0 -0
  447. package/src/components/editor-help/images/rich-text-light.png +0 -0
  448. package/src/components/editor-help/images/rich-text-light@2x.png +0 -0
  449. package/src/components/editor-help/images/rich-text-light@3x.png +0 -0
  450. package/src/components/editor-help/images/settings-dark.png +0 -0
  451. package/src/components/editor-help/images/settings-dark@2x.png +0 -0
  452. package/src/components/editor-help/images/settings-dark@3x.png +0 -0
  453. package/src/components/editor-help/images/settings-light.png +0 -0
  454. package/src/components/editor-help/images/settings-light@2x.png +0 -0
  455. package/src/components/editor-help/images/settings-light@3x.png +0 -0
  456. package/src/components/editor-help/style.scss +0 -123
  457. package/src/components/post-revisions-panel/index.js +0 -161
  458. package/src/components/post-revisions-panel/style.scss +0 -16
  459. package/src/components/revision-author-panel/index.js +0 -36
  460. package/src/components/revision-created-panel/index.js +0 -36
@@ -30,6 +30,8 @@ import {
30
30
  slugField,
31
31
  statusField,
32
32
  authorField,
33
+ templateAuthorField,
34
+ templatePartAuthorField,
33
35
  titleField,
34
36
  templateField,
35
37
  templateTitleField,
@@ -37,9 +39,15 @@ import {
37
39
  patternTitleField,
38
40
  notesField,
39
41
  scheduledDateField,
42
+ lastEditedDateField,
40
43
  formatField,
41
44
  postContentInfoField,
42
45
  stickyField,
46
+ descriptionField,
47
+ readOnlyDescriptionField,
48
+ postsPerPageField,
49
+ siteDiscussionField,
50
+ postsPageTitleField,
43
51
  } from '@wordpress/fields';
44
52
  import {
45
53
  altTextField,
@@ -47,7 +55,7 @@ import {
47
55
  authorField as mediaAuthorField,
48
56
  captionField,
49
57
  dateAddedField,
50
- descriptionField,
58
+ descriptionField as mediaDescriptionField,
51
59
  filenameField,
52
60
  filesizeField,
53
61
  mediaDimensionsField,
@@ -164,7 +172,7 @@ const ORDERED_MEDIA_FIELDS = [
164
172
  titleField,
165
173
  altTextField,
166
174
  captionField,
167
- descriptionField,
175
+ mediaDescriptionField,
168
176
  ];
169
177
 
170
178
  export const registerPostTypeSchema =
@@ -261,13 +269,21 @@ export const registerPostTypeSchema =
261
269
  postTypeConfig.supports?.thumbnail &&
262
270
  currentTheme?.theme_supports?.[ 'post-thumbnails' ] &&
263
271
  featuredImageField,
264
- postTypeConfig.supports?.author && authorField,
265
- statusField,
272
+ ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
273
+ postTypeConfig.supports?.author &&
274
+ authorField,
275
+ postTypeConfig.slug === 'wp_template' && templateAuthorField,
276
+ postTypeConfig.slug === 'wp_template_part' &&
277
+ templatePartAuthorField,
278
+ ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
279
+ statusField,
266
280
  ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
267
281
  dateField,
268
282
  ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
269
283
  scheduledDateField,
270
- slugField,
284
+ lastEditedDateField,
285
+ ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
286
+ slugField,
271
287
  ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
272
288
  postTypeConfig.supports?.excerpt &&
273
289
  excerptField,
@@ -277,15 +293,27 @@ export const registerPostTypeSchema =
277
293
  ( postTypeConfig.supports?.comments ||
278
294
  postTypeConfig.supports?.trackbacks ) &&
279
295
  discussionField,
280
- templateField,
296
+ ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
297
+ templateField,
281
298
  postTypeConfig.supports?.[ 'post-formats' ] &&
282
299
  ! disablePostFormats &&
283
300
  formatField,
284
301
  ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
285
302
  postTypeConfig.supports?.editor &&
286
303
  postContentInfoField,
287
- passwordField,
304
+ ! DESIGN_POST_TYPES.includes( postTypeConfig.slug ) &&
305
+ passwordField,
288
306
  postTypeConfig.slug === 'post' && stickyField,
307
+ postTypeConfig.slug === 'wp_template' && descriptionField,
308
+ postTypeConfig.slug === 'wp_template' &&
309
+ readOnlyDescriptionField,
310
+ // The `home`/`index` template summary exposes a few fields that
311
+ // target other entities (`root/site` and the posts page).
312
+ // `DataFormPostSummary` overrides them to read/write the right
313
+ // entity and to control their visibility.
314
+ postTypeConfig.slug === 'wp_template' && postsPageTitleField,
315
+ postTypeConfig.slug === 'wp_template' && postsPerPageField,
316
+ postTypeConfig.slug === 'wp_template' && siteDiscussionField,
289
317
  postTypeConfig.supports?.editor &&
290
318
  postTypeConfig.viewable &&
291
319
  postPreviewField,
@@ -21,8 +21,8 @@ import { unlock } from '../lock-unlock';
21
21
  export * from '../dataviews/store/private-actions';
22
22
 
23
23
  const DEVICE_TYPE_BY_VIEWPORT_STATE = {
24
- mobile: 'Mobile',
25
- tablet: 'Tablet',
24
+ '@mobile': 'Mobile',
25
+ '@tablet': 'Tablet',
26
26
  };
27
27
 
28
28
  /**
@@ -25,6 +25,7 @@ import {
25
25
  getRenderingMode,
26
26
  getCurrentPost,
27
27
  getCurrentPostType,
28
+ getCurrentPostId,
28
29
  getEditorSettings,
29
30
  getCurrentPostRevisionsCount,
30
31
  } from './selectors';
@@ -598,13 +599,22 @@ export const isCollaborationEnabledForCurrentPost = createRegistrySelector(
598
599
  }
599
600
 
600
601
  const currentPostType = getCurrentPostType( state );
602
+ const currentPostId = getCurrentPostId( state );
601
603
  const entityConfig = select( coreStore ).getEntityConfig(
602
604
  'postType',
603
605
  currentPostType
604
606
  );
607
+ const syncConfig = entityConfig?.syncConfig;
605
608
 
606
609
  return Boolean(
607
- entityConfig?.syncConfig && window._wpCollaborationEnabled
610
+ syncConfig &&
611
+ syncConfig.supportsPersistence &&
612
+ window._wpCollaborationEnabled &&
613
+ false !==
614
+ syncConfig.shouldSync?.(
615
+ `postType/${ currentPostType }`,
616
+ currentPostId
617
+ )
608
618
  );
609
619
  }
610
620
  );
@@ -71,7 +71,7 @@ describe( 'Post actions', () => {
71
71
  unlock(
72
72
  registry.dispatch( editorStore )
73
73
  ).updateDeviceTypeForViewportState( {
74
- viewport: 'mobile',
74
+ viewport: '@mobile',
75
75
  showStateOnCanvas: true,
76
76
  } );
77
77
 
@@ -87,7 +87,7 @@ describe( 'Post actions', () => {
87
87
  unlock(
88
88
  registry.dispatch( editorStore )
89
89
  ).updateDeviceTypeForViewportState( {
90
- viewport: 'mobile',
90
+ viewport: '@mobile',
91
91
  showStateOnCanvas: false,
92
92
  } );
93
93
 
@@ -10,7 +10,9 @@ import { store as preferencesStore } from '@wordpress/preferences';
10
10
  import {
11
11
  getDefaultRenderingMode,
12
12
  getPostBlocksByName,
13
+ isCollaborationEnabledForCurrentPost,
13
14
  } from '../private-selectors';
15
+ import { lock } from '../../lock-unlock';
14
16
 
15
17
  describe( 'getPostBlocksByName', () => {
16
18
  const state = {
@@ -86,6 +88,73 @@ describe( 'getPostBlocksByName', () => {
86
88
  } );
87
89
  } );
88
90
 
91
+ describe( 'isCollaborationEnabledForCurrentPost', () => {
92
+ let originalCollaborationEnabled;
93
+
94
+ beforeEach( () => {
95
+ originalCollaborationEnabled = window._wpCollaborationEnabled;
96
+ window._wpCollaborationEnabled = true;
97
+ } );
98
+
99
+ afterEach( () => {
100
+ window._wpCollaborationEnabled = originalCollaborationEnabled;
101
+ } );
102
+
103
+ function setupRegistry( {
104
+ collaborationSupported = true,
105
+ syncConfig = {},
106
+ } = {} ) {
107
+ isCollaborationEnabledForCurrentPost.registry = {
108
+ select: ( store ) => {
109
+ if ( store === coreStore ) {
110
+ const selectors = {
111
+ getEntityConfig: () => ( { syncConfig } ),
112
+ };
113
+ lock( selectors, {
114
+ isCollaborationSupported: () => collaborationSupported,
115
+ } );
116
+ return selectors;
117
+ }
118
+ },
119
+ };
120
+ }
121
+
122
+ it( 'returns true when the current post type sync config should sync', () => {
123
+ const shouldSync = jest.fn( () => true );
124
+ setupRegistry( {
125
+ syncConfig: { shouldSync, supportsPersistence: true },
126
+ } );
127
+
128
+ const state = { postType: 'book', postId: 123 };
129
+
130
+ expect( isCollaborationEnabledForCurrentPost( state ) ).toBe( true );
131
+ expect( shouldSync ).toHaveBeenCalledWith( 'postType/book', 123 );
132
+ } );
133
+
134
+ it( 'returns false when the current post type sync config does not support persistence', () => {
135
+ const shouldSync = jest.fn( () => true );
136
+ setupRegistry( { syncConfig: { shouldSync } } );
137
+
138
+ const state = { postType: 'book', postId: 123 };
139
+
140
+ expect( isCollaborationEnabledForCurrentPost( state ) ).toBe( false );
141
+ expect( shouldSync ).not.toHaveBeenCalled();
142
+ } );
143
+
144
+ it( 'returns false when the current post type sync config should not sync', () => {
145
+ setupRegistry( {
146
+ syncConfig: {
147
+ shouldSync: () => false,
148
+ supportsPersistence: true,
149
+ },
150
+ } );
151
+
152
+ const state = { postType: 'book', postId: 123 };
153
+
154
+ expect( isCollaborationEnabledForCurrentPost( state ) ).toBe( false );
155
+ } );
156
+ } );
157
+
89
158
  describe( 'getDefaultRenderingMode', () => {
90
159
  function setupRegistry( {
91
160
  supportsEditor = true,
package/src/style.scss CHANGED
@@ -40,8 +40,8 @@
40
40
  @use "./components/post-panel-row/style.scss" as *;
41
41
  @use "./components/post-panel-section/style.scss" as *;
42
42
  @use "./components/post-publish-panel/style.scss" as *;
43
- @use "./components/post-revisions-panel/style.scss" as *;
44
43
  @use "./components/post-revisions-preview/style.scss" as *;
44
+ @use "./components/post-revisions-timeline/style.scss" as *;
45
45
  @use "./components/revision-diff-panel/style.scss" as *;
46
46
  @use "./components/post-saved-state/style.scss" as *;
47
47
  @use "./components/post-schedule/style.scss" as *;
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // packages/editor/src/components/post-revisions-panel/index.js
31
- var post_revisions_panel_exports = {};
32
- __export(post_revisions_panel_exports, {
33
- default: () => PostRevisionsPanel
34
- });
35
- module.exports = __toCommonJS(post_revisions_panel_exports);
36
- var import_components = require("@wordpress/components");
37
- var import_core_data = require("@wordpress/core-data");
38
- var import_dataviews = require("@wordpress/dataviews");
39
- var import_date = require("@wordpress/date");
40
- var import_data = require("@wordpress/data");
41
- var import_i18n = require("@wordpress/i18n");
42
- var import_fields = require("@wordpress/fields");
43
- var import_check = __toESM(require("../post-last-revision/check.cjs"));
44
- var import_store = require("../../store/index.cjs");
45
- var import_lock_unlock = require("../../lock-unlock.cjs");
46
- var import_jsx_runtime = require("react/jsx-runtime");
47
- var { Badge: WCBadge } = (0, import_lock_unlock.unlock)(import_components.privateApis);
48
- var DAY_IN_MILLISECONDS = 864e5;
49
- var EMPTY_ARRAY = [];
50
- var defaultLayouts = { activity: true };
51
- var noop = () => {
52
- };
53
- var paginationInfo = {};
54
- var view = {
55
- type: "activity",
56
- titleField: "date",
57
- fields: ["author"],
58
- layout: { density: "compact" }
59
- };
60
- var fields = [
61
- {
62
- id: "date",
63
- label: (0, import_i18n.__)("Date"),
64
- render: ({ item, field }) => {
65
- const dateNowInMs = (0, import_date.getDate)(null).getTime();
66
- const _value = field.getValue({ item });
67
- const date = (0, import_date.getDate)(_value ?? null);
68
- const displayDate = dateNowInMs - date.getTime() > DAY_IN_MILLISECONDS ? (0, import_date.dateI18n)(
69
- (0, import_date.getSettings)().formats.datetimeAbbreviated,
70
- date
71
- ) : (0, import_date.humanTimeDiff)(date);
72
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
73
- "time",
74
- {
75
- className: "editor-post-revisions-panel__revision-date",
76
- dateTime: _value,
77
- children: displayDate
78
- }
79
- );
80
- },
81
- enableSorting: false,
82
- enableHiding: false
83
- },
84
- import_fields.authorField
85
- ];
86
- function PostRevisionsPanelContent() {
87
- const { setCurrentRevisionId } = (0, import_lock_unlock.unlock)((0, import_data.useDispatch)(import_store.store));
88
- const {
89
- revisionsCount,
90
- revisions,
91
- revisionKey,
92
- isLoading,
93
- lastRevisionId
94
- } = (0, import_data.useSelect)((select) => {
95
- const { getCurrentPostId, getCurrentPostType } = select(import_store.store);
96
- const { getCurrentPostRevisionsCount, getCurrentPostLastRevisionId } = select(import_store.store);
97
- const { getRevisions, getEntityConfig, isResolving } = select(import_core_data.store);
98
- const _postType = getCurrentPostType();
99
- const entityConfig = getEntityConfig("postType", _postType);
100
- const _revisionKey = entityConfig?.revisionKey || "id";
101
- const revisionsQuery = {
102
- per_page: 3,
103
- orderby: "date",
104
- order: "desc",
105
- _fields: `${_revisionKey},date,author`
106
- };
107
- const query = [
108
- "postType",
109
- _postType,
110
- getCurrentPostId(),
111
- revisionsQuery
112
- ];
113
- const _revisions = getRevisions(...query);
114
- return {
115
- revisionsCount: getCurrentPostRevisionsCount(),
116
- lastRevisionId: getCurrentPostLastRevisionId(),
117
- revisions: _revisions,
118
- revisionKey: _revisionKey,
119
- isLoading: isResolving("getRevisions", query)
120
- };
121
- }, []);
122
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
123
- import_components.PanelBody,
124
- {
125
- title: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "space-between", align: "center", as: "span", children: [
126
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: (0, import_i18n.__)("Revisions") }),
127
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WCBadge, { className: "editor-post-revisions-panel__revisions-count", children: revisionsCount })
128
- ] }),
129
- initialOpen: false,
130
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { className: "editor-post-revisions-panel", children: [
131
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
132
- import_dataviews.DataViews,
133
- {
134
- view,
135
- onChangeView: noop,
136
- fields,
137
- data: revisions || EMPTY_ARRAY,
138
- isLoading,
139
- paginationInfo,
140
- defaultLayouts,
141
- getItemId: (item) => item[revisionKey],
142
- isItemClickable: () => true,
143
- onClickItem: (item) => {
144
- setCurrentRevisionId(item[revisionKey]);
145
- },
146
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dataviews.DataViews.Layout, {})
147
- }
148
- ),
149
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
150
- import_components.Button,
151
- {
152
- className: "editor-post-revisions-panel__view-all",
153
- __next40pxDefaultSize: true,
154
- variant: "secondary",
155
- onClick: () => setCurrentRevisionId(lastRevisionId),
156
- children: (0, import_i18n.__)("View all revisions")
157
- }
158
- )
159
- ] })
160
- }
161
- );
162
- }
163
- function PostRevisionsPanel() {
164
- const disableVisualRevisions = (0, import_data.useSelect)(
165
- (select) => !!select(import_store.store).getEditorSettings().disableVisualRevisions,
166
- []
167
- );
168
- if (disableVisualRevisions) {
169
- return null;
170
- }
171
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_check.default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PostRevisionsPanelContent, {}) });
172
- }
173
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/post-revisions-panel/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { DataViews } from '@wordpress/dataviews';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { authorField } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from '../post-last-revision/check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge: WCBadge } = unlock( componentsPrivateApis );\nconst DAY_IN_MILLISECONDS = 86400000;\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = { activity: true };\nconst noop = () => {};\nconst paginationInfo = {};\nconst view = {\n\ttype: 'activity',\n\ttitleField: 'date',\n\tfields: [ 'author' ],\n\tlayout: { density: 'compact' },\n};\nconst fields = [\n\t{\n\t\tid: 'date',\n\t\tlabel: __( 'Date' ),\n\t\trender: ( { item, field } ) => {\n\t\t\tconst dateNowInMs = getDate( null ).getTime();\n\t\t\tconst _value = field.getValue( { item } );\n\t\t\tconst date = getDate( _value ?? null );\n\t\t\tconst displayDate =\n\t\t\t\tdateNowInMs - date.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t? dateI18n(\n\t\t\t\t\t\t\tgetSettings().formats.datetimeAbbreviated,\n\t\t\t\t\t\t\tdate\n\t\t\t\t\t )\n\t\t\t\t\t: humanTimeDiff( date );\n\t\t\treturn (\n\t\t\t\t<time\n\t\t\t\t\tclassName=\"editor-post-revisions-panel__revision-date\"\n\t\t\t\t\tdateTime={ _value }\n\t\t\t\t>\n\t\t\t\t\t{ displayDate }\n\t\t\t\t</time>\n\t\t\t);\n\t\t},\n\t\tenableSorting: false,\n\t\tenableHiding: false,\n\t},\n\tauthorField,\n];\n\nfunction PostRevisionsPanelContent() {\n\tconst { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );\n\tconst {\n\t\trevisionsCount,\n\t\trevisions,\n\t\trevisionKey,\n\t\tisLoading,\n\t\tlastRevisionId,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst { getCurrentPostRevisionsCount, getCurrentPostLastRevisionId } =\n\t\t\tselect( editorStore );\n\t\tconst { getRevisions, getEntityConfig, isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst entityConfig = getEntityConfig( 'postType', _postType );\n\t\tconst _revisionKey = entityConfig?.revisionKey || 'id';\n\t\tconst revisionsQuery = {\n\t\t\tper_page: 3,\n\t\t\torderby: 'date',\n\t\t\torder: 'desc',\n\t\t\t_fields: `${ _revisionKey },date,author`,\n\t\t};\n\t\tconst query = [\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\tgetCurrentPostId(),\n\t\t\trevisionsQuery,\n\t\t];\n\t\tconst _revisions = getRevisions( ...query );\n\t\treturn {\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisions: _revisions,\n\t\t\trevisionKey: _revisionKey,\n\t\t\tisLoading: isResolving( 'getRevisions', query ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={\n\t\t\t\t<HStack justify=\"space-between\" align=\"center\" as=\"span\">\n\t\t\t\t\t<span>{ __( 'Revisions' ) }</span>\n\t\t\t\t\t<WCBadge className=\"editor-post-revisions-panel__revisions-count\">\n\t\t\t\t\t\t{ revisionsCount }\n\t\t\t\t\t</WCBadge>\n\t\t\t\t</HStack>\n\t\t\t}\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<VStack className=\"editor-post-revisions-panel\">\n\t\t\t\t<DataViews\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ noop }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tdata={ revisions || EMPTY_ARRAY }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tgetItemId={ ( item ) => item[ revisionKey ] }\n\t\t\t\t\tisItemClickable={ () => true }\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\tsetCurrentRevisionId( item[ revisionKey ] );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<DataViews.Layout />\n\t\t\t\t</DataViews>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-post-revisions-panel__view-all\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => setCurrentRevisionId( lastRevisionId ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'View all revisions' ) }\n\t\t\t\t</Button>\n\t\t\t</VStack>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function PostRevisionsPanel() {\n\tconst disableVisualRevisions = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( editorStore ).getEditorSettings().disableVisualRevisions,\n\t\t[]\n\t);\n\tif ( disableVisualRevisions ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostRevisionsPanelContent />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAMO;AACP,uBAAmC;AACnC,uBAA0B;AAC1B,kBAA8D;AAC9D,kBAAuC;AACvC,kBAAmB;AACnB,oBAA4B;AAK5B,mBAAkC;AAClC,mBAAqC;AACrC,yBAAuB;AA8BnB;AA5BJ,IAAM,EAAE,OAAO,QAAQ,QAAI,2BAAQ,kBAAAA,WAAsB;AACzD,IAAM,sBAAsB;AAC5B,IAAM,cAAc,CAAC;AACrB,IAAM,iBAAiB,EAAE,UAAU,KAAK;AACxC,IAAM,OAAO,MAAM;AAAC;AACpB,IAAM,iBAAiB,CAAC;AACxB,IAAM,OAAO;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,QAAQ,CAAE,QAAS;AAAA,EACnB,QAAQ,EAAE,SAAS,UAAU;AAC9B;AACA,IAAM,SAAS;AAAA,EACd;AAAA,IACC,IAAI;AAAA,IACJ,WAAO,gBAAI,MAAO;AAAA,IAClB,QAAQ,CAAE,EAAE,MAAM,MAAM,MAAO;AAC9B,YAAM,kBAAc,qBAAS,IAAK,EAAE,QAAQ;AAC5C,YAAM,SAAS,MAAM,SAAU,EAAE,KAAK,CAAE;AACxC,YAAM,WAAO,qBAAS,UAAU,IAAK;AACrC,YAAM,cACL,cAAc,KAAK,QAAQ,IAAI,0BAC5B;AAAA,YACA,yBAAY,EAAE,QAAQ;AAAA,QACtB;AAAA,MACA,QACA,2BAAe,IAAK;AACxB,aACC;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,UAAW;AAAA,UAET;AAAA;AAAA,MACH;AAAA,IAEF;AAAA,IACA,eAAe;AAAA,IACf,cAAc;AAAA,EACf;AAAA,EACA;AACD;AAEA,SAAS,4BAA4B;AACpC,QAAM,EAAE,qBAAqB,QAAI,+BAAQ,yBAAa,aAAAC,KAAY,CAAE;AACpE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,kBAAkB,mBAAmB,IAAI,OAAQ,aAAAA,KAAY;AACrE,UAAM,EAAE,8BAA8B,6BAA6B,IAClE,OAAQ,aAAAA,KAAY;AACrB,UAAM,EAAE,cAAc,iBAAiB,YAAY,IAClD,OAAQ,iBAAAC,KAAU;AACnB,UAAM,YAAY,mBAAmB;AACrC,UAAM,eAAe,gBAAiB,YAAY,SAAU;AAC5D,UAAM,eAAe,cAAc,eAAe;AAClD,UAAM,iBAAiB;AAAA,MACtB,UAAU;AAAA,MACV,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS,GAAI,YAAa;AAAA,IAC3B;AACA,UAAM,QAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA,iBAAiB;AAAA,MACjB;AAAA,IACD;AACA,UAAM,aAAa,aAAc,GAAG,KAAM;AAC1C,WAAO;AAAA,MACN,gBAAgB,6BAA6B;AAAA,MAC7C,gBAAgB,6BAA6B;AAAA,MAC7C,WAAW;AAAA,MACX,aAAa;AAAA,MACb,WAAW,YAAa,gBAAgB,KAAM;AAAA,IAC/C;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OACC,6CAAC,kBAAAC,sBAAA,EAAO,SAAQ,iBAAgB,OAAM,UAAS,IAAG,QACjD;AAAA,oDAAC,UAAO,8BAAI,WAAY,GAAG;AAAA,QAC3B,4CAAC,WAAQ,WAAU,gDAChB,0BACH;AAAA,SACD;AAAA,MAED,aAAc;AAAA,MAEd,uDAAC,kBAAAC,sBAAA,EAAO,WAAU,+BACjB;AAAA;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,cAAe;AAAA,YACf;AAAA,YACA,MAAO,aAAa;AAAA,YACpB;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAY,CAAE,SAAU,KAAM,WAAY;AAAA,YAC1C,iBAAkB,MAAM;AAAA,YACxB,aAAc,CAAE,SAAU;AACzB,mCAAsB,KAAM,WAAY,CAAE;AAAA,YAC3C;AAAA,YAEA,sDAAC,2BAAU,QAAV,EAAiB;AAAA;AAAA,QACnB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU,MAAM,qBAAsB,cAAe;AAAA,YAEnD,8BAAI,oBAAqB;AAAA;AAAA,QAC5B;AAAA,SACD;AAAA;AAAA,EACD;AAEF;AAEe,SAAR,qBAAsC;AAC5C,QAAM,6BAAyB;AAAA,IAC9B,CAAE,WACD,CAAC,CAAE,OAAQ,aAAAH,KAAY,EAAE,kBAAkB,EAAE;AAAA,IAC9C,CAAC;AAAA,EACF;AACA,MAAK,wBAAyB;AAC7B,WAAO;AAAA,EACR;AACA,SACC,4CAAC,aAAAI,SAAA,EACA,sDAAC,6BAA0B,GAC5B;AAEF;",
6
- "names": ["componentsPrivateApis", "editorStore", "coreStore", "HStack", "VStack", "PostLastRevisionCheck"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/revision-author-panel/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function RevisionAuthorPanel() {\n\tconst authorName = useSelect( ( select ) => {\n\t\tconst { getCurrentRevision } = unlock( select( editorStore ) );\n\t\tconst revision = getCurrentRevision();\n\t\tif ( ! revision?.author ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst author = select( coreStore ).getUser( revision.author );\n\t\treturn author?.name;\n\t}, [] );\n\n\tif ( ! authorName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Author' ) }>\n\t\t\t{ decodeEntities( authorName ) }\n\t\t</PostPanelRow>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,uBAAmC;AACnC,2BAA+B;AAC/B,kBAAmB;AAKnB,4BAAyB;AACzB,mBAAqC;AACrC,yBAAuB;AAkBrB;AAhBa,SAAR,sBAAuC;AAC7C,QAAM,iBAAa,uBAAW,CAAE,WAAY;AAC3C,UAAM,EAAE,mBAAmB,QAAI,2BAAQ,OAAQ,aAAAA,KAAY,CAAE;AAC7D,UAAM,WAAW,mBAAmB;AACpC,QAAK,CAAE,UAAU,QAAS;AACzB,aAAO;AAAA,IACR;AACA,UAAM,SAAS,OAAQ,iBAAAC,KAAU,EAAE,QAAS,SAAS,MAAO;AAC5D,WAAO,QAAQ;AAAA,EAChB,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,YAAa;AACnB,WAAO;AAAA,EACR;AAEA,SACC,4CAAC,sBAAAC,SAAA,EAAa,WAAQ,gBAAI,QAAS,GAChC,mDAAgB,UAAW,GAC9B;AAEF;",
6
- "names": ["editorStore", "coreStore", "PostPanelRow"]
7
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // packages/editor/src/components/revision-created-panel/index.js
21
- var revision_created_panel_exports = {};
22
- __export(revision_created_panel_exports, {
23
- default: () => RevisionCreatedPanel
24
- });
25
- module.exports = __toCommonJS(revision_created_panel_exports);
26
- var import_components = require("@wordpress/components");
27
- var import_data = require("@wordpress/data");
28
- var import_i18n = require("@wordpress/i18n");
29
- var import_date = require("@wordpress/date");
30
- var import_store = require("../../store/index.cjs");
31
- var import_lock_unlock = require("../../lock-unlock.cjs");
32
- var import_jsx_runtime = require("react/jsx-runtime");
33
- function RevisionCreatedPanel() {
34
- const date = (0, import_data.useSelect)((select) => {
35
- const { getCurrentRevision } = (0, import_lock_unlock.unlock)(select(import_store.store));
36
- return getCurrentRevision()?.date;
37
- }, []);
38
- if (!date) {
39
- return null;
40
- }
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "editor-post-last-edited-panel", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalText, { children: (0, import_i18n.sprintf)(
42
- // translators: %s: Human-readable time difference, e.g. "2 days ago".
43
- (0, import_i18n.__)("Created %s."),
44
- (0, import_date.humanTimeDiff)(date)
45
- ) }) });
46
- }
47
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/revision-created-panel/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalText as WCText } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function RevisionCreatedPanel() {\n\tconst date = useSelect( ( select ) => {\n\t\tconst { getCurrentRevision } = unlock( select( editorStore ) );\n\t\treturn getCurrentRevision()?.date;\n\t}, [] );\n\n\tif ( ! date ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"editor-post-last-edited-panel\">\n\t\t\t<WCText>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t__( 'Created %s.' ),\n\t\t\t\t\thumanTimeDiff( date )\n\t\t\t\t) }\n\t\t\t</WCText>\n\t\t</div>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA6C;AAC7C,kBAA0B;AAC1B,kBAA4B;AAC5B,kBAA8B;AAK9B,mBAAqC;AACrC,yBAAuB;AAcpB;AAZY,SAAR,uBAAwC;AAC9C,QAAM,WAAO,uBAAW,CAAE,WAAY;AACrC,UAAM,EAAE,mBAAmB,QAAI,2BAAQ,OAAQ,aAAAA,KAAY,CAAE;AAC7D,WAAO,mBAAmB,GAAG;AAAA,EAC9B,GAAG,CAAC,CAAE;AAEN,MAAK,CAAE,MAAO;AACb,WAAO;AAAA,EACR;AAEA,SACC,4CAAC,SAAI,WAAU,iCACd,sDAAC,kBAAAC,oBAAA,EACE;AAAA;AAAA,QAED,gBAAI,aAAc;AAAA,QAClB,2BAAe,IAAK;AAAA,EACrB,GACD,GACD;AAEF;",
6
- "names": ["editorStore", "WCText"]
7
- }
@@ -1,148 +0,0 @@
1
- // packages/editor/src/components/post-revisions-panel/index.js
2
- import {
3
- PanelBody,
4
- Button,
5
- __experimentalHStack as HStack,
6
- __experimentalVStack as VStack,
7
- privateApis as componentsPrivateApis
8
- } from "@wordpress/components";
9
- import { store as coreStore } from "@wordpress/core-data";
10
- import { DataViews } from "@wordpress/dataviews";
11
- import { dateI18n, getDate, humanTimeDiff, getSettings } from "@wordpress/date";
12
- import { useSelect, useDispatch } from "@wordpress/data";
13
- import { __ } from "@wordpress/i18n";
14
- import { authorField } from "@wordpress/fields";
15
- import PostLastRevisionCheck from "../post-last-revision/check.mjs";
16
- import { store as editorStore } from "../../store/index.mjs";
17
- import { unlock } from "../../lock-unlock.mjs";
18
- import { jsx, jsxs } from "react/jsx-runtime";
19
- var { Badge: WCBadge } = unlock(componentsPrivateApis);
20
- var DAY_IN_MILLISECONDS = 864e5;
21
- var EMPTY_ARRAY = [];
22
- var defaultLayouts = { activity: true };
23
- var noop = () => {
24
- };
25
- var paginationInfo = {};
26
- var view = {
27
- type: "activity",
28
- titleField: "date",
29
- fields: ["author"],
30
- layout: { density: "compact" }
31
- };
32
- var fields = [
33
- {
34
- id: "date",
35
- label: __("Date"),
36
- render: ({ item, field }) => {
37
- const dateNowInMs = getDate(null).getTime();
38
- const _value = field.getValue({ item });
39
- const date = getDate(_value ?? null);
40
- const displayDate = dateNowInMs - date.getTime() > DAY_IN_MILLISECONDS ? dateI18n(
41
- getSettings().formats.datetimeAbbreviated,
42
- date
43
- ) : humanTimeDiff(date);
44
- return /* @__PURE__ */ jsx(
45
- "time",
46
- {
47
- className: "editor-post-revisions-panel__revision-date",
48
- dateTime: _value,
49
- children: displayDate
50
- }
51
- );
52
- },
53
- enableSorting: false,
54
- enableHiding: false
55
- },
56
- authorField
57
- ];
58
- function PostRevisionsPanelContent() {
59
- const { setCurrentRevisionId } = unlock(useDispatch(editorStore));
60
- const {
61
- revisionsCount,
62
- revisions,
63
- revisionKey,
64
- isLoading,
65
- lastRevisionId
66
- } = useSelect((select) => {
67
- const { getCurrentPostId, getCurrentPostType } = select(editorStore);
68
- const { getCurrentPostRevisionsCount, getCurrentPostLastRevisionId } = select(editorStore);
69
- const { getRevisions, getEntityConfig, isResolving } = select(coreStore);
70
- const _postType = getCurrentPostType();
71
- const entityConfig = getEntityConfig("postType", _postType);
72
- const _revisionKey = entityConfig?.revisionKey || "id";
73
- const revisionsQuery = {
74
- per_page: 3,
75
- orderby: "date",
76
- order: "desc",
77
- _fields: `${_revisionKey},date,author`
78
- };
79
- const query = [
80
- "postType",
81
- _postType,
82
- getCurrentPostId(),
83
- revisionsQuery
84
- ];
85
- const _revisions = getRevisions(...query);
86
- return {
87
- revisionsCount: getCurrentPostRevisionsCount(),
88
- lastRevisionId: getCurrentPostLastRevisionId(),
89
- revisions: _revisions,
90
- revisionKey: _revisionKey,
91
- isLoading: isResolving("getRevisions", query)
92
- };
93
- }, []);
94
- return /* @__PURE__ */ jsx(
95
- PanelBody,
96
- {
97
- title: /* @__PURE__ */ jsxs(HStack, { justify: "space-between", align: "center", as: "span", children: [
98
- /* @__PURE__ */ jsx("span", { children: __("Revisions") }),
99
- /* @__PURE__ */ jsx(WCBadge, { className: "editor-post-revisions-panel__revisions-count", children: revisionsCount })
100
- ] }),
101
- initialOpen: false,
102
- children: /* @__PURE__ */ jsxs(VStack, { className: "editor-post-revisions-panel", children: [
103
- /* @__PURE__ */ jsx(
104
- DataViews,
105
- {
106
- view,
107
- onChangeView: noop,
108
- fields,
109
- data: revisions || EMPTY_ARRAY,
110
- isLoading,
111
- paginationInfo,
112
- defaultLayouts,
113
- getItemId: (item) => item[revisionKey],
114
- isItemClickable: () => true,
115
- onClickItem: (item) => {
116
- setCurrentRevisionId(item[revisionKey]);
117
- },
118
- children: /* @__PURE__ */ jsx(DataViews.Layout, {})
119
- }
120
- ),
121
- /* @__PURE__ */ jsx(
122
- Button,
123
- {
124
- className: "editor-post-revisions-panel__view-all",
125
- __next40pxDefaultSize: true,
126
- variant: "secondary",
127
- onClick: () => setCurrentRevisionId(lastRevisionId),
128
- children: __("View all revisions")
129
- }
130
- )
131
- ] })
132
- }
133
- );
134
- }
135
- function PostRevisionsPanel() {
136
- const disableVisualRevisions = useSelect(
137
- (select) => !!select(editorStore).getEditorSettings().disableVisualRevisions,
138
- []
139
- );
140
- if (disableVisualRevisions) {
141
- return null;
142
- }
143
- return /* @__PURE__ */ jsx(PostLastRevisionCheck, { children: /* @__PURE__ */ jsx(PostRevisionsPanelContent, {}) });
144
- }
145
- export {
146
- PostRevisionsPanel as default
147
- };
148
- //# sourceMappingURL=index.mjs.map