@wordpress/editor 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +164 -20
  3. package/build/components/block-settings-menu/content-only-settings-menu.js +14 -5
  4. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  5. package/build/components/document-tools/index.js +12 -3
  6. package/build/components/document-tools/index.js.map +1 -1
  7. package/build/components/editor/index.js +77 -0
  8. package/build/components/editor/index.js.map +1 -0
  9. package/build/components/editor-interface/index.js +6 -8
  10. package/build/components/editor-interface/index.js.map +1 -1
  11. package/build/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
  12. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  13. package/build/components/entities-saved-states/index.js +28 -0
  14. package/build/components/entities-saved-states/index.js.map +1 -1
  15. package/build/components/global-styles-provider/index.js +9 -2
  16. package/build/components/global-styles-provider/index.js.map +1 -1
  17. package/build/components/header/back-button.js +4 -1
  18. package/build/components/header/back-button.js.map +1 -1
  19. package/build/components/header/index.js +1 -5
  20. package/build/components/header/index.js.map +1 -1
  21. package/build/components/index.js +7 -0
  22. package/build/components/index.js.map +1 -1
  23. package/build/components/media-categories/index.js +1 -1
  24. package/build/components/media-categories/index.js.map +1 -1
  25. package/build/components/post-actions/actions.js +10 -4
  26. package/build/components/post-actions/actions.js.map +1 -1
  27. package/build/components/post-last-revision/index.js +35 -9
  28. package/build/components/post-last-revision/index.js.map +1 -1
  29. package/build/components/post-preview-button/index.js +1 -0
  30. package/build/components/post-preview-button/index.js.map +1 -1
  31. package/build/components/post-publish-button/index.js +4 -0
  32. package/build/components/post-publish-button/index.js.map +1 -1
  33. package/build/components/post-publish-button/label.js +5 -0
  34. package/build/components/post-publish-button/label.js.map +1 -1
  35. package/build/components/post-publish-panel/index.js +5 -0
  36. package/build/components/post-publish-panel/index.js.map +1 -1
  37. package/build/components/post-sticky/check.js +8 -0
  38. package/build/components/post-sticky/check.js.map +1 -1
  39. package/build/components/post-sticky/index.js +5 -1
  40. package/build/components/post-sticky/index.js.map +1 -1
  41. package/build/components/post-switch-to-draft-button/index.js +11 -2
  42. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  43. package/build/components/post-sync-status/index.js +6 -2
  44. package/build/components/post-sync-status/index.js.map +1 -1
  45. package/build/components/post-taxonomies/check.js +8 -0
  46. package/build/components/post-taxonomies/check.js.map +1 -1
  47. package/build/components/post-taxonomies/flat-term-selector.js +14 -2
  48. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  49. package/build/components/post-taxonomies/index.js +9 -0
  50. package/build/components/post-taxonomies/index.js.map +1 -1
  51. package/build/components/post-taxonomies/panel.js +10 -0
  52. package/build/components/post-taxonomies/panel.js.map +1 -1
  53. package/build/components/post-title/index.js +4 -8
  54. package/build/components/post-title/index.js.map +1 -1
  55. package/build/components/post-title/post-title-raw.js +3 -7
  56. package/build/components/post-title/post-title-raw.js.map +1 -1
  57. package/build/components/post-trash/check.js +8 -0
  58. package/build/components/post-trash/check.js.map +1 -1
  59. package/build/components/post-trash/index.js +6 -1
  60. package/build/components/post-trash/index.js.map +1 -1
  61. package/build/components/post-url/panel.js +25 -3
  62. package/build/components/post-url/panel.js.map +1 -1
  63. package/build/components/post-visibility/index.js +1 -0
  64. package/build/components/post-visibility/index.js.map +1 -1
  65. package/build/components/provider/disable-non-page-content-blocks.js +5 -3
  66. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  67. package/build/components/provider/index.js +18 -15
  68. package/build/components/provider/index.js.map +1 -1
  69. package/build/components/sidebar/post-summary.js +3 -2
  70. package/build/components/sidebar/post-summary.js.map +1 -1
  71. package/build/components/table-of-contents/index.js +11 -0
  72. package/build/components/table-of-contents/index.js.map +1 -1
  73. package/build/components/template-part-menu-items/convert-to-regular.js +38 -0
  74. package/build/components/template-part-menu-items/convert-to-regular.js.map +1 -0
  75. package/build/components/template-part-menu-items/convert-to-template-part.js +77 -0
  76. package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
  77. package/build/components/template-part-menu-items/index.js +67 -0
  78. package/build/components/template-part-menu-items/index.js.map +1 -0
  79. package/build/components/template-part-menu-items/index.native.js +10 -0
  80. package/build/components/template-part-menu-items/index.native.js.map +1 -0
  81. package/build/components/template-validation-notice/index.js +1 -0
  82. package/build/components/template-validation-notice/index.js.map +1 -1
  83. package/build/components/theme-support-check/index.js +9 -0
  84. package/build/components/theme-support-check/index.js.map +1 -1
  85. package/build/components/time-to-read/index.js +6 -0
  86. package/build/components/time-to-read/index.js.map +1 -1
  87. package/build/components/visual-editor/edit-template-blocks-notification.js +1 -0
  88. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  89. package/build/components/word-count/index.js +5 -1
  90. package/build/components/word-count/index.js.map +1 -1
  91. package/build/dataviews/api.js +61 -0
  92. package/build/dataviews/api.js.map +1 -0
  93. package/build/dataviews/store/private-actions.js +28 -0
  94. package/build/dataviews/store/private-actions.js.map +1 -0
  95. package/build/dataviews/store/private-selectors.js +20 -0
  96. package/build/dataviews/store/private-selectors.js.map +1 -0
  97. package/build/dataviews/store/reducer.js +36 -0
  98. package/build/dataviews/store/reducer.js.map +1 -0
  99. package/build/hooks/pattern-overrides.js +2 -1
  100. package/build/hooks/pattern-overrides.js.map +1 -1
  101. package/build/index.js +12 -0
  102. package/build/index.js.map +1 -1
  103. package/build/private-apis.js +2 -6
  104. package/build/private-apis.js.map +1 -1
  105. package/build/private-apis.native.js +0 -2
  106. package/build/private-apis.native.js.map +1 -1
  107. package/build/store/private-actions.js +21 -0
  108. package/build/store/private-actions.js.map +1 -1
  109. package/build/store/private-selectors.js +5 -0
  110. package/build/store/private-selectors.js.map +1 -1
  111. package/build/store/reducer.js +4 -1
  112. package/build/store/reducer.js.map +1 -1
  113. package/build-module/components/block-settings-menu/content-only-settings-menu.js +14 -5
  114. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  115. package/build-module/components/document-tools/index.js +12 -3
  116. package/build-module/components/document-tools/index.js.map +1 -1
  117. package/build-module/components/editor/index.js +71 -0
  118. package/build-module/components/editor/index.js.map +1 -0
  119. package/build-module/components/editor-interface/index.js +6 -8
  120. package/build-module/components/editor-interface/index.js.map +1 -1
  121. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +10 -0
  122. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  123. package/build-module/components/entities-saved-states/index.js +28 -0
  124. package/build-module/components/entities-saved-states/index.js.map +1 -1
  125. package/build-module/components/global-styles-provider/index.js +9 -2
  126. package/build-module/components/global-styles-provider/index.js.map +1 -1
  127. package/build-module/components/header/back-button.js +4 -1
  128. package/build-module/components/header/back-button.js.map +1 -1
  129. package/build-module/components/header/index.js +1 -5
  130. package/build-module/components/header/index.js.map +1 -1
  131. package/build-module/components/index.js +7 -0
  132. package/build-module/components/index.js.map +1 -1
  133. package/build-module/components/media-categories/index.js +1 -1
  134. package/build-module/components/media-categories/index.js.map +1 -1
  135. package/build-module/components/post-actions/actions.js +10 -4
  136. package/build-module/components/post-actions/actions.js.map +1 -1
  137. package/build-module/components/post-last-revision/index.js +34 -11
  138. package/build-module/components/post-last-revision/index.js.map +1 -1
  139. package/build-module/components/post-preview-button/index.js +1 -0
  140. package/build-module/components/post-preview-button/index.js.map +1 -1
  141. package/build-module/components/post-publish-button/index.js +4 -0
  142. package/build-module/components/post-publish-button/index.js.map +1 -1
  143. package/build-module/components/post-publish-button/label.js +6 -0
  144. package/build-module/components/post-publish-button/label.js.map +1 -1
  145. package/build-module/components/post-publish-panel/index.js +5 -0
  146. package/build-module/components/post-publish-panel/index.js.map +1 -1
  147. package/build-module/components/post-sticky/check.js +9 -0
  148. package/build-module/components/post-sticky/check.js.map +1 -1
  149. package/build-module/components/post-sticky/index.js +6 -0
  150. package/build-module/components/post-sticky/index.js.map +1 -1
  151. package/build-module/components/post-switch-to-draft-button/index.js +10 -1
  152. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  153. package/build-module/components/post-sync-status/index.js +7 -1
  154. package/build-module/components/post-sync-status/index.js.map +1 -1
  155. package/build-module/components/post-taxonomies/check.js +9 -0
  156. package/build-module/components/post-taxonomies/check.js.map +1 -1
  157. package/build-module/components/post-taxonomies/flat-term-selector.js +14 -2
  158. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  159. package/build-module/components/post-taxonomies/index.js +9 -0
  160. package/build-module/components/post-taxonomies/index.js.map +1 -1
  161. package/build-module/components/post-taxonomies/panel.js +10 -0
  162. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  163. package/build-module/components/post-title/index.js +4 -8
  164. package/build-module/components/post-title/index.js.map +1 -1
  165. package/build-module/components/post-title/post-title-raw.js +3 -7
  166. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  167. package/build-module/components/post-trash/check.js +9 -0
  168. package/build-module/components/post-trash/check.js.map +1 -1
  169. package/build-module/components/post-trash/index.js +7 -0
  170. package/build-module/components/post-trash/index.js.map +1 -1
  171. package/build-module/components/post-url/panel.js +26 -3
  172. package/build-module/components/post-url/panel.js.map +1 -1
  173. package/build-module/components/post-visibility/index.js +1 -0
  174. package/build-module/components/post-visibility/index.js.map +1 -1
  175. package/build-module/components/provider/disable-non-page-content-blocks.js +5 -3
  176. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  177. package/build-module/components/provider/index.js +18 -15
  178. package/build-module/components/provider/index.js.map +1 -1
  179. package/build-module/components/sidebar/post-summary.js +3 -2
  180. package/build-module/components/sidebar/post-summary.js.map +1 -1
  181. package/build-module/components/table-of-contents/index.js +11 -0
  182. package/build-module/components/table-of-contents/index.js.map +1 -1
  183. package/build-module/components/template-part-menu-items/convert-to-regular.js +31 -0
  184. package/build-module/components/template-part-menu-items/convert-to-regular.js.map +1 -0
  185. package/build-module/components/template-part-menu-items/convert-to-template-part.js +71 -0
  186. package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -0
  187. package/build-module/components/template-part-menu-items/index.js +59 -0
  188. package/build-module/components/template-part-menu-items/index.js.map +1 -0
  189. package/build-module/components/template-part-menu-items/index.native.js +4 -0
  190. package/build-module/components/template-part-menu-items/index.native.js.map +1 -0
  191. package/build-module/components/template-validation-notice/index.js +1 -0
  192. package/build-module/components/template-validation-notice/index.js.map +1 -1
  193. package/build-module/components/theme-support-check/index.js +10 -0
  194. package/build-module/components/theme-support-check/index.js.map +1 -1
  195. package/build-module/components/time-to-read/index.js +6 -0
  196. package/build-module/components/time-to-read/index.js.map +1 -1
  197. package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -0
  198. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  199. package/build-module/components/word-count/index.js +6 -0
  200. package/build-module/components/word-count/index.js.map +1 -1
  201. package/build-module/dataviews/api.js +54 -0
  202. package/build-module/dataviews/api.js.map +1 -0
  203. package/build-module/dataviews/store/private-actions.js +21 -0
  204. package/build-module/dataviews/store/private-actions.js.map +1 -0
  205. package/build-module/dataviews/store/private-selectors.js +14 -0
  206. package/build-module/dataviews/store/private-selectors.js.map +1 -0
  207. package/build-module/dataviews/store/reducer.js +29 -0
  208. package/build-module/dataviews/store/reducer.js.map +1 -0
  209. package/build-module/hooks/pattern-overrides.js +2 -1
  210. package/build-module/hooks/pattern-overrides.js.map +1 -1
  211. package/build-module/index.js +1 -0
  212. package/build-module/index.js.map +1 -1
  213. package/build-module/private-apis.js +2 -6
  214. package/build-module/private-apis.js.map +1 -1
  215. package/build-module/private-apis.native.js +0 -2
  216. package/build-module/private-apis.native.js.map +1 -1
  217. package/build-module/store/private-actions.js +1 -0
  218. package/build-module/store/private-actions.js.map +1 -1
  219. package/build-module/store/private-selectors.js +4 -0
  220. package/build-module/store/private-selectors.js.map +1 -1
  221. package/build-module/store/reducer.js +3 -1
  222. package/build-module/store/reducer.js.map +1 -1
  223. package/build-style/style-rtl.css +35 -43
  224. package/build-style/style.css +35 -43
  225. package/build-types/dataviews/store/private-actions.d.ts +17 -0
  226. package/build-types/dataviews/store/private-actions.d.ts.map +1 -0
  227. package/build-types/dataviews/store/private-selectors.d.ts +10 -0
  228. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -0
  229. package/build-types/dataviews/store/reducer.d.ts +11 -0
  230. package/build-types/dataviews/store/reducer.d.ts.map +1 -0
  231. package/package.json +35 -35
  232. package/src/components/block-settings-menu/content-only-settings-menu.js +26 -12
  233. package/src/components/collapsible-block-toolbar/style.scss +3 -1
  234. package/src/components/document-tools/index.js +13 -4
  235. package/src/components/editor/index.js +88 -0
  236. package/src/components/editor-interface/index.js +5 -5
  237. package/src/components/editor-interface/style.scss +3 -0
  238. package/src/components/entities-saved-states/hooks/use-is-dirty.js +9 -0
  239. package/src/components/entities-saved-states/index.js +26 -0
  240. package/src/components/entities-saved-states/style.scss +0 -7
  241. package/src/components/global-styles-provider/index.js +12 -2
  242. package/src/components/header/back-button.js +6 -1
  243. package/src/components/header/index.js +1 -8
  244. package/src/components/header/style.scss +1 -1
  245. package/src/components/index.js +7 -0
  246. package/src/components/keyboard-shortcut-help-modal/style.scss +0 -3
  247. package/src/components/media-categories/index.js +1 -3
  248. package/src/components/post-actions/actions.js +9 -3
  249. package/src/components/post-card-panel/style.scss +4 -0
  250. package/src/components/post-last-revision/index.js +30 -7
  251. package/src/components/post-last-revision/style.scss +4 -0
  252. package/src/components/post-panel-row/style.scss +2 -1
  253. package/src/components/post-preview-button/index.js +1 -0
  254. package/src/components/post-preview-button/test/index.js +10 -2
  255. package/src/components/post-publish-button/index.js +3 -0
  256. package/src/components/post-publish-button/label.js +5 -0
  257. package/src/components/post-publish-panel/index.js +4 -0
  258. package/src/components/post-publish-panel/style.scss +28 -36
  259. package/src/components/post-status/style.scss +5 -0
  260. package/src/components/post-sticky/check.js +8 -0
  261. package/src/components/post-sticky/index.js +5 -0
  262. package/src/components/post-switch-to-draft-button/index.js +10 -1
  263. package/src/components/post-sync-status/index.js +7 -8
  264. package/src/components/post-taxonomies/check.js +8 -0
  265. package/src/components/post-taxonomies/flat-term-selector.js +13 -2
  266. package/src/components/post-taxonomies/index.js +8 -0
  267. package/src/components/post-taxonomies/panel.js +9 -0
  268. package/src/components/post-title/index.js +2 -5
  269. package/src/components/post-title/post-title-raw.js +2 -5
  270. package/src/components/post-trash/check.js +8 -0
  271. package/src/components/post-trash/index.js +6 -0
  272. package/src/components/post-url/panel.js +13 -5
  273. package/src/components/post-visibility/index.js +1 -0
  274. package/src/components/provider/disable-non-page-content-blocks.js +9 -4
  275. package/src/components/provider/index.js +17 -17
  276. package/src/components/save-publish-panels/style.scss +0 -8
  277. package/src/components/sidebar/post-summary.js +3 -1
  278. package/src/components/table-of-contents/index.js +10 -0
  279. package/src/components/template-part-menu-items/convert-to-regular.js +32 -0
  280. package/src/components/template-part-menu-items/convert-to-template-part.js +75 -0
  281. package/src/components/template-part-menu-items/index.js +59 -0
  282. package/src/components/template-part-menu-items/index.native.js +3 -0
  283. package/src/components/template-validation-notice/index.js +1 -0
  284. package/src/components/theme-support-check/index.js +9 -0
  285. package/src/components/time-to-read/index.js +5 -0
  286. package/src/components/visual-editor/edit-template-blocks-notification.js +1 -0
  287. package/src/components/word-count/index.js +5 -0
  288. package/src/dataviews/api.js +55 -0
  289. package/src/dataviews/store/private-actions.ts +30 -0
  290. package/src/dataviews/store/private-selectors.ts +15 -0
  291. package/src/dataviews/store/reducer.ts +44 -0
  292. package/src/hooks/pattern-overrides.js +2 -0
  293. package/src/index.js +1 -0
  294. package/src/private-apis.js +2 -6
  295. package/src/private-apis.native.js +0 -2
  296. package/src/store/private-actions.js +1 -0
  297. package/src/store/private-selectors.js +5 -0
  298. package/src/store/reducer.js +2 -0
  299. package/src/style.scss +1 -0
  300. package/tsconfig.json +36 -0
  301. package/tsconfig.tsbuildinfo +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_i18n","_data","_hooks","_coreData","_store","_jsxRuntime","writeInterstitialMessage","targetDocument","markup","renderToString","jsxs","className","children","SVG","xmlns","viewBox","jsx","Path","d","fill","__","applyFilters","write","title","close","PostPreviewButton","textContent","forceIsAutosaveable","role","onPreview","postId","currentPostLink","previewLink","isSaveable","isViewable","useSelect","select","_postType$viewable","editor","editorStore","core","coreStore","postType","getPostType","getCurrentPostType","getCurrentPostId","getCurrentPostAttribute","getEditedPostPreviewLink","isEditedPostSaveable","viewable","__unstableSaveForPreview","useDispatch","targetId","openPreviewWindow","event","preventDefault","previewWindow","window","open","focus","document","link","location","href","Button","variant","undefined","target","disabled","onClick","size","Fragment","_x","VisuallyHidden","as"],"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\n/**\n * Renders a button that opens a new window or tab for the preview,\n * writes the interstitial message to this window, and then navigates\n * to the actual preview link. The button is not rendered if the post\n * is not viewable and disabled if the post is not saveable.\n *\n * @param {Object} props The component props.\n * @param {string} props.className The class name for the button.\n * @param {string} props.textContent The text content for the button.\n * @param {boolean} props.forceIsAutosaveable Whether to force autosave.\n * @param {string} props.role The role attribute for the button.\n * @param {Function} props.onPreview The callback function for preview event.\n *\n * @return {JSX.Element|null} The rendered button component.\n */\nexport default function PostPreviewButton( {\n\tclassName,\n\ttextContent,\n\tforceIsAutosaveable,\n\trole,\n\tonPreview,\n} ) {\n\tconst { postId, currentPostLink, previewLink, isSaveable, isViewable } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst editor = select( editorStore );\n\t\t\tconst core = select( coreStore );\n\n\t\t\tconst postType = core.getPostType(\n\t\t\t\teditor.getCurrentPostType( 'type' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tpostId: editor.getCurrentPostId(),\n\t\t\t\tcurrentPostLink: editor.getCurrentPostAttribute( 'link' ),\n\t\t\t\tpreviewLink: editor.getEditedPostPreviewLink(),\n\t\t\t\tisSaveable: editor.isEditedPostSaveable(),\n\t\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\t};\n\t\t}, [] );\n\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\n\tif ( ! isViewable ) {\n\t\treturn null;\n\t}\n\n\tconst targetId = `wp-preview-${ postId }`;\n\n\tconst openPreviewWindow = async ( event ) => {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tconst previewWindow = window.open( '', targetId );\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tpreviewWindow.focus();\n\n\t\twriteInterstitialMessage( previewWindow.document );\n\n\t\tconst link = await __unstableSaveForPreview( { forceIsAutosaveable } );\n\n\t\tpreviewWindow.location = link;\n\n\t\tonPreview?.();\n\t};\n\n\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t// changes that were autosaved since the post was last published. Otherwise,\n\t// just link to the post's URL.\n\tconst href = previewLink || currentPostLink;\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ ! className ? 'tertiary' : undefined }\n\t\t\tclassName={ className || 'editor-post-preview' }\n\t\t\thref={ href }\n\t\t\ttarget={ targetId }\n\t\t\tdisabled={ ! isSaveable }\n\t\t\tonClick={ openPreviewWindow }\n\t\t\trole={ role }\n\t\t\tsize=\"compact\"\n\t\t>\n\t\t\t{ textContent || (\n\t\t\t\t<>\n\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_components","_i18n","_data","_hooks","_coreData","_store","_jsxRuntime","writeInterstitialMessage","targetDocument","markup","renderToString","jsxs","className","children","SVG","xmlns","viewBox","jsx","Path","d","fill","__","applyFilters","write","title","close","PostPreviewButton","textContent","forceIsAutosaveable","role","onPreview","postId","currentPostLink","previewLink","isSaveable","isViewable","useSelect","select","_postType$viewable","editor","editorStore","core","coreStore","postType","getPostType","getCurrentPostType","getCurrentPostId","getCurrentPostAttribute","getEditedPostPreviewLink","isEditedPostSaveable","viewable","__unstableSaveForPreview","useDispatch","targetId","openPreviewWindow","event","preventDefault","previewWindow","window","open","focus","document","link","location","href","Button","variant","undefined","target","__experimentalIsFocusable","disabled","onClick","size","Fragment","_x","VisuallyHidden","as"],"sources":["@wordpress/editor/src/components/post-preview-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport { Button, Path, SVG, VisuallyHidden } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction writeInterstitialMessage( targetDocument ) {\n\tlet markup = renderToString(\n\t\t<div className=\"editor-post-preview-button__interstitial-message\">\n\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 96 96\">\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"outer\"\n\t\t\t\t\td=\"M48 12c19.9 0 36 16.1 36 36S67.9 84 48 84 12 67.9 12 48s16.1-36 36-36\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t\t<Path\n\t\t\t\t\tclassName=\"inner\"\n\t\t\t\t\td=\"M69.5 46.4c0-3.9-1.4-6.7-2.6-8.8-1.6-2.6-3.1-4.9-3.1-7.5 0-2.9 2.2-5.7 5.4-5.7h.4C63.9 19.2 56.4 16 48 16c-11.2 0-21 5.7-26.7 14.4h2.1c3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3L40 67.5l7-20.9L42 33c-1.7-.1-3.3-.3-3.3-.3-1.7-.1-1.5-2.7.2-2.6 0 0 5.3.4 8.4.4 3.3 0 8.5-.4 8.5-.4 1.7-.1 1.9 2.4.2 2.6 0 0-1.7.2-3.7.3l11.5 34.3 3.3-10.4c1.6-4.5 2.4-7.8 2.4-10.5zM16.1 48c0 12.6 7.3 23.5 18 28.7L18.8 35c-1.7 4-2.7 8.4-2.7 13zm32.5 2.8L39 78.6c2.9.8 5.9 1.3 9 1.3 3.7 0 7.3-.6 10.6-1.8-.1-.1-.2-.3-.2-.4l-9.8-26.9zM76.2 36c0 3.2-.6 6.9-2.4 11.4L64 75.6c9.5-5.5 15.9-15.8 15.9-27.6 0-5.5-1.4-10.8-3.9-15.3.1 1 .2 2.1.2 3.3z\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t\t<p>{ __( 'Generating preview…' ) }</p>\n\t\t</div>\n\t);\n\n\tmarkup += `\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\twidth: 100vw;\n\t\t\t}\n\t\t\t@-webkit-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-moz-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@-o-keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@keyframes paint {\n\t\t\t\t0% {\n\t\t\t\t\tstroke-dashoffset: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg {\n\t\t\t\twidth: 192px;\n\t\t\t\theight: 192px;\n\t\t\t\tstroke: #555d66;\n\t\t\t\tstroke-width: 0.75;\n\t\t\t}\n\t\t\t.editor-post-preview-button__interstitial-message svg .outer,\n\t\t\t.editor-post-preview-button__interstitial-message svg .inner {\n\t\t\t\tstroke-dasharray: 280;\n\t\t\t\tstroke-dashoffset: 280;\n\t\t\t\t-webkit-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-moz-animation: paint 1.5s ease infinite alternate;\n\t\t\t\t-o-animation: paint 1.5s ease infinite alternate;\n\t\t\t\tanimation: paint 1.5s ease infinite alternate;\n\t\t\t}\n\t\t\tp {\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\t\t}\n\t\t</style>\n\t`;\n\n\t/**\n\t * Filters the interstitial message shown when generating previews.\n\t *\n\t * @param {string} markup The preview interstitial markup.\n\t */\n\tmarkup = applyFilters( 'editor.PostPreview.interstitialMarkup', markup );\n\n\ttargetDocument.write( markup );\n\ttargetDocument.title = __( 'Generating preview…' );\n\ttargetDocument.close();\n}\n\n/**\n * Renders a button that opens a new window or tab for the preview,\n * writes the interstitial message to this window, and then navigates\n * to the actual preview link. The button is not rendered if the post\n * is not viewable and disabled if the post is not saveable.\n *\n * @param {Object} props The component props.\n * @param {string} props.className The class name for the button.\n * @param {string} props.textContent The text content for the button.\n * @param {boolean} props.forceIsAutosaveable Whether to force autosave.\n * @param {string} props.role The role attribute for the button.\n * @param {Function} props.onPreview The callback function for preview event.\n *\n * @return {JSX.Element|null} The rendered button component.\n */\nexport default function PostPreviewButton( {\n\tclassName,\n\ttextContent,\n\tforceIsAutosaveable,\n\trole,\n\tonPreview,\n} ) {\n\tconst { postId, currentPostLink, previewLink, isSaveable, isViewable } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst editor = select( editorStore );\n\t\t\tconst core = select( coreStore );\n\n\t\t\tconst postType = core.getPostType(\n\t\t\t\teditor.getCurrentPostType( 'type' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tpostId: editor.getCurrentPostId(),\n\t\t\t\tcurrentPostLink: editor.getCurrentPostAttribute( 'link' ),\n\t\t\t\tpreviewLink: editor.getEditedPostPreviewLink(),\n\t\t\t\tisSaveable: editor.isEditedPostSaveable(),\n\t\t\t\tisViewable: postType?.viewable ?? false,\n\t\t\t};\n\t\t}, [] );\n\n\tconst { __unstableSaveForPreview } = useDispatch( editorStore );\n\n\tif ( ! isViewable ) {\n\t\treturn null;\n\t}\n\n\tconst targetId = `wp-preview-${ postId }`;\n\n\tconst openPreviewWindow = async ( event ) => {\n\t\t// Our Preview button has its 'href' and 'target' set correctly for a11y\n\t\t// purposes. Unfortunately, though, we can't rely on the default 'click'\n\t\t// handler since sometimes it incorrectly opens a new tab instead of reusing\n\t\t// the existing one.\n\t\t// https://github.com/WordPress/gutenberg/pull/8330\n\t\tevent.preventDefault();\n\n\t\t// Open up a Preview tab if needed. This is where we'll show the preview.\n\t\tconst previewWindow = window.open( '', targetId );\n\n\t\t// Focus the Preview tab. This might not do anything, depending on the browser's\n\t\t// and user's preferences.\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tpreviewWindow.focus();\n\n\t\twriteInterstitialMessage( previewWindow.document );\n\n\t\tconst link = await __unstableSaveForPreview( { forceIsAutosaveable } );\n\n\t\tpreviewWindow.location = link;\n\n\t\tonPreview?.();\n\t};\n\n\t// Link to the `?preview=true` URL if we have it, since this lets us see\n\t// changes that were autosaved since the post was last published. Otherwise,\n\t// just link to the post's URL.\n\tconst href = previewLink || currentPostLink;\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ ! className ? 'tertiary' : undefined }\n\t\t\tclassName={ className || 'editor-post-preview' }\n\t\t\thref={ href }\n\t\t\ttarget={ targetId }\n\t\t\t__experimentalIsFocusable\n\t\t\tdisabled={ ! isSaveable }\n\t\t\tonClick={ openPreviewWindow }\n\t\t\trole={ role }\n\t\t\tsize=\"compact\"\n\t\t>\n\t\t\t{ textContent || (\n\t\t\t\t<>\n\t\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -177,6 +177,10 @@ class PostPublishButton extends _element.Component {
