@wordpress/editor 13.31.0 → 13.33.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 (647) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1080 -0
  3. package/build/bindings/index.js.map +1 -1
  4. package/build/bindings/pattern-overrides.js.map +1 -1
  5. package/build/bindings/post-meta.js +12 -30
  6. package/build/bindings/post-meta.js.map +1 -1
  7. package/build/components/autocompleters/index.js.map +1 -1
  8. package/build/components/autocompleters/user.js.map +1 -1
  9. package/build/components/autosave-monitor/index.js +10 -0
  10. package/build/components/autosave-monitor/index.js.map +1 -1
  11. package/build/components/block-manager/category.js.map +1 -1
  12. package/build/components/block-manager/checklist.js.map +1 -1
  13. package/build/components/block-manager/index.js.map +1 -1
  14. package/build/components/block-removal-warnings/index.js.map +1 -1
  15. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +107 -0
  16. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
  17. package/build/components/character-count/index.js.map +1 -1
  18. package/build/components/commands/index.js +20 -1
  19. package/build/components/commands/index.js.map +1 -1
  20. package/build/components/commands/index.native.js.map +1 -1
  21. package/build/components/deprecated.js +158 -0
  22. package/build/components/deprecated.js.map +1 -1
  23. package/build/components/deprecated.native.js.map +1 -1
  24. package/build/components/document-bar/index.js +5 -8
  25. package/build/components/document-bar/index.js.map +1 -1
  26. package/build/components/document-outline/check.js.map +1 -1
  27. package/build/components/document-outline/index.js.map +1 -1
  28. package/build/components/document-outline/item.js.map +1 -1
  29. package/build/components/document-tools/index.js +1 -1
  30. package/build/components/document-tools/index.js.map +1 -1
  31. package/build/components/editor-canvas/edit-template-blocks-notification.js +12 -38
  32. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  33. package/build/components/editor-canvas/index.js +5 -2
  34. package/build/components/editor-canvas/index.js.map +1 -1
  35. package/build/components/editor-help/add-blocks.native.js.map +1 -1
  36. package/build/components/editor-help/customize-blocks.native.js.map +1 -1
  37. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  38. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  39. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  40. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  41. package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
  42. package/build/components/editor-help/index.native.js.map +1 -1
  43. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  44. package/build/components/editor-help/move-blocks.native.js.map +1 -1
  45. package/build/components/editor-help/remove-blocks.native.js.map +1 -1
  46. package/build/components/editor-help/view-sections.native.js.map +1 -1
  47. package/build/components/editor-history/redo.js.map +1 -1
  48. package/build/components/editor-history/undo.js.map +1 -1
  49. package/build/components/editor-notices/index.js.map +1 -1
  50. package/build/components/editor-snackbars/index.js.map +1 -1
  51. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  52. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  53. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  54. package/build/components/entities-saved-states/index.js +11 -85
  55. package/build/components/entities-saved-states/index.js.map +1 -1
  56. package/build/components/error-boundary/index.js.map +1 -1
  57. package/build/components/error-boundary/index.native.js.map +1 -1
  58. package/build/components/global-keyboard-shortcuts/index.js +24 -0
  59. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  60. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  61. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  62. package/build/components/index.js +57 -1
  63. package/build/components/index.js.map +1 -1
  64. package/build/components/index.native.js.map +1 -1
  65. package/build/components/inserter-sidebar/index.js +5 -1
  66. package/build/components/inserter-sidebar/index.js.map +1 -1
  67. package/build/components/keyboard-shortcut-help-modal/config.js +78 -0
  68. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  69. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +49 -0
  70. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  71. package/build/components/keyboard-shortcut-help-modal/index.js +126 -0
  72. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  73. package/build/components/keyboard-shortcut-help-modal/shortcut.js +55 -0
  74. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  75. package/build/components/list-view-sidebar/index.js +2 -1
  76. package/build/components/list-view-sidebar/index.js.map +1 -1
  77. package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
  78. package/build/components/local-autosave-monitor/index.js.map +1 -1
  79. package/build/components/media-categories/index.js.map +1 -1
  80. package/build/components/mode-switcher/index.js.map +1 -1
  81. package/build/components/offline-status/index.native.js.map +1 -1
  82. package/build/components/page-attributes/check.js.map +1 -1
  83. package/build/components/page-attributes/order.js.map +1 -1
  84. package/build/components/page-attributes/panel.js.map +1 -1
  85. package/build/components/page-attributes/parent.js.map +1 -1
  86. package/build/components/pattern-overrides-panel/index.js +30 -0
  87. package/build/components/pattern-overrides-panel/index.js.map +1 -0
  88. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  89. package/build/components/plugin-more-menu-item/index.js +78 -0
  90. package/build/components/plugin-more-menu-item/index.js.map +1 -0
  91. package/build/components/plugin-post-publish-panel/index.js +68 -0
  92. package/build/components/plugin-post-publish-panel/index.js.map +1 -0
  93. package/build/components/plugin-post-status-info/index.js +73 -0
  94. package/build/components/plugin-post-status-info/index.js.map +1 -0
  95. package/build/components/plugin-pre-publish-panel/index.js +71 -0
  96. package/build/components/plugin-pre-publish-panel/index.js.map +1 -0
  97. package/build/components/plugin-sidebar/index.js +108 -0
  98. package/build/components/plugin-sidebar/index.js.map +1 -0
  99. package/build/components/plugin-sidebar-more-menu-item/index.js +71 -0
  100. package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  101. package/build/components/post-actions/actions.js +656 -0
  102. package/build/components/post-actions/actions.js.map +1 -0
  103. package/build/components/post-actions/index.js +137 -0
  104. package/build/components/post-actions/index.js.map +1 -0
  105. package/build/components/post-author/check.js.map +1 -1
  106. package/build/components/post-author/combobox.js.map +1 -1
  107. package/build/components/post-author/constants.js.map +1 -1
  108. package/build/components/post-author/hook.js.map +1 -1
  109. package/build/components/post-author/index.js.map +1 -1
  110. package/build/components/post-author/panel.js.map +1 -1
  111. package/build/components/post-author/select.js.map +1 -1
  112. package/build/components/post-card-panel/index.js +127 -0
  113. package/build/components/post-card-panel/index.js.map +1 -0
  114. package/build/components/post-comments/index.js.map +1 -1
  115. package/build/components/post-discussion/panel.js.map +1 -1
  116. package/build/components/post-excerpt/check.js +8 -0
  117. package/build/components/post-excerpt/check.js.map +1 -1
  118. package/build/components/post-excerpt/index.js.map +1 -1
  119. package/build/components/post-excerpt/panel.js.map +1 -1
  120. package/build/components/post-excerpt/plugin.js.map +1 -1
  121. package/build/components/post-featured-image/check.js.map +1 -1
  122. package/build/components/post-featured-image/index.js.map +1 -1
  123. package/build/components/post-featured-image/panel.js.map +1 -1
  124. package/build/components/post-format/check.js.map +1 -1
  125. package/build/components/post-format/index.js.map +1 -1
  126. package/build/components/post-last-revision/check.js.map +1 -1
  127. package/build/components/post-last-revision/index.js.map +1 -1
  128. package/build/components/post-last-revision/panel.js.map +1 -1
  129. package/build/components/post-locked-modal/index.js.map +1 -1
  130. package/build/components/post-panel-row/index.js.map +1 -1
  131. package/build/components/post-pending-status/check.js.map +1 -1
  132. package/build/components/post-pending-status/index.js.map +1 -1
  133. package/build/components/post-pingbacks/index.js.map +1 -1
  134. package/build/components/post-preview-button/index.js.map +1 -1
  135. package/build/components/post-publish-button/index.js +31 -31
  136. package/build/components/post-publish-button/index.js.map +1 -1
  137. package/build/components/post-publish-button/label.js +51 -43
  138. package/build/components/post-publish-button/label.js.map +1 -1
  139. package/build/components/post-publish-panel/index.js.map +1 -1
  140. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  141. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  142. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  143. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  144. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  145. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  146. package/build/components/post-saved-state/index.js +10 -6
  147. package/build/components/post-saved-state/index.js.map +1 -1
  148. package/build/components/post-schedule/check.js.map +1 -1
  149. package/build/components/post-schedule/index.js.map +1 -1
  150. package/build/components/post-schedule/label.js.map +1 -1
  151. package/build/components/post-schedule/panel.js +8 -0
  152. package/build/components/post-schedule/panel.js.map +1 -1
  153. package/build/components/post-slug/check.js.map +1 -1
  154. package/build/components/post-slug/index.js +43 -68
  155. package/build/components/post-slug/index.js.map +1 -1
  156. package/build/components/post-status/index.js +239 -0
  157. package/build/components/post-status/index.js.map +1 -0
  158. package/build/components/post-sticky/check.js.map +1 -1
  159. package/build/components/post-sticky/index.js.map +1 -1
  160. package/build/components/post-switch-to-draft-button/index.js +6 -1
  161. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  162. package/build/components/post-sync-status/index.js.map +1 -1
  163. package/build/components/post-taxonomies/check.js.map +1 -1
  164. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  165. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  166. package/build/components/post-taxonomies/index.js.map +1 -1
  167. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  168. package/build/components/post-taxonomies/panel.js.map +1 -1
  169. package/build/components/post-template/block-theme.js +6 -2
  170. package/build/components/post-template/block-theme.js.map +1 -1
  171. package/build/components/post-template/classic-theme.js.map +1 -1
  172. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  173. package/build/components/post-template/create-new-template.js.map +1 -1
  174. package/build/components/post-template/hooks.js.map +1 -1
  175. package/build/components/post-template/panel.js.map +1 -1
  176. package/build/components/post-template/reset-default-template.js.map +1 -1
  177. package/build/components/post-template/swap-template-button.js.map +1 -1
  178. package/build/components/post-text-editor/index.js.map +1 -1
  179. package/build/components/post-title/constants.js.map +1 -1
  180. package/build/components/post-title/index.js.map +1 -1
  181. package/build/components/post-title/index.native.js +1 -1
  182. package/build/components/post-title/index.native.js.map +1 -1
  183. package/build/components/post-title/post-title-raw.js.map +1 -1
  184. package/build/components/post-title/use-post-title-focus.js.map +1 -1
  185. package/build/components/post-title/use-post-title.js.map +1 -1
  186. package/build/components/post-trash/check.js +23 -25
  187. package/build/components/post-trash/check.js.map +1 -1
  188. package/build/components/post-trash/index.js +2 -1
  189. package/build/components/post-trash/index.js.map +1 -1
  190. package/build/components/post-type-support-check/index.js.map +1 -1
  191. package/build/components/post-url/check.js.map +1 -1
  192. package/build/components/post-url/index.js +44 -19
  193. package/build/components/post-url/index.js.map +1 -1
  194. package/build/components/post-url/label.js.map +1 -1
  195. package/build/components/post-url/panel.js +14 -7
  196. package/build/components/post-url/panel.js.map +1 -1
  197. package/build/components/post-view-link/index.js.map +1 -1
  198. package/build/components/post-visibility/check.js.map +1 -1
  199. package/build/components/post-visibility/index.js +2 -1
  200. package/build/components/post-visibility/index.js.map +1 -1
  201. package/build/components/post-visibility/label.js.map +1 -1
  202. package/build/components/post-visibility/utils.js.map +1 -1
  203. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  204. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  205. package/build/components/preferences-modal/index.js +19 -17
  206. package/build/components/preferences-modal/index.js.map +1 -1
  207. package/build/components/preview-dropdown/index.js.map +1 -1
  208. package/build/components/provider/disable-non-page-content-blocks.js +36 -20
  209. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  210. package/build/components/provider/index.js +4 -2
  211. package/build/components/provider/index.js.map +1 -1
  212. package/build/components/provider/index.native.js +6 -1
  213. package/build/components/provider/index.native.js.map +1 -1
  214. package/build/components/provider/navigation-block-editing-mode.js.map +1 -1
  215. package/build/components/provider/use-auto-switch-editor-sidebars.js +52 -0
  216. package/build/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  217. package/build/components/provider/use-block-editor-settings.js +70 -50
  218. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  219. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  220. package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  221. package/build/components/provider/with-registry-provider.js +1 -0
  222. package/build/components/provider/with-registry-provider.js.map +1 -1
  223. package/build/components/start-page-options/index.js +139 -0
  224. package/build/components/start-page-options/index.js.map +1 -0
  225. package/build/components/table-of-contents/index.js.map +1 -1
  226. package/build/components/table-of-contents/panel.js.map +1 -1
  227. package/build/components/template-areas/index.js +70 -0
  228. package/build/components/template-areas/index.js.map +1 -0
  229. package/build/components/template-validation-notice/index.js +23 -29
  230. package/build/components/template-validation-notice/index.js.map +1 -1
  231. package/build/components/theme-support-check/index.js +10 -16
  232. package/build/components/theme-support-check/index.js.map +1 -1
  233. package/build/components/time-to-read/index.js.map +1 -1
  234. package/build/components/unsaved-changes-warning/index.js.map +1 -1
  235. package/build/components/word-count/index.js.map +1 -1
  236. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  237. package/build/hooks/default-autocompleters.js.map +1 -1
  238. package/build/hooks/index.js.map +1 -1
  239. package/build/hooks/index.native.js.map +1 -1
  240. package/build/hooks/pattern-overrides.js +22 -10
  241. package/build/hooks/pattern-overrides.js.map +1 -1
  242. package/build/hooks/use-select-nearest-editable-block.js +87 -0
  243. package/build/hooks/use-select-nearest-editable-block.js.map +1 -0
  244. package/build/index.js.map +1 -1
  245. package/build/index.native.js.map +1 -1
  246. package/build/lock-unlock.js.map +1 -1
  247. package/build/private-apis.js +26 -1
  248. package/build/private-apis.js.map +1 -1
  249. package/build/store/actions.js +46 -6
  250. package/build/store/actions.js.map +1 -1
  251. package/build/store/actions.native.js.map +1 -1
  252. package/build/store/constants.js +10 -1
  253. package/build/store/constants.js.map +1 -1
  254. package/build/store/defaults.js.map +1 -1
  255. package/build/store/index.js +1 -1
  256. package/build/store/index.js.map +1 -1
  257. package/build/store/local-autosave.js.map +1 -1
  258. package/build/store/private-actions.js +253 -1
  259. package/build/store/private-actions.js.map +1 -1
  260. package/build/store/private-selectors.js +50 -3
  261. package/build/store/private-selectors.js.map +1 -1
  262. package/build/store/reducer.js +14 -1
  263. package/build/store/reducer.js.map +1 -1
  264. package/build/store/reducer.native.js.map +1 -1
  265. package/build/store/selectors.js +25 -20
  266. package/build/store/selectors.js.map +1 -1
  267. package/build/store/selectors.native.js.map +1 -1
  268. package/build/store/utils/get-filtered-template-parts.js +71 -0
  269. package/build/store/utils/get-filtered-template-parts.js.map +1 -0
  270. package/build/store/utils/is-template-revertable.js +28 -0
  271. package/build/store/utils/is-template-revertable.js.map +1 -0
  272. package/build/store/utils/notice-builder.js.map +1 -1
  273. package/build/utils/get-template-part-icon.js.map +1 -1
  274. package/build/utils/index.js.map +1 -1
  275. package/build/utils/index.native.js.map +1 -1
  276. package/build/utils/media-upload/index.js.map +1 -1
  277. package/build/utils/media-upload/index.native.js.map +1 -1
  278. package/build/utils/terms.js.map +1 -1
  279. package/build/utils/url.js.map +1 -1
  280. package/build-module/bindings/index.js.map +1 -1
  281. package/build-module/bindings/pattern-overrides.js.map +1 -1
  282. package/build-module/bindings/post-meta.js +14 -31
  283. package/build-module/bindings/post-meta.js.map +1 -1
  284. package/build-module/components/autocompleters/index.js.map +1 -1
  285. package/build-module/components/autocompleters/user.js.map +1 -1
  286. package/build-module/components/autosave-monitor/index.js +10 -0
  287. package/build-module/components/autosave-monitor/index.js.map +1 -1
  288. package/build-module/components/block-manager/category.js.map +1 -1
  289. package/build-module/components/block-manager/checklist.js.map +1 -1
  290. package/build-module/components/block-manager/index.js.map +1 -1
  291. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  292. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +100 -0
  293. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
  294. package/build-module/components/character-count/index.js.map +1 -1
  295. package/build-module/components/commands/index.js +21 -2
  296. package/build-module/components/commands/index.js.map +1 -1
  297. package/build-module/components/commands/index.native.js.map +1 -1
  298. package/build-module/components/deprecated.js +159 -0
  299. package/build-module/components/deprecated.js.map +1 -1
  300. package/build-module/components/deprecated.native.js.map +1 -1
  301. package/build-module/components/document-bar/index.js +6 -9
  302. package/build-module/components/document-bar/index.js.map +1 -1
  303. package/build-module/components/document-outline/check.js.map +1 -1
  304. package/build-module/components/document-outline/index.js.map +1 -1
  305. package/build-module/components/document-outline/item.js.map +1 -1
  306. package/build-module/components/document-tools/index.js +1 -1
  307. package/build-module/components/document-tools/index.js.map +1 -1
  308. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +14 -40
  309. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  310. package/build-module/components/editor-canvas/index.js +5 -2
  311. package/build-module/components/editor-canvas/index.js.map +1 -1
  312. package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
  313. package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
  314. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  315. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  316. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  317. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  318. package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
  319. package/build-module/components/editor-help/index.native.js.map +1 -1
  320. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  321. package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
  322. package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
  323. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  324. package/build-module/components/editor-history/redo.js.map +1 -1
  325. package/build-module/components/editor-history/undo.js.map +1 -1
  326. package/build-module/components/editor-notices/index.js.map +1 -1
  327. package/build-module/components/editor-snackbars/index.js.map +1 -1
  328. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  329. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  330. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  331. package/build-module/components/entities-saved-states/index.js +11 -85
  332. package/build-module/components/entities-saved-states/index.js.map +1 -1
  333. package/build-module/components/error-boundary/index.js.map +1 -1
  334. package/build-module/components/error-boundary/index.native.js.map +1 -1
  335. package/build-module/components/global-keyboard-shortcuts/index.js +24 -0
  336. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  337. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  338. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  339. package/build-module/components/index.js +7 -0
  340. package/build-module/components/index.js.map +1 -1
  341. package/build-module/components/index.native.js.map +1 -1
  342. package/build-module/components/inserter-sidebar/index.js +5 -1
  343. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  344. package/build-module/components/keyboard-shortcut-help-modal/config.js +71 -0
  345. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  346. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +41 -0
  347. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  348. package/build-module/components/keyboard-shortcut-help-modal/index.js +118 -0
  349. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  350. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +48 -0
  351. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  352. package/build-module/components/list-view-sidebar/index.js +2 -1
  353. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  354. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
  355. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  356. package/build-module/components/media-categories/index.js.map +1 -1
  357. package/build-module/components/mode-switcher/index.js.map +1 -1
  358. package/build-module/components/offline-status/index.native.js.map +1 -1
  359. package/build-module/components/page-attributes/check.js.map +1 -1
  360. package/build-module/components/page-attributes/order.js.map +1 -1
  361. package/build-module/components/page-attributes/panel.js.map +1 -1
  362. package/build-module/components/page-attributes/parent.js.map +1 -1
  363. package/build-module/components/pattern-overrides-panel/index.js +23 -0
  364. package/build-module/components/pattern-overrides-panel/index.js.map +1 -0
  365. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  366. package/build-module/components/plugin-more-menu-item/index.js +73 -0
  367. package/build-module/components/plugin-more-menu-item/index.js.map +1 -0
  368. package/build-module/components/plugin-post-publish-panel/index.js +61 -0
  369. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -0
  370. package/build-module/components/plugin-post-status-info/index.js +66 -0
  371. package/build-module/components/plugin-post-status-info/index.js.map +1 -0
  372. package/build-module/components/plugin-pre-publish-panel/index.js +64 -0
  373. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -0
  374. package/build-module/components/plugin-sidebar/index.js +102 -0
  375. package/build-module/components/plugin-sidebar/index.js.map +1 -0
  376. package/build-module/components/plugin-sidebar-more-menu-item/index.js +65 -0
  377. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  378. package/build-module/components/post-actions/actions.js +648 -0
  379. package/build-module/components/post-actions/actions.js.map +1 -0
  380. package/build-module/components/post-actions/index.js +130 -0
  381. package/build-module/components/post-actions/index.js.map +1 -0
  382. package/build-module/components/post-author/check.js.map +1 -1
  383. package/build-module/components/post-author/combobox.js.map +1 -1
  384. package/build-module/components/post-author/constants.js.map +1 -1
  385. package/build-module/components/post-author/hook.js.map +1 -1
  386. package/build-module/components/post-author/index.js.map +1 -1
  387. package/build-module/components/post-author/panel.js.map +1 -1
  388. package/build-module/components/post-author/select.js.map +1 -1
  389. package/build-module/components/post-card-panel/index.js +119 -0
  390. package/build-module/components/post-card-panel/index.js.map +1 -0
  391. package/build-module/components/post-comments/index.js.map +1 -1
  392. package/build-module/components/post-discussion/panel.js.map +1 -1
  393. package/build-module/components/post-excerpt/check.js +9 -0
  394. package/build-module/components/post-excerpt/check.js.map +1 -1
  395. package/build-module/components/post-excerpt/index.js.map +1 -1
  396. package/build-module/components/post-excerpt/panel.js.map +1 -1
  397. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  398. package/build-module/components/post-featured-image/check.js.map +1 -1
  399. package/build-module/components/post-featured-image/index.js.map +1 -1
  400. package/build-module/components/post-featured-image/panel.js.map +1 -1
  401. package/build-module/components/post-format/check.js.map +1 -1
  402. package/build-module/components/post-format/index.js.map +1 -1
  403. package/build-module/components/post-last-revision/check.js.map +1 -1
  404. package/build-module/components/post-last-revision/index.js.map +1 -1
  405. package/build-module/components/post-last-revision/panel.js.map +1 -1
  406. package/build-module/components/post-locked-modal/index.js.map +1 -1
  407. package/build-module/components/post-panel-row/index.js.map +1 -1
  408. package/build-module/components/post-pending-status/check.js.map +1 -1
  409. package/build-module/components/post-pending-status/index.js.map +1 -1
  410. package/build-module/components/post-pingbacks/index.js.map +1 -1
  411. package/build-module/components/post-preview-button/index.js.map +1 -1
  412. package/build-module/components/post-publish-button/index.js +31 -31
  413. package/build-module/components/post-publish-button/index.js.map +1 -1
  414. package/build-module/components/post-publish-button/label.js +51 -42
  415. package/build-module/components/post-publish-button/label.js.map +1 -1
  416. package/build-module/components/post-publish-panel/index.js.map +1 -1
  417. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  418. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  419. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  420. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  421. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  422. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  423. package/build-module/components/post-saved-state/index.js +10 -6
  424. package/build-module/components/post-saved-state/index.js.map +1 -1
  425. package/build-module/components/post-schedule/check.js.map +1 -1
  426. package/build-module/components/post-schedule/index.js.map +1 -1
  427. package/build-module/components/post-schedule/label.js.map +1 -1
  428. package/build-module/components/post-schedule/panel.js +8 -0
  429. package/build-module/components/post-schedule/panel.js.map +1 -1
  430. package/build-module/components/post-slug/check.js.map +1 -1
  431. package/build-module/components/post-slug/index.js +44 -68
  432. package/build-module/components/post-slug/index.js.map +1 -1
  433. package/build-module/components/post-status/index.js +231 -0
  434. package/build-module/components/post-status/index.js.map +1 -0
  435. package/build-module/components/post-sticky/check.js.map +1 -1
  436. package/build-module/components/post-sticky/index.js.map +1 -1
  437. package/build-module/components/post-switch-to-draft-button/index.js +7 -1
  438. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  439. package/build-module/components/post-sync-status/index.js.map +1 -1
  440. package/build-module/components/post-taxonomies/check.js.map +1 -1
  441. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  442. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  443. package/build-module/components/post-taxonomies/index.js.map +1 -1
  444. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  445. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  446. package/build-module/components/post-template/block-theme.js +7 -3
  447. package/build-module/components/post-template/block-theme.js.map +1 -1
  448. package/build-module/components/post-template/classic-theme.js.map +1 -1
  449. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  450. package/build-module/components/post-template/create-new-template.js.map +1 -1
  451. package/build-module/components/post-template/hooks.js.map +1 -1
  452. package/build-module/components/post-template/panel.js.map +1 -1
  453. package/build-module/components/post-template/reset-default-template.js.map +1 -1
  454. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  455. package/build-module/components/post-text-editor/index.js.map +1 -1
  456. package/build-module/components/post-title/constants.js.map +1 -1
  457. package/build-module/components/post-title/index.js.map +1 -1
  458. package/build-module/components/post-title/index.native.js +1 -1
  459. package/build-module/components/post-title/index.native.js.map +1 -1
  460. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  461. package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
  462. package/build-module/components/post-title/use-post-title.js.map +1 -1
  463. package/build-module/components/post-trash/check.js +24 -26
  464. package/build-module/components/post-trash/check.js.map +1 -1
  465. package/build-module/components/post-trash/index.js +2 -1
  466. package/build-module/components/post-trash/index.js.map +1 -1
  467. package/build-module/components/post-type-support-check/index.js.map +1 -1
  468. package/build-module/components/post-url/check.js.map +1 -1
  469. package/build-module/components/post-url/index.js +46 -21
  470. package/build-module/components/post-url/index.js.map +1 -1
  471. package/build-module/components/post-url/label.js.map +1 -1
  472. package/build-module/components/post-url/panel.js +14 -7
  473. package/build-module/components/post-url/panel.js.map +1 -1
  474. package/build-module/components/post-view-link/index.js.map +1 -1
  475. package/build-module/components/post-visibility/check.js.map +1 -1
  476. package/build-module/components/post-visibility/index.js +2 -1
  477. package/build-module/components/post-visibility/index.js.map +1 -1
  478. package/build-module/components/post-visibility/label.js.map +1 -1
  479. package/build-module/components/post-visibility/utils.js.map +1 -1
  480. package/build-module/components/preferences-modal/enable-panel.js.map +1 -1
  481. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  482. package/build-module/components/preferences-modal/index.js +19 -17
  483. package/build-module/components/preferences-modal/index.js.map +1 -1
  484. package/build-module/components/preview-dropdown/index.js.map +1 -1
  485. package/build-module/components/provider/disable-non-page-content-blocks.js +36 -20
  486. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  487. package/build-module/components/provider/index.js +5 -3
  488. package/build-module/components/provider/index.js.map +1 -1
  489. package/build-module/components/provider/index.native.js.map +1 -1
  490. package/build-module/components/provider/navigation-block-editing-mode.js.map +1 -1
  491. package/build-module/components/provider/use-auto-switch-editor-sidebars.js +46 -0
  492. package/build-module/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  493. package/build-module/components/provider/use-block-editor-settings.js +73 -53
  494. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  495. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  496. package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  497. package/build-module/components/provider/with-registry-provider.js +1 -0
  498. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  499. package/build-module/components/start-page-options/index.js +132 -0
  500. package/build-module/components/start-page-options/index.js.map +1 -0
  501. package/build-module/components/table-of-contents/index.js.map +1 -1
  502. package/build-module/components/table-of-contents/panel.js.map +1 -1
  503. package/build-module/components/template-areas/index.js +63 -0
  504. package/build-module/components/template-areas/index.js.map +1 -0
  505. package/build-module/components/template-validation-notice/index.js +25 -31
  506. package/build-module/components/template-validation-notice/index.js.map +1 -1
  507. package/build-module/components/theme-support-check/index.js +11 -16
  508. package/build-module/components/theme-support-check/index.js.map +1 -1
  509. package/build-module/components/time-to-read/index.js.map +1 -1
  510. package/build-module/components/unsaved-changes-warning/index.js.map +1 -1
  511. package/build-module/components/word-count/index.js.map +1 -1
  512. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  513. package/build-module/hooks/default-autocompleters.js.map +1 -1
  514. package/build-module/hooks/index.js.map +1 -1
  515. package/build-module/hooks/index.native.js.map +1 -1
  516. package/build-module/hooks/pattern-overrides.js +22 -10
  517. package/build-module/hooks/pattern-overrides.js.map +1 -1
  518. package/build-module/hooks/use-select-nearest-editable-block.js +80 -0
  519. package/build-module/hooks/use-select-nearest-editable-block.js.map +1 -0
  520. package/build-module/index.js.map +1 -1
  521. package/build-module/index.native.js.map +1 -1
  522. package/build-module/lock-unlock.js.map +1 -1
  523. package/build-module/private-apis.js +24 -1
  524. package/build-module/private-apis.js.map +1 -1
  525. package/build-module/store/actions.js +37 -3
  526. package/build-module/store/actions.js.map +1 -1
  527. package/build-module/store/actions.native.js.map +1 -1
  528. package/build-module/store/constants.js +9 -0
  529. package/build-module/store/constants.js.map +1 -1
  530. package/build-module/store/defaults.js.map +1 -1
  531. package/build-module/store/index.js.map +1 -1
  532. package/build-module/store/local-autosave.js.map +1 -1
  533. package/build-module/store/private-actions.js +249 -1
  534. package/build-module/store/private-actions.js.map +1 -1
  535. package/build-module/store/private-selectors.js +50 -4
  536. package/build-module/store/private-selectors.js.map +1 -1
  537. package/build-module/store/reducer.js +13 -1
  538. package/build-module/store/reducer.js.map +1 -1
  539. package/build-module/store/reducer.native.js.map +1 -1
  540. package/build-module/store/selectors.js +20 -16
  541. package/build-module/store/selectors.js.map +1 -1
  542. package/build-module/store/selectors.native.js.map +1 -1
  543. package/build-module/store/utils/get-filtered-template-parts.js +64 -0
  544. package/build-module/store/utils/get-filtered-template-parts.js.map +1 -0
  545. package/build-module/store/utils/is-template-revertable.js +22 -0
  546. package/build-module/store/utils/is-template-revertable.js.map +1 -0
  547. package/build-module/store/utils/notice-builder.js.map +1 -1
  548. package/build-module/utils/get-template-part-icon.js.map +1 -1
  549. package/build-module/utils/index.js.map +1 -1
  550. package/build-module/utils/index.native.js.map +1 -1
  551. package/build-module/utils/media-upload/index.js.map +1 -1
  552. package/build-module/utils/media-upload/index.native.js.map +1 -1
  553. package/build-module/utils/terms.js.map +1 -1
  554. package/build-module/utils/url.js.map +1 -1
  555. package/build-style/style-rtl.css +565 -49
  556. package/build-style/style.css +565 -49
  557. package/package.json +36 -36
  558. package/src/bindings/post-meta.js +11 -27
  559. package/src/components/autosave-monitor/index.js +9 -0
  560. package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +108 -0
  561. package/src/components/commands/index.js +21 -2
  562. package/src/components/deprecated.js +157 -0
  563. package/src/components/document-bar/index.js +9 -15
  564. package/src/components/document-bar/style.scss +9 -12
  565. package/src/components/document-tools/index.js +16 -14
  566. package/src/components/document-tools/style.scss +4 -11
  567. package/src/components/editor-canvas/edit-template-blocks-notification.js +17 -53
  568. package/src/components/editor-canvas/index.js +8 -4
  569. package/src/components/entities-saved-states/index.js +12 -113
  570. package/src/components/error-boundary/style.native.scss +1 -1
  571. package/src/components/global-keyboard-shortcuts/index.js +25 -0
  572. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
  573. package/src/components/index.js +7 -0
  574. package/src/components/inserter-sidebar/index.js +7 -1
  575. package/src/components/keyboard-shortcut-help-modal/config.js +53 -0
  576. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +43 -0
  577. package/src/components/keyboard-shortcut-help-modal/index.js +160 -0
  578. package/src/components/keyboard-shortcut-help-modal/shortcut.js +67 -0
  579. package/src/components/keyboard-shortcut-help-modal/style.scss +61 -0
  580. package/src/components/list-view-sidebar/index.js +1 -0
  581. package/src/components/list-view-sidebar/style.scss +1 -1
  582. package/src/components/pattern-overrides-panel/index.js +26 -0
  583. package/src/components/plugin-more-menu-item/index.js +73 -0
  584. package/src/components/plugin-post-publish-panel/index.js +64 -0
  585. package/src/components/plugin-post-publish-panel/test/__snapshots__/index.js.snap +39 -0
  586. package/src/components/plugin-post-publish-panel/test/index.js +33 -0
  587. package/src/components/plugin-post-status-info/index.js +63 -0
  588. package/src/components/plugin-pre-publish-panel/index.js +67 -0
  589. package/src/components/plugin-pre-publish-panel/test/index.js +33 -0
  590. package/src/components/plugin-sidebar/index.js +98 -0
  591. package/src/components/plugin-sidebar-more-menu-item/index.js +64 -0
  592. package/src/components/post-actions/actions.js +862 -0
  593. package/src/components/post-actions/index.js +156 -0
  594. package/src/components/post-actions/style.scss +3 -0
  595. package/src/components/post-card-panel/index.js +168 -0
  596. package/src/components/post-card-panel/style.scss +32 -0
  597. package/src/components/post-excerpt/check.js +8 -0
  598. package/src/components/post-featured-image/style.scss +3 -2
  599. package/src/components/post-publish-button/index.js +23 -36
  600. package/src/components/post-publish-button/label.js +54 -39
  601. package/src/components/post-publish-button/test/index.js +15 -26
  602. package/src/components/post-publish-button/test/label.js +44 -21
  603. package/src/components/post-saved-state/index.js +13 -6
  604. package/src/components/post-saved-state/test/index.js +4 -0
  605. package/src/components/post-schedule/panel.js +22 -0
  606. package/src/components/post-slug/index.js +50 -68
  607. package/src/components/post-slug/test/index.js +29 -6
  608. package/src/components/post-status/index.js +310 -0
  609. package/src/components/post-status/style.scss +75 -0
  610. package/src/components/post-switch-to-draft-button/index.js +5 -0
  611. package/src/components/post-template/block-theme.js +31 -22
  612. package/src/components/post-title/index.native.js +1 -1
  613. package/src/components/post-trash/check.js +19 -19
  614. package/src/components/post-trash/index.js +1 -0
  615. package/src/components/post-url/index.js +131 -101
  616. package/src/components/post-url/panel.js +20 -7
  617. package/src/components/post-url/style.scss +8 -6
  618. package/src/components/post-visibility/index.js +1 -0
  619. package/src/components/preferences-modal/index.js +26 -22
  620. package/src/components/provider/disable-non-page-content-blocks.js +40 -20
  621. package/src/components/provider/index.js +17 -8
  622. package/src/components/provider/use-auto-switch-editor-sidebars.js +49 -0
  623. package/src/components/provider/use-block-editor-settings.js +70 -44
  624. package/src/components/provider/with-registry-provider.js +1 -0
  625. package/src/components/start-page-options/index.js +135 -0
  626. package/src/components/start-page-options/style.scss +26 -0
  627. package/src/components/template-areas/index.js +85 -0
  628. package/src/components/template-areas/style.scss +23 -0
  629. package/src/components/template-validation-notice/index.js +48 -50
  630. package/src/components/theme-support-check/index.js +9 -16
  631. package/src/components/theme-support-check/test/index.js +44 -43
  632. package/src/hooks/pattern-overrides.js +25 -14
  633. package/src/hooks/use-select-nearest-editable-block.js +95 -0
  634. package/src/private-apis.js +21 -0
  635. package/src/store/actions.js +37 -3
  636. package/src/store/constants.js +9 -0
  637. package/src/store/private-actions.js +377 -1
  638. package/src/store/private-selectors.js +101 -18
  639. package/src/store/reducer.js +13 -0
  640. package/src/store/selectors.js +51 -46
  641. package/src/store/utils/get-filtered-template-parts.js +69 -0
  642. package/src/store/utils/is-template-revertable.js +23 -0
  643. package/src/store/utils/test/get-filtered-template-parts.js +189 -0
  644. package/src/style.scss +8 -2
  645. package/src/components/post-publish-button/style.scss +0 -8
  646. package/src/components/provider/test/disable-non-page-content-blocks.js +0 -90
  647. package/src/components/template-validation-notice/style.scss +0 -9
