@wordpress/editor 13.11.0 → 13.12.1

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 (416) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/autosave-monitor/index.js +1 -2
  3. package/build/components/autosave-monitor/index.js.map +1 -1
  4. package/build/components/deprecated.js +7 -9
  5. package/build/components/deprecated.js.map +1 -1
  6. package/build/components/document-outline/check.js +4 -5
  7. package/build/components/document-outline/check.js.map +1 -1
  8. package/build/components/document-outline/index.js +12 -16
  9. package/build/components/document-outline/index.js.map +1 -1
  10. package/build/components/document-outline/item.js +22 -25
  11. package/build/components/document-outline/item.js.map +1 -1
  12. package/build/components/editor-help/help-detail-navigation-screen.native.js +6 -9
  13. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  14. package/build/components/editor-help/help-get-support-button.native.js +4 -5
  15. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  16. package/build/components/editor-help/help-section-title.native.js +3 -4
  17. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  18. package/build/components/editor-help/help-topic-row.native.js +6 -7
  19. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  20. package/build/components/editor-help/index.native.js +20 -27
  21. package/build/components/editor-help/index.native.js.map +1 -1
  22. package/build/components/editor-help/view-sections.native.js +16 -20
  23. package/build/components/editor-help/view-sections.native.js.map +1 -1
  24. package/build/components/editor-history/redo.js +2 -6
  25. package/build/components/editor-history/redo.js.map +1 -1
  26. package/build/components/editor-history/undo.js +2 -6
  27. package/build/components/editor-history/undo.js.map +1 -1
  28. package/build/components/editor-notices/index.js +12 -19
  29. package/build/components/editor-notices/index.js.map +1 -1
  30. package/build/components/editor-snackbars/index.js +3 -6
  31. package/build/components/editor-snackbars/index.js.map +1 -1
  32. package/build/components/entities-saved-states/entity-record-item.js +7 -10
  33. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  34. package/build/components/entities-saved-states/entity-type-list.js +6 -7
  35. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  36. package/build/components/entities-saved-states/hooks/use-is-dirty.js +86 -0
  37. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
  38. package/build/components/entities-saved-states/index.js +43 -116
  39. package/build/components/entities-saved-states/index.js.map +1 -1
  40. package/build/components/error-boundary/index.js +4 -5
  41. package/build/components/error-boundary/index.js.map +1 -1
  42. package/build/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
  43. package/build/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
  44. package/build/components/index.js +18 -0
  45. package/build/components/index.js.map +1 -1
  46. package/build/components/media-categories/index.js +25 -42
  47. package/build/components/media-categories/index.js.map +1 -1
  48. package/build/components/page-attributes/check.js +4 -7
  49. package/build/components/page-attributes/check.js.map +1 -1
  50. package/build/components/page-attributes/order.js +7 -9
  51. package/build/components/page-attributes/order.js.map +1 -1
  52. package/build/components/page-attributes/parent.js +5 -12
  53. package/build/components/page-attributes/parent.js.map +1 -1
  54. package/build/components/post-author/check.js +6 -7
  55. package/build/components/post-author/check.js.map +1 -1
  56. package/build/components/post-author/combobox.js +3 -6
  57. package/build/components/post-author/combobox.js.map +1 -1
  58. package/build/components/post-author/index.js +1 -1
  59. package/build/components/post-author/index.js.map +1 -1
  60. package/build/components/post-comments/index.js +4 -6
  61. package/build/components/post-comments/index.js.map +1 -1
  62. package/build/components/post-excerpt/check.js +2 -4
  63. package/build/components/post-excerpt/check.js.map +1 -1
  64. package/build/components/post-excerpt/index.js +4 -5
  65. package/build/components/post-excerpt/index.js.map +1 -1
  66. package/build/components/post-featured-image/check.js +2 -4
  67. package/build/components/post-featured-image/check.js.map +1 -1
  68. package/build/components/post-featured-image/index.js +56 -69
  69. package/build/components/post-featured-image/index.js.map +1 -1
  70. package/build/components/post-format/check.js +6 -9
  71. package/build/components/post-format/check.js.map +1 -1
  72. package/build/components/post-format/index.js +1 -1
  73. package/build/components/post-format/index.js.map +1 -1
  74. package/build/components/post-last-revision/check.js +5 -7
  75. package/build/components/post-last-revision/check.js.map +1 -1
  76. package/build/components/post-last-revision/index.js +4 -5
  77. package/build/components/post-last-revision/index.js.map +1 -1
  78. package/build/components/post-locked-modal/index.js +1 -1
  79. package/build/components/post-locked-modal/index.js.map +1 -1
  80. package/build/components/post-pending-status/check.js +7 -9
  81. package/build/components/post-pending-status/check.js.map +1 -1
  82. package/build/components/post-pending-status/index.js +4 -6
  83. package/build/components/post-pending-status/index.js.map +1 -1
  84. package/build/components/post-pingbacks/index.js +4 -6
  85. package/build/components/post-pingbacks/index.js.map +1 -1
  86. package/build/components/post-preview-button/index.js +8 -12
  87. package/build/components/post-preview-button/index.js.map +1 -1
  88. package/build/components/post-publish-button/index.js +10 -19
  89. package/build/components/post-publish-button/index.js.map +1 -1
  90. package/build/components/post-publish-button/label.js +14 -17
  91. package/build/components/post-publish-button/label.js.map +1 -1
  92. package/build/components/post-publish-panel/index.js +10 -12
  93. package/build/components/post-publish-panel/index.js.map +1 -1
  94. package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
  95. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  96. package/build/components/post-publish-panel/maybe-post-format-panel.js +9 -12
  97. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  98. package/build/components/post-publish-panel/maybe-tags-panel.js +4 -7
  99. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  100. package/build/components/post-publish-panel/maybe-upload-media.js +150 -0
  101. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -0
  102. package/build/components/post-publish-panel/postpublish.js +8 -11
  103. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  104. package/build/components/post-publish-panel/prepublish.js +8 -7
  105. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  106. package/build/components/post-saved-state/index.js +13 -8
  107. package/build/components/post-saved-state/index.js.map +1 -1
  108. package/build/components/post-schedule/check.js +6 -8
  109. package/build/components/post-schedule/check.js.map +1 -1
  110. package/build/components/post-schedule/index.js +8 -12
  111. package/build/components/post-schedule/index.js.map +1 -1
  112. package/build/components/post-schedule/label.js +7 -10
  113. package/build/components/post-schedule/label.js.map +1 -1
  114. package/build/components/post-slug/check.js +3 -4
  115. package/build/components/post-slug/check.js.map +1 -1
  116. package/build/components/post-slug/index.js +5 -6
  117. package/build/components/post-slug/index.js.map +1 -1
  118. package/build/components/post-sticky/check.js +7 -9
  119. package/build/components/post-sticky/check.js.map +1 -1
  120. package/build/components/post-sticky/index.js +4 -5
  121. package/build/components/post-sticky/index.js.map +1 -1
  122. package/build/components/post-switch-to-draft-button/index.js +6 -7
  123. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  124. package/build/components/post-sync-status/index.js +67 -0
  125. package/build/components/post-sync-status/index.js.map +1 -0
  126. package/build/components/post-taxonomies/check.js +6 -7
  127. package/build/components/post-taxonomies/check.js.map +1 -1
  128. package/build/components/post-taxonomies/flat-term-selector.js +36 -46
  129. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  130. package/build/components/post-taxonomies/hierarchical-term-selector.js +13 -14
  131. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  132. package/build/components/post-taxonomies/index.js +6 -11
  133. package/build/components/post-taxonomies/index.js.map +1 -1
  134. package/build/components/post-taxonomies/most-used-terms.js +5 -6
  135. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  136. package/build/components/post-template/index.js +6 -9
  137. package/build/components/post-template/index.js.map +1 -1
  138. package/build/components/post-title/index.js +8 -5
  139. package/build/components/post-title/index.js.map +1 -1
  140. package/build/components/post-title/index.native.js +8 -11
  141. package/build/components/post-title/index.native.js.map +1 -1
  142. package/build/components/post-trash/check.js +7 -9
  143. package/build/components/post-trash/check.js.map +1 -1
  144. package/build/components/post-type-support-check/index.js +5 -6
  145. package/build/components/post-type-support-check/index.js.map +1 -1
  146. package/build/components/post-url/check.js +4 -5
  147. package/build/components/post-url/check.js.map +1 -1
  148. package/build/components/post-url/index.js +8 -9
  149. package/build/components/post-url/index.js.map +1 -1
  150. package/build/components/post-visibility/check.js +6 -7
  151. package/build/components/post-visibility/check.js.map +1 -1
  152. package/build/components/post-visibility/index.js +14 -19
  153. package/build/components/post-visibility/index.js.map +1 -1
  154. package/build/components/post-visibility/label.js +1 -3
  155. package/build/components/post-visibility/label.js.map +1 -1
  156. package/build/components/provider/index.js +12 -15
  157. package/build/components/provider/index.js.map +1 -1
  158. package/build/components/provider/index.native.js +19 -30
  159. package/build/components/provider/index.native.js.map +1 -1
  160. package/build/components/provider/use-block-editor-settings.js +5 -9
  161. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  162. package/build/components/provider/use-block-editor-settings.native.js +1 -3
  163. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  164. package/build/components/provider/with-registry-provider.js +4 -2
  165. package/build/components/provider/with-registry-provider.js.map +1 -1
  166. package/build/components/table-of-contents/index.js +26 -35
  167. package/build/components/table-of-contents/index.js.map +1 -1
  168. package/build/components/table-of-contents/panel.js +4 -5
  169. package/build/components/table-of-contents/panel.js.map +1 -1
  170. package/build/components/template-validation-notice/index.js +4 -6
  171. package/build/components/template-validation-notice/index.js.map +1 -1
  172. package/build/components/theme-support-check/index.js +7 -8
  173. package/build/components/theme-support-check/index.js.map +1 -1
  174. package/build/hooks/custom-sources-backwards-compatibility.js +20 -42
  175. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  176. package/build/hooks/default-autocompleters.js +1 -2
  177. package/build/hooks/default-autocompleters.js.map +1 -1
  178. package/build/{lockUnlock.js → lock-unlock.js} +1 -1
  179. package/build/lock-unlock.js.map +1 -0
  180. package/build/private-apis.js +5 -2
  181. package/build/private-apis.js.map +1 -1
  182. package/build/store/actions.js +147 -179
  183. package/build/store/actions.js.map +1 -1
  184. package/build/store/actions.native.js +1 -2
  185. package/build/store/actions.native.js.map +1 -1
  186. package/build/store/reducer.js +14 -44
  187. package/build/store/reducer.js.map +1 -1
  188. package/build/store/reducer.native.js +3 -12
  189. package/build/store/reducer.native.js.map +1 -1
  190. package/build/store/selectors.js +23 -54
  191. package/build/store/selectors.js.map +1 -1
  192. package/build/store/utils/notice-builder.js +3 -3
  193. package/build/store/utils/notice-builder.js.map +1 -1
  194. package/build/utils/media-upload/index.js +11 -15
  195. package/build/utils/media-upload/index.js.map +1 -1
  196. package/build/utils/terms.js +3 -6
  197. package/build/utils/terms.js.map +1 -1
  198. package/build-module/components/autosave-monitor/index.js +1 -2
  199. package/build-module/components/autosave-monitor/index.js.map +1 -1
  200. package/build-module/components/deprecated.js +7 -8
  201. package/build-module/components/deprecated.js.map +1 -1
  202. package/build-module/components/document-outline/check.js +4 -5
  203. package/build-module/components/document-outline/check.js.map +1 -1
  204. package/build-module/components/document-outline/index.js +12 -16
  205. package/build-module/components/document-outline/index.js.map +1 -1
  206. package/build-module/components/document-outline/item.js +22 -25
  207. package/build-module/components/document-outline/item.js.map +1 -1
  208. package/build-module/components/editor-help/help-detail-navigation-screen.native.js +6 -8
  209. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  210. package/build-module/components/editor-help/help-get-support-button.native.js +4 -5
  211. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  212. package/build-module/components/editor-help/help-section-title.native.js +3 -4
  213. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  214. package/build-module/components/editor-help/help-topic-row.native.js +6 -7
  215. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  216. package/build-module/components/editor-help/index.native.js +20 -25
  217. package/build-module/components/editor-help/index.native.js.map +1 -1
  218. package/build-module/components/editor-help/view-sections.native.js +16 -20
  219. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  220. package/build-module/components/editor-history/redo.js +2 -3
  221. package/build-module/components/editor-history/redo.js.map +1 -1
  222. package/build-module/components/editor-history/undo.js +2 -3
  223. package/build-module/components/editor-history/undo.js.map +1 -1
  224. package/build-module/components/editor-notices/index.js +12 -19
  225. package/build-module/components/editor-notices/index.js.map +1 -1
  226. package/build-module/components/editor-snackbars/index.js +3 -6
  227. package/build-module/components/editor-snackbars/index.js.map +1 -1
  228. package/build-module/components/entities-saved-states/entity-record-item.js +7 -10
  229. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  230. package/build-module/components/entities-saved-states/entity-type-list.js +6 -7
  231. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  232. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +72 -0
  233. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
  234. package/build-module/components/entities-saved-states/index.js +44 -118
  235. package/build-module/components/entities-saved-states/index.js.map +1 -1
  236. package/build-module/components/error-boundary/index.js +4 -5
  237. package/build-module/components/error-boundary/index.js.map +1 -1
  238. package/build-module/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
  239. package/build-module/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
  240. package/build-module/components/index.js +2 -0
  241. package/build-module/components/index.js.map +1 -1
  242. package/build-module/components/media-categories/index.js +25 -42
  243. package/build-module/components/media-categories/index.js.map +1 -1
  244. package/build-module/components/page-attributes/check.js +4 -7
  245. package/build-module/components/page-attributes/check.js.map +1 -1
  246. package/build-module/components/page-attributes/order.js +7 -9
  247. package/build-module/components/page-attributes/order.js.map +1 -1
  248. package/build-module/components/page-attributes/parent.js +5 -12
  249. package/build-module/components/page-attributes/parent.js.map +1 -1
  250. package/build-module/components/post-author/check.js +6 -7
  251. package/build-module/components/post-author/check.js.map +1 -1
  252. package/build-module/components/post-author/combobox.js +3 -6
  253. package/build-module/components/post-author/combobox.js.map +1 -1
  254. package/build-module/components/post-author/index.js +1 -1
  255. package/build-module/components/post-author/index.js.map +1 -1
  256. package/build-module/components/post-comments/index.js +4 -6
  257. package/build-module/components/post-comments/index.js.map +1 -1
  258. package/build-module/components/post-excerpt/check.js +2 -3
  259. package/build-module/components/post-excerpt/check.js.map +1 -1
  260. package/build-module/components/post-excerpt/index.js +4 -5
  261. package/build-module/components/post-excerpt/index.js.map +1 -1
  262. package/build-module/components/post-featured-image/check.js +2 -3
  263. package/build-module/components/post-featured-image/check.js.map +1 -1
  264. package/build-module/components/post-featured-image/index.js +56 -69
  265. package/build-module/components/post-featured-image/index.js.map +1 -1
  266. package/build-module/components/post-format/check.js +6 -8
  267. package/build-module/components/post-format/check.js.map +1 -1
  268. package/build-module/components/post-format/index.js +1 -1
  269. package/build-module/components/post-format/index.js.map +1 -1
  270. package/build-module/components/post-last-revision/check.js +5 -7
  271. package/build-module/components/post-last-revision/check.js.map +1 -1
  272. package/build-module/components/post-last-revision/index.js +4 -5
  273. package/build-module/components/post-last-revision/index.js.map +1 -1
  274. package/build-module/components/post-locked-modal/index.js +1 -1
  275. package/build-module/components/post-locked-modal/index.js.map +1 -1
  276. package/build-module/components/post-pending-status/check.js +7 -9
  277. package/build-module/components/post-pending-status/check.js.map +1 -1
  278. package/build-module/components/post-pending-status/index.js +4 -6
  279. package/build-module/components/post-pending-status/index.js.map +1 -1
  280. package/build-module/components/post-pingbacks/index.js +4 -6
  281. package/build-module/components/post-pingbacks/index.js.map +1 -1
  282. package/build-module/components/post-preview-button/index.js +8 -12
  283. package/build-module/components/post-preview-button/index.js.map +1 -1
  284. package/build-module/components/post-publish-button/index.js +10 -18
  285. package/build-module/components/post-publish-button/index.js.map +1 -1
  286. package/build-module/components/post-publish-button/label.js +14 -17
  287. package/build-module/components/post-publish-button/label.js.map +1 -1
  288. package/build-module/components/post-publish-panel/index.js +10 -11
  289. package/build-module/components/post-publish-panel/index.js.map +1 -1
  290. package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
  291. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  292. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +9 -12
  293. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  294. package/build-module/components/post-publish-panel/maybe-tags-panel.js +4 -7
  295. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  296. package/build-module/components/post-publish-panel/maybe-upload-media.js +138 -0
  297. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -0
  298. package/build-module/components/post-publish-panel/postpublish.js +8 -11
  299. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  300. package/build-module/components/post-publish-panel/prepublish.js +7 -7
  301. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  302. package/build-module/components/post-saved-state/index.js +13 -8
  303. package/build-module/components/post-saved-state/index.js.map +1 -1
  304. package/build-module/components/post-schedule/check.js +6 -8
  305. package/build-module/components/post-schedule/check.js.map +1 -1
  306. package/build-module/components/post-schedule/index.js +8 -12
  307. package/build-module/components/post-schedule/index.js.map +1 -1
  308. package/build-module/components/post-schedule/label.js +7 -10
  309. package/build-module/components/post-schedule/label.js.map +1 -1
  310. package/build-module/components/post-slug/check.js +3 -4
  311. package/build-module/components/post-slug/check.js.map +1 -1
  312. package/build-module/components/post-slug/index.js +5 -6
  313. package/build-module/components/post-slug/index.js.map +1 -1
  314. package/build-module/components/post-sticky/check.js +7 -9
  315. package/build-module/components/post-sticky/check.js.map +1 -1
  316. package/build-module/components/post-sticky/index.js +4 -5
  317. package/build-module/components/post-sticky/index.js.map +1 -1
  318. package/build-module/components/post-switch-to-draft-button/index.js +6 -7
  319. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  320. package/build-module/components/post-sync-status/index.js +56 -0
  321. package/build-module/components/post-sync-status/index.js.map +1 -0
  322. package/build-module/components/post-taxonomies/check.js +6 -7
  323. package/build-module/components/post-taxonomies/check.js.map +1 -1
  324. package/build-module/components/post-taxonomies/flat-term-selector.js +36 -44
  325. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  326. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +13 -14
  327. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  328. package/build-module/components/post-taxonomies/index.js +6 -11
  329. package/build-module/components/post-taxonomies/index.js.map +1 -1
  330. package/build-module/components/post-taxonomies/most-used-terms.js +5 -6
  331. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  332. package/build-module/components/post-template/index.js +6 -9
  333. package/build-module/components/post-template/index.js.map +1 -1
  334. package/build-module/components/post-title/index.js +8 -5
  335. package/build-module/components/post-title/index.js.map +1 -1
  336. package/build-module/components/post-title/index.native.js +8 -11
  337. package/build-module/components/post-title/index.native.js.map +1 -1
  338. package/build-module/components/post-trash/check.js +7 -9
  339. package/build-module/components/post-trash/check.js.map +1 -1
  340. package/build-module/components/post-type-support-check/index.js +5 -6
  341. package/build-module/components/post-type-support-check/index.js.map +1 -1
  342. package/build-module/components/post-url/check.js +4 -5
  343. package/build-module/components/post-url/check.js.map +1 -1
  344. package/build-module/components/post-url/index.js +8 -9
  345. package/build-module/components/post-url/index.js.map +1 -1
  346. package/build-module/components/post-visibility/check.js +6 -7
  347. package/build-module/components/post-visibility/check.js.map +1 -1
  348. package/build-module/components/post-visibility/index.js +14 -16
  349. package/build-module/components/post-visibility/index.js.map +1 -1
  350. package/build-module/components/post-visibility/label.js +1 -3
  351. package/build-module/components/post-visibility/label.js.map +1 -1
  352. package/build-module/components/provider/index.js +12 -14
  353. package/build-module/components/provider/index.js.map +1 -1
  354. package/build-module/components/provider/index.native.js +19 -29
  355. package/build-module/components/provider/index.native.js.map +1 -1
  356. package/build-module/components/provider/use-block-editor-settings.js +5 -9
  357. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  358. package/build-module/components/provider/use-block-editor-settings.native.js +1 -3
  359. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  360. package/build-module/components/provider/with-registry-provider.js +4 -2
  361. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  362. package/build-module/components/table-of-contents/index.js +26 -34
  363. package/build-module/components/table-of-contents/index.js.map +1 -1
  364. package/build-module/components/table-of-contents/panel.js +4 -5
  365. package/build-module/components/table-of-contents/panel.js.map +1 -1
  366. package/build-module/components/template-validation-notice/index.js +4 -6
  367. package/build-module/components/template-validation-notice/index.js.map +1 -1
  368. package/build-module/components/theme-support-check/index.js +7 -8
  369. package/build-module/components/theme-support-check/index.js.map +1 -1
  370. package/build-module/hooks/custom-sources-backwards-compatibility.js +20 -39
  371. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  372. package/build-module/hooks/default-autocompleters.js +1 -2
  373. package/build-module/hooks/default-autocompleters.js.map +1 -1
  374. package/build-module/{lockUnlock.js → lock-unlock.js} +1 -1
  375. package/build-module/lock-unlock.js.map +1 -0
  376. package/build-module/private-apis.js +4 -2
  377. package/build-module/private-apis.js.map +1 -1
  378. package/build-module/store/actions.js +147 -179
  379. package/build-module/store/actions.js.map +1 -1
  380. package/build-module/store/actions.native.js +1 -2
  381. package/build-module/store/actions.native.js.map +1 -1
  382. package/build-module/store/reducer.js +14 -44
  383. package/build-module/store/reducer.js.map +1 -1
  384. package/build-module/store/reducer.native.js +3 -12
  385. package/build-module/store/reducer.native.js.map +1 -1
  386. package/build-module/store/selectors.js +21 -54
  387. package/build-module/store/selectors.js.map +1 -1
  388. package/build-module/store/utils/notice-builder.js +3 -3
  389. package/build-module/store/utils/notice-builder.js.map +1 -1
  390. package/build-module/utils/media-upload/index.js +11 -15
  391. package/build-module/utils/media-upload/index.js.map +1 -1
  392. package/build-module/utils/terms.js +3 -6
  393. package/build-module/utils/terms.js.map +1 -1
  394. package/build-style/style-rtl.css +15 -1
  395. package/build-style/style.css +15 -1
  396. package/package.json +30 -31
  397. package/src/components/editor-help/test/index.native.js +3 -2
  398. package/src/components/entities-saved-states/hooks/use-is-dirty.js +87 -0
  399. package/src/components/entities-saved-states/index.js +25 -106
  400. package/src/components/entities-saved-states/test/use-is-dirty.js +94 -0
  401. package/src/components/index.js +2 -0
  402. package/src/components/post-publish-panel/maybe-upload-media.js +167 -0
  403. package/src/components/post-publish-panel/prepublish.js +2 -0
  404. package/src/components/post-publish-panel/style.scss +1 -1
  405. package/src/components/post-saved-state/index.js +6 -0
  406. package/src/components/post-sync-status/index.js +55 -0
  407. package/src/components/post-sync-status/style.scss +16 -0
  408. package/src/components/post-taxonomies/flat-term-selector.js +20 -30
  409. package/src/components/post-title/index.js +4 -1
  410. package/src/components/provider/index.js +1 -1
  411. package/src/components/provider/index.native.js +2 -9
  412. package/src/private-apis.js +3 -1
  413. package/src/style.scss +1 -0
  414. package/build/lockUnlock.js.map +0 -1
  415. package/build-module/lockUnlock.js.map +0 -1
  416. /package/src/{lockUnlock.js → lock-unlock.js} +0 -0