177
177
  });
178
178
  }
179
179
  }
180
+
181
+ /**
182
+ * Renders the publish button.
183
+ */
180
184
  exports.PostPublishButton = PostPublishButton;
181
185
  var _default = exports.default = (0, _compose.compose)([(0, _data.withSelect)(select => {
182
186
  var _getCurrentPost$_link;
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_data","_compose","_label","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","noop","PostPublishButton","Component","constructor","props","buttonNode","createRef","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","hasPostMetaChanges","setEntitiesSavedStatesCallback","isPublished","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isSaveable","isSaving","isAutoSaving","isToggle","savePostStatus","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","postStatus","postStatusHasChanged","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","componentProps","jsx","Fragment","children","Button","ref","default","exports","_default","compose","withSelect","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","getEditedPostAttribute","getPostEdits","unlock","editorStore","_links","status","withDispatch","dispatch","editPost","savePost","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst {\n\t\t\t\thasNonPostEntityChanges,\n\t\t\t\thasPostMetaChanges,\n\t\t\t\tsetEntitiesSavedStatesCallback,\n\t\t\t\tisPublished,\n\t\t\t} = this.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\t//\n\t\t\t// TODO: Explore how to manage `hasPostMetaChanges` and pre-publish workflow properly.\n\t\t\tif (\n\t\t\t\t( hasNonPostEntityChanges ||\n\t\t\t\t\t( hasPostMetaChanges && isPublished ) ) &&\n\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tsavePostStatus,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tpostStatus,\n\t\t\tpostStatusHasChanged,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\t// If the new status has not changed explicitely, we derive it from\n\t\t// other factors, like having a publish action, etc.. We need to preserve\n\t\t// this because it affects when to show the pre and post publish panels.\n\t\t// If it has changed though explicitely, we need to respect that.\n\t\tlet publishStatus = 'publish';\n\t\tif ( postStatusHasChanged ) {\n\t\t\tpublishStatus = postStatus;\n\t\t} else if ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tsavePostStatus( publishStatus );\n\t\t};\n\n\t\t// Callback to open the publish panel.\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ `${ componentProps.className } editor-post-publish-button__button` }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<PublishButtonLabel />\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetPostEdits,\n\t\t\thasPostMetaChanges,\n\t\t} = unlock( select( editorStore ) );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t\tpostStatusHasChanged: getPostEdits()?.status,\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\thasPostMetaChanges: hasPostMetaChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tsavePostStatus: ( status ) => {\n\t\t\t\teditPost( { status }, { undoIgnore: true } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_data","_compose","_label","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","noop","PostPublishButton","Component","constructor","props","buttonNode","createRef","createOnClick","bind","closeEntitiesSavedStates","state","entitiesSavedStatesCallback","componentDidMount","focusOnMount","timeoutID","setTimeout","current","focus","componentWillUnmount","clearTimeout","callback","args","hasNonPostEntityChanges","hasPostMetaChanges","setEntitiesSavedStatesCallback","isPublished","setState","savedEntities","postType","postId","some","elt","kind","name","key","render","forceIsDirty","hasPublishAction","isBeingScheduled","isOpen","isPostSavingLocked","isPublishable","isSaveable","isSaving","isAutoSaving","isToggle","savePostStatus","onSubmit","onToggle","visibility","isSavingNonPostEntityChanges","postStatus","postStatusHasChanged","isButtonDisabled","isToggleDisabled","publishStatus","onClickButton","onClickToggle","buttonProps","className","isBusy","variant","onClick","toggleProps","size","componentProps","jsx","Fragment","children","Button","ref","default","exports","_default","compose","withSelect","select","_getCurrentPost$_link","isSavingPost","isAutosavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isCurrentPostPublished","isEditedPostSaveable","isEditedPostPublishable","getCurrentPost","getCurrentPostType","getCurrentPostId","getEditedPostAttribute","getPostEdits","unlock","editorStore","_links","status","withDispatch","dispatch","editPost","savePost","undoIgnore"],"sources":["@wordpress/editor/src/components/post-publish-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst noop = () => {};\n\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\n\t\tthis.createOnClick = this.createOnClick.bind( this );\n\t\tthis.closeEntitiesSavedStates =\n\t\t\tthis.closeEntitiesSavedStates.bind( this );\n\n\t\tthis.state = {\n\t\t\tentitiesSavedStatesCallback: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\t// This timeout is necessary to make sure the `useEffect` hook of\n\t\t\t// `useFocusReturn` gets the correct element (the button that opens the\n\t\t\t// PostPublishPanel) otherwise it will get this button.\n\t\t\tthis.timeoutID = setTimeout( () => {\n\t\t\t\tthis.buttonNode.current.focus();\n\t\t\t}, 0 );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timeoutID );\n\t}\n\n\tcreateOnClick( callback ) {\n\t\treturn ( ...args ) => {\n\t\t\tconst {\n\t\t\t\thasNonPostEntityChanges,\n\t\t\t\thasPostMetaChanges,\n\t\t\t\tsetEntitiesSavedStatesCallback,\n\t\t\t\tisPublished,\n\t\t\t} = this.props;\n\t\t\t// If a post with non-post entities is published, but the user\n\t\t\t// elects to not save changes to the non-post entities, those\n\t\t\t// entities will still be dirty when the Publish button is clicked.\n\t\t\t// We also need to check that the `setEntitiesSavedStatesCallback`\n\t\t\t// prop was passed. See https://github.com/WordPress/gutenberg/pull/37383\n\t\t\t//\n\t\t\t// TODO: Explore how to manage `hasPostMetaChanges` and pre-publish workflow properly.\n\t\t\tif (\n\t\t\t\t( hasNonPostEntityChanges ||\n\t\t\t\t\t( hasPostMetaChanges && isPublished ) ) &&\n\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t) {\n\t\t\t\t// The modal for multiple entity saving will open,\n\t\t\t\t// hold the callback for saving/publishing the post\n\t\t\t\t// so that we can call it if the post entity is checked.\n\t\t\t\tthis.setState( {\n\t\t\t\t\tentitiesSavedStatesCallback: () => callback( ...args ),\n\t\t\t\t} );\n\n\t\t\t\t// Open the save panel by setting its callback.\n\t\t\t\t// To set a function on the useState hook, we must set it\n\t\t\t\t// with another function (() => myFunction). Passing the\n\t\t\t\t// function on its own will cause an error when called.\n\t\t\t\tsetEntitiesSavedStatesCallback(\n\t\t\t\t\t() => this.closeEntitiesSavedStates\n\t\t\t\t);\n\t\t\t\treturn noop;\n\t\t\t}\n\n\t\t\treturn callback( ...args );\n\t\t};\n\t}\n\n\tcloseEntitiesSavedStates( savedEntities ) {\n\t\tconst { postType, postId } = this.props;\n\t\tconst { entitiesSavedStatesCallback } = this.state;\n\t\tthis.setState( { entitiesSavedStatesCallback: false }, () => {\n\t\t\tif (\n\t\t\t\tsavedEntities &&\n\t\t\t\tsavedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === 'postType' &&\n\t\t\t\t\t\telt.name === postType &&\n\t\t\t\t\t\telt.key === postId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// The post entity was checked, call the held callback from `createOnClick`.\n\t\t\t\tentitiesSavedStatesCallback();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\thasPublishAction,\n\t\t\tisBeingScheduled,\n\t\t\tisOpen,\n\t\t\tisPostSavingLocked,\n\t\t\tisPublishable,\n\t\t\tisPublished,\n\t\t\tisSaveable,\n\t\t\tisSaving,\n\t\t\tisAutoSaving,\n\t\t\tisToggle,\n\t\t\tsavePostStatus,\n\t\t\tonSubmit = noop,\n\t\t\tonToggle,\n\t\t\tvisibility,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tpostStatus,\n\t\t\tpostStatusHasChanged,\n\t\t} = this.props;\n\n\t\tconst isButtonDisabled =\n\t\t\t( isSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\tisPostSavingLocked ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\tconst isToggleDisabled =\n\t\t\t( isPublished ||\n\t\t\t\tisSaving ||\n\t\t\t\t! isSaveable ||\n\t\t\t\t( ! isPublishable && ! forceIsDirty ) ) &&\n\t\t\t( ! hasNonPostEntityChanges || isSavingNonPostEntityChanges );\n\n\t\t// If the new status has not changed explicitely, we derive it from\n\t\t// other factors, like having a publish action, etc.. We need to preserve\n\t\t// this because it affects when to show the pre and post publish panels.\n\t\t// If it has changed though explicitely, we need to respect that.\n\t\tlet publishStatus = 'publish';\n\t\tif ( postStatusHasChanged ) {\n\t\t\tpublishStatus = postStatus;\n\t\t} else if ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t}\n\n\t\tconst onClickButton = () => {\n\t\t\tif ( isButtonDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSubmit();\n\t\t\tsavePostStatus( publishStatus );\n\t\t};\n\n\t\t// Callback to open the publish panel.\n\t\tconst onClickToggle = () => {\n\t\t\tif ( isToggleDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonToggle();\n\t\t};\n\n\t\tconst buttonProps = {\n\t\t\t'aria-disabled': isButtonDisabled,\n\t\t\tclassName: 'editor-post-publish-button',\n\t\t\tisBusy: ! isAutoSaving && isSaving,\n\t\t\tvariant: 'primary',\n\t\t\tonClick: this.createOnClick( onClickButton ),\n\t\t};\n\n\t\tconst toggleProps = {\n\t\t\t'aria-disabled': isToggleDisabled,\n\t\t\t'aria-expanded': isOpen,\n\t\t\tclassName: 'editor-post-publish-panel__toggle',\n\t\t\tisBusy: isSaving && isPublished,\n\t\t\tvariant: 'primary',\n\t\t\tsize: 'compact',\n\t\t\tonClick: this.createOnClick( onClickToggle ),\n\t\t};\n\t\tconst componentProps = isToggle ? toggleProps : buttonProps;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ this.buttonNode }\n\t\t\t\t\t{ ...componentProps }\n\t\t\t\t\tclassName={ `${ componentProps.className } editor-post-publish-button__button` }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<PublishButtonLabel />\n\t\t\t\t</Button>\n\t\t\t</>\n\t\t);\n\t}\n}\n\n/**\n * Renders the publish button.\n */\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisAutosavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\thasNonPostEntityChanges,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetPostEdits,\n\t\t\thasPostMetaChanges,\n\t\t} = unlock( select( editorStore ) );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisAutoSaving: isAutosavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPostSavingLocked: isPostSavingLocked(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t\tpostStatusHasChanged: getPostEdits()?.status,\n\t\t\thasNonPostEntityChanges: hasNonPostEntityChanges(),\n\t\t\thasPostMetaChanges: hasPostMetaChanges(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tsavePostStatus: ( status ) => {\n\t\t\t\teditPost( { status }, { undoIgnore: true } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostPublishButton );\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,11 @@ var _store = require("../../store");
16
16
  * Internal dependencies
17
17
  */
18
18
 
19
+ /**
20
+ * Renders the label for the publish button.
21
+ *
22
+ * @return {string} The label for the publish button.
23
+ */
19
24
  function PublishButtonLabel() {
20
25
  const isSmallerThanMediumViewport = (0, _compose.useViewportMatch)('medium', '<');
21
26
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_compose","_store","PublishButtonLabel","isSmallerThanMediumViewport","useViewportMatch","isPublished","isBeingScheduled","isSaving","isPublishing","hasPublishAction","isAutosaving","hasNonPostEntityChanges","postStatusHasChanged","postStatus","useSelect","select","_getCurrentPost$_link","isCurrentPostPublished","isEditedPostBeingScheduled","isSavingPost","isPublishingPost","getCurrentPost","getCurrentPostType","isAutosavingPost","getPostEdits","getEditedPostAttribute","editorStore","_links","postType","status","__","includes"],"sources":["@wordpress/editor/src/components/post-publish-button/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PublishButtonLabel() {\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\tisPublished,\n\t\tisBeingScheduled,\n\t\tisSaving,\n\t\tisPublishing,\n\t\thasPublishAction,\n\t\tisAutosaving,\n\t\thasNonPostEntityChanges,\n\t\tpostStatusHasChanged,\n\t\tpostStatus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisSavingPost,\n\t\t\tisPublishingPost,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tisAutosavingPost,\n\t\t\tgetPostEdits,\n\t\t\tgetEditedPostAttribute,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublishing: isPublishingPost(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\thasNonPostEntityChanges:\n\t\t\t\tselect( editorStore ).hasNonPostEntityChanges(),\n\t\t\tpostStatusHasChanged: !! getPostEdits()?.status,\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t};\n\t}, [] );\n\tif ( isPublishing ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Publishing…' );\n\t} else if (\n\t\t( isPublished || isBeingScheduled ) &&\n\t\tisSaving &&\n\t\t! isAutosaving\n\t) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Saving…' );\n\t}\n\tif ( ! hasPublishAction ) {\n\t\t// TODO: this is because \"Submit for review\" string is too long in some languages.\n\t\t// @see https://github.com/WordPress/gutenberg/issues/10475\n\t\treturn isSmallerThanMediumViewport\n\t\t\t? __( 'Publish' )\n\t\t\t: __( 'Submit for Review' );\n\t}\n\tif (\n\t\thasNonPostEntityChanges ||\n\t\tisPublished ||\n\t\t( postStatusHasChanged &&\n\t\t\t! [ 'future', 'publish' ].includes( postStatus ) ) ||\n\t\t( ! postStatusHasChanged && postStatus === 'future' )\n\t) {\n\t\treturn __( 'Save' );\n\t}\n\tif ( isBeingScheduled ) {\n\t\treturn __( 'Schedule' );\n\t}\n\treturn __( 'Publish' );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASI,kBAAkBA,CAAA,EAAG;EAC5C,MAAMC,2BAA2B,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EACrE,MAAM;IACLC,WAAW;IACXC,gBAAgB;IAChBC,QAAQ;IACRC,YAAY;IACZC,gBAAgB;IAChBC,YAAY;IACZC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC5B,MAAM;MACLC,sBAAsB;MACtBC,0BAA0B;MAC1BC,YAAY;MACZC,gBAAgB;MAChBC,cAAc;MACdC,kBAAkB;MAClBC,gBAAgB;MAChBC,YAAY;MACZC;IACD,CAAC,GAAGV,MAAM,CAAEW,YAAY,CAAC;IACzB,OAAO;MACNrB,WAAW,EAAEY,sBAAsB,CAAC,CAAC;MACrCX,gBAAgB,EAAEY,0BAA0B,CAAC,CAAC;MAC9CX,QAAQ,EAAEY,YAAY,CAAC,CAAC;MACxBX,YAAY,EAAEY,gBAAgB,CAAC,CAAC;MAChCX,gBAAgB,GAAAO,qBAAA,GACfK,cAAc,CAAC,CAAC,CAACM,MAAM,GAAI,mBAAmB,CAAE,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MAC1DY,QAAQ,EAAEN,kBAAkB,CAAC,CAAC;MAC9BZ,YAAY,EAAEa,gBAAgB,CAAC,CAAC;MAChCZ,uBAAuB,EACtBI,MAAM,CAAEW,YAAY,CAAC,CAACf,uBAAuB,CAAC,CAAC;MAChDC,oBAAoB,EAAE,CAAC,CAAEY,YAAY,CAAC,CAAC,EAAEK,MAAM;MAC/ChB,UAAU,EAAEY,sBAAsB,CAAE,QAAS;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAKjB,YAAY,EAAG;IACnB;IACA,OAAO,IAAAsB,QAAE,EAAE,aAAc,CAAC;EAC3B,CAAC,MAAM,IACN,CAAEzB,WAAW,IAAIC,gBAAgB,KACjCC,QAAQ,IACR,CAAEG,YAAY,EACb;IACD;IACA,OAAO,IAAAoB,QAAE,EAAE,SAAU,CAAC;EACvB;EACA,IAAK,CAAErB,gBAAgB,EAAG;IACzB;IACA;IACA,OAAON,2BAA2B,GAC/B,IAAA2B,QAAE,EAAE,SAAU,CAAC,GACf,IAAAA,QAAE,EAAE,mBAAoB,CAAC;EAC7B;EACA,IACCnB,uBAAuB,IACvBN,WAAW,IACTO,oBAAoB,IACrB,CAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,CAACmB,QAAQ,CAAElB,UAAW,CAAG,IACjD,CAAED,oBAAoB,IAAIC,UAAU,KAAK,QAAU,EACpD;IACD,OAAO,IAAAiB,QAAE,EAAE,MAAO,CAAC;EACpB;EACA,IAAKxB,gBAAgB,EAAG;IACvB,OAAO,IAAAwB,QAAE,EAAE,UAAW,CAAC;EACxB;EACA,OAAO,IAAAA,QAAE,EAAE,SAAU,CAAC;AACvB","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_compose","_store","PublishButtonLabel","isSmallerThanMediumViewport","useViewportMatch","isPublished","isBeingScheduled","isSaving","isPublishing","hasPublishAction","isAutosaving","hasNonPostEntityChanges","postStatusHasChanged","postStatus","useSelect","select","_getCurrentPost$_link","isCurrentPostPublished","isEditedPostBeingScheduled","isSavingPost","isPublishingPost","getCurrentPost","getCurrentPostType","isAutosavingPost","getPostEdits","getEditedPostAttribute","editorStore","_links","postType","status","__","includes"],"sources":["@wordpress/editor/src/components/post-publish-button/label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the label for the publish button.\n *\n * @return {string} The label for the publish button.\n */\nexport default function PublishButtonLabel() {\n\tconst isSmallerThanMediumViewport = useViewportMatch( 'medium', '<' );\n\tconst {\n\t\tisPublished,\n\t\tisBeingScheduled,\n\t\tisSaving,\n\t\tisPublishing,\n\t\thasPublishAction,\n\t\tisAutosaving,\n\t\thasNonPostEntityChanges,\n\t\tpostStatusHasChanged,\n\t\tpostStatus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisSavingPost,\n\t\t\tisPublishingPost,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tisAutosavingPost,\n\t\t\tgetPostEdits,\n\t\t\tgetEditedPostAttribute,\n\t\t} = select( editorStore );\n\t\treturn {\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublishing: isPublishingPost(),\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\thasNonPostEntityChanges:\n\t\t\t\tselect( editorStore ).hasNonPostEntityChanges(),\n\t\t\tpostStatusHasChanged: !! getPostEdits()?.status,\n\t\t\tpostStatus: getEditedPostAttribute( 'status' ),\n\t\t};\n\t}, [] );\n\tif ( isPublishing ) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Publishing…' );\n\t} else if (\n\t\t( isPublished || isBeingScheduled ) &&\n\t\tisSaving &&\n\t\t! isAutosaving\n\t) {\n\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\treturn __( 'Saving…' );\n\t}\n\tif ( ! hasPublishAction ) {\n\t\t// TODO: this is because \"Submit for review\" string is too long in some languages.\n\t\t// @see https://github.com/WordPress/gutenberg/issues/10475\n\t\treturn isSmallerThanMediumViewport\n\t\t\t? __( 'Publish' )\n\t\t\t: __( 'Submit for Review' );\n\t}\n\tif (\n\t\thasNonPostEntityChanges ||\n\t\tisPublished ||\n\t\t( postStatusHasChanged &&\n\t\t\t! [ 'future', 'publish' ].includes( postStatus ) ) ||\n\t\t( ! postStatusHasChanged && postStatus === 'future' )\n\t) {\n\t\treturn __( 'Save' );\n\t}\n\tif ( isBeingScheduled ) {\n\t\treturn __( 'Schedule' );\n\t}\n\treturn __( 'Publish' );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACe,SAASI,kBAAkBA,CAAA,EAAG;EAC5C,MAAMC,2BAA2B,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EACrE,MAAM;IACLC,WAAW;IACXC,gBAAgB;IAChBC,QAAQ;IACRC,YAAY;IACZC,gBAAgB;IAChBC,YAAY;IACZC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC5B,MAAM;MACLC,sBAAsB;MACtBC,0BAA0B;MAC1BC,YAAY;MACZC,gBAAgB;MAChBC,cAAc;MACdC,kBAAkB;MAClBC,gBAAgB;MAChBC,YAAY;MACZC;IACD,CAAC,GAAGV,MAAM,CAAEW,YAAY,CAAC;IACzB,OAAO;MACNrB,WAAW,EAAEY,sBAAsB,CAAC,CAAC;MACrCX,gBAAgB,EAAEY,0BAA0B,CAAC,CAAC;MAC9CX,QAAQ,EAAEY,YAAY,CAAC,CAAC;MACxBX,YAAY,EAAEY,gBAAgB,CAAC,CAAC;MAChCX,gBAAgB,GAAAO,qBAAA,GACfK,cAAc,CAAC,CAAC,CAACM,MAAM,GAAI,mBAAmB,CAAE,cAAAX,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MAC1DY,QAAQ,EAAEN,kBAAkB,CAAC,CAAC;MAC9BZ,YAAY,EAAEa,gBAAgB,CAAC,CAAC;MAChCZ,uBAAuB,EACtBI,MAAM,CAAEW,YAAY,CAAC,CAACf,uBAAuB,CAAC,CAAC;MAChDC,oBAAoB,EAAE,CAAC,CAAEY,YAAY,CAAC,CAAC,EAAEK,MAAM;MAC/ChB,UAAU,EAAEY,sBAAsB,CAAE,QAAS;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAKjB,YAAY,EAAG;IACnB;IACA,OAAO,IAAAsB,QAAE,EAAE,aAAc,CAAC;EAC3B,CAAC,MAAM,IACN,CAAEzB,WAAW,IAAIC,gBAAgB,KACjCC,QAAQ,IACR,CAAEG,YAAY,EACb;IACD;IACA,OAAO,IAAAoB,QAAE,EAAE,SAAU,CAAC;EACvB;EACA,IAAK,CAAErB,gBAAgB,EAAG;IACzB;IACA;IACA,OAAON,2BAA2B,GAC/B,IAAA2B,QAAE,EAAE,SAAU,CAAC,GACf,IAAAA,QAAE,EAAE,mBAAoB,CAAC;EAC7B;EACA,IACCnB,uBAAuB,IACvBN,WAAW,IACTO,oBAAoB,IACrB,CAAE,CAAE,QAAQ,EAAE,SAAS,CAAE,CAACmB,QAAQ,CAAElB,UAAW,CAAG,IACjD,CAAED,oBAAoB,IAAIC,UAAU,KAAK,QAAU,EACpD;IACD,OAAO,IAAAiB,QAAE,EAAE,MAAO,CAAC;EACpB;EACA,IAAKxB,gBAAgB,EAAG;IACvB,OAAO,IAAAwB,QAAE,EAAE,UAAW,CAAC;EACxB;EACA,OAAO,IAAAA,QAAE,EAAE,SAAU,CAAC;AACvB","ignoreList":[]}
@@ -91,6 +91,7 @@ class PostPublishPanel extends _element.Component {
91
91
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
92
92
  className: "editor-post-publish-panel__header-cancel-button",
93
93
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
94
+ __experimentalIsFocusable: true,
94
95
  disabled: isSavingNonPostEntityChanges,
95
96
  onClick: onClose,
96
97
  variant: "secondary",
@@ -119,6 +120,10 @@ class PostPublishPanel extends _element.Component {
119
120
  });
120
121
  }
121
122
  }
123
+
124
+ /**
125
+ * Renders a panel for publishing a post.
126
+ */
122
127
  exports.PostPublishPanel = PostPublishPanel;
123
128
  var _default = exports.default = (0, _compose.compose)([(0, _data.withSelect)(select => {
124
129
  var _getCurrentPost$_link;
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_data","_compose","_icons","_coreData","_postPublishButton","_interopRequireDefault","_prepublish","_postpublish","_store","_jsxRuntime","PostPublishPanel","Component","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","jsxs","className","children","jsx","Button","onClick","icon","closeSmall","label","__","Fragment","default","focusOnMount","disabled","variant","size","Spinner","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","exports","_default","compose","withSelect","select","_getCurrentPost$_link","getPostType","coreStore","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","editorStore","postType","_links","viewable","withDispatch","dispatch","disablePublishSidebar","enablePublishSidebar","withFocusReturn","withConstrainedTabbing"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_data","_compose","_icons","_coreData","_postPublishButton","_interopRequireDefault","_prepublish","_postpublish","_store","_jsxRuntime","PostPublishPanel","Component","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","jsxs","className","children","jsx","Button","onClick","icon","closeSmall","label","__","Fragment","default","focusOnMount","__experimentalIsFocusable","disabled","variant","size","Spinner","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","exports","_default","compose","withSelect","select","_getCurrentPost$_link","getPostType","coreStore","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","editorStore","postType","_links","viewable","withDispatch","dispatch","disablePublishSidebar","enablePublishSidebar","withFocusReturn","withConstrainedTabbing"],"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\n/**\n * Renders a panel for publishing a post.\n */\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,14 @@ var _store = require("../../store");
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
+ /**
18
+ * Wrapper component that renders its children only if post has a sticky action.
19
+ *
20
+ * @param {Object} props Props.
21
+ * @param {Element} props.children Children to be rendered.
22
+ *
23
+ * @return {Component} The component to be rendered or null if post type is not 'post' or hasStickyAction is false.
24
+ */
17
25
  function PostStickyCheck({
18
26
  children
19
27
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_store","PostStickyCheck","children","hasStickyAction","postType","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","_links","getCurrentPostType"],"sources":["@wordpress/editor/src/components/post-sticky/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostStickyCheck( { children } ) {\n\tconst { hasStickyAction, postType } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\treturn {\n\t\t\thasStickyAction: post._links?.[ 'wp:action-sticky' ] ?? false,\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t};\n\t}, [] );\n\n\tif ( postType !== 'post' || ! hasStickyAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,oBAAA;IAC9D,MAAMC,IAAI,GAAGF,MAAM,CAAEG,YAAY,CAAC,CAACC,cAAc,CAAC,CAAC;IACnD,OAAO;MACNP,eAAe,GAAAI,oBAAA,GAAEC,IAAI,CAACG,MAAM,GAAI,kBAAkB,CAAE,cAAAJ,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MAC7DH,QAAQ,EAAEE,MAAM,CAAEG,YAAY,CAAC,CAACG,kBAAkB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKR,QAAQ,KAAK,MAAM,IAAI,CAAED,eAAe,EAAG;IAC/C,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_store","PostStickyCheck","children","hasStickyAction","postType","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","_links","getCurrentPostType"],"sources":["@wordpress/editor/src/components/post-sticky/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Wrapper component that renders its children only if post has a sticky action.\n *\n * @param {Object} props Props.\n * @param {Element} props.children Children to be rendered.\n *\n * @return {Component} The component to be rendered or null if post type is not 'post' or hasStickyAction is false.\n */\nexport default function PostStickyCheck( { children } ) {\n\tconst { hasStickyAction, postType } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\treturn {\n\t\t\thasStickyAction: post._links?.[ 'wp:action-sticky' ] ?? false,\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t};\n\t}, [] );\n\n\tif ( postType !== 'post' || ! hasStickyAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,oBAAA;IAC9D,MAAMC,IAAI,GAAGF,MAAM,CAAEG,YAAY,CAAC,CAACC,cAAc,CAAC,CAAC;IACnD,OAAO;MACNP,eAAe,GAAAI,oBAAA,GAAEC,IAAI,CAACG,MAAM,GAAI,kBAAkB,CAAE,cAAAJ,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MAC7DH,QAAQ,EAAEE,MAAM,CAAEG,YAAY,CAAC,CAACG,kBAAkB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKR,QAAQ,KAAK,MAAM,IAAI,CAAED,eAAe,EAAG;IAC/C,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
@@ -20,7 +20,11 @@ var _jsxRuntime = require("react/jsx-runtime");
20
20
  * Internal dependencies
21
21
  */
22
22
 
23
- function PostSticky() {
23
+ /**
24
+ * Renders the PostSticky component. It provide toggle control for the sticky post feature.
25
+ *
26
+ * @return {Component} The component to be rendered.
27
+ */function PostSticky() {
24
28
  const postSticky = (0, _data.useSelect)(select => {
25
29
  var _select$getEditedPost;
26
30
  return (_select$getEditedPost = select(_store.store).getEditedPostAttribute('sticky')) !== null && _select$getEditedPost !== void 0 ? _select$getEditedPost : false;
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_check","_interopRequireDefault","_store","_postPanelRow","_jsxRuntime","PostSticky","postSticky","useSelect","select","_select$getEditedPost","editorStore","getEditedPostAttribute","editPost","useDispatch","jsx","default","children","label","__","ToggleControl","className","VisuallyHidden","checked","onChange","sticky"],"sources":["@wordpress/editor/src/components/post-sticky/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToggleControl, VisuallyHidden } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostStickyCheck from './check';\nimport { store as editorStore } from '../../store';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostSticky() {\n\tconst postSticky = useSelect( ( select ) => {\n\t\treturn (\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'sticky' ) ?? false\n\t\t);\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\n\treturn (\n\t\t<PostStickyCheck>\n\t\t\t<PostPanelRow label={ __( 'Sticky' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tclassName=\"editor-post-sticky__toggle-control\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Sticky' ) }</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ postSticky }\n\t\t\t\t\tonChange={ () => editPost( { sticky: ! postSticky } ) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostStickyCheck>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAA6C,IAAAO,WAAA,GAAAP,OAAA;AAZ7C;AACA;AACA;;AAKA;AACA;AACA;;AAKe,SAASQ,UAAUA,CAAA,EAAG;EACpC,MAAMC,UAAU,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC3C,QAAAA,qBAAA,GACCD,MAAM,CAAEE,YAAY,CAAC,CAACC,sBAAsB,CAAE,QAAS,CAAC,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,KAAK;EAEnE,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAY,CAAC;EAE/C,oBACC,IAAAN,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAe;IAAAC,QAAA,eACf,IAAAZ,WAAA,CAAAU,GAAA,EAACX,aAAA,CAAAY,OAAY;MAACE,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;MAAAF,QAAA,eACrC,IAAAZ,WAAA,CAAAU,GAAA,EAAChB,WAAA,CAAAqB,aAAa;QACbC,SAAS,EAAC,oCAAoC;QAC9CH,KAAK,eACJ,IAAAb,WAAA,CAAAU,GAAA,EAAChB,WAAA,CAAAuB,cAAc;UAAAL,QAAA,EAAG,IAAAE,QAAE,EAAE,QAAS;QAAC,CAAkB,CAClD;QACDI,OAAO,EAAGhB,UAAY;QACtBiB,QAAQ,EAAGA,CAAA,KAAMX,QAAQ,CAAE;UAAEY,MAAM,EAAE,CAAElB;QAAW,CAAE;MAAG,CACvD;IAAC,CACW;EAAC,CACC,CAAC;AAEpB","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_check","_interopRequireDefault","_store","_postPanelRow","_jsxRuntime","PostSticky","postSticky","useSelect","select","_select$getEditedPost","editorStore","getEditedPostAttribute","editPost","useDispatch","jsx","default","children","label","__","ToggleControl","className","VisuallyHidden","checked","onChange","sticky"],"sources":["@wordpress/editor/src/components/post-sticky/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToggleControl, VisuallyHidden } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostStickyCheck from './check';\nimport { store as editorStore } from '../../store';\nimport PostPanelRow from '../post-panel-row';\n\n/**\n * Renders the PostSticky component. It provide toggle control for the sticky post feature.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function PostSticky() {\n\tconst postSticky = useSelect( ( select ) => {\n\t\treturn (\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'sticky' ) ?? false\n\t\t);\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\n\treturn (\n\t\t<PostStickyCheck>\n\t\t\t<PostPanelRow label={ __( 'Sticky' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tclassName=\"editor-post-sticky__toggle-control\"\n\t\t\t\t\tlabel={\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Sticky' ) }</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ postSticky }\n\t\t\t\t\tonChange={ () => editPost( { sticky: ! postSticky } ) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostStickyCheck>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAA6C,IAAAO,WAAA,GAAAP,OAAA;AAZ7C;AACA;AACA;;AAKA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,GACe,SAASQ,UAAUA,CAAA,EAAG;EACpC,MAAMC,UAAU,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IAC3C,QAAAA,qBAAA,GACCD,MAAM,CAAEE,YAAY,CAAC,CAACC,sBAAsB,CAAE,QAAS,CAAC,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,KAAK;EAEnE,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAY,CAAC;EAE/C,oBACC,IAAAN,WAAA,CAAAU,GAAA,EAACd,MAAA,CAAAe,OAAe;IAAAC,QAAA,eACf,IAAAZ,WAAA,CAAAU,GAAA,EAACX,aAAA,CAAAY,OAAY;MAACE,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;MAAAF,QAAA,eACrC,IAAAZ,WAAA,CAAAU,GAAA,EAAChB,WAAA,CAAAqB,aAAa;QACbC,SAAS,EAAC,oCAAoC;QAC9CH,KAAK,eACJ,IAAAb,WAAA,CAAAU,GAAA,EAAChB,WAAA,CAAAuB,cAAc;UAAAL,QAAA,EAAG,IAAAE,QAAE,EAAE,QAAS;QAAC,CAAkB,CAClD;QACDI,OAAO,EAAGhB,UAAY;QACtBiB,QAAQ,EAAGA,CAAA,KAAMX,QAAQ,CAAE;UAAEY,MAAM,EAAE,CAAElB;QAAW,CAAE;MAAG,CACvD;IAAC,CACW;EAAC,CACC,CAAC;AAEpB","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,6 +9,7 @@ var _components = require("@wordpress/components");
8
9
  var _i18n = require("@wordpress/i18n");
9
10
  var _data = require("@wordpress/data");
10
11
  var _element = require("@wordpress/element");
12
+ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
11
13
  var _store = require("../../store");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  /**
@@ -18,8 +20,15 @@ var _jsxRuntime = require("react/jsx-runtime");
18
20
  * Internal dependencies
19
21
  */
20
22
 
21
- // TODO: deprecate..
22
- function PostSwitchToDraftButton() {
23
+ /**
24
+ * Renders a button component that allows the user to switch a post to draft status.
25
+ *
26
+ * @return {JSX.Element} The rendered component.
27
+ */function PostSwitchToDraftButton() {
28
+ (0, _deprecated.default)('wp.editor.PostSwitchToDraftButton', {
29
+ since: '6.7',
30
+ version: '6.9'
31
+ });
23
32
  const [showConfirmDialog, setShowConfirmDialog] = (0, _element.useState)(false);
24
33
  const {
25
34
  editPost,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_data","_element","_store","_jsxRuntime","PostSwitchToDraftButton","showConfirmDialog","setShowConfirmDialog","useState","editPost","savePost","useDispatch","editorStore","isSaving","isPublished","isScheduled","useSelect","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","isDisabled","alertMessage","confirmButtonText","__","handleConfirm","status","jsxs","Fragment","children","jsx","Button","__next40pxDefaultSize","className","onClick","variant","style","flexGrow","justifyContent","__experimentalConfirmDialog","isOpen","onConfirm","onCancel"],"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n// TODO: deprecate..\nexport default function PostSwitchToDraftButton() {\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst { editPost, savePost } = useDispatch( editorStore );\n\tconst { isSaving, isPublished, isScheduled } = useSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t}, [] );\n\n\tconst isDisabled = isSaving || ( ! isPublished && ! isScheduled );\n\n\tlet alertMessage;\n\tlet confirmButtonText;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t\tconfirmButtonText = __( 'Unpublish' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t\tconfirmButtonText = __( 'Unschedule' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\teditPost( { status: 'draft' } );\n\t\tsavePost();\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isDisabled ) {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { flexGrow: '1', justifyContent: 'center' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAdnD;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACe,SAASM,uBAAuBA,CAAA,EAAG;EACjD,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,MAAM;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAY,CAAC;EACzD,MAAM;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvE,MAAM;MAAEC,YAAY;MAAEC,sBAAsB;MAAEC;IAAuB,CAAC,GACrEH,MAAM,CAAEL,YAAY,CAAC;IACtB,OAAO;MACNC,QAAQ,EAAEK,YAAY,CAAC,CAAC;MACxBJ,WAAW,EAAEK,sBAAsB,CAAC,CAAC;MACrCJ,WAAW,EAAEK,sBAAsB,CAAC;IACrC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,UAAU,GAAGR,QAAQ,IAAM,CAAEC,WAAW,IAAI,CAAEC,WAAa;EAEjE,IAAIO,YAAY;EAChB,IAAIC,iBAAiB;EACrB,IAAKT,WAAW,EAAG;IAClBQ,YAAY,GAAG,IAAAE,QAAE,EAAE,+CAAgD,CAAC;IACpED,iBAAiB,GAAG,IAAAC,QAAE,EAAE,WAAY,CAAC;EACtC,CAAC,MAAM,IAAKT,WAAW,EAAG;IACzBO,YAAY,GAAG,IAAAE,QAAE,EAAE,gDAAiD,CAAC;IACrED,iBAAiB,GAAG,IAAAC,QAAE,EAAE,YAAa,CAAC;EACvC;EAEA,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BlB,oBAAoB,CAAE,KAAM,CAAC;IAC7BE,QAAQ,CAAE;MAAEiB,MAAM,EAAE;IAAQ,CAAE,CAAC;IAC/BhB,QAAQ,CAAC,CAAC;EACX,CAAC;EAED,oBACC,IAAAN,WAAA,CAAAuB,IAAA,EAAAvB,WAAA,CAAAwB,QAAA;IAAAC,QAAA,gBACC,IAAAzB,WAAA,CAAA0B,GAAA,EAAChC,WAAA,CAAAiC,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,6BAA6B;MACvCC,OAAO,EAAGA,CAAA,KAAM;QACf,IAAK,CAAEb,UAAU,EAAG;UACnBd,oBAAoB,CAAE,IAAK,CAAC;QAC7B;MACD,CAAG;MACH,iBAAgBc,UAAY;MAC5Bc,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAG;QAAEC,QAAQ,EAAE,GAAG;QAAEC,cAAc,EAAE;MAAS,CAAG;MAAAT,QAAA,EAEnD,IAAAL,QAAE,EAAE,iBAAkB;IAAC,CAClB,CAAC,eACT,IAAApB,WAAA,CAAA0B,GAAA,EAAChC,WAAA,CAAAyC,2BAAa;MACbC,MAAM,EAAGlC,iBAAmB;MAC5BmC,SAAS,EAAGhB,aAAe;MAC3BiB,QAAQ,EAAGA,CAAA,KAAMnC,oBAAoB,CAAE,KAAM,CAAG;MAChDgB,iBAAiB,EAAGA,iBAAmB;MAAAM,QAAA,EAErCP;IAAY,CACA,CAAC;EAAA,CACf,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_data","_element","_deprecated","_interopRequireDefault","_store","_jsxRuntime","PostSwitchToDraftButton","deprecated","since","version","showConfirmDialog","setShowConfirmDialog","useState","editPost","savePost","useDispatch","editorStore","isSaving","isPublished","isScheduled","useSelect","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","isDisabled","alertMessage","confirmButtonText","__","handleConfirm","status","jsxs","Fragment","children","jsx","Button","__next40pxDefaultSize","className","onClick","variant","style","flexGrow","justifyContent","__experimentalConfirmDialog","isOpen","onConfirm","onCancel"],"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders a button component that allows the user to switch a post to draft status.\n *\n * @return {JSX.Element} The rendered component.\n */\nexport default function PostSwitchToDraftButton() {\n\tdeprecated( 'wp.editor.PostSwitchToDraftButton', {\n\t\tsince: '6.7',\n\t\tversion: '6.9',\n\t} );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst { editPost, savePost } = useDispatch( editorStore );\n\tconst { isSaving, isPublished, isScheduled } = useSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t}, [] );\n\n\tconst isDisabled = isSaving || ( ! isPublished && ! isScheduled );\n\n\tlet alertMessage;\n\tlet confirmButtonText;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t\tconfirmButtonText = __( 'Unpublish' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t\tconfirmButtonText = __( 'Unschedule' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\teditPost( { status: 'draft' } );\n\t\tsavePost();\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isDisabled ) {\n\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { flexGrow: '1', justifyContent: 'center' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAC,sBAAA,CAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAAmD,IAAAO,WAAA,GAAAP,OAAA;AAfnD;AACA;AACA;;AAUA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,GACe,SAASQ,uBAAuBA,CAAA,EAAG;EACjD,IAAAC,mBAAU,EAAE,mCAAmC,EAAE;IAChDC,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,MAAM;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAY,CAAC;EACzD,MAAM;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACvE,MAAM;MAAEC,YAAY;MAAEC,sBAAsB;MAAEC;IAAuB,CAAC,GACrEH,MAAM,CAAEL,YAAY,CAAC;IACtB,OAAO;MACNC,QAAQ,EAAEK,YAAY,CAAC,CAAC;MACxBJ,WAAW,EAAEK,sBAAsB,CAAC,CAAC;MACrCJ,WAAW,EAAEK,sBAAsB,CAAC;IACrC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,UAAU,GAAGR,QAAQ,IAAM,CAAEC,WAAW,IAAI,CAAEC,WAAa;EAEjE,IAAIO,YAAY;EAChB,IAAIC,iBAAiB;EACrB,IAAKT,WAAW,EAAG;IAClBQ,YAAY,GAAG,IAAAE,QAAE,EAAE,+CAAgD,CAAC;IACpED,iBAAiB,GAAG,IAAAC,QAAE,EAAE,WAAY,CAAC;EACtC,CAAC,MAAM,IAAKT,WAAW,EAAG;IACzBO,YAAY,GAAG,IAAAE,QAAE,EAAE,gDAAiD,CAAC;IACrED,iBAAiB,GAAG,IAAAC,QAAE,EAAE,YAAa,CAAC;EACvC;EAEA,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3BlB,oBAAoB,CAAE,KAAM,CAAC;IAC7BE,QAAQ,CAAE;MAAEiB,MAAM,EAAE;IAAQ,CAAE,CAAC;IAC/BhB,QAAQ,CAAC,CAAC;EACX,CAAC;EAED,oBACC,IAAAT,WAAA,CAAA0B,IAAA,EAAA1B,WAAA,CAAA2B,QAAA;IAAAC,QAAA,gBACC,IAAA5B,WAAA,CAAA6B,GAAA,EAACrC,WAAA,CAAAsC,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,6BAA6B;MACvCC,OAAO,EAAGA,CAAA,KAAM;QACf,IAAK,CAAEb,UAAU,EAAG;UACnBd,oBAAoB,CAAE,IAAK,CAAC;QAC7B;MACD,CAAG;MACH,iBAAgBc,UAAY;MAC5Bc,OAAO,EAAC,WAAW;MACnBC,KAAK,EAAG;QAAEC,QAAQ,EAAE,GAAG;QAAEC,cAAc,EAAE;MAAS,CAAG;MAAAT,QAAA,EAEnD,IAAAL,QAAE,EAAE,iBAAkB;IAAC,CAClB,CAAC,eACT,IAAAvB,WAAA,CAAA6B,GAAA,EAACrC,WAAA,CAAA8C,2BAAa;MACbC,MAAM,EAAGlC,iBAAmB;MAC5BmC,SAAS,EAAGhB,aAAe;MAC3BiB,QAAQ,EAAGA,CAAA,KAAMnC,oBAAoB,CAAE,KAAM,CAAG;MAChDgB,iBAAiB,EAAGA,iBAAmB;MAAAM,QAAA,EAErCP;IAAY,CACA,CAAC;EAAA,CACf,CAAC;AAEL","ignoreList":[]}
@@ -18,7 +18,11 @@ var _jsxRuntime = require("react/jsx-runtime");
18
18
  * Internal dependencies
19
19
  */
20
20
 
21
- function PostSyncStatus() {
21
+ /**
22
+ * Renders the sync status of a post.
23
+ *
24
+ * @return {JSX.Element|null} The rendered sync status component.
25
+ */function PostSyncStatus() {
22
26
  const {
23
27
  syncStatus,
24
28
  postType
@@ -42,7 +46,7 @@ function PostSyncStatus() {
42
46
  label: (0, _i18n.__)('Sync status'),
43
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
48
  className: "editor-post-sync-status__value",
45
- children: syncStatus === 'unsynced' ? (0, _i18n._x)('Not synced', 'Text that indicates that the pattern is not synchronized') : (0, _i18n._x)('Synced', 'Text that indicates that the pattern is synchronized')
49
+ children: syncStatus === 'unsynced' ? (0, _i18n._x)('Not synced', 'pattern (singular)') : (0, _i18n._x)('Synced', 'pattern (singular)')
46
50
  })
47
51
  });
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_i18n","_postPanelRow","_interopRequireDefault","_store","_jsxRuntime","PostSyncStatus","syncStatus","postType","useSelect","select","getEditedPostAttribute","editorStore","meta","currentSyncStatus","wp_pattern_sync_status","jsx","default","label","__","children","className","_x"],"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\nexport default function PostSyncStatus() {\n\tconst { syncStatus, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst meta = getEditedPostAttribute( 'meta' );\n\n\t\t// When the post is first created, the top level wp_pattern_sync_status is not set so get meta value instead.\n\t\tconst currentSyncStatus =\n\t\t\tmeta?.wp_pattern_sync_status === 'unsynced'\n\t\t\t\t? 'unsynced'\n\t\t\t\t: getEditedPostAttribute( 'wp_pattern_sync_status' );\n\n\t\treturn {\n\t\t\tsyncStatus: currentSyncStatus,\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t} );\n\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Sync status' ) }>\n\t\t\t<div className=\"editor-post-sync-status__value\">\n\t\t\t\t{ syncStatus === 'unsynced'\n\t\t\t\t\t? _x(\n\t\t\t\t\t\t\t'Not synced',\n\t\t\t\t\t\t\t'Text that indicates that the pattern is not synchronized'\n\t\t\t\t\t )\n\t\t\t\t\t: _x(\n\t\t\t\t\t\t\t'Synced',\n\t\t\t\t\t\t\t'Text that indicates that the pattern is synchronized'\n\t\t\t\t\t ) }\n\t\t\t</div>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAVnD;AACA;AACA;;AAIA;AACA;AACA;;AAIe,SAASM,cAAcA,CAAA,EAAG;EACxC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACxD,MAAMC,IAAI,GAAGF,sBAAsB,CAAE,MAAO,CAAC;;IAE7C;IACA,MAAMG,iBAAiB,GACtBD,IAAI,EAAEE,sBAAsB,KAAK,UAAU,GACxC,UAAU,GACVJ,sBAAsB,CAAE,wBAAyB,CAAC;IAEtD,OAAO;MACNJ,UAAU,EAAEO,iBAAiB;MAC7BN,QAAQ,EAAEG,sBAAsB,CAAE,MAAO;IAC1C,CAAC;EACF,CAAE,CAAC;EAEH,IAAKH,QAAQ,KAAK,UAAU,EAAG;IAC9B,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAH,WAAA,CAAAW,GAAA,EAACd,aAAA,CAAAe,OAAY;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,aAAc,CAAG;IAAAC,QAAA,eAC1C,IAAAf,WAAA,CAAAW,GAAA;MAAKK,SAAS,EAAC,gCAAgC;MAAAD,QAAA,EAC5Cb,UAAU,KAAK,UAAU,GACxB,IAAAe,QAAE,EACF,YAAY,EACZ,0DACA,CAAC,GACD,IAAAA,QAAE,EACF,QAAQ,EACR,sDACA;IAAC,CACA;EAAC,CACO,CAAC;AAEjB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_i18n","_postPanelRow","_interopRequireDefault","_store","_jsxRuntime","PostSyncStatus","syncStatus","postType","useSelect","select","getEditedPostAttribute","editorStore","meta","currentSyncStatus","wp_pattern_sync_status","jsx","default","label","__","children","className","_x"],"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the sync status of a post.\n *\n * @return {JSX.Element|null} The rendered sync status component.\n */\nexport default function PostSyncStatus() {\n\tconst { syncStatus, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst meta = getEditedPostAttribute( 'meta' );\n\n\t\t// When the post is first created, the top level wp_pattern_sync_status is not set so get meta value instead.\n\t\tconst currentSyncStatus =\n\t\t\tmeta?.wp_pattern_sync_status === 'unsynced'\n\t\t\t\t? 'unsynced'\n\t\t\t\t: getEditedPostAttribute( 'wp_pattern_sync_status' );\n\n\t\treturn {\n\t\t\tsyncStatus: currentSyncStatus,\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t} );\n\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Sync status' ) }>\n\t\t\t<div className=\"editor-post-sync-status__value\">\n\t\t\t\t{ syncStatus === 'unsynced'\n\t\t\t\t\t? _x( 'Not synced', 'pattern (singular)' )\n\t\t\t\t\t: _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t</div>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAVnD;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA,GACe,SAASM,cAAcA,CAAA,EAAG;EACxC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACxD,MAAMC,IAAI,GAAGF,sBAAsB,CAAE,MAAO,CAAC;;IAE7C;IACA,MAAMG,iBAAiB,GACtBD,IAAI,EAAEE,sBAAsB,KAAK,UAAU,GACxC,UAAU,GACVJ,sBAAsB,CAAE,wBAAyB,CAAC;IAEtD,OAAO;MACNJ,UAAU,EAAEO,iBAAiB;MAC7BN,QAAQ,EAAEG,sBAAsB,CAAE,MAAO;IAC1C,CAAC;EACF,CAAE,CAAC;EAEH,IAAKH,QAAQ,KAAK,UAAU,EAAG;IAC9B,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAH,WAAA,CAAAW,GAAA,EAACd,aAAA,CAAAe,OAAY;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,aAAc,CAAG;IAAAC,QAAA,eAC1C,IAAAf,WAAA,CAAAW,GAAA;MAAKK,SAAS,EAAC,gCAAgC;MAAAD,QAAA,EAC5Cb,UAAU,KAAK,UAAU,GACxB,IAAAe,QAAE,EAAE,YAAY,EAAE,oBAAqB,CAAC,GACxC,IAAAA,QAAE,EAAE,QAAQ,EAAE,oBAAqB;IAAC,CACnC;EAAC,CACO,CAAC;AAEjB","ignoreList":[]}
@@ -15,6 +15,14 @@ var _store = require("../../store");
15
15
  * Internal dependencies
16
16
  */
17
17
 
18
+ /**
19
+ * Renders the children components only if the current post type has taxonomies.
20
+ *
21
+ * @param {Object} props The component props.
22
+ * @param {Element} props.children The children components to render.
23
+ *
24
+ * @return {Component|null} The rendered children components or null if the current post type has no taxonomies.
25
+ */
18
26
  function PostTaxonomiesCheck({
19
27
  children
20
28
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_store","PostTaxonomiesCheck","children","hasTaxonomies","useSelect","select","postType","editorStore","getCurrentPostType","taxonomies","coreStore","getTaxonomies","per_page","some","taxonomy","types","includes"],"sources":["@wordpress/editor/src/components/post-taxonomies/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostTaxonomiesCheck( { children } ) {\n\tconst hasTaxonomies = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst taxonomies = select( coreStore ).getTaxonomies( {\n\t\t\tper_page: -1,\n\t\t} );\n\t\treturn taxonomies?.some( ( taxonomy ) =>\n\t\t\ttaxonomy.types.includes( postType )\n\t\t);\n\t}, [] );\n\tif ( ! hasTaxonomies ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,aAAa,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9C,MAAMC,QAAQ,GAAGD,MAAM,CAAEE,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;IAC3D,MAAMC,UAAU,GAAGJ,MAAM,CAAEK,eAAU,CAAC,CAACC,aAAa,CAAE;MACrDC,QAAQ,EAAE,CAAC;IACZ,CAAE,CAAC;IACH,OAAOH,UAAU,EAAEI,IAAI,CAAIC,QAAQ,IAClCA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEV,QAAS,CACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAK,CAAEH,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_store","PostTaxonomiesCheck","children","hasTaxonomies","useSelect","select","postType","editorStore","getCurrentPostType","taxonomies","coreStore","getTaxonomies","per_page","some","taxonomy","types","includes"],"sources":["@wordpress/editor/src/components/post-taxonomies/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the children components only if the current post type has taxonomies.\n *\n * @param {Object} props The component props.\n * @param {Element} props.children The children components to render.\n *\n * @return {Component|null} The rendered children components or null if the current post type has no taxonomies.\n */\nexport default function PostTaxonomiesCheck( { children } ) {\n\tconst hasTaxonomies = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst taxonomies = select( coreStore ).getTaxonomies( {\n\t\t\tper_page: -1,\n\t\t} );\n\t\treturn taxonomies?.some( ( taxonomy ) =>\n\t\t\ttaxonomy.types.includes( postType )\n\t\t);\n\t}, [] );\n\tif ( ! hasTaxonomies ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASG,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,aAAa,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9C,MAAMC,QAAQ,GAAGD,MAAM,CAAEE,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC;IAC3D,MAAMC,UAAU,GAAGJ,MAAM,CAAEK,eAAU,CAAC,CAACC,aAAa,CAAE;MACrDC,QAAQ,EAAE,CAAC;IACZ,CAAE,CAAC;IACH,OAAOH,UAAU,EAAEI,IAAI,CAAIC,QAAQ,IAClCA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEV,QAAS,CACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAK,CAAEH,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
@@ -34,9 +34,12 @@ var _jsxRuntime = require("react/jsx-runtime");
34
34
  */const EMPTY_ARRAY = [];
35
35
 
36
36
  /**
37
- * Module constants
37
+ * How the max suggestions limit was chosen:
38
+ * - Matches the `per_page` range set by the REST API.
39
+ * - Can't use "unbound" query. The `FormTokenField` needs a fixed number.
40
+ * - Matches default for `FormTokenField`.
38
41
  */
39
- const MAX_TERMS_SUGGESTIONS = 20;
42
+ const MAX_TERMS_SUGGESTIONS = 100;
40
43
  const DEFAULT_QUERY = {
41
44
  per_page: MAX_TERMS_SUGGESTIONS,
42
45
  _fields: 'id,name',
@@ -46,6 +49,15 @@ const isSameTermName = (termA, termB) => (0, _terms.unescapeString)(termA).toLow
46
49
  const termNamesToIds = (names, terms) => {
47
50
  return names.map(termName => terms.find(term => isSameTermName(term.name, termName))?.id).filter(id => id !== undefined);
48
51
  };
52
+
53
+ /**
54
+ * Renders a flat term selector component.
55
+ *
56
+ * @param {Object} props The component props.
57
+ * @param {string} props.slug The slug of the taxonomy.
58
+ *
59
+ * @return {JSX.Element} The rendered flat term selector component.
60
+ */
49
61
  function FlatTermSelector({
50
62
  slug
51
63
  }) {