@@ -0,0 +1 @@
1
+ {"version":3,"names":["external","trash","edit","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","_n","sprintf","noticesStore","useMemo","useState","Button","TextControl","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","TEMPLATE_ORIGINS","TEMPLATE_POST_TYPE","editorStore","unlock","isTemplateRevertable","getItemTitle","item","title","rendered","trashPostAction","id","label","isPrimary","icon","isEligible","status","supportsBulk","hideModalHeader","RenderModal","items","posts","closeModal","onActionPerformed","createSuccessNotice","createErrorNotice","deleteEntityRecord","createElement","spacing","length","justify","variant","onClick","promiseResult","Promise","allSettled","map","post","type","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","error","code","viewPostAction","window","open","link","editPostAction","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","revision","document","location","renamePostAction","originalTitle","setTitle","onRename","event","preventDefault","onSubmit","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","resetTemplateAction","revertTemplate","onConfirm","template","allowUndo","fallbackErrorMessage","isTemplateRemovable","source","custom","has_theme_file","deleteTemplateAction","templates","removeTemplates","renameTemplateAction","is_custom","editedTitle","setEditedTitle","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","onTemplateRename","usePostActions","actionIds","permanentlyDeletePostAction","restorePostAction","defaultActions","actions","actionId","find","i","existingCallback","_onActionPerformed","_items","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, edit, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo, useState } from '@wordpress/element';\n\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS, TEMPLATE_POST_TYPE } from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport isTemplateRevertable from '../../store/utils/is-template-revertable';\n\nfunction getItemTitle( item ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\treturn decodeEntities( item.title?.rendered || '' );\n}\n\nconst trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: posts, closeModal, onActionPerformed } ) => {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ posts.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of pages (2 or more).\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d page?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d pages?',\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'Pages moved to the Trash.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the post to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the pages to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nfunction usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t} );\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nfunction useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts, onActionPerformed ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const post of posts ) {\n\t\t\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tposts.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\t\t\tgetItemTitle( posts[ 0 ] )\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\t\tonActionPerformed( posts );\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\terror.code !== 'unknown_error' &&\n\t\t\t\t\t\terror.message\n\t\t\t\t\t) {\n\t\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t\t} else if ( posts.length > 1 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nconst viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst editPostAction = {\n\tid: 'edit-post',\n\tlabel: __( 'Edit' ),\n\tisPrimary: true,\n\ticon: edit,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\nconst postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts, onActionPerformed ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t\tif ( onActionPerformed ) {\n\t\t\tonActionPerformed( posts );\n\t\t}\n\t},\n};\n\nconst renamePostAction = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst originalTitle = decodeEntities(\n\t\t\ttypeof item.title === 'string' ? item.title : item.title.rendered\n\t\t);\n\t\tconst [ title, setTitle ] = useState( () => originalTitle );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst resetTemplateAction = {\n\tid: 'reset-template',\n\tlabel: __( 'Reset' ),\n\tisEligible: isTemplateRevertable,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst { revertTemplate } = unlock( useDispatch( editorStore ) );\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t} );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( items[ 0 ].title.rendered )\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'edit-site-template-reverted',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tawait onConfirm( items );\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Check if a template is removable.\n * Copy from packages/edit-site/src/utils/is-template-removable.js.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is revertable.\n */\nfunction isTemplateRemovable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate.source === TEMPLATE_ORIGINS.custom && ! template.has_theme_file\n\t);\n}\n\nconst deleteTemplateAction = {\n\tid: 'delete-template',\n\tlabel: __( 'Delete' ),\n\tisEligible: isTemplateRemovable,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: templates, closeModal, onActionPerformed } ) => {\n\t\tconst { removeTemplates } = unlock( useDispatch( editorStore ) );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ templates.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\ttemplates?.[ 0 ]?.title?.rendered\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tawait removeTemplates( templates, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonActionPerformed?.( templates );\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nconst renameTemplateAction = {\n\tid: 'rename-template',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( template ) => {\n\t\t// We can only remove templates or template parts that can be removed.\n\t\t// Additionally in the case of templates, we can only remove custom templates.\n\t\tif (\n\t\t\t! isTemplateRemovable( template ) ||\n\t\t\t( template.type === TEMPLATE_POST_TYPE && ! template.is_custom )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\tRenderModal: ( { items: templates, closeModal, onActionPerformed } ) => {\n\t\tconst template = templates[ 0 ];\n\t\tconst title = decodeEntities( template.title.rendered );\n\t\tconst [ editedTitle, setEditedTitle ] = useState( title );\n\t\tconst {\n\t\t\teditEntityRecord,\n\t\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t\t} = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onTemplateRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: editedTitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetEditedTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t[ 'title' ], // Only save title to avoid persisting other edits.\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template renamed.' )\n\t\t\t\t\t\t: __( 'Template part renamed.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tonActionPerformed?.( templates );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'An error occurred while renaming the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onTemplateRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ editedTitle }\n\t\t\t\t\t\tonChange={ setEditedTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nexport function usePostActions( onActionPerformed, actionIds = null ) {\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\treturn useMemo(\n\t\t() => {\n\t\t\t// By default, return all actions...\n\t\t\tconst defaultActions = [\n\t\t\t\teditPostAction,\n\t\t\t\tresetTemplateAction,\n\t\t\t\tviewPostAction,\n\t\t\t\trestorePostAction,\n\t\t\t\tdeleteTemplateAction,\n\t\t\t\tpermanentlyDeletePostAction,\n\t\t\t\tpostRevisionsAction,\n\t\t\t\trenamePostAction,\n\t\t\t\trenameTemplateAction,\n\t\t\t\ttrashPostAction,\n\t\t\t];\n\n\t\t\t// ... unless `actionIds` was specified, in which case we find the\n\t\t\t// actions matching the given IDs.\n\t\t\tconst actions = actionIds\n\t\t\t\t? actionIds.map( ( actionId ) =>\n\t\t\t\t\t\tdefaultActions.find( ( { id } ) => actionId === id )\n\t\t\t\t )\n\t\t\t\t: defaultActions;\n\n\t\t\tif ( onActionPerformed ) {\n\t\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\t\tcallback: ( items, _onActionPerformed ) => {\n\t\t\t\t\t\t\t\texistingCallback( items, ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( _onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t_onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t\titems={ props.items }\n\t\t\t\t\t\t\t\t\t\tcloseModal={ props.closeModal }\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn actions;\n\t\t},\n\n\t\t// Disable reason: if provided, `actionIds` is a shallow array of\n\t\t// strings, and the strings themselves should be part of the useMemo\n\t\t// dependencies. Two different disable statements are needed, as the\n\t\t// first flags what it thinks are missing dependencies, and the second\n\t\t// flags the array spread operation.\n\t\t//\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t...( actionIds || [] ),\n\t\t\tpermanentlyDeletePostAction,\n\t\t\trestorePostAction,\n\t\t\tonActionPerformed,\n\t\t]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useSelect } from '@wordpress/data';
6
+ import { useState } from '@wordpress/element';
7
+ import { __ } from '@wordpress/i18n';
8
+ import { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';
9
+ import { moreVertical } from '@wordpress/icons';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { unlock } from '../../lock-unlock';
15
+ import { usePostActions } from './actions';
16
+ import { store as editorStore } from '../../store';
17
+ import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_POST_TYPE } from '../../store/constants';
18
+ const {
19
+ DropdownMenuV2: DropdownMenu,
20
+ DropdownMenuGroupV2: DropdownMenuGroup,
21
+ DropdownMenuItemV2: DropdownMenuItem,
22
+ DropdownMenuItemLabelV2: DropdownMenuItemLabel,
23
+ kebabCase
24
+ } = unlock(componentsPrivateApis);
25
+ const POST_ACTIONS_WHILE_EDITING = ['view-post', 'view-post-revisions', 'rename-post', 'move-to-trash'];
26
+ export default function PostActions({
27
+ onActionPerformed,
28
+ buttonProps
29
+ }) {
30
+ const {
31
+ postType,
32
+ item
33
+ } = useSelect(select => {
34
+ const {
35
+ getCurrentPostType,
36
+ getCurrentPost
37
+ } = select(editorStore);
38
+ return {
39
+ postType: getCurrentPostType(),
40
+ item: getCurrentPost()
41
+ };
42
+ });
43
+ const actions = usePostActions(onActionPerformed, POST_ACTIONS_WHILE_EDITING);
44
+ if ([TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_POST_TYPE].includes(postType)) {
45
+ return null;
46
+ }
47
+ return createElement(DropdownMenu, {
48
+ trigger: createElement(Button, {
49
+ size: "small",
50
+ icon: moreVertical,
51
+ label: __('Actions'),
52
+ disabled: !actions.length,
53
+ className: "editor-all-actions-button",
54
+ ...buttonProps
55
+ }),
56
+ placement: "bottom-end"
57
+ }, createElement(ActionsDropdownMenuGroup, {
58
+ actions: actions,
59
+ item: item
60
+ }));
61
+ }
62
+
63
+ // From now on all the functions on this file are copied as from the dataviews packages,
64
+ // The editor packages should not be using the dataviews packages directly,
65
+ // and the dataviews package should not be using the editor packages directly,
66
+ // so duplicating the code here seems like the least bad option.
67
+
68
+ // Copied as is from packages/dataviews/src/item-actions.js
69
+ function DropdownMenuItemTrigger({
70
+ action,
71
+ onClick
72
+ }) {
73
+ return createElement(DropdownMenuItem, {
74
+ onClick: onClick,
75
+ hideOnClick: !action.RenderModal
76
+ }, createElement(DropdownMenuItemLabel, null, action.label));
77
+ }
78
+
79
+ // Copied as is from packages/dataviews/src/item-actions.js
80
+ function ActionWithModal({
81
+ action,
82
+ item,
83
+ ActionTrigger
84
+ }) {
85
+ const [isModalOpen, setIsModalOpen] = useState(false);
86
+ const actionTriggerProps = {
87
+ action,
88
+ onClick: () => setIsModalOpen(true)
89
+ };
90
+ const {
91
+ RenderModal,
92
+ hideModalHeader
93
+ } = action;
94
+ return createElement(Fragment, null, createElement(ActionTrigger, {
95
+ ...actionTriggerProps
96
+ }), isModalOpen && createElement(Modal, {
97
+ title: action.modalHeader || action.label,
98
+ __experimentalHideHeader: !!hideModalHeader,
99
+ onRequestClose: () => {
100
+ setIsModalOpen(false);
101
+ },
102
+ overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`
103
+ }, createElement(RenderModal, {
104
+ items: [item],
105
+ closeModal: () => setIsModalOpen(false)
106
+ })));
107
+ }
108
+
109
+ // Copied as is from packages/dataviews/src/item-actions.js
110
+ function ActionsDropdownMenuGroup({
111
+ actions,
112
+ item
113
+ }) {
114
+ return createElement(DropdownMenuGroup, null, actions.map(action => {
115
+ if (action.RenderModal) {
116
+ return createElement(ActionWithModal, {
117
+ key: action.id,
118
+ action: action,
119
+ item: item,
120
+ ActionTrigger: DropdownMenuItemTrigger
121
+ });
122
+ }
123
+ return createElement(DropdownMenuItemTrigger, {
124
+ key: action.id,
125
+ action: action,
126
+ onClick: () => action.callback([item])
127
+ });
128
+ }));
129
+ }
130
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSelect","useState","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","unlock","usePostActions","store","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","PATTERN_POST_TYPE","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","POST_ACTIONS_WHILE_EDITING","PostActions","onActionPerformed","buttonProps","postType","item","select","getCurrentPostType","getCurrentPost","actions","includes","createElement","trigger","size","icon","label","disabled","length","className","placement","ActionsDropdownMenuGroup","DropdownMenuItemTrigger","action","onClick","hideOnClick","RenderModal","ActionWithModal","ActionTrigger","isModalOpen","setIsModalOpen","actionTriggerProps","hideModalHeader","Fragment","title","modalHeader","__experimentalHideHeader","onRequestClose","overlayClassName","id","items","closeModal","map","key","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nconst POST_ACTIONS_WHILE_EDITING = [\n\t'view-post',\n\t'view-post-revisions',\n\t'rename-post',\n\t'move-to-trash',\n];\n\nexport default function PostActions( { onActionPerformed, buttonProps } ) {\n\tconst { postType, item } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPost } = select( editorStore );\n\t\treturn {\n\t\t\tpostType: getCurrentPostType(),\n\t\t\titem: getCurrentPost(),\n\t\t};\n\t} );\n\tconst actions = usePostActions(\n\t\tonActionPerformed,\n\t\tPOST_ACTIONS_WHILE_EDITING\n\t);\n\n\tif (\n\t\t[\n\t\t\tTEMPLATE_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType )\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\t{ ...buttonProps }\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction DropdownMenuItemTrigger( { action, onClick } ) {\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! action.RenderModal }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ action.label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction ActionWithModal( { action, item, ActionTrigger } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\t\t\taction.id\n\t\t\t\t\t) }` }\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction ActionsDropdownMenuGroup( { actions, item } ) {\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( action.RenderModal ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","_post$_links$wpActio","post","getCurrentPost","authors","getUsers","_links","length","createElement","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,QAAQ,aAAa;AAE3C,eAAe,SAASC,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,qBAAqB;IAAEC;EAAW,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAAA,IAAAC,oBAAA;IACtE,MAAMC,IAAI,GAAGF,MAAM,CAAEN,WAAY,CAAC,CAACS,cAAc,CAAC,CAAC;IACnD,MAAMC,OAAO,GAAGJ,MAAM,CAAER,SAAU,CAAC,CAACa,QAAQ,CAAEV,aAAc,CAAC;IAC7D,OAAO;MACNG,qBAAqB,GAAAG,oBAAA,GACpBC,IAAI,CAACI,MAAM,GAAI,yBAAyB,CAAE,cAAAL,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MACpDF,UAAU,EAAEK,OAAO,EAAEG,MAAM,IAAI;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAET,qBAAqB,IAAI,CAAEC,UAAU,EAAG;IAC9C,OAAO,IAAI;EACZ;EAEA,OACCS,aAAA,CAACf,oBAAoB;IAACgB,WAAW,EAAC;EAAQ,GACvCZ,QACmB,CAAC;AAEzB"}
1
+ {"version":3,"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","_post$_links$wpActio","post","getCurrentPost","authors","getUsers","_links","length","createElement","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,QAAQ,aAAa;AAE3C,eAAe,SAASC,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,qBAAqB;IAAEC;EAAW,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAAA,IAAAC,oBAAA;IACtE,MAAMC,IAAI,GAAGF,MAAM,CAAEN,WAAY,CAAC,CAACS,cAAc,CAAC,CAAC;IACnD,MAAMC,OAAO,GAAGJ,MAAM,CAAER,SAAU,CAAC,CAACa,QAAQ,CAAEV,aAAc,CAAC;IAC7D,OAAO;MACNG,qBAAqB,GAAAG,oBAAA,GACpBC,IAAI,CAACI,MAAM,GAAI,yBAAyB,CAAE,cAAAL,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MACpDF,UAAU,EAAEK,OAAO,EAAEG,MAAM,IAAI;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAET,qBAAqB,IAAI,CAAEC,UAAU,EAAG;IAC9C,OAAO,IAAI;EACZ;EAEA,OACCS,aAAA,CAACf,oBAAoB;IAACgB,WAAW,EAAC;EAAQ,GACvCZ,QACmB,CAAC;AAEzB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["debounce","useState","useDispatch","__","ComboboxControl","store","editorStore","useAuthorsQuery","PostAuthorCombobox","fieldValue","setFieldValue","editPost","authorId","authorOptions","handleSelect","postAuthorId","author","handleKeydown","inputValue","createElement","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onFilterValueChange","onChange","allowReset"],"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions } = useAuthorsQuery( fieldValue );\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {number} postAuthorId The selected Author.\n\t */\n\tconst handleSelect = ( postAuthorId ) => {\n\t\tif ( ! postAuthorId ) {\n\t\t\treturn;\n\t\t}\n\t\teditPost( { author: postAuthorId } );\n\t};\n\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ authorId }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleSelect }\n\t\t\tallowReset={ false }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;;AAEvD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAExC,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAGT,QAAQ,CAAC,CAAC;EAEhD,MAAM;IAAEU;EAAS,CAAC,GAAGT,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM;IAAEM,QAAQ;IAAEC;EAAc,CAAC,GAAGN,eAAe,CAAEE,UAAW,CAAC;;EAEjE;AACD;AACA;AACA;AACA;EACC,MAAMK,YAAY,GAAKC,YAAY,IAAM;IACxC,IAAK,CAAEA,YAAY,EAAG;MACrB;IACD;IACAJ,QAAQ,CAAE;MAAEK,MAAM,EAAED;IAAa,CAAE,CAAC;EACrC,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAME,aAAa,GAAKC,UAAU,IAAM;IACvCR,aAAa,CAAEQ,UAAW,CAAC;EAC5B,CAAC;EAED,OACCC,aAAA,CAACf,eAAe;IACfgB,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGnB,EAAE,CAAE,QAAS,CAAG;IACxBoB,OAAO,EAAGV,aAAe;IACzBW,KAAK,EAAGZ,QAAU;IAClBa,mBAAmB,EAAGzB,QAAQ,CAAEiB,aAAa,EAAE,GAAI,CAAG;IACtDS,QAAQ,EAAGZ,YAAc;IACzBa,UAAU,EAAG;EAAO,CACpB,CAAC;AAEJ"}
1
+ {"version":3,"names":["debounce","useState","useDispatch","__","ComboboxControl","store","editorStore","useAuthorsQuery","PostAuthorCombobox","fieldValue","setFieldValue","editPost","authorId","authorOptions","handleSelect","postAuthorId","author","handleKeydown","inputValue","createElement","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onFilterValueChange","onChange","allowReset"],"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions } = useAuthorsQuery( fieldValue );\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {number} postAuthorId The selected Author.\n\t */\n\tconst handleSelect = ( postAuthorId ) => {\n\t\tif ( ! postAuthorId ) {\n\t\t\treturn;\n\t\t}\n\t\teditPost( { author: postAuthorId } );\n\t};\n\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ authorId }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleSelect }\n\t\t\tallowReset={ false }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;;AAEvD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAExC,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAGT,QAAQ,CAAC,CAAC;EAEhD,MAAM;IAAEU;EAAS,CAAC,GAAGT,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM;IAAEM,QAAQ;IAAEC;EAAc,CAAC,GAAGN,eAAe,CAAEE,UAAW,CAAC;;EAEjE;AACD;AACA;AACA;AACA;EACC,MAAMK,YAAY,GAAKC,YAAY,IAAM;IACxC,IAAK,CAAEA,YAAY,EAAG;MACrB;IACD;IACAJ,QAAQ,CAAE;MAAEK,MAAM,EAAED;IAAa,CAAE,CAAC;EACrC,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAME,aAAa,GAAKC,UAAU,IAAM;IACvCR,aAAa,CAAEQ,UAAW,CAAC;EAC5B,CAAC;EAED,OACCC,aAAA,CAACf,eAAe;IACfgB,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGnB,EAAE,CAAE,QAAS,CAAG;IACxBoB,OAAO,EAAGV,aAAe;IACzBW,KAAK,EAAGZ,QAAU;IAClBa,mBAAmB,EAAGzB,QAAQ,CAAEiB,aAAa,EAAE,GAAI,CAAG;IACtDS,QAAQ,EAAGZ,YAAc;IACzBa,UAAU,EAAG;EAAO,CACpB,CAAC;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_QUERY","_fields","context","AUTHORS_QUERY","who","per_page"],"sources":["@wordpress/editor/src/components/post-author/constants.js"],"sourcesContent":["export const BASE_QUERY = {\n\t_fields: 'id,name',\n\tcontext: 'view', // Allows non-admins to perform requests.\n};\n\nexport const AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 50,\n\t...BASE_QUERY,\n};\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,MAAM,CAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC5BC,GAAG,EAAE,SAAS;EACdC,QAAQ,EAAE,EAAE;EACZ,GAAGL;AACJ,CAAC"}
1
+ {"version":3,"names":["BASE_QUERY","_fields","context","AUTHORS_QUERY","who","per_page"],"sources":["@wordpress/editor/src/components/post-author/constants.js"],"sourcesContent":["export const BASE_QUERY = {\n\t_fields: 'id,name',\n\tcontext: 'view', // Allows non-admins to perform requests.\n};\n\nexport const AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 50,\n\t...BASE_QUERY,\n};\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,MAAM,CAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC5BC,GAAG,EAAE,SAAS;EACdC,QAAQ,EAAE,EAAE;EACZ,GAAGL;AACJ,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t\t...fetchedAuthors,\n\t\t\t];\n\t\t}\n\n\t\treturn fetchedAuthors;\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;IACtB;IAEA,OAAO;MACNC,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMU,aAAa,GAAGnB,OAAO,CAAE,MAAM;IACpC,MAAMoB,cAAc,GAAG,CAAET,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGU,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAEvB,cAAc,CAAEoB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMX,UAAU,EAAEY,EAAE,KAAKD,KACrC,CAAC;IAED,IAAKI,WAAW,GAAG,CAAC,IAAIf,UAAU,EAAG;MACpC,OAAO,CACN;QACCW,KAAK,EAAEX,UAAU,CAACY,EAAE;QACpBC,KAAK,EAAEvB,cAAc,CAAEU,UAAU,CAACc,IAAK;MACxC,CAAC,EACD,GAAGN,cAAc,CACjB;IACF;IAEA,OAAOA,cAAc;EACtB,CAAC,EAAE,CAAET,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAES;EAAc,CAAC;AACnC"}
1
+ {"version":3,"names":["useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t\t...fetchedAuthors,\n\t\t\t];\n\t\t}\n\n\t\treturn fetchedAuthors;\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;IACtB;IAEA,OAAO;MACNC,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMU,aAAa,GAAGnB,OAAO,CAAE,MAAM;IACpC,MAAMoB,cAAc,GAAG,CAAET,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGU,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAEvB,cAAc,CAAEoB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMX,UAAU,EAAEY,EAAE,KAAKD,KACrC,CAAC;IAED,IAAKI,WAAW,GAAG,CAAC,IAAIf,UAAU,EAAG;MACpC,OAAO,CACN;QACCW,KAAK,EAAEX,UAAU,CAACY,EAAE;QACpBC,KAAK,EAAEvB,cAAc,CAAEU,UAAU,CAACc,IAAK;MACxC,CAAC,EACD,GAAGN,cAAc,CACjB;IACF;IAEA,OAAOA,cAAc;EACtB,CAAC,EAAE,CAAET,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAES;EAAc,CAAC;AACnC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length","createElement"],"sources":["@wordpress/editor/src/components/post-author/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,YAAY;AAC3C,OAAOC,gBAAgB,MAAM,UAAU;AACvC,SAASC,aAAa,QAAQ,aAAa;AAE3C,MAAMC,uBAAuB,GAAG,EAAE;AAElC,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAM,IAAM;IAC7C,MAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAU,CAAC,CAACS,QAAQ,CAAEN,aAAc,CAAC;IAE7D,OAAOK,OAAO,EAAEE,MAAM,IAAIN,uBAAuB;EAClD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKE,YAAY,EAAG;IACnB,OAAOK,aAAA,CAACV,kBAAkB,MAAE,CAAC;EAC9B;EACA,OAAOU,aAAA,CAACT,gBAAgB,MAAE,CAAC;AAC5B;AAEA,eAAeG,UAAU"}
1
+ {"version":3,"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length","createElement"],"sources":["@wordpress/editor/src/components/post-author/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,YAAY;AAC3C,OAAOC,gBAAgB,MAAM,UAAU;AACvC,SAASC,aAAa,QAAQ,aAAa;AAE3C,MAAMC,uBAAuB,GAAG,EAAE;AAElC,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAM,IAAM;IAC7C,MAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAU,CAAC,CAACS,QAAQ,CAAEN,aAAc,CAAC;IAE7D,OAAOK,OAAO,EAAEE,MAAM,IAAIN,uBAAuB;EAClD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKE,YAAY,EAAG;IACnB,OAAOK,aAAA,CAACV,kBAAkB,MAAE,CAAC;EAC9B;EACA,OAAOU,aAAA,CAACT,gBAAgB,MAAE,CAAC;AAC5B;AAEA,eAAeG,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PostAuthorCheck","PostAuthorForm","PostPanelRow","PostAuthor","createElement","className"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\n\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow className=\"editor-post-author__panel\">\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,eAAe,MAAM,SAAS;AACrC,OAAOC,cAAc,MAAM,SAAS;AACpC,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC5B,OACCC,aAAA,CAACJ,eAAe,QACfI,aAAA,CAACF,YAAY;IAACG,SAAS,EAAC;EAA2B,GAClDD,aAAA,CAACH,cAAc,MAAE,CACJ,CACE,CAAC;AAEpB;AAEA,eAAeE,UAAU"}
1
+ {"version":3,"names":["PostAuthorCheck","PostAuthorForm","PostPanelRow","PostAuthor","createElement","className"],"sources":["@wordpress/editor/src/components/post-author/panel.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\nimport PostAuthorForm from './index';\nimport PostPanelRow from '../post-panel-row';\n\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PostPanelRow className=\"editor-post-author__panel\">\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PostPanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,eAAe,MAAM,SAAS;AACrC,OAAOC,cAAc,MAAM,SAAS;AACpC,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC5B,OACCC,aAAA,CAACJ,eAAe,QACfI,aAAA,CAACF,YAAY;IAACG,SAAS,EAAC;EAA2B,GAClDD,aAAA,CAACH,cAAc,MAAE,CACJ,CACE,CAAC;AAEpB;AAEA,eAAeE,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","useDispatch","SelectControl","store","editorStore","useAuthorsQuery","PostAuthorSelect","editPost","authorId","authorOptions","setAuthorId","value","author","Number","createElement","__next40pxDefaultSize","__nextHasNoMarginBottom","className","label","options","onChange"],"sources":["@wordpress/editor/src/components/post-author/select.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { SelectControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorSelect() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions } = useAuthorsQuery();\n\n\tconst setAuthorId = ( value ) => {\n\t\tconst author = Number( value );\n\t\teditPost( { author } );\n\t};\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"post-author-selector\"\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tonChange={ setAuthorId }\n\t\t\tvalue={ authorId }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAS,CAAC,GAAGN,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAM;IAAEI,QAAQ;IAAEC;EAAc,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAErD,MAAMK,WAAW,GAAKC,KAAK,IAAM;IAChC,MAAMC,MAAM,GAAGC,MAAM,CAAEF,KAAM,CAAC;IAC9BJ,QAAQ,CAAE;MAAEK;IAAO,CAAE,CAAC;EACvB,CAAC;EAED,OACCE,aAAA,CAACZ,aAAa;IACba,qBAAqB;IACrBC,uBAAuB;IACvBC,SAAS,EAAC,sBAAsB;IAChCC,KAAK,EAAGlB,EAAE,CAAE,QAAS,CAAG;IACxBmB,OAAO,EAAGV,aAAe;IACzBW,QAAQ,EAAGV,WAAa;IACxBC,KAAK,EAAGH;EAAU,CAClB,CAAC;AAEJ"}
1
+ {"version":3,"names":["__","useDispatch","SelectControl","store","editorStore","useAuthorsQuery","PostAuthorSelect","editPost","authorId","authorOptions","setAuthorId","value","author","Number","createElement","__next40pxDefaultSize","__nextHasNoMarginBottom","className","label","options","onChange"],"sources":["@wordpress/editor/src/components/post-author/select.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { SelectControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorSelect() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions } = useAuthorsQuery();\n\n\tconst setAuthorId = ( value ) => {\n\t\tconst author = Number( value );\n\t\teditPost( { author } );\n\t};\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"post-author-selector\"\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tonChange={ setAuthorId }\n\t\t\tvalue={ authorId }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAS,CAAC,GAAGN,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAM;IAAEI,QAAQ;IAAEC;EAAc,CAAC,GAAGJ,eAAe,CAAC,CAAC;EAErD,MAAMK,WAAW,GAAKC,KAAK,IAAM;IAChC,MAAMC,MAAM,GAAGC,MAAM,CAAEF,KAAM,CAAC;IAC9BJ,QAAQ,CAAE;MAAEK;IAAO,CAAE,CAAC;EACvB,CAAC;EAED,OACCE,aAAA,CAACZ,aAAa;IACba,qBAAqB;IACrBC,uBAAuB;IACvBC,SAAS,EAAC,sBAAsB;IAChCC,KAAK,EAAGlB,EAAE,CAAE,QAAS,CAAG;IACxBmB,OAAO,EAAGV,aAAe;IACzBW,QAAQ,EAAGV,WAAa;IACxBC,KAAK,EAAGH;EAAU,CAClB,CAAC;AAEJ","ignoreList":[]}
@@ -0,0 +1,119 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * External dependencies
4
+ */
5
+ import classnames from 'classnames';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { Icon, __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalText as Text, PanelBody } from '@wordpress/components';
11
+ import { store as coreStore } from '@wordpress/core-data';
12
+ import { useSelect } from '@wordpress/data';
13
+ import { __, _x, _n, sprintf } from '@wordpress/i18n';
14
+ import { humanTimeDiff } from '@wordpress/date';
15
+ import { decodeEntities } from '@wordpress/html-entities';
16
+ import { count as wordCount } from '@wordpress/wordcount';
17
+ import { useMemo } from '@wordpress/element';
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ import { store as editorStore } from '../../store';
23
+ import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE } from '../../store/constants';
24
+ import { unlock } from '../../lock-unlock';
25
+ import TemplateAreas from '../template-areas';
26
+ export default function PostCardPanel({
27
+ className,
28
+ actions
29
+ }) {
30
+ const {
31
+ modified,
32
+ title,
33
+ templateInfo,
34
+ icon,
35
+ postType,
36
+ isPostsPage
37
+ } = useSelect(select => {
38
+ const {
39
+ getEditedPostAttribute,
40
+ getCurrentPostType,
41
+ getCurrentPostId,
42
+ __experimentalGetTemplateInfo
43
+ } = select(editorStore);
44
+ const {
45
+ getEditedEntityRecord,
46
+ getEntityRecord
47
+ } = select(coreStore);
48
+ const siteSettings = getEntityRecord('root', 'site');
49
+ const _type = getCurrentPostType();
50
+ const _id = getCurrentPostId();
51
+ const _record = getEditedEntityRecord('postType', _type, _id);
52
+ const _templateInfo = __experimentalGetTemplateInfo(_record);
53
+ return {
54
+ title: _templateInfo?.title || getEditedPostAttribute('title'),
55
+ modified: getEditedPostAttribute('modified'),
56
+ id: _id,
57
+ postType: _type,
58
+ templateInfo: _templateInfo,
59
+ icon: unlock(select(editorStore)).getPostIcon(_type, {
60
+ area: _record?.area
61
+ }),
62
+ isPostsPage: +_id === siteSettings?.page_for_posts
63
+ };
64
+ }, []);
65
+ const description = templateInfo?.description;
66
+ const lastEditedText = modified && sprintf(
67
+ // translators: %s: Human-readable time difference, e.g. "2 days ago".
68
+ __('Last edited %s.'), humanTimeDiff(modified));
69
+ const showPostContentInfo = !isPostsPage && ![TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE].includes(postType);
70
+ return createElement(PanelBody, null, createElement("div", {
71
+ className: classnames('editor-post-card-panel', className)
72
+ }, createElement(HStack, {
73
+ spacing: 2,
74
+ className: "editor-post-card-panel__header",
75
+ align: "flex-start"
76
+ }, createElement(Icon, {
77
+ className: "editor-post-card-panel__icon",
78
+ icon: icon
79
+ }), createElement(Text, {
80
+ numberOfLines: 2,
81
+ truncate: true,
82
+ className: "editor-post-card-panel__title",
83
+ weight: 500,
84
+ as: "h2"
85
+ }, title ? decodeEntities(title) : __('No Title')), actions), createElement(VStack, {
86
+ className: "editor-post-card-panel__content"
87
+ }, (description || lastEditedText || showPostContentInfo) && createElement(VStack, {
88
+ className: "editor-post-card-panel__description",
89
+ spacing: 2
90
+ }, description && createElement(Text, null, description), showPostContentInfo && createElement(PostContentInfo, null), lastEditedText && createElement(Text, null, lastEditedText)), postType === TEMPLATE_POST_TYPE && createElement(TemplateAreas, null))));
91
+ }
92
+
93
+ // Taken from packages/editor/src/components/time-to-read/index.js.
94
+ const AVERAGE_READING_RATE = 189;
95
+
96
+ // This component renders the wordcount and reading time for the post.
97
+ function PostContentInfo() {
98
+ const postContent = useSelect(select => select(editorStore).getEditedPostAttribute('content'), []);
99
+ /*
100
+ * translators: If your word count is based on single characters (e.g. East Asian characters),
101
+ * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.
102
+ * Do not translate into your own language.
103
+ */
104
+ const wordCountType = _x('words', 'Word count type. Do not translate!');
105
+ const wordsCounted = useMemo(() => postContent ? wordCount(postContent, wordCountType) : 0, [postContent, wordCountType]);
106
+ if (!wordsCounted) {
107
+ return null;
108
+ }
109
+ const readingTime = Math.round(wordsCounted / AVERAGE_READING_RATE);
110
+ const wordsCountText = sprintf(
111
+ // translators: %s: the number of words in the post.
112
+ _n('%s word', '%s words', wordsCounted), wordsCounted.toLocaleString());
113
+ const minutesText = readingTime <= 1 ? __('1 minute') : sprintf(
114
+ // translators: %s: the number of minutes to read the post.
115
+ _n('%s minute', '%s minutes', readingTime), readingTime.toLocaleString());
116
+ return createElement(Text, null, sprintf( /* translators: 1: How many words a post has. 2: the number of minutes to read the post (e.g. 130 words, 2 minutes read time.) */
117
+ __('%1$s, %2$s read time.'), wordsCountText, minutesText));
118
+ }
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["classnames","Icon","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalText","Text","PanelBody","store","coreStore","useSelect","__","_x","_n","sprintf","humanTimeDiff","decodeEntities","count","wordCount","useMemo","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","unlock","TemplateAreas","PostCardPanel","className","actions","modified","title","templateInfo","icon","postType","isPostsPage","select","getEditedPostAttribute","getCurrentPostType","getCurrentPostId","__experimentalGetTemplateInfo","getEditedEntityRecord","getEntityRecord","siteSettings","_type","_id","_record","_templateInfo","id","getPostIcon","area","page_for_posts","description","lastEditedText","showPostContentInfo","includes","createElement","spacing","align","numberOfLines","truncate","weight","as","PostContentInfo","AVERAGE_READING_RATE","postContent","wordCountType","wordsCounted","readingTime","Math","round","wordsCountText","toLocaleString","minutesText"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n\tPanelBody,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport TemplateAreas from '../template-areas';\n\nexport default function PostCardPanel( { className, actions } ) {\n\tconst { modified, title, templateInfo, icon, postType, isPostsPage } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\t__experimentalGetTemplateInfo,\n\t\t\t} = select( editorStore );\n\t\t\tconst { getEditedEntityRecord, getEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst _type = getCurrentPostType();\n\t\t\tconst _id = getCurrentPostId();\n\t\t\tconst _record = getEditedEntityRecord( 'postType', _type, _id );\n\t\t\tconst _templateInfo = __experimentalGetTemplateInfo( _record );\n\t\t\treturn {\n\t\t\t\ttitle:\n\t\t\t\t\t_templateInfo?.title || getEditedPostAttribute( 'title' ),\n\t\t\t\tmodified: getEditedPostAttribute( 'modified' ),\n\t\t\t\tid: _id,\n\t\t\t\tpostType: _type,\n\t\t\t\ttemplateInfo: _templateInfo,\n\t\t\t\ticon: unlock( select( editorStore ) ).getPostIcon( _type, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t\tisPostsPage: +_id === siteSettings?.page_for_posts,\n\t\t\t};\n\t\t}, [] );\n\tconst description = templateInfo?.description;\n\tconst lastEditedText =\n\t\tmodified &&\n\t\tsprintf(\n\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t__( 'Last edited %s.' ),\n\t\t\thumanTimeDiff( modified )\n\t\t);\n\tconst showPostContentInfo =\n\t\t! isPostsPage &&\n\t\t! [ TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE ].includes( postType );\n\treturn (\n\t\t<PanelBody>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'editor-post-card-panel', className ) }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"editor-post-card-panel__icon\"\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\t\ttruncate\n\t\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tas=\"h2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title ? decodeEntities( title ) : __( 'No Title' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ actions }\n\t\t\t\t</HStack>\n\t\t\t\t<VStack className=\"editor-post-card-panel__content\">\n\t\t\t\t\t{ ( description ||\n\t\t\t\t\t\tlastEditedText ||\n\t\t\t\t\t\tshowPostContentInfo ) && (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"editor-post-card-panel__description\"\n\t\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ description && <Text>{ description }</Text> }\n\t\t\t\t\t\t\t{ showPostContentInfo && <PostContentInfo /> }\n\t\t\t\t\t\t\t{ lastEditedText && (\n\t\t\t\t\t\t\t\t<Text>{ lastEditedText }</Text>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ postType === TEMPLATE_POST_TYPE && <TemplateAreas /> }\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\n// This component renders the wordcount and reading time for the post.\nfunction PostContentInfo() {\n\tconst postContent = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostAttribute( 'content' ),\n\t\t[]\n\t);\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = useMemo(\n\t\t() => ( postContent ? wordCount( postContent, wordCountType ) : 0 ),\n\t\t[ postContent, wordCountType ]\n\t);\n\tif ( ! wordsCounted ) {\n\t\treturn null;\n\t}\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\tconst wordsCountText = sprintf(\n\t\t// translators: %s: the number of words in the post.\n\t\t_n( '%s word', '%s words', wordsCounted ),\n\t\twordsCounted.toLocaleString()\n\t);\n\tconst minutesText =\n\t\treadingTime <= 1\n\t\t\t? __( '1 minute' )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %s: the number of minutes to read the post.\n\t\t\t\t\t_n( '%s minute', '%s minutes', readingTime ),\n\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t );\n\treturn (\n\t\t<Text>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: 1: How many words a post has. 2: the number of minutes to read the post (e.g. 130 words, 2 minutes read time.) */\n\t\t\t\t__( '%1$s, %2$s read time.' ),\n\t\t\t\twordsCountText,\n\t\t\t\tminutesText\n\t\t\t) }\n\t\t</Text>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","CheckboxControl","useDispatch","useSelect","store","editorStore","PostComments","commentStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","onToggleComments","comment_status","createElement","__nextHasNoMarginBottom","label","checked","onChange"],"sources":["@wordpress/editor/src/components/post-comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostComments() {\n\tconst commentStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'comment_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst onToggleComments = () =>\n\t\teditPost( {\n\t\t\tcomment_status: commentStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow comments' ) }\n\t\t\tchecked={ commentStatus === 'open' }\n\t\t\tonChange={ onToggleComments }\n\t\t/>\n\t);\n}\n\nexport default PostComments;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAMC,aAAa,GAAGJ,SAAS,CAC5BK,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,gBAAiB,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAChE,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGT,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMO,gBAAgB,GAAGA,CAAA,KACxBD,QAAQ,CAAE;IACTE,cAAc,EAAEN,aAAa,KAAK,MAAM,GAAG,QAAQ,GAAG;EACvD,CAAE,CAAC;EAEJ,OACCO,aAAA,CAACb,eAAe;IACfc,uBAAuB;IACvBC,KAAK,EAAGhB,EAAE,CAAE,gBAAiB,CAAG;IAChCiB,OAAO,EAAGV,aAAa,KAAK,MAAQ;IACpCW,QAAQ,EAAGN;EAAkB,CAC7B,CAAC;AAEJ;AAEA,eAAeN,YAAY"}
1
+ {"version":3,"names":["__","CheckboxControl","useDispatch","useSelect","store","editorStore","PostComments","commentStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","onToggleComments","comment_status","createElement","__nextHasNoMarginBottom","label","checked","onChange"],"sources":["@wordpress/editor/src/components/post-comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostComments() {\n\tconst commentStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'comment_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst onToggleComments = () =>\n\t\teditPost( {\n\t\t\tcomment_status: commentStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow comments' ) }\n\t\t\tchecked={ commentStatus === 'open' }\n\t\t\tonChange={ onToggleComments }\n\t\t/>\n\t);\n}\n\nexport default PostComments;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAMC,aAAa,GAAGJ,SAAS,CAC5BK,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEH,WAAY,CAAC,CAACK,sBAAsB,CAAE,gBAAiB,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAChE,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGT,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMO,gBAAgB,GAAGA,CAAA,KACxBD,QAAQ,CAAE;IACTE,cAAc,EAAEN,aAAa,KAAK,MAAM,GAAG,QAAQ,GAAG;EACvD,CAAE,CAAC;EAEJ,OACCO,aAAA,CAACb,eAAe;IACfc,uBAAuB;IACvBC,KAAK,EAAGhB,EAAE,CAAE,gBAAiB,CAAG;IAChCiB,OAAO,EAAGV,aAAa,KAAK,MAAQ;IACpCW,QAAQ,EAAGN;EAAkB,CAC7B,CAAC;AAEJ;AAEA,eAAeN,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","PanelBody","PanelRow","useDispatch","useSelect","store","editorStore","PostTypeSupportCheck","PostComments","PostPingbacks","PANEL_NAME","PostDiscussionPanel","isEnabled","isOpened","select","isEditorPanelEnabled","isEditorPanelOpened","toggleEditorPanelOpened","createElement","supportKeys","title","opened","onToggle"],"sources":["@wordpress/editor/src/components/post-discussion/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport PostComments from '../post-comments';\nimport PostPingbacks from '../post-pingbacks';\n\nconst PANEL_NAME = 'discussion-panel';\n\nfunction PostDiscussionPanel() {\n\tconst { isEnabled, isOpened } = useSelect( ( select ) => {\n\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t}, [] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys={ [ 'comments', 'trackbacks' ] }>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ () => toggleEditorPanelOpened( PANEL_NAME ) }\n\t\t\t>\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"comments\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostComments />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"trackbacks\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostPingbacks />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\t\t\t</PanelBody>\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default PostDiscussionPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,MAAMC,UAAU,GAAG,kBAAkB;AAErC,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAM;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IACxD,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAER,WAAY,CAAC;IACtB,OAAO;MACNM,SAAS,EAAEG,oBAAoB,CAAEL,UAAW,CAAC;MAC7CG,QAAQ,EAAEG,mBAAmB,CAAEN,UAAW;IAC3C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEO;EAAwB,CAAC,GAAGd,WAAW,CAAEG,WAAY,CAAC;EAE9D,IAAK,CAAEM,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACCM,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAG,CAAE,UAAU,EAAE,YAAY;EAAI,GACjED,aAAA,CAACjB,SAAS;IACTmB,KAAK,EAAGpB,EAAE,CAAE,YAAa,CAAG;IAC5BqB,MAAM,EAAGR,QAAU;IACnBS,QAAQ,EAAGA,CAAA,KAAML,uBAAuB,CAAEP,UAAW;EAAG,GAExDQ,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAC;EAAU,GAC3CD,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACV,YAAY,MAAE,CACN,CACW,CAAC,EAEvBU,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAC;EAAY,GAC7CD,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACT,aAAa,MAAE,CACP,CACW,CACZ,CACU,CAAC;AAEzB;AAEA,eAAeE,mBAAmB"}
1
+ {"version":3,"names":["__","PanelBody","PanelRow","useDispatch","useSelect","store","editorStore","PostTypeSupportCheck","PostComments","PostPingbacks","PANEL_NAME","PostDiscussionPanel","isEnabled","isOpened","select","isEditorPanelEnabled","isEditorPanelOpened","toggleEditorPanelOpened","createElement","supportKeys","title","opened","onToggle"],"sources":["@wordpress/editor/src/components/post-discussion/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport PostComments from '../post-comments';\nimport PostPingbacks from '../post-pingbacks';\n\nconst PANEL_NAME = 'discussion-panel';\n\nfunction PostDiscussionPanel() {\n\tconst { isEnabled, isOpened } = useSelect( ( select ) => {\n\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t}, [] );\n\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys={ [ 'comments', 'trackbacks' ] }>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ () => toggleEditorPanelOpened( PANEL_NAME ) }\n\t\t\t>\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"comments\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostComments />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"trackbacks\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostPingbacks />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\t\t\t</PanelBody>\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default PostDiscussionPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAE7C,MAAMC,UAAU,GAAG,kBAAkB;AAErC,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAM;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IACxD,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAER,WAAY,CAAC;IACtB,OAAO;MACNM,SAAS,EAAEG,oBAAoB,CAAEL,UAAW,CAAC;MAC7CG,QAAQ,EAAEG,mBAAmB,CAAEN,UAAW;IAC3C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEO;EAAwB,CAAC,GAAGd,WAAW,CAAEG,WAAY,CAAC;EAE9D,IAAK,CAAEM,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACCM,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAG,CAAE,UAAU,EAAE,YAAY;EAAI,GACjED,aAAA,CAACjB,SAAS;IACTmB,KAAK,EAAGpB,EAAE,CAAE,YAAa,CAAG;IAC5BqB,MAAM,EAAGR,QAAU;IACnBS,QAAQ,EAAGA,CAAA,KAAML,uBAAuB,CAAEP,UAAW;EAAG,GAExDQ,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAC;EAAU,GAC3CD,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACV,YAAY,MAAE,CACN,CACW,CAAC,EAEvBU,aAAA,CAACX,oBAAoB;IAACY,WAAW,EAAC;EAAY,GAC7CD,aAAA,CAAChB,QAAQ,QACRgB,aAAA,CAACT,aAAa,MAAE,CACP,CACW,CACZ,CACU,CAAC;AAEzB;AAEA,eAAeE,mBAAmB","ignoreList":[]}
@@ -9,6 +9,15 @@ import { useSelect } from '@wordpress/data';
9
9
  */
10
10
  import PostTypeSupportCheck from '../post-type-support-check';
11
11
  import { store as editorStore } from '../../store';
12
+
13
+ /**
14
+ * Component for checking if the post type supports the excerpt field.
15
+ *
16
+ * @param {Object} props Props.
17
+ * @param {Element} props.children Children to be rendered.
18
+ *
19
+ * @return {Component} The component to be rendered.
20
+ */
12
21
  function PostExcerptCheck({
13
22
  children
14
23
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","PostTypeSupportCheck","store","editorStore","PostExcerptCheck","children","postType","select","getEditedPostAttribute","includes","createElement","supportKeys"],"sources":["@wordpress/editor/src/components/post-excerpt/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nfunction PostExcerptCheck( { children } ) {\n\tconst postType = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn getEditedPostAttribute( 'type' );\n\t}, [] );\n\n\t// This special case is unfortunate, but the REST API of wp_template and wp_template_part\n\t// support the excerpt field throught the \"description\" field rather than \"excerpt\" which means\n\t// the default ExcerptPanel won't work for these.\n\tif ( [ 'wp_template', 'wp_template_part' ].includes( postType ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"excerpt\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default PostExcerptCheck;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,gBAAgBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACzC,MAAMC,QAAQ,GAAGN,SAAS,CAAIO,MAAM,IAAM;IACzC,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEJ,WAAY,CAAC;IACxD,OAAOK,sBAAsB,CAAE,MAAO,CAAC;EACxC,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA;EACA;EACA,IAAK,CAAE,aAAa,EAAE,kBAAkB,CAAE,CAACC,QAAQ,CAAEH,QAAS,CAAC,EAAG;IACjE,OAAO,IAAI;EACZ;EAEA,OACCI,aAAA,CAACT,oBAAoB;IAACU,WAAW,EAAC;EAAS,GACxCN,QACmB,CAAC;AAEzB;AAEA,eAAeD,gBAAgB"}
1
+ {"version":3,"names":["useSelect","PostTypeSupportCheck","store","editorStore","PostExcerptCheck","children","postType","select","getEditedPostAttribute","includes","createElement","supportKeys"],"sources":["@wordpress/editor/src/components/post-excerpt/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\n/**\n * Component for checking if the post type supports the excerpt field.\n *\n * @param {Object} props Props.\n * @param {Element} props.children Children to be rendered.\n *\n * @return {Component} The component to be rendered.\n */\nfunction PostExcerptCheck( { children } ) {\n\tconst postType = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn getEditedPostAttribute( 'type' );\n\t}, [] );\n\n\t// This special case is unfortunate, but the REST API of wp_template and wp_template_part\n\t// support the excerpt field throught the \"description\" field rather than \"excerpt\" which means\n\t// the default ExcerptPanel won't work for these.\n\tif ( [ 'wp_template', 'wp_template_part' ].includes( postType ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"excerpt\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default PostExcerptCheck;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACzC,MAAMC,QAAQ,GAAGN,SAAS,CAAIO,MAAM,IAAM;IACzC,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEJ,WAAY,CAAC;IACxD,OAAOK,sBAAsB,CAAE,MAAO,CAAC;EACxC,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA;EACA;EACA,IAAK,CAAE,aAAa,EAAE,kBAAkB,CAAE,CAACC,QAAQ,CAAEH,QAAS,CAAC,EAAG;IACjE,OAAO,IAAI;EACZ;EAEA,OACCI,aAAA,CAACT,oBAAoB;IAACU,WAAW,EAAC;EAAS,GACxCN,QACmB,CAAC;AAEzB;AAEA,eAAeD,gBAAgB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","ExternalLink","TextareaControl","useDispatch","useSelect","store","editorStore","PostExcerpt","excerpt","select","getEditedPostAttribute","editPost","createElement","className","__nextHasNoMarginBottom","label","onChange","value","href"],"sources":["@wordpress/editor/src/components/post-excerpt/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ExternalLink, TextareaControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostExcerpt() {\n\tconst excerpt = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostAttribute( 'excerpt' ),\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\n\treturn (\n\t\t<div className=\"editor-post-excerpt\">\n\t\t\t<TextareaControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Write an excerpt (optional)' ) }\n\t\t\t\tclassName=\"editor-post-excerpt__textarea\"\n\t\t\t\tonChange={ ( value ) => editPost( { excerpt: value } ) }\n\t\t\t\tvalue={ excerpt }\n\t\t\t/>\n\t\t\t<ExternalLink\n\t\t\t\thref={ __(\n\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#excerpt'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ __( 'Learn more about manual excerpts' ) }\n\t\t\t</ExternalLink>\n\t\t</div>\n\t);\n}\n\nexport default PostExcerpt;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,EAAEC,eAAe,QAAQ,uBAAuB;AACrE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,WAAWA,CAAA,EAAG;EACtB,MAAMC,OAAO,GAAGJ,SAAS,CACtBK,MAAM,IAAMA,MAAM,CAAEH,WAAY,CAAC,CAACI,sBAAsB,CAAE,SAAU,CAAC,EACvE,EACD,CAAC;EACD,MAAM;IAAEC;EAAS,CAAC,GAAGR,WAAW,CAAEG,WAAY,CAAC;EAE/C,OACCM,aAAA;IAAKC,SAAS,EAAC;EAAqB,GACnCD,aAAA,CAACV,eAAe;IACfY,uBAAuB;IACvBC,KAAK,EAAGf,EAAE,CAAE,6BAA8B,CAAG;IAC7Ca,SAAS,EAAC,+BAA+B;IACzCG,QAAQ,EAAKC,KAAK,IAAMN,QAAQ,CAAE;MAAEH,OAAO,EAAES;IAAM,CAAE,CAAG;IACxDA,KAAK,EAAGT;EAAS,CACjB,CAAC,EACFI,aAAA,CAACX,YAAY;IACZiB,IAAI,EAAGlB,EAAE,CACR,iFACD;EAAG,GAEDA,EAAE,CAAE,kCAAmC,CAC5B,CACV,CAAC;AAER;AAEA,eAAeO,WAAW"}
1
+ {"version":3,"names":["__","ExternalLink","TextareaControl","useDispatch","useSelect","store","editorStore","PostExcerpt","excerpt","select","getEditedPostAttribute","editPost","createElement","className","__nextHasNoMarginBottom","label","onChange","value","href"],"sources":["@wordpress/editor/src/components/post-excerpt/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ExternalLink, TextareaControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostExcerpt() {\n\tconst excerpt = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostAttribute( 'excerpt' ),\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\n\treturn (\n\t\t<div className=\"editor-post-excerpt\">\n\t\t\t<TextareaControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Write an excerpt (optional)' ) }\n\t\t\t\tclassName=\"editor-post-excerpt__textarea\"\n\t\t\t\tonChange={ ( value ) => editPost( { excerpt: value } ) }\n\t\t\t\tvalue={ excerpt }\n\t\t\t/>\n\t\t\t<ExternalLink\n\t\t\t\thref={ __(\n\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#excerpt'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ __( 'Learn more about manual excerpts' ) }\n\t\t\t</ExternalLink>\n\t\t</div>\n\t);\n}\n\nexport default PostExcerpt;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,EAAEC,eAAe,QAAQ,uBAAuB;AACrE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,SAASC,WAAWA,CAAA,EAAG;EACtB,MAAMC,OAAO,GAAGJ,SAAS,CACtBK,MAAM,IAAMA,MAAM,CAAEH,WAAY,CAAC,CAACI,sBAAsB,CAAE,SAAU,CAAC,EACvE,EACD,CAAC;EACD,MAAM;IAAEC;EAAS,CAAC,GAAGR,WAAW,CAAEG,WAAY,CAAC;EAE/C,OACCM,aAAA;IAAKC,SAAS,EAAC;EAAqB,GACnCD,aAAA,CAACV,eAAe;IACfY,uBAAuB;IACvBC,KAAK,EAAGf,EAAE,CAAE,6BAA8B,CAAG;IAC7Ca,SAAS,EAAC,+BAA+B;IACzCG,QAAQ,EAAKC,KAAK,IAAMN,QAAQ,CAAE;MAAEH,OAAO,EAAES;IAAM,CAAE,CAAG;IACxDA,KAAK,EAAGT;EAAS,CACjB,CAAC,EACFI,aAAA,CAACX,YAAY;IACZiB,IAAI,EAAGlB,EAAE,CACR,iFACD;EAAG,GAEDA,EAAE,CAAE,kCAAmC,CAC5B,CACV,CAAC;AAER;AAEA,eAAeO,WAAW","ignoreList":[]}