@@ -15,21 +15,18 @@ import { POST_FORMATS } from '../post-format';
15
15
  import { store as editorStore } from '../../store';
16
16
 
17
17
  const getSuggestion = (supportedFormats, suggestedPostFormat) => {
18
- const formats = POST_FORMATS.filter(format => supportedFormats === null || supportedFormats === void 0 ? void 0 : supportedFormats.includes(format.id));
18
+ const formats = POST_FORMATS.filter(format => supportedFormats?.includes(format.id));
19
19
  return formats.find(format => format.id === suggestedPostFormat);
20
20
  };
21
21
 
22
- const PostFormatSuggestion = _ref => {
23
- let {
24
- suggestedPostFormat,
25
- suggestionText,
26
- onUpdatePostFormat
27
- } = _ref;
28
- return createElement(Button, {
29
- variant: "link",
30
- onClick: () => onUpdatePostFormat(suggestedPostFormat)
31
- }, suggestionText);
32
- };
22
+ const PostFormatSuggestion = ({
23
+ suggestedPostFormat,
24
+ suggestionText,
25
+ onUpdatePostFormat
26
+ }) => createElement(Button, {
27
+ variant: "link",
28
+ onClick: () => onUpdatePostFormat(suggestedPostFormat)
29
+ }, suggestionText);
33
30
 
