@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
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Component","createRef","withSelect","withDispatch","compose","__","PublishButtonLabel","store","editorStore","noop","PostPublishButton","constructor","props","buttonNode","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","setEntitiesSavedStatesCallback","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isPublished","isSaveable","isSaving","isAutoSaving","isToggle","onSave","onStatusChange","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","toggleChildren","buttonChildren","createElement","componentProps","componentChildren","Fragment","ref","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","_links","dispatch","editPost","savePost","status","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst { hasNonPostEntityChanges, setEntitiesSavedStatesCallback } =\n\t\t\t\tthis.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\tif ( hasNonPostEntityChanges && setEntitiesSavedStatesCallback ) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tonSave,\n\t\t\tonStatusChange,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tlet publishStatus;\n\t\tif ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t} else {\n\t\t\tpublishStatus = 'publish';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tonStatusChange( publishStatus );\n\t\t\tonSave();\n\t\t};\n\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\n\t\tconst toggleChildren = isBeingScheduled\n\t\t\t? __( 'Schedule…' )\n\t\t\t: __( 'Publish' );\n\t\tconst buttonChildren = (\n\t\t\t<PublishButtonLabel\n\t\t\t\thasNonPostEntityChanges={ hasNonPostEntityChanges }\n\t\t\t/>\n\t\t);\n\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\tconst componentChildren = isToggle ? toggleChildren : buttonChildren;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcomponentProps.className,\n\t\t\t\t\t\t'editor-post-publish-button__button',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-changes-dot': hasNonPostEntityChanges,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t{ componentChildren }\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonStatusChange: ( status ) =>\n\t\t\t\teditPost( { status }, { undoIgnore: true } ),\n\t\t\tonSave: savePost,\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":"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"}
1
+ {"version":3,"names":["Button","Component","createRef","withSelect","withDispatch","compose","PublishButtonLabel","store","editorStore","noop","PostPublishButton","constructor","props","buttonNode","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","setEntitiesSavedStatesCallback","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isPublished","isSaveable","isSaving","isAutoSaving","isToggle","savePostStatus","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","postStatus","postStatusHasChanged","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","componentProps","createElement","Fragment","ref","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","getEditedPostAttribute","getPostEdits","_links","status","dispatch","editPost","savePost","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst { hasNonPostEntityChanges, setEntitiesSavedStatesCallback } =\n\t\t\t\tthis.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\tif ( hasNonPostEntityChanges && setEntitiesSavedStatesCallback ) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tsavePostStatus,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tpostStatus,\n\t\t\tpostStatusHasChanged,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\t// If the new status has not changed explicitely, we derive it from\n\t\t// other factors, like having a publish action, etc.. We need to preserve\n\t\t// this because it affects when to show the pre and post publish panels.\n\t\t// If it has changed though explicitely, we need to respect that.\n\t\tlet publishStatus = 'publish';\n\t\tif ( postStatusHasChanged ) {\n\t\t\tpublishStatus = postStatus;\n\t\t} else if ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tsavePostStatus( publishStatus );\n\t\t};\n\n\t\t// Callback to open the publish panel.\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ `${ componentProps.className } editor-post-publish-button__button` }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<PublishButtonLabel />\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetPostEdits,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t\tpostStatusHasChanged: getPostEdits()?.status,\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tsavePostStatus: ( status ) => {\n\t\t\t\teditPost( { status }, { undoIgnore: true } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":"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","ignoreList":[]}
@@ -2,60 +2,69 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { compose } from '@wordpress/compose';
6
- import { withSelect } from '@wordpress/data';
5
+ import { useSelect } from '@wordpress/data';
6
+ import { useViewportMatch } from '@wordpress/compose';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
11
  import { store as editorStore } from '../../store';
12
- export function PublishButtonLabel({
13
- isPublished,
14
- isBeingScheduled,
15
- isSaving,
16
- isPublishing,
17
- hasPublishAction,
18
- isAutosaving,
19
- hasNonPostEntityChanges
20
- }) {
12
+ export default function PublishButtonLabel() {
13
+ const isSmallerThanMediumViewport = useViewportMatch('medium', '<');
14
+ const {
15
+ isPublished,
16
+ isBeingScheduled,
17
+ isSaving,
18
+ isPublishing,
19
+ hasPublishAction,
20
+ isAutosaving,
21
+ hasNonPostEntityChanges,
22
+ postStatusHasChanged,
23
+ postStatus
24
+ } = useSelect(select => {
25
+ var _getCurrentPost$_link;
26
+ const {
27
+ isCurrentPostPublished,
28
+ isEditedPostBeingScheduled,
29
+ isSavingPost,
30
+ isPublishingPost,
31
+ getCurrentPost,
32
+ getCurrentPostType,
33
+ isAutosavingPost,
34
+ getPostEdits,
35
+ getEditedPostAttribute
36
+ } = select(editorStore);
37
+ return {
38
+ isPublished: isCurrentPostPublished(),
39
+ isBeingScheduled: isEditedPostBeingScheduled(),
40
+ isSaving: isSavingPost(),
41
+ isPublishing: isPublishingPost(),
42
+ hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
43
+ postType: getCurrentPostType(),
44
+ isAutosaving: isAutosavingPost(),
45
+ hasNonPostEntityChanges: select(editorStore).hasNonPostEntityChanges(),
46
+ postStatusHasChanged: !!getPostEdits()?.status,
47
+ postStatus: getEditedPostAttribute('status')
48
+ };
49
+ }, []);
21
50
  if (isPublishing) {
22
51
  /* translators: button label text should, if possible, be under 16 characters. */
23
52
  return __('Publishing…');
24
- } else if (isPublished && isSaving && !isAutosaving) {
25
- /* translators: button label text should, if possible, be under 16 characters. */
26
- return __('Updating…');
27
- } else if (isBeingScheduled && isSaving && !isAutosaving) {
53
+ } else if ((isPublished || isBeingScheduled) && isSaving && !isAutosaving) {
28
54
  /* translators: button label text should, if possible, be under 16 characters. */
29
- return __('Scheduling…');
55
+ return __('Saving…');
30
56
  }
31
57
  if (!hasPublishAction) {
32
- return hasNonPostEntityChanges ? __('Submit for Review…') : __('Submit for Review');
33
- } else if (isPublished) {
34
- return hasNonPostEntityChanges ? __('Update…') : __('Update');
35
- } else if (isBeingScheduled) {
36
- return hasNonPostEntityChanges ? __('Schedule…') : __('Schedule');
58
+ // TODO: this is because "Submit for review" string is too long in some languages.
59
+ // @see https://github.com/WordPress/gutenberg/issues/10475
60
+ return isSmallerThanMediumViewport ? __('Publish') : __('Submit for Review');
61
+ }
62
+ if (hasNonPostEntityChanges || isPublished || postStatusHasChanged && !['future', 'publish'].includes(postStatus) || !postStatusHasChanged && postStatus === 'future') {
63
+ return __('Save');
64
+ }
65
+ if (isBeingScheduled) {
66
+ return __('Schedule');
37
67
  }
38
68
  return __('Publish');
39
69
  }
40
- export default compose([withSelect(select => {
41
- var _getCurrentPost$_link;
42
- const {
43
- isCurrentPostPublished,
44
- isEditedPostBeingScheduled,
45
- isSavingPost,
46
- isPublishingPost,
47
- getCurrentPost,
48
- getCurrentPostType,
49
- isAutosavingPost
50
- } = select(editorStore);
51
- return {
52
- isPublished: isCurrentPostPublished(),
53
- isBeingScheduled: isEditedPostBeingScheduled(),
54
- isSaving: isSavingPost(),
55
- isPublishing: isPublishingPost(),
56
- hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
57
- postType: getCurrentPostType(),
58
- isAutosaving: isAutosavingPost()
59
- };
60
- })])(PublishButtonLabel);
61
70
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","compose","withSelect","store","editorStore","PublishButtonLabel","isPublished","isBeingScheduled","isSaving","isPublishing","hasPublishAction","isAutosaving","hasNonPostEntityChanges","select","_getCurrentPost$_link","isCurrentPostPublished","isEditedPostBeingScheduled","isSavingPost","isPublishingPost","getCurrentPost","getCurrentPostType","isAutosavingPost","_links","postType"],"sources":["@wordpress/editor/src/components/post-publish-button/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport function PublishButtonLabel( {\n\tisPublished,\n\tisBeingScheduled,\n\tisSaving,\n\tisPublishing,\n\thasPublishAction,\n\tisAutosaving,\n\thasNonPostEntityChanges,\n} ) {\n\tif ( isPublishing ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Publishing…' );\n\t} else if ( isPublished && isSaving && ! isAutosaving ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Updating…' );\n\t} else if ( isBeingScheduled && isSaving && ! isAutosaving ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Scheduling…' );\n\t}\n\n\tif ( ! hasPublishAction ) {\n\t\treturn hasNonPostEntityChanges\n\t\t\t? __( 'Submit for Review…' )\n\t\t\t: __( 'Submit for Review' );\n\t} else if ( isPublished ) {\n\t\treturn hasNonPostEntityChanges ? __( 'Update…' ) : __( 'Update' );\n\t} else if ( isBeingScheduled ) {\n\t\treturn hasNonPostEntityChanges ? __( 'Schedule…' ) : __( 'Schedule' );\n\t}\n\n\treturn __( 'Publish' );\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisSavingPost,\n\t\t\tisPublishingPost,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tisAutosavingPost,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublishing: isPublishingPost(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t};\n\t} ),\n] )( PublishButtonLabel );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,UAAU,QAAQ,iBAAiB;;AAE5C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,OAAO,SAASC,kBAAkBA,CAAE;EACnCC,WAAW;EACXC,gBAAgB;EAChBC,QAAQ;EACRC,YAAY;EACZC,gBAAgB;EAChBC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,IAAKH,YAAY,EAAG;IACnB;IACA,OAAOT,EAAE,CAAE,aAAc,CAAC;EAC3B,CAAC,MAAM,IAAKM,WAAW,IAAIE,QAAQ,IAAI,CAAEG,YAAY,EAAG;IACvD;IACA,OAAOX,EAAE,CAAE,WAAY,CAAC;EACzB,CAAC,MAAM,IAAKO,gBAAgB,IAAIC,QAAQ,IAAI,CAAEG,YAAY,EAAG;IAC5D;IACA,OAAOX,EAAE,CAAE,aAAc,CAAC;EAC3B;EAEA,IAAK,CAAEU,gBAAgB,EAAG;IACzB,OAAOE,uBAAuB,GAC3BZ,EAAE,CAAE,oBAAqB,CAAC,GAC1BA,EAAE,CAAE,mBAAoB,CAAC;EAC7B,CAAC,MAAM,IAAKM,WAAW,EAAG;IACzB,OAAOM,uBAAuB,GAAGZ,EAAE,CAAE,SAAU,CAAC,GAAGA,EAAE,CAAE,QAAS,CAAC;EAClE,CAAC,MAAM,IAAKO,gBAAgB,EAAG;IAC9B,OAAOK,uBAAuB,GAAGZ,EAAE,CAAE,WAAY,CAAC,GAAGA,EAAE,CAAE,UAAW,CAAC;EACtE;EAEA,OAAOA,EAAE,CAAE,SAAU,CAAC;AACvB;AAEA,eAAeC,OAAO,CAAE,CACvBC,UAAU,CAAIW,MAAM,IAAM;EAAA,IAAAC,qBAAA;EACzB,MAAM;IACLC,sBAAsB;IACtBC,0BAA0B;IAC1BC,YAAY;IACZC,gBAAgB;IAChBC,cAAc;IACdC,kBAAkB;IAClBC;EACD,CAAC,GAAGR,MAAM,CAAET,WAAY,CAAC;EACzB,OAAO;IACNE,WAAW,EAAES,sBAAsB,CAAC,CAAC;IACrCR,gBAAgB,EAAES,0BAA0B,CAAC,CAAC;IAC9CR,QAAQ,EAAES,YAAY,CAAC,CAAC;IACxBR,YAAY,EAAES,gBAAgB,CAAC,CAAC;IAChCR,gBAAgB,GAAAI,qBAAA,GACfK,cAAc,CAAC,CAAC,CAACG,MAAM,GAAI,mBAAmB,CAAE,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,KAAK;IAC1DS,QAAQ,EAAEH,kBAAkB,CAAC,CAAC;IAC9BT,YAAY,EAAEU,gBAAgB,CAAC;EAChC,CAAC;AACF,CAAE,CAAC,CACF,CAAC,CAAEhB,kBAAmB,CAAC"}
1
+ {"version":3,"names":["__","useSelect","useViewportMatch","store","editorStore","PublishButtonLabel","isSmallerThanMediumViewport","isPublished","isBeingScheduled","isSaving","isPublishing","hasPublishAction","isAutosaving","hasNonPostEntityChanges","postStatusHasChanged","postStatus","select","_getCurrentPost$_link","isCurrentPostPublished","isEditedPostBeingScheduled","isSavingPost","isPublishingPost","getCurrentPost","getCurrentPostType","isAutosavingPost","getPostEdits","getEditedPostAttribute","_links","postType","status","includes"],"sources":["@wordpress/editor/src/components/post-publish-button/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PublishButtonLabel() {\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\tisPublished,\n\t\tisBeingScheduled,\n\t\tisSaving,\n\t\tisPublishing,\n\t\thasPublishAction,\n\t\tisAutosaving,\n\t\thasNonPostEntityChanges,\n\t\tpostStatusHasChanged,\n\t\tpostStatus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisSavingPost,\n\t\t\tisPublishingPost,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tisAutosavingPost,\n\t\t\tgetPostEdits,\n\t\t\tgetEditedPostAttribute,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublishing: isPublishingPost(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\thasNonPostEntityChanges:\n\t\t\t\tselect( editorStore ).hasNonPostEntityChanges(),\n\t\t\tpostStatusHasChanged: !! getPostEdits()?.status,\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t};\n\t}, [] );\n\tif ( isPublishing ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Publishing…' );\n\t} else if (\n\t\t( isPublished || isBeingScheduled ) &&\n\t\tisSaving &&\n\t\t! isAutosaving\n\t) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Saving…' );\n\t}\n\tif ( ! hasPublishAction ) {\n\t\t// TODO: this is because \"Submit for review\" string is too long in some languages.\n\t\t// @see https://github.com/WordPress/gutenberg/issues/10475\n\t\treturn isSmallerThanMediumViewport\n\t\t\t? __( 'Publish' )\n\t\t\t: __( 'Submit for Review' );\n\t}\n\tif (\n\t\thasNonPostEntityChanges ||\n\t\tisPublished ||\n\t\t( postStatusHasChanged &&\n\t\t\t! [ 'future', 'publish' ].includes( postStatus ) ) ||\n\t\t( ! postStatusHasChanged && postStatus === 'future' )\n\t) {\n\t\treturn __( 'Save' );\n\t}\n\tif ( isBeingScheduled ) {\n\t\treturn __( 'Schedule' );\n\t}\n\treturn __( 'Publish' );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAMC,2BAA2B,GAAGJ,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EACrE,MAAM;IACLK,WAAW;IACXC,gBAAgB;IAChBC,QAAQ;IACRC,YAAY;IACZC,gBAAgB;IAChBC,YAAY;IACZC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC5B,MAAM;MACLC,sBAAsB;MACtBC,0BAA0B;MAC1BC,YAAY;MACZC,gBAAgB;MAChBC,cAAc;MACdC,kBAAkB;MAClBC,gBAAgB;MAChBC,YAAY;MACZC;IACD,CAAC,GAAGV,MAAM,CAAEZ,WAAY,CAAC;IACzB,OAAO;MACNG,WAAW,EAAEW,sBAAsB,CAAC,CAAC;MACrCV,gBAAgB,EAAEW,0BAA0B,CAAC,CAAC;MAC9CV,QAAQ,EAAEW,YAAY,CAAC,CAAC;MACxBV,YAAY,EAAEW,gBAAgB,CAAC,CAAC;MAChCV,gBAAgB,GAAAM,qBAAA,GACfK,cAAc,CAAC,CAAC,CAACK,MAAM,GAAI,mBAAmB,CAAE,cAAAV,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MAC1DW,QAAQ,EAAEL,kBAAkB,CAAC,CAAC;MAC9BX,YAAY,EAAEY,gBAAgB,CAAC,CAAC;MAChCX,uBAAuB,EACtBG,MAAM,CAAEZ,WAAY,CAAC,CAACS,uBAAuB,CAAC,CAAC;MAChDC,oBAAoB,EAAE,CAAC,CAAEW,YAAY,CAAC,CAAC,EAAEI,MAAM;MAC/Cd,UAAU,EAAEW,sBAAsB,CAAE,QAAS;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAKhB,YAAY,EAAG;IACnB;IACA,OAAOV,EAAE,CAAE,aAAc,CAAC;EAC3B,CAAC,MAAM,IACN,CAAEO,WAAW,IAAIC,gBAAgB,KACjCC,QAAQ,IACR,CAAEG,YAAY,EACb;IACD;IACA,OAAOZ,EAAE,CAAE,SAAU,CAAC;EACvB;EACA,IAAK,CAAEW,gBAAgB,EAAG;IACzB;IACA;IACA,OAAOL,2BAA2B,GAC/BN,EAAE,CAAE,SAAU,CAAC,GACfA,EAAE,CAAE,mBAAoB,CAAC;EAC7B;EACA,IACCa,uBAAuB,IACvBN,WAAW,IACTO,oBAAoB,IACrB,CAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,CAACgB,QAAQ,CAAEf,UAAW,CAAG,IACjD,CAAED,oBAAoB,IAAIC,UAAU,KAAK,QAAU,EACpD;IACD,OAAOf,EAAE,CAAE,MAAO,CAAC;EACpB;EACA,IAAKQ,gBAAgB,EAAG;IACvB,OAAOR,EAAE,CAAE,UAAW,CAAC;EACxB;EACA,OAAOA,EAAE,CAAE,SAAU,CAAC;AACvB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","createElement","className","onClick","icon","label","Fragment","focusOnMount","disabled","variant","__nextHasNoMarginBottom","checked","onChange","select","_getCurrentPost$_link","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","createElement","className","onClick","icon","label","Fragment","focusOnMount","disabled","variant","__nextHasNoMarginBottom","checked","onChange","select","_getCurrentPost$_link","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","useSelect","PanelBody","store","coreStore","useState","useEffect","HierarchicalTermSelector","editorStore","MaybeCategoryPanel","hasNoCategory","select","postType","getCurrentPostType","canUser","getEntityRecord","getTaxonomy","categoriesTaxonomy","defaultCategoryId","default_category","undefined","defaultCategory","postTypeSupportsCategories","types","some","type","categories","getEditedPostAttribute","rest_base","length","id","shouldShowPanel","setShouldShowPanel","panelBodyTitle","createElement","className","key","initialOpen","title","slug"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-category-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from '../post-taxonomies/hierarchical-term-selector';\nimport { store as editorStore } from '../../store';\n\nfunction MaybeCategoryPanel() {\n\tconst hasNoCategory = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst { canUser, getEntityRecord, getTaxonomy } = select( coreStore );\n\t\tconst categoriesTaxonomy = getTaxonomy( 'category' );\n\t\tconst defaultCategoryId = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )?.default_category\n\t\t\t: undefined;\n\t\tconst defaultCategory = defaultCategoryId\n\t\t\t? getEntityRecord( 'taxonomy', 'category', defaultCategoryId )\n\t\t\t: undefined;\n\t\tconst postTypeSupportsCategories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tcategoriesTaxonomy.types.some( ( type ) => type === postType );\n\t\tconst categories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\tcategoriesTaxonomy.rest_base\n\t\t\t);\n\n\t\t// This boolean should return true if everything is loaded\n\t\t// ( categoriesTaxonomy, defaultCategory )\n\t\t// and the post has not been assigned a category different than \"uncategorized\".\n\t\treturn (\n\t\t\t!! categoriesTaxonomy &&\n\t\t\t!! defaultCategory &&\n\t\t\tpostTypeSupportsCategories &&\n\t\t\t( categories?.length === 0 ||\n\t\t\t\t( categories?.length === 1 &&\n\t\t\t\t\tdefaultCategory?.id === categories[ 0 ] ) )\n\t\t);\n\t}, [] );\n\tconst [ shouldShowPanel, setShouldShowPanel ] = useState( false );\n\tuseEffect( () => {\n\t\t// We use state to avoid hiding the panel if the user edits the categories\n\t\t// and adds one within the panel itself (while visible).\n\t\tif ( hasNoCategory ) {\n\t\t\tsetShouldShowPanel( true );\n\t\t}\n\t}, [ hasNoCategory ] );\n\n\tif ( ! shouldShowPanel ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Assign a category' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Categories provide a helpful way to group related posts together and to quickly tell readers what a post is about.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<HierarchicalTermSelector slug=\"category\" />\n\t\t</PanelBody>\n\t);\n}\n\nexport default MaybeCategoryPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;;AAExD;AACA;AACA;AACA,OAAOC,wBAAwB,MAAM,+CAA+C;AACpF,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;AAElD,SAASC,kBAAkBA,CAAA,EAAG;EAC7B,MAAMC,aAAa,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAC9C,MAAMC,QAAQ,GAAGD,MAAM,CAAEH,WAAY,CAAC,CAACK,kBAAkB,CAAC,CAAC;IAC3D,MAAM;MAAEC,OAAO;MAAEC,eAAe;MAAEC;IAAY,CAAC,GAAGL,MAAM,CAAEP,SAAU,CAAC;IACrE,MAAMa,kBAAkB,GAAGD,WAAW,CAAE,UAAW,CAAC;IACpD,MAAME,iBAAiB,GAAGJ,OAAO,CAAE,MAAM,EAAE,UAAW,CAAC,GACpDC,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAAEI,gBAAgB,GACnDC,SAAS;IACZ,MAAMC,eAAe,GAAGH,iBAAiB,GACtCH,eAAe,CAAE,UAAU,EAAE,UAAU,EAAEG,iBAAkB,CAAC,GAC5DE,SAAS;IACZ,MAAME,0BAA0B,GAC/BL,kBAAkB,IAClBA,kBAAkB,CAACM,KAAK,CAACC,IAAI,CAAIC,IAAI,IAAMA,IAAI,KAAKb,QAAS,CAAC;IAC/D,MAAMc,UAAU,GACfT,kBAAkB,IAClBN,MAAM,CAAEH,WAAY,CAAC,CAACmB,sBAAsB,CAC3CV,kBAAkB,CAACW,SACpB,CAAC;;IAEF;IACA;IACA;IACA,OACC,CAAC,CAAEX,kBAAkB,IACrB,CAAC,CAAEI,eAAe,IAClBC,0BAA0B,KACxBI,UAAU,EAAEG,MAAM,KAAK,CAAC,IACvBH,UAAU,EAAEG,MAAM,KAAK,CAAC,IACzBR,eAAe,EAAES,EAAE,KAAKJ,UAAU,CAAE,CAAC,CAAI,CAAE;EAE/C,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEK,eAAe,EAAEC,kBAAkB,CAAE,GAAG3B,QAAQ,CAAE,KAAM,CAAC;EACjEC,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKI,aAAa,EAAG;MACpBsB,kBAAkB,CAAE,IAAK,CAAC;IAC3B;EACD,CAAC,EAAE,CAAEtB,aAAa,CAAG,CAAC;EAEtB,IAAK,CAAEqB,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAME,cAAc,GAAG,CACtBjC,EAAE,CAAE,aAAc,CAAC,EACnBkC,aAAA;IAAMC,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DpC,EAAE,CAAE,mBAAoB,CACrB,CAAC,CACP;EAED,OACCkC,aAAA,CAAChC,SAAS;IAACmC,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGL;EAAgB,GACxDC,aAAA,YACGlC,EAAE,CACH,oHACD,CACE,CAAC,EACJkC,aAAA,CAAC3B,wBAAwB;IAACgC,IAAI,EAAC;EAAU,CAAE,CACjC,CAAC;AAEd;AAEA,eAAe9B,kBAAkB"}
1
+ {"version":3,"names":["__","useSelect","PanelBody","store","coreStore","useState","useEffect","HierarchicalTermSelector","editorStore","MaybeCategoryPanel","hasNoCategory","select","postType","getCurrentPostType","canUser","getEntityRecord","getTaxonomy","categoriesTaxonomy","defaultCategoryId","default_category","undefined","defaultCategory","postTypeSupportsCategories","types","some","type","categories","getEditedPostAttribute","rest_base","length","id","shouldShowPanel","setShouldShowPanel","panelBodyTitle","createElement","className","key","initialOpen","title","slug"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-category-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from '../post-taxonomies/hierarchical-term-selector';\nimport { store as editorStore } from '../../store';\n\nfunction MaybeCategoryPanel() {\n\tconst hasNoCategory = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst { canUser, getEntityRecord, getTaxonomy } = select( coreStore );\n\t\tconst categoriesTaxonomy = getTaxonomy( 'category' );\n\t\tconst defaultCategoryId = canUser( 'read', 'settings' )\n\t\t\t? getEntityRecord( 'root', 'site' )?.default_category\n\t\t\t: undefined;\n\t\tconst defaultCategory = defaultCategoryId\n\t\t\t? getEntityRecord( 'taxonomy', 'category', defaultCategoryId )\n\t\t\t: undefined;\n\t\tconst postTypeSupportsCategories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tcategoriesTaxonomy.types.some( ( type ) => type === postType );\n\t\tconst categories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\tcategoriesTaxonomy.rest_base\n\t\t\t);\n\n\t\t// This boolean should return true if everything is loaded\n\t\t// ( categoriesTaxonomy, defaultCategory )\n\t\t// and the post has not been assigned a category different than \"uncategorized\".\n\t\treturn (\n\t\t\t!! categoriesTaxonomy &&\n\t\t\t!! defaultCategory &&\n\t\t\tpostTypeSupportsCategories &&\n\t\t\t( categories?.length === 0 ||\n\t\t\t\t( categories?.length === 1 &&\n\t\t\t\t\tdefaultCategory?.id === categories[ 0 ] ) )\n\t\t);\n\t}, [] );\n\tconst [ shouldShowPanel, setShouldShowPanel ] = useState( false );\n\tuseEffect( () => {\n\t\t// We use state to avoid hiding the panel if the user edits the categories\n\t\t// and adds one within the panel itself (while visible).\n\t\tif ( hasNoCategory ) {\n\t\t\tsetShouldShowPanel( true );\n\t\t}\n\t}, [ hasNoCategory ] );\n\n\tif ( ! shouldShowPanel ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Assign a category' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Categories provide a helpful way to group related posts together and to quickly tell readers what a post is about.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<HierarchicalTermSelector slug=\"category\" />\n\t\t</PanelBody>\n\t);\n}\n\nexport default MaybeCategoryPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;;AAExD;AACA;AACA;AACA,OAAOC,wBAAwB,MAAM,+CAA+C;AACpF,SAASJ,KAAK,IAAIK,WAAW,QAAQ,aAAa;AAElD,SAASC,kBAAkBA,CAAA,EAAG;EAC7B,MAAMC,aAAa,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAC9C,MAAMC,QAAQ,GAAGD,MAAM,CAAEH,WAAY,CAAC,CAACK,kBAAkB,CAAC,CAAC;IAC3D,MAAM;MAAEC,OAAO;MAAEC,eAAe;MAAEC;IAAY,CAAC,GAAGL,MAAM,CAAEP,SAAU,CAAC;IACrE,MAAMa,kBAAkB,GAAGD,WAAW,CAAE,UAAW,CAAC;IACpD,MAAME,iBAAiB,GAAGJ,OAAO,CAAE,MAAM,EAAE,UAAW,CAAC,GACpDC,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAAEI,gBAAgB,GACnDC,SAAS;IACZ,MAAMC,eAAe,GAAGH,iBAAiB,GACtCH,eAAe,CAAE,UAAU,EAAE,UAAU,EAAEG,iBAAkB,CAAC,GAC5DE,SAAS;IACZ,MAAME,0BAA0B,GAC/BL,kBAAkB,IAClBA,kBAAkB,CAACM,KAAK,CAACC,IAAI,CAAIC,IAAI,IAAMA,IAAI,KAAKb,QAAS,CAAC;IAC/D,MAAMc,UAAU,GACfT,kBAAkB,IAClBN,MAAM,CAAEH,WAAY,CAAC,CAACmB,sBAAsB,CAC3CV,kBAAkB,CAACW,SACpB,CAAC;;IAEF;IACA;IACA;IACA,OACC,CAAC,CAAEX,kBAAkB,IACrB,CAAC,CAAEI,eAAe,IAClBC,0BAA0B,KACxBI,UAAU,EAAEG,MAAM,KAAK,CAAC,IACvBH,UAAU,EAAEG,MAAM,KAAK,CAAC,IACzBR,eAAe,EAAES,EAAE,KAAKJ,UAAU,CAAE,CAAC,CAAI,CAAE;EAE/C,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEK,eAAe,EAAEC,kBAAkB,CAAE,GAAG3B,QAAQ,CAAE,KAAM,CAAC;EACjEC,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKI,aAAa,EAAG;MACpBsB,kBAAkB,CAAE,IAAK,CAAC;IAC3B;EACD,CAAC,EAAE,CAAEtB,aAAa,CAAG,CAAC;EAEtB,IAAK,CAAEqB,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAME,cAAc,GAAG,CACtBjC,EAAE,CAAE,aAAc,CAAC,EACnBkC,aAAA;IAAMC,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DpC,EAAE,CAAE,mBAAoB,CACrB,CAAC,CACP;EAED,OACCkC,aAAA,CAAChC,SAAS;IAACmC,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGL;EAAgB,GACxDC,aAAA,YACGlC,EAAE,CACH,oHACD,CACE,CAAC,EACJkC,aAAA,CAAC3B,wBAAwB;IAACgC,IAAI,EAAC;EAAU,CAAE,CACjC,CAAC;AAEd;AAEA,eAAe9B,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Button","PanelBody","useDispatch","useSelect","__","sprintf","store","coreStore","POST_FORMATS","editorStore","getSuggestion","supportedFormats","suggestedPostFormat","formats","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","createElement","variant","onClick","PostFormatPanel","currentPostFormat","suggestion","select","_select$getThemeSuppo","getEditedPostAttribute","getSuggestedPostFormat","getThemeSupports","editPost","panelBodyTitle","className","key","initialOpen","title","caption"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { POST_FORMATS } from '../post-format';\nimport { store as editorStore } from '../../store';\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) =>\n\t\tsupportedFormats?.includes( format.id )\n\t);\n\treturn formats.find( ( format ) => format.id === suggestedPostFormat );\n};\n\nconst PostFormatSuggestion = ( {\n\tsuggestedPostFormat,\n\tsuggestionText,\n\tonUpdatePostFormat,\n} ) => (\n\t<Button\n\t\tvariant=\"link\"\n\t\tonClick={ () => onUpdatePostFormat( suggestedPostFormat ) }\n\t>\n\t\t{ suggestionText }\n\t</Button>\n);\n\nexport default function PostFormatPanel() {\n\tconst { currentPostFormat, suggestion } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\tselect( editorStore );\n\t\tconst supportedFormats =\n\t\t\tselect( coreStore ).getThemeSupports().formats ?? [];\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion(\n\t\t\t\tsupportedFormats,\n\t\t\t\tgetSuggestedPostFormat()\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Use a post format' ) }\n\t\t</span>,\n\t];\n\n\tif ( ! suggestion || suggestion.id === currentPostFormat ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<PostFormatSuggestion\n\t\t\t\t\tonUpdatePostFormat={ onUpdatePostFormat }\n\t\t\t\t\tsuggestedPostFormat={ suggestion.id }\n\t\t\t\t\tsuggestionText={ sprintf(\n\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t__( 'Apply the \"%1$s\" format.' ),\n\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</p>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,SAAS,QAAQ,uBAAuB;AACzD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,aAAa,GAAGA,CAAEC,gBAAgB,EAAEC,mBAAmB,KAAM;EAClE,MAAMC,OAAO,GAAGL,YAAY,CAACM,MAAM,CAAIC,MAAM,IAC5CJ,gBAAgB,EAAEK,QAAQ,CAAED,MAAM,CAACE,EAAG,CACvC,CAAC;EACD,OAAOJ,OAAO,CAACK,IAAI,CAAIH,MAAM,IAAMA,MAAM,CAACE,EAAE,KAAKL,mBAAoB,CAAC;AACvE,CAAC;AAED,MAAMO,oBAAoB,GAAGA,CAAE;EAC9BP,mBAAmB;EACnBQ,cAAc;EACdC;AACD,CAAC,KACAC,aAAA,CAACtB,MAAM;EACNuB,OAAO,EAAC,MAAM;EACdC,OAAO,EAAGA,CAAA,KAAMH,kBAAkB,CAAET,mBAAoB;AAAG,GAEzDQ,cACK,CACR;AAED,eAAe,SAASK,eAAeA,CAAA,EAAG;EACzC,MAAM;IAAEC,iBAAiB;IAAEC;EAAW,CAAC,GAAGxB,SAAS,CAAIyB,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAClE,MAAM;MAAEC,sBAAsB;MAAEC;IAAuB,CAAC,GACvDH,MAAM,CAAEnB,WAAY,CAAC;IACtB,MAAME,gBAAgB,IAAAkB,qBAAA,GACrBD,MAAM,CAAErB,SAAU,CAAC,CAACyB,gBAAgB,CAAC,CAAC,CAACnB,OAAO,cAAAgB,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IACrD,OAAO;MACNH,iBAAiB,EAAEI,sBAAsB,CAAE,QAAS,CAAC;MACrDH,UAAU,EAAEjB,aAAa,CACxBC,gBAAgB,EAChBoB,sBAAsB,CAAC,CACxB;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAS,CAAC,GAAG/B,WAAW,CAAEO,WAAY,CAAC;EAE/C,MAAMY,kBAAkB,GAAKN,MAAM,IAAMkB,QAAQ,CAAE;IAAElB;EAAO,CAAE,CAAC;EAE/D,MAAMmB,cAAc,GAAG,CACtB9B,EAAE,CAAE,aAAc,CAAC,EACnBkB,aAAA;IAAMa,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DhC,EAAE,CAAE,mBAAoB,CACrB,CAAC,CACP;EAED,IAAK,CAAEuB,UAAU,IAAIA,UAAU,CAACV,EAAE,KAAKS,iBAAiB,EAAG;IAC1D,OAAO,IAAI;EACZ;EAEA,OACCJ,aAAA,CAACrB,SAAS;IAACoC,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGJ;EAAgB,GACxDZ,aAAA,YACGlB,EAAE,CACH,+IACD,CACE,CAAC,EACJkB,aAAA,YACCA,aAAA,CAACH,oBAAoB;IACpBE,kBAAkB,EAAGA,kBAAoB;IACzCT,mBAAmB,EAAGe,UAAU,CAACV,EAAI;IACrCG,cAAc,EAAGf,OAAO,EACvB;IACAD,EAAE,CAAE,0BAA2B,CAAC,EAChCuB,UAAU,CAACY,OACZ;EAAG,CACH,CACC,CACO,CAAC;AAEd"}
1
+ {"version":3,"names":["Button","PanelBody","useDispatch","useSelect","__","sprintf","store","coreStore","POST_FORMATS","editorStore","getSuggestion","supportedFormats","suggestedPostFormat","formats","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","createElement","variant","onClick","PostFormatPanel","currentPostFormat","suggestion","select","_select$getThemeSuppo","getEditedPostAttribute","getSuggestedPostFormat","getThemeSupports","editPost","panelBodyTitle","className","key","initialOpen","title","caption"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { POST_FORMATS } from '../post-format';\nimport { store as editorStore } from '../../store';\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) =>\n\t\tsupportedFormats?.includes( format.id )\n\t);\n\treturn formats.find( ( format ) => format.id === suggestedPostFormat );\n};\n\nconst PostFormatSuggestion = ( {\n\tsuggestedPostFormat,\n\tsuggestionText,\n\tonUpdatePostFormat,\n} ) => (\n\t<Button\n\t\tvariant=\"link\"\n\t\tonClick={ () => onUpdatePostFormat( suggestedPostFormat ) }\n\t>\n\t\t{ suggestionText }\n\t</Button>\n);\n\nexport default function PostFormatPanel() {\n\tconst { currentPostFormat, suggestion } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\tselect( editorStore );\n\t\tconst supportedFormats =\n\t\t\tselect( coreStore ).getThemeSupports().formats ?? [];\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion(\n\t\t\t\tsupportedFormats,\n\t\t\t\tgetSuggestedPostFormat()\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Use a post format' ) }\n\t\t</span>,\n\t];\n\n\tif ( ! suggestion || suggestion.id === currentPostFormat ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<PostFormatSuggestion\n\t\t\t\t\tonUpdatePostFormat={ onUpdatePostFormat }\n\t\t\t\t\tsuggestedPostFormat={ suggestion.id }\n\t\t\t\t\tsuggestionText={ sprintf(\n\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t__( 'Apply the \"%1$s\" format.' ),\n\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</p>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,SAAS,QAAQ,uBAAuB;AACzD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,aAAa,GAAGA,CAAEC,gBAAgB,EAAEC,mBAAmB,KAAM;EAClE,MAAMC,OAAO,GAAGL,YAAY,CAACM,MAAM,CAAIC,MAAM,IAC5CJ,gBAAgB,EAAEK,QAAQ,CAAED,MAAM,CAACE,EAAG,CACvC,CAAC;EACD,OAAOJ,OAAO,CAACK,IAAI,CAAIH,MAAM,IAAMA,MAAM,CAACE,EAAE,KAAKL,mBAAoB,CAAC;AACvE,CAAC;AAED,MAAMO,oBAAoB,GAAGA,CAAE;EAC9BP,mBAAmB;EACnBQ,cAAc;EACdC;AACD,CAAC,KACAC,aAAA,CAACtB,MAAM;EACNuB,OAAO,EAAC,MAAM;EACdC,OAAO,EAAGA,CAAA,KAAMH,kBAAkB,CAAET,mBAAoB;AAAG,GAEzDQ,cACK,CACR;AAED,eAAe,SAASK,eAAeA,CAAA,EAAG;EACzC,MAAM;IAAEC,iBAAiB;IAAEC;EAAW,CAAC,GAAGxB,SAAS,CAAIyB,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAClE,MAAM;MAAEC,sBAAsB;MAAEC;IAAuB,CAAC,GACvDH,MAAM,CAAEnB,WAAY,CAAC;IACtB,MAAME,gBAAgB,IAAAkB,qBAAA,GACrBD,MAAM,CAAErB,SAAU,CAAC,CAACyB,gBAAgB,CAAC,CAAC,CAACnB,OAAO,cAAAgB,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IACrD,OAAO;MACNH,iBAAiB,EAAEI,sBAAsB,CAAE,QAAS,CAAC;MACrDH,UAAU,EAAEjB,aAAa,CACxBC,gBAAgB,EAChBoB,sBAAsB,CAAC,CACxB;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAS,CAAC,GAAG/B,WAAW,CAAEO,WAAY,CAAC;EAE/C,MAAMY,kBAAkB,GAAKN,MAAM,IAAMkB,QAAQ,CAAE;IAAElB;EAAO,CAAE,CAAC;EAE/D,MAAMmB,cAAc,GAAG,CACtB9B,EAAE,CAAE,aAAc,CAAC,EACnBkB,aAAA;IAAMa,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DhC,EAAE,CAAE,mBAAoB,CACrB,CAAC,CACP;EAED,IAAK,CAAEuB,UAAU,IAAIA,UAAU,CAACV,EAAE,KAAKS,iBAAiB,EAAG;IAC1D,OAAO,IAAI;EACZ;EAEA,OACCJ,aAAA,CAACrB,SAAS;IAACoC,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGJ;EAAgB,GACxDZ,aAAA,YACGlB,EAAE,CACH,+IACD,CACE,CAAC,EACJkB,aAAA,YACCA,aAAA,CAACH,oBAAoB;IACpBE,kBAAkB,EAAGA,kBAAoB;IACzCT,mBAAmB,EAAGe,UAAU,CAACV,EAAI;IACrCG,cAAc,EAAGf,OAAO,EACvB;IACAD,EAAE,CAAE,0BAA2B,CAAC,EAChCuB,UAAU,CAACY,OACZ;EAAG,CACH,CACC,CACO,CAAC;AAEd","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useSelect","PanelBody","store","coreStore","FlatTermSelector","editorStore","TagsPanel","panelBodyTitle","createElement","className","key","initialOpen","title","slug","MaybeTagsPanel","hasTags","isPostTypeSupported","select","postType","getCurrentPostType","tagsTaxonomy","getTaxonomy","_isPostTypeSupported","types","includes","areTagsFetched","undefined","tags","getEditedPostAttribute","rest_base","length","hadTagsWhenOpeningThePanel"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-tags-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport FlatTermSelector from '../post-taxonomies/flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst TagsPanel = () => {\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Add tags' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Tags help users and search engines navigate your site and find your content. Add a few keywords to describe your post.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<FlatTermSelector slug={ 'post_tag' } />\n\t\t</PanelBody>\n\t);\n};\n\nconst MaybeTagsPanel = () => {\n\tconst { hasTags, isPostTypeSupported } = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst tagsTaxonomy = select( coreStore ).getTaxonomy( 'post_tag' );\n\t\tconst _isPostTypeSupported = tagsTaxonomy?.types?.includes( postType );\n\t\tconst areTagsFetched = tagsTaxonomy !== undefined;\n\t\tconst tags =\n\t\t\ttagsTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\ttagsTaxonomy.rest_base\n\t\t\t);\n\t\treturn {\n\t\t\thasTags: !! tags?.length,\n\t\t\tisPostTypeSupported: areTagsFetched && _isPostTypeSupported,\n\t\t};\n\t}, [] );\n\tconst [ hadTagsWhenOpeningThePanel ] = useState( hasTags );\n\n\tif ( ! isPostTypeSupported ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * We only want to show the tag panel if the post didn't have\n\t * any tags when the user hit the Publish button.\n\t *\n\t * We can't use the prop.hasTags because it'll change to true\n\t * if the user adds a new tag within the pre-publish panel.\n\t * This would force a re-render and a new prop.hasTags check,\n\t * hiding this panel and keeping the user from adding\n\t * more than one tag.\n\t */\n\tif ( ! hadTagsWhenOpeningThePanel ) {\n\t\treturn <TagsPanel />;\n\t}\n\n\treturn null;\n};\n\nexport default MaybeTagsPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,uCAAuC;AACpE,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACvB,MAAMC,cAAc,GAAG,CACtBT,EAAE,CAAE,aAAc,CAAC,EACnBU,aAAA;IAAMC,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DZ,EAAE,CAAE,UAAW,CACZ,CAAC,CACP;EAED,OACCU,aAAA,CAACP,SAAS;IAACU,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGL;EAAgB,GACxDC,aAAA,YACGV,EAAE,CACH,wHACD,CACE,CAAC,EACJU,aAAA,CAACJ,gBAAgB;IAACS,IAAI,EAAG;EAAY,CAAE,CAC7B,CAAC;AAEd,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC,OAAO;IAAEC;EAAoB,CAAC,GAAGhB,SAAS,CAAIiB,MAAM,IAAM;IACjE,MAAMC,QAAQ,GAAGD,MAAM,CAAEZ,WAAY,CAAC,CAACc,kBAAkB,CAAC,CAAC;IAC3D,MAAMC,YAAY,GAAGH,MAAM,CAAEd,SAAU,CAAC,CAACkB,WAAW,CAAE,UAAW,CAAC;IAClE,MAAMC,oBAAoB,GAAGF,YAAY,EAAEG,KAAK,EAAEC,QAAQ,CAAEN,QAAS,CAAC;IACtE,MAAMO,cAAc,GAAGL,YAAY,KAAKM,SAAS;IACjD,MAAMC,IAAI,GACTP,YAAY,IACZH,MAAM,CAAEZ,WAAY,CAAC,CAACuB,sBAAsB,CAC3CR,YAAY,CAACS,SACd,CAAC;IACF,OAAO;MACNd,OAAO,EAAE,CAAC,CAAEY,IAAI,EAAEG,MAAM;MACxBd,mBAAmB,EAAES,cAAc,IAAIH;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAES,0BAA0B,CAAE,GAAGhC,QAAQ,CAAEgB,OAAQ,CAAC;EAE1D,IAAK,CAAEC,mBAAmB,EAAG;IAC5B,OAAO,IAAI;EACZ;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEe,0BAA0B,EAAG;IACnC,OAAOvB,aAAA,CAACF,SAAS,MAAE,CAAC;EACrB;EAEA,OAAO,IAAI;AACZ,CAAC;AAED,eAAeQ,cAAc"}
1
+ {"version":3,"names":["__","useState","useSelect","PanelBody","store","coreStore","FlatTermSelector","editorStore","TagsPanel","panelBodyTitle","createElement","className","key","initialOpen","title","slug","MaybeTagsPanel","hasTags","isPostTypeSupported","select","postType","getCurrentPostType","tagsTaxonomy","getTaxonomy","_isPostTypeSupported","types","includes","areTagsFetched","undefined","tags","getEditedPostAttribute","rest_base","length","hadTagsWhenOpeningThePanel"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-tags-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport FlatTermSelector from '../post-taxonomies/flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst TagsPanel = () => {\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Add tags' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Tags help users and search engines navigate your site and find your content. Add a few keywords to describe your post.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<FlatTermSelector slug={ 'post_tag' } />\n\t\t</PanelBody>\n\t);\n};\n\nconst MaybeTagsPanel = () => {\n\tconst { hasTags, isPostTypeSupported } = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst tagsTaxonomy = select( coreStore ).getTaxonomy( 'post_tag' );\n\t\tconst _isPostTypeSupported = tagsTaxonomy?.types?.includes( postType );\n\t\tconst areTagsFetched = tagsTaxonomy !== undefined;\n\t\tconst tags =\n\t\t\ttagsTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\ttagsTaxonomy.rest_base\n\t\t\t);\n\t\treturn {\n\t\t\thasTags: !! tags?.length,\n\t\t\tisPostTypeSupported: areTagsFetched && _isPostTypeSupported,\n\t\t};\n\t}, [] );\n\tconst [ hadTagsWhenOpeningThePanel ] = useState( hasTags );\n\n\tif ( ! isPostTypeSupported ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * We only want to show the tag panel if the post didn't have\n\t * any tags when the user hit the Publish button.\n\t *\n\t * We can't use the prop.hasTags because it'll change to true\n\t * if the user adds a new tag within the pre-publish panel.\n\t * This would force a re-render and a new prop.hasTags check,\n\t * hiding this panel and keeping the user from adding\n\t * more than one tag.\n\t */\n\tif ( ! hadTagsWhenOpeningThePanel ) {\n\t\treturn <TagsPanel />;\n\t}\n\n\treturn null;\n};\n\nexport default MaybeTagsPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,uCAAuC;AACpE,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAElD,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACvB,MAAMC,cAAc,GAAG,CACtBT,EAAE,CAAE,aAAc,CAAC,EACnBU,aAAA;IAAMC,SAAS,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAO,GAC1DZ,EAAE,CAAE,UAAW,CACZ,CAAC,CACP;EAED,OACCU,aAAA,CAACP,SAAS;IAACU,WAAW,EAAG,KAAO;IAACC,KAAK,EAAGL;EAAgB,GACxDC,aAAA,YACGV,EAAE,CACH,wHACD,CACE,CAAC,EACJU,aAAA,CAACJ,gBAAgB;IAACS,IAAI,EAAG;EAAY,CAAE,CAC7B,CAAC;AAEd,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC,OAAO;IAAEC;EAAoB,CAAC,GAAGhB,SAAS,CAAIiB,MAAM,IAAM;IACjE,MAAMC,QAAQ,GAAGD,MAAM,CAAEZ,WAAY,CAAC,CAACc,kBAAkB,CAAC,CAAC;IAC3D,MAAMC,YAAY,GAAGH,MAAM,CAAEd,SAAU,CAAC,CAACkB,WAAW,CAAE,UAAW,CAAC;IAClE,MAAMC,oBAAoB,GAAGF,YAAY,EAAEG,KAAK,EAAEC,QAAQ,CAAEN,QAAS,CAAC;IACtE,MAAMO,cAAc,GAAGL,YAAY,KAAKM,SAAS;IACjD,MAAMC,IAAI,GACTP,YAAY,IACZH,MAAM,CAAEZ,WAAY,CAAC,CAACuB,sBAAsB,CAC3CR,YAAY,CAACS,SACd,CAAC;IACF,OAAO;MACNd,OAAO,EAAE,CAAC,CAAEY,IAAI,EAAEG,MAAM;MACxBd,mBAAmB,EAAES,cAAc,IAAIH;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAES,0BAA0B,CAAE,GAAGhC,QAAQ,CAAEgB,OAAQ,CAAC;EAE1D,IAAK,CAAEC,mBAAmB,EAAG;IAC5B,OAAO,IAAI;EACZ;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEe,0BAA0B,EAAG;IACnC,OAAOvB,aAAA,CAACF,SAAS,MAAE,CAAC;EACrB;EAEA,OAAO,IAAI;AACZ,CAAC;AAED,eAAeQ,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","Button","Spinner","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","useSelect","useDispatch","__","store","blockEditorStore","useState","isBlobURL","editorStore","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","Image","selectBlock","createElement","img","tabIndex","role","onClick","clientId","onKeyDown","event","key","preventDefault","alt","attributes","src","url","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","PostFormatPanel","isUploading","setIsUploading","editorBlocks","mediaUpload","select","getEditorBlocks","getSettings","externalImages","filter","name","id","updateBlockAttributes","length","panelBodyTitle","className","uploadImages","Promise","all","map","image","window","fetch","includes","then","response","blob","resolve","reject","filesList","onFileChange","media","onError","finally","initialOpen","title","display","flexWrap","gap","variant"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\nfunction Image( block ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( block.clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( block.clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ block.clientId }\n\t\t\talt={ block.attributes.alt }\n\t\t\tsrc={ block.attributes.url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '36px',\n\t\t\t\theight: '36px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function PostFormatPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( editorStore ).getEditorBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\tconst externalImages = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) =>\n\t\t\tblock.name === 'core/image' &&\n\t\t\tblock.attributes.url &&\n\t\t\t! block.attributes.id\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! externalImages.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tPromise.all(\n\t\t\texternalImages.map( ( image ) =>\n\t\t\t\twindow\n\t\t\t\t\t.fetch(\n\t\t\t\t\t\timage.attributes.url.includes( '?' )\n\t\t\t\t\t\t\t? image.attributes.url\n\t\t\t\t\t\t\t: image.attributes.url + '?'\n\t\t\t\t\t)\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tupdateBlockAttributes( image.clientId, {\n\t\t\t\t\t\t\t\t\t\t\tid: media.id,\n\t\t\t\t\t\t\t\t\t\t\turl: media.url,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\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)\n\t\t\t)\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t{ externalImages.map( ( image ) => {\n\t\t\t\t\t\treturn <Image key={ image.clientId } { ...image } />;\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ uploadImages }>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PanelBody","Button","Spinner","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","useSelect","useDispatch","__","store","blockEditorStore","useState","isBlobURL","editorStore","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","Image","selectBlock","createElement","img","tabIndex","role","onClick","clientId","onKeyDown","event","key","preventDefault","alt","attributes","src","url","animate","opacity","exit","scale","style","width","height","objectFit","borderRadius","cursor","whileHover","PostFormatPanel","isUploading","setIsUploading","editorBlocks","mediaUpload","select","getEditorBlocks","getSettings","externalImages","filter","name","id","updateBlockAttributes","length","panelBodyTitle","className","uploadImages","Promise","all","map","image","window","fetch","includes","then","response","blob","resolve","reject","filesList","onFileChange","media","onError","finally","initialOpen","title","display","flexWrap","gap","variant"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tButton,\n\tSpinner,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction flattenBlocks( blocks ) {\n\tconst result = [];\n\n\tblocks.forEach( ( block ) => {\n\t\tresult.push( block );\n\t\tresult.push( ...flattenBlocks( block.innerBlocks ) );\n\t} );\n\n\treturn result;\n}\n\nfunction Image( block ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<motion.img\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Select image block.' ) }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( block.clientId );\n\t\t\t} }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.key === 'Enter' || event.key === ' ' ) {\n\t\t\t\t\tselectBlock( block.clientId );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tkey={ block.clientId }\n\t\t\talt={ block.attributes.alt }\n\t\t\tsrc={ block.attributes.url }\n\t\t\tanimate={ { opacity: 1 } }\n\t\t\texit={ { opacity: 0, scale: 0 } }\n\t\t\tstyle={ {\n\t\t\t\twidth: '36px',\n\t\t\t\theight: '36px',\n\t\t\t\tobjectFit: 'cover',\n\t\t\t\tborderRadius: '2px',\n\t\t\t\tcursor: 'pointer',\n\t\t\t} }\n\t\t\twhileHover={ { scale: 1.08 } }\n\t\t/>\n\t);\n}\n\nexport default function PostFormatPanel() {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst { editorBlocks, mediaUpload } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorBlocks: select( editorStore ).getEditorBlocks(),\n\t\t\tmediaUpload: select( blockEditorStore ).getSettings().mediaUpload,\n\t\t} ),\n\t\t[]\n\t);\n\tconst externalImages = flattenBlocks( editorBlocks ).filter(\n\t\t( block ) =>\n\t\t\tblock.name === 'core/image' &&\n\t\t\tblock.attributes.url &&\n\t\t\t! block.attributes.id\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tif ( ! mediaUpload || ! externalImages.length ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'External media' ) }\n\t\t</span>,\n\t];\n\n\tfunction uploadImages() {\n\t\tsetIsUploading( true );\n\t\tPromise.all(\n\t\t\texternalImages.map( ( image ) =>\n\t\t\t\twindow\n\t\t\t\t\t.fetch(\n\t\t\t\t\t\timage.attributes.url.includes( '?' )\n\t\t\t\t\t\t\t? image.attributes.url\n\t\t\t\t\t\t\t: image.attributes.url + '?'\n\t\t\t\t\t)\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then(\n\t\t\t\t\t\t( blob ) =>\n\t\t\t\t\t\t\tnew Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\tif ( isBlobURL( media.url ) ) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tupdateBlockAttributes( image.clientId, {\n\t\t\t\t\t\t\t\t\t\t\tid: media.id,\n\t\t\t\t\t\t\t\t\t\t\turl: media.url,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonError() {\n\t\t\t\t\t\t\t\t\t\treject();\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)\n\t\t\t)\n\t\t).finally( () => {\n\t\t\tsetIsUploading( false );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Upload external images to the Media Library. Images from different domains may load slowly, display incorrectly, or be removed unexpectedly.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<div\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'inline-flex',\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\tgap: '8px',\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t{ externalImages.map( ( image ) => {\n\t\t\t\t\t\treturn <Image key={ image.clientId } { ...image } />;\n\t\t\t\t\t} ) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isUploading ? (\n\t\t\t\t\t<Spinner />\n\t\t\t\t) : (\n\t\t\t\t\t<Button variant=\"primary\" onClick={ uploadImages }>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","Button","TextControl","__","sprintf","Component","createRef","withSelect","addQueryArgs","safeDecodeURIComponent","decodeEntities","useCopyToClipboard","store","coreStore","PostScheduleLabel","editorStore","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","onCopy","children","ref","createElement","variant","PostPublishPanelPostpublish","constructor","arguments","state","showCopyConfirmation","bind","onSelectInput","postLink","componentDidMount","props","focusOnMount","current","focus","componentWillUnmount","clearTimeout","dismissCopyConfirmation","setState","setTimeout","event","target","select","render","isScheduled","postType","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","post_type","type","postPublishNonLinkHeader","Fragment","className","href","title","__nextHasNoMarginBottom","readOnly","label","value","onFocus","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text, onCopy, children } ) {\n\tconst ref = useCopyToClipboard( text, onCopy );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t\tthis.postLink = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.postLink.current.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = postType?.labels?.singular_name;\n\t\tconst viewPostLabel = postType?.labels?.view_item;\n\t\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\t\tconst link =\n\t\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\t\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\t\tpost_type: post.type,\n\t\t} );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t\t<>\n\t\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t\t<PostScheduleLabel />.\n\t\t\t</>\n\t\t) : (\n\t\t\t__( 'is now live.' )\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t\t<a ref={ this.postLink } href={ link }>\n\t\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\t\tonFocus={ this.onSelectInput }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t\t<CopyButton text={ link } onCopy={ this.onCopy }>\n\t\t\t\t\t\t\t\t{ this.state.showCopyConfirmation\n\t\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t\t: __( 'Copy' ) }\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t<Button variant=\"primary\" href={ link }>\n\t\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } =\n\t\tselect( editorStore );\n\tconst { getPostType } = select( coreStore );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n"],"mappings":"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"}
1
+ {"version":3,"names":["PanelBody","Button","TextControl","__","sprintf","Component","createRef","withSelect","addQueryArgs","safeDecodeURIComponent","decodeEntities","useCopyToClipboard","store","coreStore","PostScheduleLabel","editorStore","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","onCopy","children","ref","createElement","variant","PostPublishPanelPostpublish","constructor","arguments","state","showCopyConfirmation","bind","onSelectInput","postLink","componentDidMount","props","focusOnMount","current","focus","componentWillUnmount","clearTimeout","dismissCopyConfirmation","setState","setTimeout","event","target","select","render","isScheduled","postType","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","post_type","type","postPublishNonLinkHeader","Fragment","className","href","title","__nextHasNoMarginBottom","readOnly","label","value","onFocus","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text, onCopy, children } ) {\n\tconst ref = useCopyToClipboard( text, onCopy );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t\tthis.postLink = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.postLink.current.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = postType?.labels?.singular_name;\n\t\tconst viewPostLabel = postType?.labels?.view_item;\n\t\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\t\tconst link =\n\t\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\t\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\t\tpost_type: post.type,\n\t\t} );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t\t<>\n\t\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t\t<PostScheduleLabel />.\n\t\t\t</>\n\t\t) : (\n\t\t\t__( 'is now live.' )\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t\t<a ref={ this.postLink } href={ link }>\n\t\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\t\tonFocus={ this.onSelectInput }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t\t<CopyButton text={ link } onCopy={ this.onCopy }>\n\t\t\t\t\t\t\t\t{ this.state.showCopyConfirmation\n\t\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t\t: __( 'Copy' ) }\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t<Button variant=\"primary\" href={ link }>\n\t\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } =\n\t\tselect( editorStore );\n\tconst { getPostType } = select( coreStore );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__","Icon","PanelBody","useSelect","wordpress","filterURLForDisplay","store","coreStore","decodeEntities","PostVisibility","PostVisibilityLabel","PostSchedule","PostScheduleLabel","MaybeTagsPanel","MaybePostFormatPanel","editorStore","MaybeCategoryPanel","MaybeUploadMedia","PostPublishPanelPrepublish","children","isBeingScheduled","isRequestingSiteIcon","hasPublishAction","siteIconUrl","siteTitle","siteHome","select","_getCurrentPost$_link","getCurrentPost","isEditedPostBeingScheduled","getEntityRecord","isResolving","siteData","undefined","_links","site_icon_url","name","home","siteIcon","createElement","className","size","icon","alt","src","prePublishTitle","prePublishBodyText","Fragment","initialOpen","title","key"],"sources":["@wordpress/editor/src/components/post-publish-panel/prepublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { wordpress } from '@wordpress/icons';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport PostVisibility from '../post-visibility';\nimport PostVisibilityLabel from '../post-visibility/label';\nimport PostSchedule from '../post-schedule';\nimport PostScheduleLabel from '../post-schedule/label';\nimport MaybeTagsPanel from './maybe-tags-panel';\nimport MaybePostFormatPanel from './maybe-post-format-panel';\nimport { store as editorStore } from '../../store';\nimport MaybeCategoryPanel from './maybe-category-panel';\nimport MaybeUploadMedia from './maybe-upload-media';\n\nfunction PostPublishPanelPrepublish( { children } ) {\n\tconst {\n\t\tisBeingScheduled,\n\t\tisRequestingSiteIcon,\n\t\thasPublishAction,\n\t\tsiteIconUrl,\n\t\tsiteTitle,\n\t\tsiteHome,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentPost, isEditedPostBeingScheduled } =\n\t\t\tselect( editorStore );\n\t\tconst { getEntityRecord, isResolving } = select( coreStore );\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisRequestingSiteIcon: isResolving( 'getEntityRecord', [\n\t\t\t\t'root',\n\t\t\t\t'__unstableBase',\n\t\t\t\tundefined,\n\t\t\t] ),\n\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\tsiteTitle: siteData.name,\n\t\t\tsiteHome: siteData.home && filterURLForDisplay( siteData.home ),\n\t\t};\n\t}, [] );\n\n\tlet siteIcon = (\n\t\t<Icon className=\"components-site-icon\" size=\"36px\" icon={ wordpress } />\n\t);\n\n\tif ( siteIconUrl ) {\n\t\tsiteIcon = (\n\t\t\t<img\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"components-site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isRequestingSiteIcon ) {\n\t\tsiteIcon = null;\n\t}\n\n\tlet prePublishTitle, prePublishBodyText;\n\n\tif ( ! hasPublishAction ) {\n\t\tprePublishTitle = __( 'Are you ready to submit for review?' );\n\t\tprePublishBodyText = __(\n\t\t\t'When you’re ready, submit your work for review, and an Editor will be able to approve it for you.'\n\t\t);\n\t} else if ( isBeingScheduled ) {\n\t\tprePublishTitle = __( 'Are you ready to schedule?' );\n\t\tprePublishBodyText = __(\n\t\t\t'Your work will be published at the specified date and time.'\n\t\t);\n\t} else {\n\t\tprePublishTitle = __( 'Are you ready to publish?' );\n\t\tprePublishBodyText = __(\n\t\t\t'Double-check your settings before publishing.'\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"editor-post-publish-panel__prepublish\">\n\t\t\t<div>\n\t\t\t\t<strong>{ prePublishTitle }</strong>\n\t\t\t</div>\n\t\t\t<p>{ prePublishBodyText }</p>\n\t\t\t<div className=\"components-site-card\">\n\t\t\t\t{ siteIcon }\n\t\t\t\t<div className=\"components-site-info\">\n\t\t\t\t\t<span className=\"components-site-name\">\n\t\t\t\t\t\t{ decodeEntities( siteTitle ) || __( '(Untitled)' ) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"components-site-home\">{ siteHome }</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<MaybeUploadMedia />\n\t\t\t{ hasPublishAction && (\n\t\t\t\t<>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\ttitle={ [\n\t\t\t\t\t\t\t__( 'Visibility:' ),\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"editor-post-publish-panel__link\"\n\t\t\t\t\t\t\t\tkey=\"label\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t\t</span>,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostVisibility />\n\t\t\t\t\t</PanelBody>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\ttitle={ [\n\t\t\t\t\t\t\t__( 'Publish:' ),\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"editor-post-publish-panel__link\"\n\t\t\t\t\t\t\t\tkey=\"label\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostScheduleLabel />\n\t\t\t\t\t\t\t</span>,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostSchedule />\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<MaybePostFormatPanel />\n\t\t\t<MaybeTagsPanel />\n\t\t\t<MaybeCategoryPanel />\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PostPublishPanelPrepublish;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","Icon","PanelBody","useSelect","wordpress","filterURLForDisplay","store","coreStore","decodeEntities","PostVisibility","PostVisibilityLabel","PostSchedule","PostScheduleLabel","MaybeTagsPanel","MaybePostFormatPanel","editorStore","MaybeCategoryPanel","MaybeUploadMedia","PostPublishPanelPrepublish","children","isBeingScheduled","isRequestingSiteIcon","hasPublishAction","siteIconUrl","siteTitle","siteHome","select","_getCurrentPost$_link","getCurrentPost","isEditedPostBeingScheduled","getEntityRecord","isResolving","siteData","undefined","_links","site_icon_url","name","home","siteIcon","createElement","className","size","icon","alt","src","prePublishTitle","prePublishBodyText","Fragment","initialOpen","title","key"],"sources":["@wordpress/editor/src/components/post-publish-panel/prepublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { wordpress } from '@wordpress/icons';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport PostVisibility from '../post-visibility';\nimport PostVisibilityLabel from '../post-visibility/label';\nimport PostSchedule from '../post-schedule';\nimport PostScheduleLabel from '../post-schedule/label';\nimport MaybeTagsPanel from './maybe-tags-panel';\nimport MaybePostFormatPanel from './maybe-post-format-panel';\nimport { store as editorStore } from '../../store';\nimport MaybeCategoryPanel from './maybe-category-panel';\nimport MaybeUploadMedia from './maybe-upload-media';\n\nfunction PostPublishPanelPrepublish( { children } ) {\n\tconst {\n\t\tisBeingScheduled,\n\t\tisRequestingSiteIcon,\n\t\thasPublishAction,\n\t\tsiteIconUrl,\n\t\tsiteTitle,\n\t\tsiteHome,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentPost, isEditedPostBeingScheduled } =\n\t\t\tselect( editorStore );\n\t\tconst { getEntityRecord, isResolving } = select( coreStore );\n\t\tconst siteData =\n\t\t\tgetEntityRecord( 'root', '__unstableBase', undefined ) || {};\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisRequestingSiteIcon: isResolving( 'getEntityRecord', [\n\t\t\t\t'root',\n\t\t\t\t'__unstableBase',\n\t\t\t\tundefined,\n\t\t\t] ),\n\t\t\tsiteIconUrl: siteData.site_icon_url,\n\t\t\tsiteTitle: siteData.name,\n\t\t\tsiteHome: siteData.home && filterURLForDisplay( siteData.home ),\n\t\t};\n\t}, [] );\n\n\tlet siteIcon = (\n\t\t<Icon className=\"components-site-icon\" size=\"36px\" icon={ wordpress } />\n\t);\n\n\tif ( siteIconUrl ) {\n\t\tsiteIcon = (\n\t\t\t<img\n\t\t\t\talt={ __( 'Site Icon' ) }\n\t\t\t\tclassName=\"components-site-icon\"\n\t\t\t\tsrc={ siteIconUrl }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isRequestingSiteIcon ) {\n\t\tsiteIcon = null;\n\t}\n\n\tlet prePublishTitle, prePublishBodyText;\n\n\tif ( ! hasPublishAction ) {\n\t\tprePublishTitle = __( 'Are you ready to submit for review?' );\n\t\tprePublishBodyText = __(\n\t\t\t'When you’re ready, submit your work for review, and an Editor will be able to approve it for you.'\n\t\t);\n\t} else if ( isBeingScheduled ) {\n\t\tprePublishTitle = __( 'Are you ready to schedule?' );\n\t\tprePublishBodyText = __(\n\t\t\t'Your work will be published at the specified date and time.'\n\t\t);\n\t} else {\n\t\tprePublishTitle = __( 'Are you ready to publish?' );\n\t\tprePublishBodyText = __(\n\t\t\t'Double-check your settings before publishing.'\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"editor-post-publish-panel__prepublish\">\n\t\t\t<div>\n\t\t\t\t<strong>{ prePublishTitle }</strong>\n\t\t\t</div>\n\t\t\t<p>{ prePublishBodyText }</p>\n\t\t\t<div className=\"components-site-card\">\n\t\t\t\t{ siteIcon }\n\t\t\t\t<div className=\"components-site-info\">\n\t\t\t\t\t<span className=\"components-site-name\">\n\t\t\t\t\t\t{ decodeEntities( siteTitle ) || __( '(Untitled)' ) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"components-site-home\">{ siteHome }</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<MaybeUploadMedia />\n\t\t\t{ hasPublishAction && (\n\t\t\t\t<>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\ttitle={ [\n\t\t\t\t\t\t\t__( 'Visibility:' ),\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"editor-post-publish-panel__link\"\n\t\t\t\t\t\t\t\tkey=\"label\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t\t</span>,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostVisibility />\n\t\t\t\t\t</PanelBody>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\ttitle={ [\n\t\t\t\t\t\t\t__( 'Publish:' ),\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"editor-post-publish-panel__link\"\n\t\t\t\t\t\t\t\tkey=\"label\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostScheduleLabel />\n\t\t\t\t\t\t\t</span>,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PostSchedule />\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<MaybePostFormatPanel />\n\t\t\t<MaybeTagsPanel />\n\t\t\t<MaybeCategoryPanel />\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PostPublishPanelPrepublish;\n"],"mappings":"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","ignoreList":[]}
@@ -39,13 +39,14 @@ export default function PostSavedState({
39
39
  isAutosaving,
40
40
  isDirty,
41
41
  isNew,
42
- isPending,
43
42
  isPublished,
44
43
  isSaveable,
45
44
  isSaving,
46
45
  isScheduled,
47
46
  hasPublishAction,
48
- showIconLabels
47
+ showIconLabels,
48
+ postStatus,
49
+ postStatusHasChanged
49
50
  } = useSelect(select => {
50
51
  var _getCurrentPost$_link;
51
52
  const {
@@ -57,7 +58,8 @@ export default function PostSavedState({
57
58
  isEditedPostSaveable,
58
59
  getCurrentPost,
59
60
  isAutosavingPost,
60
- getEditedPostAttribute
61
+ getEditedPostAttribute,
62
+ getPostEdits
61
63
  } = select(editorStore);
62
64
  const {
63
65
  get
@@ -66,15 +68,17 @@ export default function PostSavedState({
66
68
  isAutosaving: isAutosavingPost(),
67
69
  isDirty: forceIsDirty || isEditedPostDirty(),
68
70
  isNew: isEditedPostNew(),
69
- isPending: 'pending' === getEditedPostAttribute('status'),
70
71
  isPublished: isCurrentPostPublished(),
71
72
  isSaving: isSavingPost(),
72
73
  isSaveable: isEditedPostSaveable(),
73
74
  isScheduled: isCurrentPostScheduled(),
74
75
  hasPublishAction: (_getCurrentPost$_link = getCurrentPost()?._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
75
- showIconLabels: get('core', 'showIconLabels')
76
+ showIconLabels: get('core', 'showIconLabels'),
77
+ postStatus: getEditedPostAttribute('status'),
78
+ postStatusHasChanged: !!getPostEdits()?.status
76
79
  };
77
80
  }, [forceIsDirty]);
81
+ const isPending = postStatus === 'pending';
78
82
  const {
79
83
  savePost
80
84
  } = useDispatch(editorStore);
@@ -95,7 +99,7 @@ export default function PostSavedState({
95
99
  if (!hasPublishAction && isPending) {
96
100
  return null;
97
101
  }
98
- if (isPublished || isScheduled) {
102
+ if (isPublished || isScheduled || !['pending', 'draft', 'auto-draft'].includes(postStatus) || postStatusHasChanged && ['pending', 'draft'].includes(postStatus)) {
99
103
  return null;
100
104
  }
101
105