34
31
  export default function PostFormatPanel() {
35
32
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"names":["Button","PanelBody","useDispatch","useSelect","__","sprintf","store","coreStore","POST_FORMATS","editorStore","getSuggestion","supportedFormats","suggestedPostFormat","formats","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","PostFormatPanel","currentPostFormat","suggestion","select","getEditedPostAttribute","getSuggestedPostFormat","getThemeSupports","editPost","panelBodyTitle","caption"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,uBAAlC;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;;AAEA,MAAMC,aAAa,GAAG,CAAEC,gBAAF,EAAoBC,mBAApB,KAA6C;AAClE,QAAMC,OAAO,GAAGL,YAAY,CAACM,MAAb,CAAuBC,MAAF,IACpCJ,gBADoC,aACpCA,gBADoC,uBACpCA,gBAAgB,CAAEK,QAAlB,CAA4BD,MAAM,CAACE,EAAnC,CADe,CAAhB;AAGA,SAAOJ,OAAO,CAACK,IAAR,CAAgBH,MAAF,IAAcA,MAAM,CAACE,EAAP,KAAcL,mBAA1C,CAAP;AACA,CALD;;AAOA,MAAMO,oBAAoB,GAAG;AAAA,MAAE;AAC9BP,IAAAA,mBAD8B;AAE9BQ,IAAAA,cAF8B;AAG9BC,IAAAA;AAH8B,GAAF;AAAA,SAK5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,MADT;AAEC,IAAA,OAAO,EAAG,MAAMA,kBAAkB,CAAET,mBAAF;AAFnC,KAIGQ,cAJH,CAL4B;AAAA,CAA7B;;AAaA,eAAe,SAASE,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAoCrB,SAAS,CAAIsB,MAAF,IAAc;AAAA;;AAClE,UAAM;AAAEC,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QACLF,MAAM,CAAEhB,WAAF,CADP;AAEA,UAAME,gBAAgB,4BACrBc,MAAM,CAAElB,SAAF,CAAN,CAAoBqB,gBAApB,GAAuCf,OADlB,yEAC6B,EADnD;AAEA,WAAO;AACNU,MAAAA,iBAAiB,EAAEG,sBAAsB,CAAE,QAAF,CADnC;AAENF,MAAAA,UAAU,EAAEd,aAAa,CACxBC,gBADwB,EAExBgB,sBAAsB,EAFE;AAFnB,KAAP;AAOA,GAZkD,EAYhD,EAZgD,CAAnD;AAcA,QAAM;AAAEE,IAAAA;AAAF,MAAe3B,WAAW,CAAEO,WAAF,CAAhC;;AAEA,QAAMY,kBAAkB,GAAKN,MAAF,IAAcc,QAAQ,CAAE;AAAEd,IAAAA;AAAF,GAAF,CAAjD;;AAEA,QAAMe,cAAc,GAAG,CACtB1B,EAAE,CAAE,aAAF,CADoB,EAEtB;AAAM,IAAA,SAAS,EAAC,iCAAhB;AAAkD,IAAA,GAAG,EAAC;AAAtD,KACGA,EAAE,CAAE,mBAAF,CADL,CAFsB,CAAvB;;AAOA,MAAK,CAAEoB,UAAF,IAAgBA,UAAU,CAACP,EAAX,KAAkBM,iBAAvC,EAA2D;AAC1D,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AAAW,IAAA,WAAW,EAAG,KAAzB;AAAiC,IAAA,KAAK,EAAGO;AAAzC,KACC,yBACG1B,EAAE,CACH,+IADG,CADL,CADD,EAMC,yBACC,cAAC,oBAAD;AACC,IAAA,kBAAkB,EAAGiB,kBADtB;AAEC,IAAA,mBAAmB,EAAGG,UAAU,CAACP,EAFlC;AAGC,IAAA,cAAc,EAAGZ,OAAO;AACvB;AACAD,IAAAA,EAAE,CAAE,0BAAF,CAFqB,EAGvBoB,UAAU,CAACO,OAHY;AAHzB,IADD,CAND,CADD;AAoBA","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"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"names":["Button","PanelBody","useDispatch","useSelect","__","sprintf","store","coreStore","POST_FORMATS","editorStore","getSuggestion","supportedFormats","suggestedPostFormat","formats","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","PostFormatPanel","currentPostFormat","suggestion","select","getEditedPostAttribute","getSuggestedPostFormat","getThemeSupports","editPost","panelBodyTitle","caption"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,uBAAlC;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;;AAEA,MAAMC,aAAa,GAAG,CAAEC,gBAAF,EAAoBC,mBAApB,KAA6C;AAClE,QAAMC,OAAO,GAAGL,YAAY,CAACM,MAAb,CAAuBC,MAAF,IACpCJ,gBAAgB,EAAEK,QAAlB,CAA4BD,MAAM,CAACE,EAAnC,CADe,CAAhB;AAGA,SAAOJ,OAAO,CAACK,IAAR,CAAgBH,MAAF,IAAcA,MAAM,CAACE,EAAP,KAAcL,mBAA1C,CAAP;AACA,CALD;;AAOA,MAAMO,oBAAoB,GAAG,CAAE;AAC9BP,EAAAA,mBAD8B;AAE9BQ,EAAAA,cAF8B;AAG9BC,EAAAA;AAH8B,CAAF,KAK5B,cAAC,MAAD;AACC,EAAA,OAAO,EAAC,MADT;AAEC,EAAA,OAAO,EAAG,MAAMA,kBAAkB,CAAET,mBAAF;AAFnC,GAIGQ,cAJH,CALD;;AAaA,eAAe,SAASE,eAAT,GAA2B;AACzC,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAoCrB,SAAS,CAAIsB,MAAF,IAAc;AAAA;;AAClE,UAAM;AAAEC,MAAAA,sBAAF;AAA0BC,MAAAA;AAA1B,QACLF,MAAM,CAAEhB,WAAF,CADP;AAEA,UAAME,gBAAgB,4BACrBc,MAAM,CAAElB,SAAF,CAAN,CAAoBqB,gBAApB,GAAuCf,OADlB,yEAC6B,EADnD;AAEA,WAAO;AACNU,MAAAA,iBAAiB,EAAEG,sBAAsB,CAAE,QAAF,CADnC;AAENF,MAAAA,UAAU,EAAEd,aAAa,CACxBC,gBADwB,EAExBgB,sBAAsB,EAFE;AAFnB,KAAP;AAOA,GAZkD,EAYhD,EAZgD,CAAnD;AAcA,QAAM;AAAEE,IAAAA;AAAF,MAAe3B,WAAW,CAAEO,WAAF,CAAhC;;AAEA,QAAMY,kBAAkB,GAAKN,MAAF,IAAcc,QAAQ,CAAE;AAAEd,IAAAA;AAAF,GAAF,CAAjD;;AAEA,QAAMe,cAAc,GAAG,CACtB1B,EAAE,CAAE,aAAF,CADoB,EAEtB;AAAM,IAAA,SAAS,EAAC,iCAAhB;AAAkD,IAAA,GAAG,EAAC;AAAtD,KACGA,EAAE,CAAE,mBAAF,CADL,CAFsB,CAAvB;;AAOA,MAAK,CAAEoB,UAAF,IAAgBA,UAAU,CAACP,EAAX,KAAkBM,iBAAvC,EAA2D;AAC1D,WAAO,IAAP;AACA;;AAED,SACC,cAAC,SAAD;AAAW,IAAA,WAAW,EAAG,KAAzB;AAAiC,IAAA,KAAK,EAAGO;AAAzC,KACC,yBACG1B,EAAE,CACH,+IADG,CADL,CADD,EAMC,yBACC,cAAC,oBAAD;AACC,IAAA,kBAAkB,EAAGiB,kBADtB;AAEC,IAAA,mBAAmB,EAAGG,UAAU,CAACP,EAFlC;AAGC,IAAA,cAAc,EAAGZ,OAAO;AACvB;AACAD,IAAAA,EAAE,CAAE,0BAAF,CAFqB,EAGvBoB,UAAU,CAACO,OAHY;AAHzB,IADD,CAND,CADD;AAoBA","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"]}
@@ -67,11 +67,8 @@ export default compose(withSelect(select => {
67
67
  isPostTypeSupported: tagsTaxonomy && tagsTaxonomy.types.some(type => type === postType),
68
68
  hasTags: tags && tags.length
69
69
  };
70
- }), ifCondition(_ref => {
71
- let {
72
- areTagsFetched,
73
- isPostTypeSupported
74
- } = _ref;
75
- return isPostTypeSupported && areTagsFetched;
76
- }))(MaybeTagsPanel);
70
+ }), ifCondition(({
71
+ areTagsFetched,
72
+ isPostTypeSupported
73
+ }) => isPostTypeSupported && areTagsFetched))(MaybeTagsPanel);
77
74
  //# sourceMappingURL=maybe-tags-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-tags-panel.js"],"names":["__","Component","compose","ifCondition","withSelect","PanelBody","store","coreStore","FlatTermSelector","editorStore","TagsPanel","panelBodyTitle","MaybeTagsPanel","constructor","props","state","hadTagsWhenOpeningThePanel","hasTags","render","select","postType","getCurrentPostType","tagsTaxonomy","getTaxonomy","tags","getEditedPostAttribute","rest_base","areTagsFetched","undefined","isPostTypeSupported","types","some","type","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,OAAT,EAAkBC,WAAlB,QAAqC,oBAArC;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,uCAA7B;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;;AAEA,MAAMC,SAAS,GAAG,MAAM;AACvB,QAAMC,cAAc,GAAG,CACtBX,EAAE,CAAE,aAAF,CADoB,EAEtB;AAAM,IAAA,SAAS,EAAC,iCAAhB;AAAkD,IAAA,GAAG,EAAC;AAAtD,KACGA,EAAE,CAAE,UAAF,CADL,CAFsB,CAAvB;AAOA,SACC,cAAC,SAAD;AAAW,IAAA,WAAW,EAAG,KAAzB;AAAiC,IAAA,KAAK,EAAGW;AAAzC,KACC,yBACGX,EAAE,CACH,wHADG,CADL,CADD,EAMC,cAAC,gBAAD;AAAkB,IAAA,IAAI,EAAG;AAAzB,IAND,CADD;AAUA,CAlBD;;AAoBA,MAAMY,cAAN,SAA6BX,SAA7B,CAAuC;AACtCY,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,KAAL,GAAa;AACZC,MAAAA,0BAA0B,EAAEF,KAAK,CAACG;AADtB,KAAb;AAGA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCC,EAAAA,MAAM,GAAG;AACR,QAAK,CAAE,KAAKH,KAAL,CAAWC,0BAAlB,EAA+C;AAC9C,aAAO,cAAC,SAAD,OAAP;AACA;;AAED,WAAO,IAAP;AACA;;AAxBqC;;AA2BvC,eAAed,OAAO,CACrBE,UAAU,CAAIe,MAAF,IAAc;AACzB,QAAMC,QAAQ,GAAGD,MAAM,CAAEV,WAAF,CAAN,CAAsBY,kBAAtB,EAAjB;AACA,QAAMC,YAAY,GAAGH,MAAM,CAAEZ,SAAF,CAAN,CAAoBgB,WAApB,CAAiC,UAAjC,CAArB;AACA,QAAMC,IAAI,GACTF,YAAY,IACZH,MAAM,CAAEV,WAAF,CAAN,CAAsBgB,sBAAtB,CACCH,YAAY,CAACI,SADd,CAFD;AAKA,SAAO;AACNC,IAAAA,cAAc,EAAEL,YAAY,KAAKM,SAD3B;AAENC,IAAAA,mBAAmB,EAClBP,YAAY,IACZA,YAAY,CAACQ,KAAb,CAAmBC,IAAnB,CAA2BC,IAAF,IAAYA,IAAI,KAAKZ,QAA9C,CAJK;AAKNH,IAAAA,OAAO,EAAEO,IAAI,IAAIA,IAAI,CAACS;AALhB,GAAP;AAOA,CAfS,CADW,EAiBrB9B,WAAW,CACV;AAAA,MAAE;AAAEwB,IAAAA,cAAF;AAAkBE,IAAAA;AAAlB,GAAF;AAAA,SACCA,mBAAmB,IAAIF,cADxB;AAAA,CADU,CAjBU,CAAP,CAqBZf,cArBY,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { withSelect } 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\nclass MaybeTagsPanel extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\thadTagsWhenOpeningThePanel: props.hasTags,\n\t\t};\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\trender() {\n\t\tif ( ! this.state.hadTagsWhenOpeningThePanel ) {\n\t\t\treturn <TagsPanel />;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst tagsTaxonomy = select( coreStore ).getTaxonomy( 'post_tag' );\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\tareTagsFetched: tagsTaxonomy !== undefined,\n\t\t\tisPostTypeSupported:\n\t\t\t\ttagsTaxonomy &&\n\t\t\t\ttagsTaxonomy.types.some( ( type ) => type === postType ),\n\t\t\thasTags: tags && tags.length,\n\t\t};\n\t} ),\n\tifCondition(\n\t\t( { areTagsFetched, isPostTypeSupported } ) =>\n\t\t\tisPostTypeSupported && areTagsFetched\n\t)\n)( MaybeTagsPanel );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-tags-panel.js"],"names":["__","Component","compose","ifCondition","withSelect","PanelBody","store","coreStore","FlatTermSelector","editorStore","TagsPanel","panelBodyTitle","MaybeTagsPanel","constructor","props","state","hadTagsWhenOpeningThePanel","hasTags","render","select","postType","getCurrentPostType","tagsTaxonomy","getTaxonomy","tags","getEditedPostAttribute","rest_base","areTagsFetched","undefined","isPostTypeSupported","types","some","type","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,OAAT,EAAkBC,WAAlB,QAAqC,oBAArC;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,SAAT,QAA0B,uBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,uCAA7B;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;;AAEA,MAAMC,SAAS,GAAG,MAAM;AACvB,QAAMC,cAAc,GAAG,CACtBX,EAAE,CAAE,aAAF,CADoB,EAEtB;AAAM,IAAA,SAAS,EAAC,iCAAhB;AAAkD,IAAA,GAAG,EAAC;AAAtD,KACGA,EAAE,CAAE,UAAF,CADL,CAFsB,CAAvB;AAOA,SACC,cAAC,SAAD;AAAW,IAAA,WAAW,EAAG,KAAzB;AAAiC,IAAA,KAAK,EAAGW;AAAzC,KACC,yBACGX,EAAE,CACH,wHADG,CADL,CADD,EAMC,cAAC,gBAAD;AAAkB,IAAA,IAAI,EAAG;AAAzB,IAND,CADD;AAUA,CAlBD;;AAoBA,MAAMY,cAAN,SAA6BX,SAA7B,CAAuC;AACtCY,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AACA,SAAKC,KAAL,GAAa;AACZC,MAAAA,0BAA0B,EAAEF,KAAK,CAACG;AADtB,KAAb;AAGA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACCC,EAAAA,MAAM,GAAG;AACR,QAAK,CAAE,KAAKH,KAAL,CAAWC,0BAAlB,EAA+C;AAC9C,aAAO,cAAC,SAAD,OAAP;AACA;;AAED,WAAO,IAAP;AACA;;AAxBqC;;AA2BvC,eAAed,OAAO,CACrBE,UAAU,CAAIe,MAAF,IAAc;AACzB,QAAMC,QAAQ,GAAGD,MAAM,CAAEV,WAAF,CAAN,CAAsBY,kBAAtB,EAAjB;AACA,QAAMC,YAAY,GAAGH,MAAM,CAAEZ,SAAF,CAAN,CAAoBgB,WAApB,CAAiC,UAAjC,CAArB;AACA,QAAMC,IAAI,GACTF,YAAY,IACZH,MAAM,CAAEV,WAAF,CAAN,CAAsBgB,sBAAtB,CACCH,YAAY,CAACI,SADd,CAFD;AAKA,SAAO;AACNC,IAAAA,cAAc,EAAEL,YAAY,KAAKM,SAD3B;AAENC,IAAAA,mBAAmB,EAClBP,YAAY,IACZA,YAAY,CAACQ,KAAb,CAAmBC,IAAnB,CAA2BC,IAAF,IAAYA,IAAI,KAAKZ,QAA9C,CAJK;AAKNH,IAAAA,OAAO,EAAEO,IAAI,IAAIA,IAAI,CAACS;AALhB,GAAP;AAOA,CAfS,CADW,EAiBrB9B,WAAW,CACV,CAAE;AAAEwB,EAAAA,cAAF;AAAkBE,EAAAA;AAAlB,CAAF,KACCA,mBAAmB,IAAIF,cAFd,CAjBU,CAAP,CAqBZf,cArBY,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { withSelect } 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\nclass MaybeTagsPanel extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\thadTagsWhenOpeningThePanel: props.hasTags,\n\t\t};\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\trender() {\n\t\tif ( ! this.state.hadTagsWhenOpeningThePanel ) {\n\t\t\treturn <TagsPanel />;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst tagsTaxonomy = select( coreStore ).getTaxonomy( 'post_tag' );\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\tareTagsFetched: tagsTaxonomy !== undefined,\n\t\t\tisPostTypeSupported:\n\t\t\t\ttagsTaxonomy &&\n\t\t\t\ttagsTaxonomy.types.some( ( type ) => type === postType ),\n\t\t\thasTags: tags && tags.length,\n\t\t};\n\t} ),\n\tifCondition(\n\t\t( { areTagsFetched, isPostTypeSupported } ) =>\n\t\t\tisPostTypeSupported && areTagsFetched\n\t)\n)( MaybeTagsPanel );\n"]}
@@ -0,0 +1,138 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { PanelBody, Button, Spinner, __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence } from '@wordpress/components';
7
+ import { useSelect, useDispatch } from '@wordpress/data';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { upload } from '@wordpress/icons';
10
+ import { store as blockEditorStore } from '@wordpress/block-editor';
11
+ import { useState } from '@wordpress/element';
12
+ import { isBlobURL } from '@wordpress/blob';
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ import { store as editorStore } from '../../store';
18
+
19
+ function flattenBlocks(blocks) {
20
+ const result = [];
21
+ blocks.forEach(block => {
22
+ result.push(block);
23
+ result.push(...flattenBlocks(block.innerBlocks));
24
+ });
25
+ return result;
26
+ }
27
+
28
+ function Image(block) {
29
+ const {
30
+ selectBlock
31
+ } = useDispatch(blockEditorStore);
32
+ return createElement(motion.img, {
33
+ tabIndex: 0,
34
+ role: "button",
35
+ "aria-label": __('Select image block.'),
36
+ onClick: () => {
37
+ selectBlock(block.clientId);
38
+ },
39
+ onKeyDown: event => {
40
+ if (event.key === 'Enter' || event.key === ' ') {
41
+ selectBlock(block.clientId);
42
+ event.preventDefault();
43
+ }
44
+ },
45
+ key: block.clientId,
46
+ alt: block.attributes.alt,
47
+ src: block.attributes.url,
48
+ animate: {
49
+ opacity: 1
50
+ },
51
+ exit: {
52
+ opacity: 0,
53
+ scale: 0
54
+ },
55
+ style: {
56
+ width: '36px',
57
+ height: '36px',
58
+ objectFit: 'cover',
59
+ borderRadius: '2px',
60
+ cursor: 'pointer'
61
+ },
62
+ whileHover: {
63
+ scale: 1.08
64
+ }
65
+ });
66
+ }
67
+
68
+ export default function PostFormatPanel() {
69
+ const [isUploading, setIsUploading] = useState(false);
70
+ const {
71
+ editorBlocks,
72
+ mediaUpload
73
+ } = useSelect(select => ({
74
+ editorBlocks: select(editorStore).getEditorBlocks(),
75
+ mediaUpload: select(blockEditorStore).getSettings().mediaUpload
76
+ }), []);
77
+ const externalImages = flattenBlocks(editorBlocks).filter(block => block.name === 'core/image' && block.attributes.url && !block.attributes.id);
78
+ const {
79
+ updateBlockAttributes
80
+ } = useDispatch(blockEditorStore);
81
+
82
+ if (!mediaUpload || !externalImages.length) {
83
+ return null;
84
+ }
85
+
86
+ const panelBodyTitle = [__('Suggestion:'), createElement("span", {
87
+ className: "editor-post-publish-panel__link",
88
+ key: "label"
89
+ }, __('External media'))];
90
+
91
+ function uploadImages() {
92
+ setIsUploading(true);
93
+ Promise.all(externalImages.map(image => window.fetch(image.attributes.url.includes('?') ? image.attributes.url : image.attributes.url + '?').then(response => response.blob()).then(blob => new Promise((resolve, reject) => {
94
+ mediaUpload({
95
+ filesList: [blob],
96
+ onFileChange: ([media]) => {
97
+ if (isBlobURL(media.url)) {
98
+ return;
99
+ }
100
+
101
+ updateBlockAttributes(image.clientId, {
102
+ id: media.id,
103
+ url: media.url
104
+ });
105
+ resolve();
106
+ },
107
+
108
+ onError() {
109
+ reject();
110
+ }
111
+
112
+ });
113
+ })))).finally(() => {
114
+ setIsUploading(false);
115
+ });
116
+ }
117
+
118
+ return createElement(PanelBody, {
119
+ initialOpen: true,
120
+ title: panelBodyTitle
121
+ }, createElement("p", null, __('There are some external images in the post which can be uploaded to the media library. Images coming from different domains may not always display correctly, load slowly for visitors, or be removed unexpectedly.')), createElement("div", {
122
+ style: {
123
+ display: 'inline-flex',
124
+ flexWrap: 'wrap',
125
+ gap: '8px'
126
+ }
127
+ }, createElement(AnimatePresence, null, externalImages.map(image => {
128
+ return createElement(Image, {
129
+ key: image.clientId,
130
+ ...image
131
+ });
132
+ })), isUploading ? createElement(Spinner, null) : createElement(Button, {
133
+ icon: upload,
134
+ variant: "primary",
135
+ onClick: uploadImages
136
+ }, __('Upload all'))));
137
+ }
138
+ //# sourceMappingURL=maybe-upload-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-upload-media.js"],"names":["PanelBody","Button","Spinner","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","useSelect","useDispatch","__","upload","store","blockEditorStore","useState","isBlobURL","editorStore","flattenBlocks","blocks","result","forEach","block","push","innerBlocks","Image","selectBlock","clientId","event","key","preventDefault","attributes","alt","url","opacity","scale","width","height","objectFit","borderRadius","cursor","PostFormatPanel","isUploading","setIsUploading","editorBlocks","mediaUpload","select","getEditorBlocks","getSettings","externalImages","filter","name","id","updateBlockAttributes","length","panelBodyTitle","uploadImages","Promise","all","map","image","window","fetch","includes","then","response","blob","resolve","reject","filesList","onFileChange","media","onError","finally","display","flexWrap","gap"],"mappings":"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","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 { upload } from '@wordpress/icons';\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={ true } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'There are some external images in the post which can be uploaded to the media library. Images coming from different domains may not always display correctly, load slowly for visitors, 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\n\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ uploadImages }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload all' ) }\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"]}
@@ -43,12 +43,11 @@ const getFuturePostUrl = post => {
43
43
  return post.permalink_template;
44
44
  };
45
45
 
46
- function CopyButton(_ref) {
47
- let {
48
- text,
49
- onCopy,
50
- children
51
- } = _ref;
46
+ function CopyButton({
47
+ text,
48
+ onCopy,
49
+ children
50
+ }) {
52
51
  const ref = useCopyToClipboard(text, onCopy);
53
52
  return createElement(Button, {
54
53
  variant: "secondary",
@@ -94,17 +93,15 @@ class PostPublishPanelPostpublish extends Component {
94
93
  }
95
94
 
96
95
  render() {
97
- var _postType$labels, _postType$labels2, _postType$labels3;
98
-
99
96
  const {
100
97
  children,
101
98
  isScheduled,
102
99
  post,
103
100
  postType
104
101
  } = this.props;
105
- const postLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : _postType$labels.singular_name;
106
- const viewPostLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels2 = postType.labels) === null || _postType$labels2 === void 0 ? void 0 : _postType$labels2.view_item;
107
- const addNewPostLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels3 = postType.labels) === null || _postType$labels3 === void 0 ? void 0 : _postType$labels3.add_new_item;
102
+ const postLabel = postType?.labels?.singular_name;
103
+ const viewPostLabel = postType?.labels?.view_item;
104
+ const addNewPostLabel = postType?.labels?.add_new_item;
108
105
  const link = post.status === 'future' ? getFuturePostUrl(post) : post.link;
109
106
  const addLink = addQueryArgs('post-new.php', {
110
107
  post_type: post.type
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"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","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","title","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"mappings":"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","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"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"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","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","title","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"mappings":"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","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"]}
@@ -22,11 +22,11 @@ import MaybeTagsPanel from './maybe-tags-panel';
22
22
  import MaybePostFormatPanel from './maybe-post-format-panel';
23
23
  import { store as editorStore } from '../../store';
24
24
  import MaybeCategoryPanel from './maybe-category-panel';
25
+ import MaybeUploadMedia from './maybe-upload-media';
25
26
 
26
- function PostPublishPanelPrepublish(_ref) {
27
- let {
28
- children
29
- } = _ref;
27
+ function PostPublishPanelPrepublish({
28
+ children
29
+ }) {
30
30
  const {
31
31
  isBeingScheduled,
32
32
  isRequestingSiteIcon,
@@ -35,7 +35,7 @@ function PostPublishPanelPrepublish(_ref) {
35
35
  siteTitle,
36
36
  siteHome
37
37
  } = useSelect(select => {
38
- var _getCurrentPost$_link, _getCurrentPost$_link2;
38
+ var _getCurrentPost$_link;
39
39
 
40
40
  const {
41
41
  getCurrentPost,
@@ -47,7 +47,7 @@ function PostPublishPanelPrepublish(_ref) {
47
47
  } = select(coreStore);
48
48
  const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
49
49
  return {
50
- hasPublishAction: (_getCurrentPost$_link = (_getCurrentPost$_link2 = getCurrentPost()._links) === null || _getCurrentPost$_link2 === void 0 ? void 0 : _getCurrentPost$_link2['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
50
+ hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
51
51
  isBeingScheduled: isEditedPostBeingScheduled(),
52
52
  isRequestingSiteIcon: isResolving('getEntityRecord', ['root', '__unstableBase', undefined]),
53
53
  siteIconUrl: siteData.site_icon_url,
@@ -96,7 +96,7 @@ function PostPublishPanelPrepublish(_ref) {
96
96
  className: "components-site-name"
97
97
  }, decodeEntities(siteTitle) || __('(Untitled)')), createElement("span", {
98
98
  className: "components-site-home"
99
- }, siteHome))), hasPublishAction && createElement(Fragment, null, createElement(PanelBody, {
99
+ }, siteHome))), createElement(MaybeUploadMedia, null), hasPublishAction && createElement(Fragment, null, createElement(PanelBody, {
100
100
  initialOpen: false,
101
101
  title: [__('Visibility:'), createElement("span", {
102
102
  className: "editor-post-publish-panel__link",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/prepublish.js"],"names":["__","Icon","PanelBody","useSelect","wordpress","filterURLForDisplay","store","coreStore","decodeEntities","PostVisibility","PostVisibilityLabel","PostSchedule","PostScheduleLabel","MaybeTagsPanel","MaybePostFormatPanel","editorStore","MaybeCategoryPanel","PostPublishPanelPrepublish","children","isBeingScheduled","isRequestingSiteIcon","hasPublishAction","siteIconUrl","siteTitle","siteHome","select","getCurrentPost","isEditedPostBeingScheduled","getEntityRecord","isResolving","siteData","undefined","_links","site_icon_url","name","home","siteIcon","prePublishTitle","prePublishBodyText"],"mappings":"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","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';\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{ 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"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/prepublish.js"],"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","isEditedPostBeingScheduled","getEntityRecord","isResolving","siteData","undefined","_links","site_icon_url","name","home","siteIcon","prePublishTitle","prePublishBodyText"],"mappings":"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","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"]}
@@ -33,12 +33,11 @@ import { store as editorStore } from '../../store';
33
33
  * @return {import('@wordpress/element').WPComponent} The component.
34
34
  */
35
35
 
36
- export default function PostSavedState(_ref) {
37
- let {
38
- forceIsDirty,
39
- forceIsSaving,
40
- showIconLabels = false
41
- } = _ref;
36
+ export default function PostSavedState({
37
+ forceIsDirty,
38
+ forceIsSaving,
39
+ showIconLabels = false
40
+ }) {
42
41
  const [forceSavedMessage, setForceSavedMessage] = useState(false);
43
42
  const isLargeViewport = useViewportMatch('small');
44
43
  const {
@@ -46,11 +45,13 @@ export default function PostSavedState(_ref) {
46
45
  isDirty,
47
46
  isNew,
48
47
  isPending,
48
+ isPublished,
49
49
  isSaveable,
50
50
  isSaving,
51
+ isScheduled,
51
52
  hasPublishAction
52
53
  } = useSelect(select => {
53
- var _getCurrentPost$_link, _getCurrentPost, _getCurrentPost$_link2;
54
+ var _getCurrentPost$_link;
54
55
 
55
56
  const {
56
57
  isEditedPostNew,
@@ -72,7 +73,7 @@ export default function PostSavedState(_ref) {
72
73
  isSaving: forceIsSaving || isSavingPost(),
73
74
  isSaveable: isEditedPostSaveable(),
74
75
  isScheduled: isCurrentPostScheduled(),
75
- hasPublishAction: (_getCurrentPost$_link = (_getCurrentPost = getCurrentPost()) === null || _getCurrentPost === void 0 ? void 0 : (_getCurrentPost$_link2 = _getCurrentPost._links) === null || _getCurrentPost$_link2 === void 0 ? void 0 : _getCurrentPost$_link2['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false
76
+ hasPublishAction: (_getCurrentPost$_link = getCurrentPost()?._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false
76
77
  };
77
78
  }, [forceIsDirty, forceIsSaving]);
78
79
  const {
@@ -96,6 +97,10 @@ export default function PostSavedState(_ref) {
96
97
  if (!hasPublishAction && isPending) {
97
98
  return null;
98
99
  }
100
+
101
+ if (isPublished || isScheduled) {
102
+ return null;
103
+ }
99
104
  /* translators: button label text should, if possible, be under 16 characters. */
100
105
 
101
106
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"names":["classnames","__unstableGetAnimateClassName","getAnimateClassName","Button","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","editorStore","PostSavedState","forceIsDirty","forceIsSaving","showIconLabels","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPending","isSaveable","isSaving","hasPublishAction","select","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","isPublished","isScheduled","_links","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","label","shortLabel","isSaved","isSavedState","isDisabled","text","type","undefined","primary"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @param {?boolean} props.forceIsSaving Whether to force the post to be marked\n * as being saved.\n * @param {?boolean} props.showIconLabels Whether interface buttons show labels instead of icons\n * @return {import('@wordpress/element').WPComponent} The component.\n */\nexport default function PostSavedState( {\n\tforceIsDirty,\n\tforceIsSaving,\n\tshowIconLabels = false,\n} ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPending,\n\t\tisSaveable,\n\t\tisSaving,\n\t\thasPublishAction,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t} = select( editorStore );\n\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPending: 'pending' === getEditedPostAttribute( 'status' ),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty, forceIsSaving ]\n\t);\n\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Button\n\t\t\tclassName={\n\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ isDisabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip\n\t\t\tvariant=\"tertiary\"\n\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\t// Make sure the aria-label has always a value, as the default `text` is undefined on small screens.\n\t\t\tlabel={ text || label }\n\t\t\taria-disabled={ isDisabled }\n\t\t>\n\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t{ text }\n\t\t</Button>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-saved-state/index.js"],"names":["classnames","__unstableGetAnimateClassName","getAnimateClassName","Button","usePrevious","useViewportMatch","useDispatch","useSelect","useEffect","useState","__","Icon","check","cloud","cloudUpload","displayShortcut","store","editorStore","PostSavedState","forceIsDirty","forceIsSaving","showIconLabels","forceSavedMessage","setForceSavedMessage","isLargeViewport","isAutosaving","isDirty","isNew","isPending","isPublished","isSaveable","isSaving","isScheduled","hasPublishAction","select","isEditedPostNew","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostDirty","isSavingPost","isEditedPostSaveable","getCurrentPost","isAutosavingPost","getEditedPostAttribute","_links","savePost","wasSaving","timeoutId","setTimeout","clearTimeout","label","shortLabel","isSaved","isSavedState","isDisabled","text","type","undefined","primary"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableGetAnimateClassName as getAnimateClassName,\n\tButton,\n} from '@wordpress/components';\nimport { usePrevious, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, cloud, cloudUpload } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Component showing whether the post is saved or not and providing save\n * buttons.\n *\n * @param {Object} props Component props.\n * @param {?boolean} props.forceIsDirty Whether to force the post to be marked\n * as dirty.\n * @param {?boolean} props.forceIsSaving Whether to force the post to be marked\n * as being saved.\n * @param {?boolean} props.showIconLabels Whether interface buttons show labels instead of icons\n * @return {import('@wordpress/element').WPComponent} The component.\n */\nexport default function PostSavedState( {\n\tforceIsDirty,\n\tforceIsSaving,\n\tshowIconLabels = false,\n} ) {\n\tconst [ forceSavedMessage, setForceSavedMessage ] = useState( false );\n\tconst isLargeViewport = useViewportMatch( 'small' );\n\n\tconst {\n\t\tisAutosaving,\n\t\tisDirty,\n\t\tisNew,\n\t\tisPending,\n\t\tisPublished,\n\t\tisSaveable,\n\t\tisSaving,\n\t\tisScheduled,\n\t\thasPublishAction,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisEditedPostNew,\n\t\t\t\tisCurrentPostPublished,\n\t\t\t\tisCurrentPostScheduled,\n\t\t\t\tisEditedPostDirty,\n\t\t\t\tisSavingPost,\n\t\t\t\tisEditedPostSaveable,\n\t\t\t\tgetCurrentPost,\n\t\t\t\tisAutosavingPost,\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t} = select( editorStore );\n\n\t\t\treturn {\n\t\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\t\tisNew: isEditedPostNew(),\n\t\t\t\tisPending: 'pending' === getEditedPostAttribute( 'status' ),\n\t\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\t\thasPublishAction:\n\t\t\t\t\tgetCurrentPost()?._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[ forceIsDirty, forceIsSaving ]\n\t);\n\n\tconst { savePost } = useDispatch( editorStore );\n\n\tconst wasSaving = usePrevious( isSaving );\n\n\tuseEffect( () => {\n\t\tlet timeoutId;\n\n\t\tif ( wasSaving && ! isSaving ) {\n\t\t\tsetForceSavedMessage( true );\n\t\t\ttimeoutId = setTimeout( () => {\n\t\t\t\tsetForceSavedMessage( false );\n\t\t\t}, 1000 );\n\t\t}\n\n\t\treturn () => clearTimeout( timeoutId );\n\t}, [ isSaving ] );\n\n\t// Once the post has been submitted for review this button\n\t// is not needed for the contributor role.\n\tif ( ! hasPublishAction && isPending ) {\n\t\treturn null;\n\t}\n\n\tif ( isPublished || isScheduled ) {\n\t\treturn null;\n\t}\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst label = isPending ? __( 'Save as pending' ) : __( 'Save draft' );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst shortLabel = __( 'Save' );\n\n\tconst isSaved = forceSavedMessage || ( ! isNew && ! isDirty );\n\tconst isSavedState = isSaving || isSaved;\n\tconst isDisabled = isSaving || isSaved || ! isSaveable;\n\n\tlet text;\n\n\tif ( isSaving ) {\n\t\ttext = isAutosaving ? __( 'Autosaving' ) : __( 'Saving' );\n\t} else if ( isSaved ) {\n\t\ttext = __( 'Saved' );\n\t} else if ( isLargeViewport ) {\n\t\ttext = label;\n\t} else if ( showIconLabels ) {\n\t\ttext = shortLabel;\n\t}\n\n\t// Use common Button instance for all saved states so that focus is not\n\t// lost.\n\treturn (\n\t\t<Button\n\t\t\tclassName={\n\t\t\t\tisSaveable || isSaving\n\t\t\t\t\t? classnames( {\n\t\t\t\t\t\t\t'editor-post-save-draft': ! isSavedState,\n\t\t\t\t\t\t\t'editor-post-saved-state': isSavedState,\n\t\t\t\t\t\t\t'is-saving': isSaving,\n\t\t\t\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t\t\t\t\t'is-saved': isSaved,\n\t\t\t\t\t\t\t[ getAnimateClassName( {\n\t\t\t\t\t\t\t\ttype: 'loading',\n\t\t\t\t\t\t\t} ) ]: isSaving,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonClick={ isDisabled ? undefined : () => savePost() }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ isDisabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip\n\t\t\tvariant=\"tertiary\"\n\t\t\ticon={ isLargeViewport ? undefined : cloudUpload }\n\t\t\t// Make sure the aria-label has always a value, as the default `text` is undefined on small screens.\n\t\t\tlabel={ text || label }\n\t\t\taria-disabled={ isDisabled }\n\t\t>\n\t\t\t{ isSavedState && <Icon icon={ isSaved ? check : cloud } /> }\n\t\t\t{ text }\n\t\t</Button>\n\t);\n}\n"]}
@@ -8,12 +8,10 @@ import { withSelect } from '@wordpress/data';
8
8
  */
9
9
 
10
10
  import { store as editorStore } from '../../store';
11
- export function PostScheduleCheck(_ref) {
12
- let {
13
- hasPublishAction,
14
- children
15
- } = _ref;
16
-
11
+ export function PostScheduleCheck({
12
+ hasPublishAction,
13
+ children
14
+ }) {
17
15
  if (!hasPublishAction) {
18
16
  return null;
19
17
  }
@@ -21,14 +19,14 @@ export function PostScheduleCheck(_ref) {
21
19
  return children;
22
20
  }
23
21
  export default compose([withSelect(select => {
24
- var _getCurrentPost$_link, _getCurrentPost$_link2;
22
+ var _getCurrentPost$_link;
25
23
 
26
24
  const {
27
25
  getCurrentPost,
28
26
  getCurrentPostType
29
27
  } = select(editorStore);
30
28
  return {
31
- hasPublishAction: (_getCurrentPost$_link = (_getCurrentPost$_link2 = getCurrentPost()._links) === null || _getCurrentPost$_link2 === void 0 ? void 0 : _getCurrentPost$_link2['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
29
+ hasPublishAction: (_getCurrentPost$_link = getCurrentPost()._links?.['wp:action-publish']) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : false,
32
30
  postType: getCurrentPostType()
33
31
  };
34
32
  })])(PostScheduleCheck);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-schedule/check.js"],"names":["compose","withSelect","store","editorStore","PostScheduleCheck","hasPublishAction","children","select","getCurrentPost","getCurrentPostType","_links","postType"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,iBAAT,OAA6D;AAAA,MAAjC;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,GAAiC;;AACnE,MAAK,CAAED,gBAAP,EAA0B;AACzB,WAAO,IAAP;AACA;;AAED,SAAOC,QAAP;AACA;AAED,eAAeN,OAAO,CAAE,CACvBC,UAAU,CAAIM,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyCF,MAAM,CAAEJ,WAAF,CAArD;AACA,SAAO;AACNE,IAAAA,gBAAgB,qDACfG,cAAc,GAAGE,MADF,2DACf,uBAA2B,mBAA3B,CADe,yEACqC,KAF/C;AAGNC,IAAAA,QAAQ,EAAEF,kBAAkB;AAHtB,GAAP;AAKA,CAPS,CADa,CAAF,CAAP,CASVL,iBATU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\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 PostScheduleCheck( { hasPublishAction, children } ) {\n\tif ( ! hasPublishAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getCurrentPost, getCurrentPostType } = select( editorStore );\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n] )( PostScheduleCheck );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-schedule/check.js"],"names":["compose","withSelect","store","editorStore","PostScheduleCheck","hasPublishAction","children","select","getCurrentPost","getCurrentPostType","_links","postType"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,iBAAT,CAA4B;AAAEC,EAAAA,gBAAF;AAAoBC,EAAAA;AAApB,CAA5B,EAA6D;AACnE,MAAK,CAAED,gBAAP,EAA0B;AACzB,WAAO,IAAP;AACA;;AAED,SAAOC,QAAP;AACA;AAED,eAAeN,OAAO,CAAE,CACvBC,UAAU,CAAIM,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyCF,MAAM,CAAEJ,WAAF,CAArD;AACA,SAAO;AACNE,IAAAA,gBAAgB,2BACfG,cAAc,GAAGE,MAAjB,GAA2B,mBAA3B,CADe,yEACqC,KAF/C;AAGNC,IAAAA,QAAQ,EAAEF,kBAAkB;AAHtB,GAAP;AAKA,CAPS,CADa,CAAF,CAAP,CASVL,iBATU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\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 PostScheduleCheck( { hasPublishAction, children } ) {\n\tif ( ! hasPublishAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getCurrentPost, getCurrentPostType } = select( editorStore );\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n] )( PostScheduleCheck );\n"]}