@wordpress/editor 14.6.0 → 14.7.1-next.1f6eadc42.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 (421) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +41 -0
  3. package/build/bindings/post-meta.js +11 -8
  4. package/build/bindings/post-meta.js.map +1 -1
  5. package/build/components/block-manager/index.js +1 -0
  6. package/build/components/block-manager/index.js.map +1 -1
  7. package/build/components/block-settings-menu/content-only-settings-menu.js +5 -8
  8. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  9. package/build/components/document-bar/index.js +4 -4
  10. package/build/components/document-bar/index.js.map +1 -1
  11. package/build/components/editor/index.js +2 -2
  12. package/build/components/editor/index.js.map +1 -1
  13. package/build/components/editor-history/redo.js +1 -0
  14. package/build/components/editor-history/redo.js.map +1 -1
  15. package/build/components/editor-history/undo.js +1 -0
  16. package/build/components/editor-history/undo.js.map +1 -1
  17. package/build/components/editor-interface/index.js +2 -3
  18. package/build/components/editor-interface/index.js.map +1 -1
  19. package/build/components/error-boundary/index.js +1 -0
  20. package/build/components/error-boundary/index.js.map +1 -1
  21. package/build/components/global-styles-provider/index.js +3 -4
  22. package/build/components/global-styles-provider/index.js.map +1 -1
  23. package/build/components/header/index.js +6 -4
  24. package/build/components/header/index.js.map +1 -1
  25. package/build/components/index.js +8 -0
  26. package/build/components/index.js.map +1 -1
  27. package/build/components/inserter-sidebar/index.js +5 -10
  28. package/build/components/inserter-sidebar/index.js.map +1 -1
  29. package/build/components/local-autosave-monitor/index.js +5 -5
  30. package/build/components/local-autosave-monitor/index.js.map +1 -1
  31. package/build/components/page-attributes/parent.js +4 -1
  32. package/build/components/page-attributes/parent.js.map +1 -1
  33. package/build/components/plugin-preview-menu-item/index.js +57 -0
  34. package/build/components/plugin-preview-menu-item/index.js.map +1 -0
  35. package/build/components/post-actions/index.js +5 -8
  36. package/build/components/post-actions/index.js.map +1 -1
  37. package/build/components/post-excerpt/panel.js +1 -1
  38. package/build/components/post-excerpt/panel.js.map +1 -1
  39. package/build/components/post-featured-image/index.js +3 -0
  40. package/build/components/post-featured-image/index.js.map +1 -1
  41. package/build/components/post-format/index.js +1 -0
  42. package/build/components/post-format/index.js.map +1 -1
  43. package/build/components/post-last-revision/index.js +1 -0
  44. package/build/components/post-last-revision/index.js.map +1 -1
  45. package/build/components/post-locked-modal/index.js +6 -1
  46. package/build/components/post-locked-modal/index.js.map +1 -1
  47. package/build/components/post-publish-panel/index.js +1 -0
  48. package/build/components/post-publish-panel/index.js.map +1 -1
  49. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  50. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  51. package/build/components/post-publish-panel/maybe-upload-media.js +156 -33
  52. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  53. package/build/components/post-publish-panel/media-util.js +79 -0
  54. package/build/components/post-publish-panel/media-util.js.map +1 -0
  55. package/build/components/post-status/index.js +4 -2
  56. package/build/components/post-status/index.js.map +1 -1
  57. package/build/components/post-taxonomies/hierarchical-term-selector.js +4 -1
  58. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  59. package/build/components/post-taxonomies/most-used-terms.js +4 -1
  60. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  61. package/build/components/post-template/block-theme.js +13 -4
  62. package/build/components/post-template/block-theme.js.map +1 -1
  63. package/build/components/post-template/classic-theme.js +4 -1
  64. package/build/components/post-template/classic-theme.js.map +1 -1
  65. package/build/components/post-title/index.js +32 -46
  66. package/build/components/post-title/index.js.map +1 -1
  67. package/build/components/post-trash/check.js +2 -1
  68. package/build/components/post-trash/check.js.map +1 -1
  69. package/build/components/post-trash/index.js +22 -8
  70. package/build/components/post-trash/index.js.map +1 -1
  71. package/build/components/post-url/index.js +4 -1
  72. package/build/components/post-url/index.js.map +1 -1
  73. package/build/components/preferences-modal/index.js +28 -1
  74. package/build/components/preferences-modal/index.js.map +1 -1
  75. package/build/components/preview-dropdown/index.js +11 -51
  76. package/build/components/preview-dropdown/index.js.map +1 -1
  77. package/build/components/provider/index.js +34 -8
  78. package/build/components/provider/index.js.map +1 -1
  79. package/build/components/provider/use-block-editor-settings.js +14 -10
  80. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  81. package/build/components/save-publish-panels/index.js +8 -2
  82. package/build/components/save-publish-panels/index.js.map +1 -1
  83. package/build/components/sidebar/post-summary.js +3 -0
  84. package/build/components/sidebar/post-summary.js.map +1 -1
  85. package/build/components/start-page-options/index.js +16 -19
  86. package/build/components/start-page-options/index.js.map +1 -1
  87. package/build/components/start-template-options/index.js +1 -0
  88. package/build/components/start-template-options/index.js.map +1 -1
  89. package/build/components/table-of-contents/index.js +1 -0
  90. package/build/components/table-of-contents/index.js.map +1 -1
  91. package/build/components/text-editor/index.js +1 -0
  92. package/build/components/text-editor/index.js.map +1 -1
  93. package/build/components/visual-editor/edit-template-blocks-notification.js +1 -1
  94. package/build/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  95. package/build/components/visual-editor/index.js +1 -6
  96. package/build/components/visual-editor/index.js.map +1 -1
  97. package/build/components/zoom-out-toggle/index.js +38 -0
  98. package/build/components/zoom-out-toggle/index.js.map +1 -0
  99. package/build/dataviews/actions/reset-post.js +2 -0
  100. package/build/dataviews/actions/reset-post.js.map +1 -1
  101. package/build/dataviews/actions/trash-post.js +2 -0
  102. package/build/dataviews/actions/trash-post.js.map +1 -1
  103. package/build/dataviews/store/private-actions.js +4 -10
  104. package/build/dataviews/store/private-actions.js.map +1 -1
  105. package/build/private-apis.js +0 -2
  106. package/build/private-apis.js.map +1 -1
  107. package/build/store/private-actions.js +1 -1
  108. package/build/store/private-actions.js.map +1 -1
  109. package/build/store/selectors.js +7 -3
  110. package/build/store/selectors.js.map +1 -1
  111. package/build-module/bindings/post-meta.js +11 -8
  112. package/build-module/bindings/post-meta.js.map +1 -1
  113. package/build-module/components/block-manager/index.js +1 -0
  114. package/build-module/components/block-manager/index.js.map +1 -1
  115. package/build-module/components/block-settings-menu/content-only-settings-menu.js +6 -9
  116. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  117. package/build-module/components/document-bar/index.js +4 -4
  118. package/build-module/components/document-bar/index.js.map +1 -1
  119. package/build-module/components/editor/index.js +2 -2
  120. package/build-module/components/editor/index.js.map +1 -1
  121. package/build-module/components/editor-history/redo.js +1 -0
  122. package/build-module/components/editor-history/redo.js.map +1 -1
  123. package/build-module/components/editor-history/undo.js +1 -0
  124. package/build-module/components/editor-history/undo.js.map +1 -1
  125. package/build-module/components/editor-interface/index.js +2 -3
  126. package/build-module/components/editor-interface/index.js.map +1 -1
  127. package/build-module/components/error-boundary/index.js +1 -0
  128. package/build-module/components/error-boundary/index.js.map +1 -1
  129. package/build-module/components/global-styles-provider/index.js +3 -4
  130. package/build-module/components/global-styles-provider/index.js.map +1 -1
  131. package/build-module/components/header/index.js +6 -4
  132. package/build-module/components/header/index.js.map +1 -1
  133. package/build-module/components/index.js +1 -0
  134. package/build-module/components/index.js.map +1 -1
  135. package/build-module/components/inserter-sidebar/index.js +5 -10
  136. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  137. package/build-module/components/local-autosave-monitor/index.js +5 -5
  138. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  139. package/build-module/components/page-attributes/parent.js +4 -1
  140. package/build-module/components/page-attributes/parent.js.map +1 -1
  141. package/build-module/components/plugin-preview-menu-item/index.js +52 -0
  142. package/build-module/components/plugin-preview-menu-item/index.js.map +1 -0
  143. package/build-module/components/post-actions/index.js +5 -8
  144. package/build-module/components/post-actions/index.js.map +1 -1
  145. package/build-module/components/post-excerpt/panel.js +1 -1
  146. package/build-module/components/post-excerpt/panel.js.map +1 -1
  147. package/build-module/components/post-featured-image/index.js +3 -0
  148. package/build-module/components/post-featured-image/index.js.map +1 -1
  149. package/build-module/components/post-format/index.js +1 -0
  150. package/build-module/components/post-format/index.js.map +1 -1
  151. package/build-module/components/post-last-revision/index.js +1 -0
  152. package/build-module/components/post-last-revision/index.js.map +1 -1
  153. package/build-module/components/post-locked-modal/index.js +6 -1
  154. package/build-module/components/post-locked-modal/index.js.map +1 -1
  155. package/build-module/components/post-publish-panel/index.js +1 -0
  156. package/build-module/components/post-publish-panel/index.js.map +1 -1
  157. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  158. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  159. package/build-module/components/post-publish-panel/maybe-upload-media.js +155 -32
  160. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  161. package/build-module/components/post-publish-panel/media-util.js +72 -0
  162. package/build-module/components/post-publish-panel/media-util.js.map +1 -0
  163. package/build-module/components/post-status/index.js +4 -2
  164. package/build-module/components/post-status/index.js.map +1 -1
  165. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +4 -1
  166. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  167. package/build-module/components/post-taxonomies/most-used-terms.js +4 -1
  168. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  169. package/build-module/components/post-template/block-theme.js +13 -4
  170. package/build-module/components/post-template/block-theme.js.map +1 -1
  171. package/build-module/components/post-template/classic-theme.js +4 -1
  172. package/build-module/components/post-template/classic-theme.js.map +1 -1
  173. package/build-module/components/post-title/index.js +33 -47
  174. package/build-module/components/post-title/index.js.map +1 -1
  175. package/build-module/components/post-trash/check.js +2 -1
  176. package/build-module/components/post-trash/check.js.map +1 -1
  177. package/build-module/components/post-trash/index.js +23 -11
  178. package/build-module/components/post-trash/index.js.map +1 -1
  179. package/build-module/components/post-url/index.js +4 -1
  180. package/build-module/components/post-url/index.js.map +1 -1
  181. package/build-module/components/preferences-modal/index.js +28 -1
  182. package/build-module/components/preferences-modal/index.js.map +1 -1
  183. package/build-module/components/preview-dropdown/index.js +11 -51
  184. package/build-module/components/preview-dropdown/index.js.map +1 -1
  185. package/build-module/components/provider/index.js +35 -9
  186. package/build-module/components/provider/index.js.map +1 -1
  187. package/build-module/components/provider/use-block-editor-settings.js +15 -11
  188. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  189. package/build-module/components/save-publish-panels/index.js +8 -2
  190. package/build-module/components/save-publish-panels/index.js.map +1 -1
  191. package/build-module/components/sidebar/post-summary.js +3 -0
  192. package/build-module/components/sidebar/post-summary.js.map +1 -1
  193. package/build-module/components/start-page-options/index.js +17 -21
  194. package/build-module/components/start-page-options/index.js.map +1 -1
  195. package/build-module/components/start-template-options/index.js +1 -0
  196. package/build-module/components/start-template-options/index.js.map +1 -1
  197. package/build-module/components/table-of-contents/index.js +1 -0
  198. package/build-module/components/table-of-contents/index.js.map +1 -1
  199. package/build-module/components/text-editor/index.js +1 -0
  200. package/build-module/components/text-editor/index.js.map +1 -1
  201. package/build-module/components/visual-editor/edit-template-blocks-notification.js +1 -1
  202. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +1 -1
  203. package/build-module/components/visual-editor/index.js +1 -6
  204. package/build-module/components/visual-editor/index.js.map +1 -1
  205. package/build-module/components/zoom-out-toggle/index.js +31 -0
  206. package/build-module/components/zoom-out-toggle/index.js.map +1 -0
  207. package/build-module/dataviews/actions/reset-post.js +2 -0
  208. package/build-module/dataviews/actions/reset-post.js.map +1 -1
  209. package/build-module/dataviews/actions/trash-post.js +2 -0
  210. package/build-module/dataviews/actions/trash-post.js.map +1 -1
  211. package/build-module/dataviews/store/private-actions.js +2 -8
  212. package/build-module/dataviews/store/private-actions.js.map +1 -1
  213. package/build-module/private-apis.js +0 -2
  214. package/build-module/private-apis.js.map +1 -1
  215. package/build-module/store/private-actions.js +1 -1
  216. package/build-module/store/private-actions.js.map +1 -1
  217. package/build-module/store/selectors.js +6 -2
  218. package/build-module/store/selectors.js.map +1 -1
  219. package/build-style/style-rtl.css +14 -13
  220. package/build-style/style.css +14 -13
  221. package/build-types/bindings/post-meta.d.ts +0 -3
  222. package/build-types/bindings/post-meta.d.ts.map +1 -1
  223. package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts.map +1 -1
  224. package/build-types/components/editor-history/redo.d.ts.map +1 -1
  225. package/build-types/components/editor-history/undo.d.ts.map +1 -1
  226. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  227. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  228. package/build-types/components/header/back-button.d.ts.map +1 -1
  229. package/build-types/components/header/index.d.ts.map +1 -1
  230. package/build-types/components/index.d.ts +1 -0
  231. package/build-types/components/index.d.ts.map +1 -1
  232. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
  233. package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -1
  234. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -1
  235. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  236. package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -1
  237. package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -1
  238. package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -1
  239. package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -1
  240. package/build-types/components/plugin-preview-menu-item/index.d.ts +3 -0
  241. package/build-types/components/plugin-preview-menu-item/index.d.ts.map +1 -0
  242. package/build-types/components/post-actions/index.d.ts.map +1 -1
  243. package/build-types/components/post-excerpt/plugin.d.ts.map +1 -1
  244. package/build-types/components/post-format/index.d.ts.map +1 -1
  245. package/build-types/components/post-last-revision/index.d.ts.map +1 -1
  246. package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
  247. package/build-types/components/post-publish-panel/index.d.ts.map +1 -1
  248. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -1
  249. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts +1 -1
  250. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -1
  251. package/build-types/components/post-publish-panel/media-util.d.ts +20 -0
  252. package/build-types/components/post-publish-panel/media-util.d.ts.map +1 -0
  253. package/build-types/components/post-status/index.d.ts.map +1 -1
  254. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  255. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -1
  256. package/build-types/components/post-template/block-theme.d.ts.map +1 -1
  257. package/build-types/components/post-template/classic-theme.d.ts.map +1 -1
  258. package/build-types/components/post-trash/check.d.ts.map +1 -1
  259. package/build-types/components/post-trash/index.d.ts +4 -1
  260. package/build-types/components/post-trash/index.d.ts.map +1 -1
  261. package/build-types/components/post-url/index.d.ts.map +1 -1
  262. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -1
  263. package/build-types/components/preferences-modal/index.d.ts.map +1 -1
  264. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  265. package/build-types/components/provider/index.d.ts.map +1 -1
  266. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  267. package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
  268. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  269. package/build-types/components/start-page-options/index.d.ts +1 -0
  270. package/build-types/components/start-page-options/index.d.ts.map +1 -1
  271. package/build-types/components/start-template-options/index.d.ts.map +1 -1
  272. package/build-types/components/text-editor/index.d.ts.map +1 -1
  273. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -1
  274. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  275. package/build-types/components/zoom-out-toggle/index.d.ts +3 -0
  276. package/build-types/components/zoom-out-toggle/index.d.ts.map +1 -0
  277. package/build-types/dataviews/actions/reset-post.d.ts.map +1 -1
  278. package/build-types/dataviews/actions/trash-post.d.ts.map +1 -1
  279. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  280. package/build-types/private-apis.d.ts.map +1 -1
  281. package/build-types/store/private-actions.d.ts.map +1 -1
  282. package/build-types/store/selectors.d.ts +8 -8
  283. package/build-types/store/selectors.d.ts.map +1 -1
  284. package/package.json +37 -36
  285. package/src/bindings/post-meta.js +12 -6
  286. package/src/components/block-manager/index.js +1 -0
  287. package/src/components/block-settings-menu/content-only-settings-menu.js +5 -9
  288. package/src/components/create-template-part-modal/style.scss +1 -1
  289. package/src/components/document-bar/index.js +4 -4
  290. package/src/components/document-outline/style.scss +1 -1
  291. package/src/components/editor/index.js +1 -1
  292. package/src/components/editor-history/redo.js +1 -0
  293. package/src/components/editor-history/undo.js +1 -0
  294. package/src/components/editor-interface/index.js +2 -4
  295. package/src/components/error-boundary/index.js +1 -1
  296. package/src/components/global-styles-provider/index.js +11 -7
  297. package/src/components/header/index.js +12 -3
  298. package/src/components/header/style.scss +6 -3
  299. package/src/components/index.js +1 -0
  300. package/src/components/inserter-sidebar/index.js +6 -8
  301. package/src/components/local-autosave-monitor/index.js +6 -6
  302. package/src/components/page-attributes/parent.js +5 -4
  303. package/src/components/plugin-preview-menu-item/index.js +52 -0
  304. package/src/components/post-actions/index.js +8 -14
  305. package/src/components/post-card-panel/style.scss +1 -1
  306. package/src/components/post-excerpt/panel.js +1 -1
  307. package/src/components/post-featured-image/index.js +3 -0
  308. package/src/components/post-featured-image/style.scss +2 -7
  309. package/src/components/post-format/index.js +1 -0
  310. package/src/components/post-last-revision/index.js +1 -0
  311. package/src/components/post-locked-modal/index.js +12 -2
  312. package/src/components/post-locked-modal/style.scss +1 -1
  313. package/src/components/post-publish-panel/index.js +1 -0
  314. package/src/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  315. package/src/components/post-publish-panel/maybe-upload-media.js +144 -36
  316. package/src/components/post-publish-panel/media-util.js +87 -0
  317. package/src/components/post-publish-panel/style.scss +3 -1
  318. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
  319. package/src/components/post-publish-panel/test/media-util.js +118 -0
  320. package/src/components/post-status/index.js +3 -2
  321. package/src/components/post-taxonomies/hierarchical-term-selector.js +2 -0
  322. package/src/components/post-taxonomies/most-used-terms.js +2 -0
  323. package/src/components/post-template/block-theme.js +15 -9
  324. package/src/components/post-template/classic-theme.js +2 -0
  325. package/src/components/post-title/index.js +30 -41
  326. package/src/components/post-trash/check.js +5 -2
  327. package/src/components/post-trash/index.js +23 -12
  328. package/src/components/post-url/index.js +2 -0
  329. package/src/components/preferences-modal/index.js +227 -172
  330. package/src/components/preview-dropdown/index.js +22 -72
  331. package/src/components/provider/index.js +42 -10
  332. package/src/components/provider/use-block-editor-settings.js +16 -11
  333. package/src/components/resizable-editor/style.scss +2 -2
  334. package/src/components/save-publish-panels/index.js +4 -0
  335. package/src/components/sidebar/post-summary.js +4 -0
  336. package/src/components/start-page-options/index.js +28 -26
  337. package/src/components/start-template-options/index.js +5 -1
  338. package/src/components/table-of-contents/index.js +1 -0
  339. package/src/components/text-editor/index.js +1 -0
  340. package/src/components/text-editor/style.scss +1 -1
  341. package/src/components/visual-editor/edit-template-blocks-notification.js +4 -1
  342. package/src/components/visual-editor/index.js +2 -9
  343. package/src/components/zoom-out-toggle/index.js +34 -0
  344. package/src/dataviews/actions/reset-post.tsx +2 -0
  345. package/src/dataviews/actions/trash-post.tsx +2 -0
  346. package/src/dataviews/store/private-actions.ts +10 -8
  347. package/src/private-apis.js +0 -2
  348. package/src/store/private-actions.js +3 -1
  349. package/src/store/selectors.js +9 -3
  350. package/tsconfig.json +2 -0
  351. package/tsconfig.tsbuildinfo +1 -1
  352. package/build/dataviews/actions/duplicate-pattern.js +0 -48
  353. package/build/dataviews/actions/duplicate-pattern.js.map +0 -1
  354. package/build/dataviews/actions/duplicate-post.js +0 -146
  355. package/build/dataviews/actions/duplicate-post.js.map +0 -1
  356. package/build/dataviews/actions/duplicate-post.native.js +0 -9
  357. package/build/dataviews/actions/duplicate-post.native.js.map +0 -1
  358. package/build/dataviews/actions/export-pattern.js +0 -55
  359. package/build/dataviews/actions/export-pattern.js.map +0 -1
  360. package/build/dataviews/actions/export-pattern.native.js +0 -9
  361. package/build/dataviews/actions/export-pattern.native.js.map +0 -1
  362. package/build/dataviews/actions/permanently-delete-post.js +0 -107
  363. package/build/dataviews/actions/permanently-delete-post.js.map +0 -1
  364. package/build/dataviews/actions/reorder-page.js +0 -116
  365. package/build/dataviews/actions/reorder-page.js.map +0 -1
  366. package/build/dataviews/actions/reorder-page.native.js +0 -9
  367. package/build/dataviews/actions/reorder-page.native.js.map +0 -1
  368. package/build/dataviews/actions/view-post-revisions.js +0 -49
  369. package/build/dataviews/actions/view-post-revisions.js.map +0 -1
  370. package/build/dataviews/actions/view-post.js +0 -36
  371. package/build/dataviews/actions/view-post.js.map +0 -1
  372. package/build-module/dataviews/actions/duplicate-pattern.js +0 -39
  373. package/build-module/dataviews/actions/duplicate-pattern.js.map +0 -1
  374. package/build-module/dataviews/actions/duplicate-post.js +0 -139
  375. package/build-module/dataviews/actions/duplicate-post.js.map +0 -1
  376. package/build-module/dataviews/actions/duplicate-post.native.js +0 -3
  377. package/build-module/dataviews/actions/duplicate-post.native.js.map +0 -1
  378. package/build-module/dataviews/actions/export-pattern.js +0 -49
  379. package/build-module/dataviews/actions/export-pattern.js.map +0 -1
  380. package/build-module/dataviews/actions/export-pattern.native.js +0 -3
  381. package/build-module/dataviews/actions/export-pattern.native.js.map +0 -1
  382. package/build-module/dataviews/actions/permanently-delete-post.js +0 -99
  383. package/build-module/dataviews/actions/permanently-delete-post.js.map +0 -1
  384. package/build-module/dataviews/actions/reorder-page.js +0 -111
  385. package/build-module/dataviews/actions/reorder-page.js.map +0 -1
  386. package/build-module/dataviews/actions/reorder-page.native.js +0 -3
  387. package/build-module/dataviews/actions/reorder-page.native.js.map +0 -1
  388. package/build-module/dataviews/actions/view-post-revisions.js +0 -43
  389. package/build-module/dataviews/actions/view-post-revisions.js.map +0 -1
  390. package/build-module/dataviews/actions/view-post.js +0 -30
  391. package/build-module/dataviews/actions/view-post.js.map +0 -1
  392. package/build-types/dataviews/actions/duplicate-pattern.d.ts +0 -5
  393. package/build-types/dataviews/actions/duplicate-pattern.d.ts.map +0 -1
  394. package/build-types/dataviews/actions/duplicate-post.d.ts +0 -5
  395. package/build-types/dataviews/actions/duplicate-post.d.ts.map +0 -1
  396. package/build-types/dataviews/actions/duplicate-post.native.d.ts +0 -3
  397. package/build-types/dataviews/actions/duplicate-post.native.d.ts.map +0 -1
  398. package/build-types/dataviews/actions/export-pattern.d.ts +0 -8
  399. package/build-types/dataviews/actions/export-pattern.d.ts.map +0 -1
  400. package/build-types/dataviews/actions/export-pattern.native.d.ts +0 -3
  401. package/build-types/dataviews/actions/export-pattern.native.d.ts.map +0 -1
  402. package/build-types/dataviews/actions/permanently-delete-post.d.ts +0 -5
  403. package/build-types/dataviews/actions/permanently-delete-post.d.ts.map +0 -1
  404. package/build-types/dataviews/actions/reorder-page.d.ts +0 -8
  405. package/build-types/dataviews/actions/reorder-page.d.ts.map +0 -1
  406. package/build-types/dataviews/actions/reorder-page.native.d.ts +0 -3
  407. package/build-types/dataviews/actions/reorder-page.native.d.ts.map +0 -1
  408. package/build-types/dataviews/actions/view-post-revisions.d.ts +0 -8
  409. package/build-types/dataviews/actions/view-post-revisions.d.ts.map +0 -1
  410. package/build-types/dataviews/actions/view-post.d.ts +0 -8
  411. package/build-types/dataviews/actions/view-post.d.ts.map +0 -1
  412. package/src/dataviews/actions/duplicate-pattern.tsx +0 -40
  413. package/src/dataviews/actions/duplicate-post.native.tsx +0 -3
  414. package/src/dataviews/actions/duplicate-post.tsx +0 -174
  415. package/src/dataviews/actions/export-pattern.native.tsx +0 -3
  416. package/src/dataviews/actions/export-pattern.tsx +0 -74
  417. package/src/dataviews/actions/permanently-delete-post.tsx +0 -116
  418. package/src/dataviews/actions/reorder-page.native.tsx +0 -3
  419. package/src/dataviews/actions/reorder-page.tsx +0 -125
  420. package/src/dataviews/actions/view-post-revisions.tsx +0 -47
  421. package/src/dataviews/actions/view-post.tsx +0 -30
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_coreData","_blockEditor","_element","_icons","_notices","_store","_createNewTemplateModal","_interopRequireDefault","_hooks","_jsxRuntime","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","useSelect","select","templateSlug","editorStore","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","coreStore","canUser","kind","name","getCurrentTemplateId","title","slug","jsx","Button","__next40pxDefaultSize","variant","__","children","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","useAllowSwitchingTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","onNavigateToEntityRecord","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","options","useMemo","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","useDispatch","createSuccessNotice","noticesStore","isCreateModalOpen","setIsCreateModalOpen","useState","jsxs","__experimentalInspectorPopoverHeader","help","actions","icon","addTemplate","Notice","status","isDismissible","SelectControl","__nextHasNoMarginBottom","hideLabelFromVision","onChange","postId","postType","type","onNavigateToPreviousEntityRecord","default","ClassicThemeControl","Dropdown","popoverProps","focusOnMount","renderToggle","onToggle","renderContent","_default","exports"],"sources":["@wordpress/editor/src/components/post-template/classic-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl, Dropdown, Button, Notice } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useState, useMemo } from '@wordpress/element';\nimport { addTemplate } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nfunction PostTemplateToggle( { isOpen, onClick } ) {\n\tconst templateTitle = useSelect( ( select ) => {\n\t\tconst templateSlug =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\n\t\tconst { supportsTemplateMode, availableTemplates } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\tif ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {\n\t\t\treturn availableTemplates[ templateSlug ];\n\t\t}\n\t\tconst template =\n\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ) && select( editorStore ).getCurrentTemplateId();\n\t\treturn (\n\t\t\ttemplate?.title ||\n\t\t\ttemplate?.slug ||\n\t\t\tavailableTemplates?.[ templateSlug ]\n\t\t);\n\t}, [] );\n\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={ __( 'Template options' ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n\n/**\n * Renders the dropdown content for selecting a post template.\n *\n * @param {Object} props The component props.\n * @param {Function} props.onClose The function to close the dropdown.\n *\n * @return {JSX.Element} The rendered dropdown content.\n */\nfunction PostTemplateDropdownContent( { onClose } ) {\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst {\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t\tcurrentTemplateId,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser, getEntityRecords } = select( coreStore );\n\t\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\t\tconst canCreateTemplates = canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst _currentTemplateId =\n\t\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\t\treturn {\n\t\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\t\tfetchedTemplates: canCreateTemplates\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\t\tpost_type:\n\t\t\t\t\t\t\t\tselect( editorStore ).getCurrentPostType(),\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined,\n\t\t\t\tselectedTemplateSlug:\n\t\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\t\tcanCreate:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\t\tcanEdit:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t\t!! _currentTemplateId,\n\t\t\t\tcurrentTemplateId: _currentTemplateId,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\teditorSettings.onNavigateToEntityRecord,\n\t\t\t\tgetEditorSettings: select( editorStore ).getEditorSettings,\n\t\t\t};\n\t\t},\n\t\t[ allowSwitchingTemplate ]\n\t);\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"editor-post-template__classic-theme-dropdown\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ ! allowSwitchingTemplate ? (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && onNavigateToEntityRecord && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\tpostId: currentTemplateId,\n\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ClassicThemeControl() {\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<PostTemplateToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<PostTemplateDropdownContent onClose={ onClose } />\n\t\t\t) }\n\t\t/>\n\t);\n}\n\n/**\n * Provides a dropdown menu for selecting and managing post templates.\n *\n * The dropdown menu includes a button for toggling the menu, a list of available templates, and options for creating and editing templates.\n *\n * @return {JSX.Element} The rendered ClassicThemeControl component.\n */\nexport default ClassicThemeControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_coreData","_blockEditor","_element","_icons","_notices","_store","_createNewTemplateModal","_interopRequireDefault","_hooks","_jsxRuntime","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","useSelect","select","templateSlug","editorStore","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","coreStore","canUser","kind","name","getCurrentTemplateId","title","slug","jsx","Button","__next40pxDefaultSize","variant","__","children","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","useAllowSwitchingTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","onNavigateToEntityRecord","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","options","useMemo","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","useDispatch","createSuccessNotice","noticesStore","isCreateModalOpen","setIsCreateModalOpen","useState","jsxs","__experimentalInspectorPopoverHeader","help","actions","icon","addTemplate","Notice","status","isDismissible","SelectControl","__nextHasNoMarginBottom","hideLabelFromVision","onChange","postId","postType","type","onNavigateToPreviousEntityRecord","default","ClassicThemeControl","Dropdown","popoverProps","focusOnMount","renderToggle","onToggle","renderContent","_default","exports"],"sources":["@wordpress/editor/src/components/post-template/classic-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl, Dropdown, Button, Notice } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useState, useMemo } from '@wordpress/element';\nimport { addTemplate } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nfunction PostTemplateToggle( { isOpen, onClick } ) {\n\tconst templateTitle = useSelect( ( select ) => {\n\t\tconst templateSlug =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\n\t\tconst { supportsTemplateMode, availableTemplates } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\tif ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {\n\t\t\treturn availableTemplates[ templateSlug ];\n\t\t}\n\t\tconst template =\n\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ) && select( editorStore ).getCurrentTemplateId();\n\t\treturn (\n\t\t\ttemplate?.title ||\n\t\t\ttemplate?.slug ||\n\t\t\tavailableTemplates?.[ templateSlug ]\n\t\t);\n\t}, [] );\n\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={ __( 'Template options' ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n\n/**\n * Renders the dropdown content for selecting a post template.\n *\n * @param {Object} props The component props.\n * @param {Function} props.onClose The function to close the dropdown.\n *\n * @return {JSX.Element} The rendered dropdown content.\n */\nfunction PostTemplateDropdownContent( { onClose } ) {\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst {\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t\tcurrentTemplateId,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser, getEntityRecords } = select( coreStore );\n\t\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\t\tconst canCreateTemplates = canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} );\n\t\t\tconst _currentTemplateId =\n\t\t\t\tselect( editorStore ).getCurrentTemplateId();\n\t\t\treturn {\n\t\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\t\tfetchedTemplates: canCreateTemplates\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\t\tpost_type:\n\t\t\t\t\t\t\t\tselect( editorStore ).getCurrentPostType(),\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: undefined,\n\t\t\t\tselectedTemplateSlug:\n\t\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\t\tcanCreate:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\t\tcanEdit:\n\t\t\t\t\tallowSwitchingTemplate &&\n\t\t\t\t\tcanCreateTemplates &&\n\t\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t\t!! _currentTemplateId,\n\t\t\t\tcurrentTemplateId: _currentTemplateId,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\teditorSettings.onNavigateToEntityRecord,\n\t\t\t\tgetEditorSettings: select( editorStore ).getEditorSettings,\n\t\t\t};\n\t\t},\n\t\t[ allowSwitchingTemplate ]\n\t);\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"editor-post-template__classic-theme-dropdown\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ ! allowSwitchingTemplate ? (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && onNavigateToEntityRecord && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\tpostId: currentTemplateId,\n\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Editing template. Changes made here affect all posts and pages that use the template.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction ClassicThemeControl() {\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<PostTemplateToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<PostTemplateDropdownContent onClose={ onClose } />\n\t\t\t) }\n\t\t/>\n\t);\n}\n\n/**\n * Provides a dropdown menu for selecting and managing post templates.\n *\n * The dropdown menu includes a button for toggling the menu, a list of available templates, and options for creating and editing templates.\n *\n * @return {JSX.Element} The rendered ClassicThemeControl component.\n */\nexport default ClassicThemeControl;\n"],"mappings":"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","ignoreList":[]}
@@ -61,9 +61,36 @@ function PostTitle(_, forwardedRef) {
61
61
  insertBlocks,
62
62
  insertDefaultBlock
63
63
  } = (0, _data.useDispatch)(_blockEditor.store);
64
- function onChange(value) {
65
- onUpdate(value.replace(_constants.REGEXP_NEWLINES, ' '));
66
- }
64
+ const decodedPlaceholder = (0, _htmlEntities.decodeEntities)(placeholder) || (0, _i18n.__)('Add title');
65
+ const {
66
+ value,
67
+ onChange,
68
+ ref: richTextRef
69
+ } = (0, _richText.__unstableUseRichText)({
70
+ value: title,
71
+ onChange(newValue) {
72
+ onUpdate(newValue.replace(_constants.REGEXP_NEWLINES, ' '));
73
+ },
74
+ placeholder: decodedPlaceholder,
75
+ selectionStart: selection.start,
76
+ selectionEnd: selection.end,
77
+ onSelectionChange(newStart, newEnd) {
78
+ setSelection(sel => {
79
+ const {
80
+ start,
81
+ end
82
+ } = sel;
83
+ if (start === newStart && end === newEnd) {
84
+ return sel;
85
+ }
86
+ return {
87
+ start: newStart,
88
+ end: newEnd
89
+ };
90
+ });
91
+ },
92
+ __unstableDisableFormats: false
93
+ });
67
94
  function onInsertBlockAfter(blocks) {
68
95
  insertBlocks(blocks, 0);
69
96
  }
@@ -122,55 +149,15 @@ function PostTitle(_, forwardedRef) {
122
149
  onInsertBlockAfter(content);
123
150
  }
124
151
  } else {
125
- const value = {
126
- ...(0, _richText.create)({
127
- html: title
128
- }),
129
- ...selection
130
- };
131
-
132
152
  // Strip HTML to avoid unwanted HTML being added to the title.
133
153
  // In the majority of cases it is assumed that HTML in the title
134
154
  // is undesirable.
135
155
  const contentNoHTML = (0, _dom.__unstableStripHTML)(content);
136
- const newValue = (0, _richText.insert)(value, (0, _richText.create)({
156
+ onChange((0, _richText.insert)(value, (0, _richText.create)({
137
157
  html: contentNoHTML
138
- }));
139
- onUpdate((0, _richText.toHTMLString)({
140
- value: newValue
141
- }));
142
- setSelection({
143
- start: newValue.start,
144
- end: newValue.end
145
- });
158
+ })));
146
159
  }
147
160
  }
148
- const decodedPlaceholder = (0, _htmlEntities.decodeEntities)(placeholder) || (0, _i18n.__)('Add title');
149
- const {
150
- ref: richTextRef
151
- } = (0, _richText.__unstableUseRichText)({
152
- value: title,
153
- onChange,
154
- placeholder: decodedPlaceholder,
155
- selectionStart: selection.start,
156
- selectionEnd: selection.end,
157
- onSelectionChange(newStart, newEnd) {
158
- setSelection(sel => {
159
- const {
160
- start,
161
- end
162
- } = sel;
163
- if (start === newStart && end === newEnd) {
164
- return sel;
165
- }
166
- return {
167
- start: newStart,
168
- end: newEnd
169
- };
170
- });
171
- },
172
- __unstableDisableFormats: false
173
- });
174
161
 
175
162
  // The wp-block className is important for editor styles.
176
163
  // This same block is used in both the visual and the code editor.
@@ -192,7 +179,6 @@ function PostTitle(_, forwardedRef) {
192
179
  onFocus: onSelect,
193
180
  onBlur: onUnselect,
194
181
  onKeyDown: onKeyDown,
195
- onKeyPress: onUnselect,
196
182
  onPaste: onPaste
197
183
  })
198
184
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","_jsxRuntime","PostTitle","_","forwardedRef","placeholder","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","onChange","value","replace","REGEXP_NEWLINES","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","create","newValue","insert","toHTMLString","start","end","decodedPlaceholder","decodeEntities","__","richTextRef","useRichText","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","clsx","DEFAULT_CLASSNAMES","jsx","default","supportKeys","children","useMergeRefs","contentEditable","role","onFocus","onBlur","onKeyPress","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\ttoHTMLString,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder } = getSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tfunction onChange( value ) {\n\t\tonUpdate( value.replace( REGEXP_NEWLINES, ' ' ) );\n\t}\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\tconst value = {\n\t\t\t\t...create( { html: title } ),\n\t\t\t\t...selection,\n\t\t\t};\n\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\n\t\t\tconst newValue = insert( value, create( { html: contentNoHTML } ) );\n\t\t\tonUpdate( toHTMLString( { value: newValue } ) );\n\t\t\tsetSelection( {\n\t\t\t\tstart: newValue.start,\n\t\t\t\tend: newValue.end,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst { ref: richTextRef } = useRichText( {\n\t\tvalue: title,\n\t\tonChange,\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = clsx( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonKeyPress={ onUnselect }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\n/**\n * Renders the `PostTitle` component.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Forwarded ref for the component.\n *\n * @return {Component} The rendered PostTitle component.\n */\nexport default forwardRef( PostTitle );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_element","_htmlEntities","_data","_blockEditor","_keycodes","_blocks","_richText","_compose","_dom","_constants","_usePostTitleFocus","_usePostTitle","_postTypeSupportCheck","_jsxRuntime","PostTitle","_","forwardedRef","placeholder","useSelect","select","getSettings","blockEditorStore","titlePlaceholder","isSelected","setIsSelected","useState","ref","focusRef","usePostTitleFocus","title","setTitle","onUpdate","usePostTitle","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","useDispatch","decodedPlaceholder","decodeEntities","__","value","onChange","richTextRef","useRichText","newValue","replace","REGEXP_NEWLINES","selectionStart","start","selectionEnd","end","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","ENTER","preventDefault","onPaste","clipboardData","plainText","html","getData","error","window","console","log","content","pasteHandler","HTML","length","firstBlock","name","contentNoHTML","stripHTML","attributes","slice","insert","create","className","clsx","DEFAULT_CLASSNAMES","jsx","default","supportKeys","children","useMergeRefs","contentEditable","role","onFocus","onBlur","_default","exports","forwardRef"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { pasteHandler } from '@wordpress/blocks';\nimport {\n\t__unstableUseRichText as useRichText,\n\tcreate,\n\tinsert,\n} from '@wordpress/rich-text';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CLASSNAMES, REGEXP_NEWLINES } from './constants';\nimport usePostTitleFocus from './use-post-title-focus';\nimport usePostTitle from './use-post-title';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostTitle( _, forwardedRef ) {\n\tconst { placeholder } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder } = getSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t};\n\t}, [] );\n\n\tconst [ isSelected, setIsSelected ] = useState( false );\n\n\tconst { ref: focusRef } = usePostTitleFocus( forwardedRef );\n\n\tconst { title, setTitle: onUpdate } = usePostTitle();\n\n\tconst [ selection, setSelection ] = useState( {} );\n\n\tconst { clearSelectedBlock, insertBlocks, insertDefaultBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst decodedPlaceholder =\n\t\tdecodeEntities( placeholder ) || __( 'Add title' );\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: title,\n\t\tonChange( newValue ) {\n\t\t\tonUpdate( newValue.replace( REGEXP_NEWLINES, ' ' ) );\n\t\t},\n\t\tplaceholder: decodedPlaceholder,\n\t\tselectionStart: selection.start,\n\t\tselectionEnd: selection.end,\n\t\tonSelectionChange( newStart, newEnd ) {\n\t\t\tsetSelection( ( sel ) => {\n\t\t\t\tconst { start, end } = sel;\n\t\t\t\tif ( start === newStart && end === newEnd ) {\n\t\t\t\t\treturn sel;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tstart: newStart,\n\t\t\t\t\tend: newEnd,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\t__unstableDisableFormats: false,\n\t} );\n\n\tfunction onInsertBlockAfter( blocks ) {\n\t\tinsertBlocks( blocks, 0 );\n\t}\n\n\tfunction onSelect() {\n\t\tsetIsSelected( true );\n\t\tclearSelectedBlock();\n\t}\n\n\tfunction onUnselect() {\n\t\tsetIsSelected( false );\n\t\tsetSelection( {} );\n\t}\n\n\tfunction onEnterPress() {\n\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tonEnterPress();\n\t\t}\n\t}\n\n\tfunction onPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error ) {\n\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t// behaviour.\n\t\t\treturn;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\tconst content = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t} );\n\n\t\tevent.preventDefault();\n\n\t\tif ( ! content.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( typeof content !== 'string' ) {\n\t\t\tconst [ firstBlock ] = content;\n\n\t\t\tif (\n\t\t\t\t! title &&\n\t\t\t\t( firstBlock.name === 'core/heading' ||\n\t\t\t\t\tfirstBlock.name === 'core/paragraph' )\n\t\t\t) {\n\t\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t\t// is undesirable.\n\t\t\t\tconst contentNoHTML = stripHTML(\n\t\t\t\t\tfirstBlock.attributes.content\n\t\t\t\t);\n\t\t\t\tonUpdate( contentNoHTML );\n\t\t\t\tonInsertBlockAfter( content.slice( 1 ) );\n\t\t\t} else {\n\t\t\t\tonInsertBlockAfter( content );\n\t\t\t}\n\t\t} else {\n\t\t\t// Strip HTML to avoid unwanted HTML being added to the title.\n\t\t\t// In the majority of cases it is assumed that HTML in the title\n\t\t\t// is undesirable.\n\t\t\tconst contentNoHTML = stripHTML( content );\n\t\t\tonChange( insert( value, create( { html: contentNoHTML } ) ) );\n\t\t}\n\t}\n\n\t// The wp-block className is important for editor styles.\n\t// This same block is used in both the visual and the code editor.\n\tconst className = clsx( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t} );\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t\t<PostTypeSupportCheck supportKeys=\"title\">\n\t\t\t<h1\n\t\t\t\tref={ useMergeRefs( [ richTextRef, focusRef ] ) }\n\t\t\t\tcontentEditable\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ decodedPlaceholder }\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline=\"true\"\n\t\t\t\tonFocus={ onSelect }\n\t\t\t\tonBlur={ onUnselect }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tonPaste={ onPaste }\n\t\t\t/>\n\t\t</PostTypeSupportCheck>\n\t\t/* eslint-enable jsx-a11y/heading-has-content, jsx-a11y/no-noninteractive-element-to-interactive-role */\n\t);\n}\n\n/**\n * Renders the `PostTitle` component.\n *\n * @param {Object} _ Unused parameter.\n * @param {Element} forwardedRef Forwarded ref for the component.\n *\n * @return {Component} The rendered PostTitle component.\n */\nexport default forwardRef( PostTitle );\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.default = PostTrashCheck;
7
7
  var _data = require("@wordpress/data");
8
8
  var _coreData = require("@wordpress/core-data");
9
9
  var _store = require("../../store");
10
+ var _constants = require("../../store/constants");
10
11
  /**
11
12
  * WordPress dependencies
12
13
  */
@@ -46,7 +47,7 @@ function PostTrashCheck({
46
47
  id: postId
47
48
  }) : false;
48
49
  return {
49
- canTrashPost: (!isNew || postId) && canUserDelete
50
+ canTrashPost: (!isNew || postId) && canUserDelete && !_constants.GLOBAL_POST_TYPES.includes(postType)
50
51
  };
51
52
  }, []);
52
53
  if (!canTrashPost) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_store","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","canUser","coreStore","postType","postId","isNew","canUserDelete","kind","name","id"],"sources":["@wordpress/editor/src/components/post-trash/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 * Wrapper component that renders its children only if the post can trashed.\n *\n * @param {Object} props - The component props.\n * @param {Element} props.children - The child components to render.\n *\n * @return {Component|null} The rendered child components or null if the post can not trashed.\n */\nexport default function PostTrashCheck( { children } ) {\n\tconst { canTrashPost } = useSelect( ( select ) => {\n\t\tconst { isEditedPostNew, getCurrentPostId, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst { canUser } = select( coreStore );\n\t\tconst postType = getCurrentPostType();\n\t\tconst postId = getCurrentPostId();\n\t\tconst isNew = isEditedPostNew();\n\t\tconst canUserDelete = !! postId\n\t\t\t? canUser( 'delete', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t\tid: postId,\n\t\t\t } )\n\t\t\t: false;\n\n\t\treturn {\n\t\t\tcanTrashPost: ( ! isNew || postId ) && canUserDelete,\n\t\t};\n\t}, [] );\n\n\tif ( ! canTrashPost ) {\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,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC,eAAe;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAC9DH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAAEM,eAAU,CAAC;IACvC,MAAMC,QAAQ,GAAGJ,kBAAkB,CAAC,CAAC;IACrC,MAAMK,MAAM,GAAGN,gBAAgB,CAAC,CAAC;IACjC,MAAMO,KAAK,GAAGR,eAAe,CAAC,CAAC;IAC/B,MAAMS,aAAa,GAAG,CAAC,CAAEF,MAAM,GAC5BH,OAAO,CAAE,QAAQ,EAAE;MACnBM,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAEL,QAAQ;MACdM,EAAE,EAAEL;IACJ,CAAE,CAAC,GACH,KAAK;IAER,OAAO;MACNV,YAAY,EAAE,CAAE,CAAEW,KAAK,IAAID,MAAM,KAAME;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEZ,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_store","_constants","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","canUser","coreStore","postType","postId","isNew","canUserDelete","kind","name","id","GLOBAL_POST_TYPES","includes"],"sources":["@wordpress/editor/src/components/post-trash/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';\nimport { GLOBAL_POST_TYPES } from '../../store/constants';\n\n/**\n * Wrapper component that renders its children only if the post can trashed.\n *\n * @param {Object} props - The component props.\n * @param {Element} props.children - The child components to render.\n *\n * @return {Component|null} The rendered child components or null if the post can not trashed.\n */\nexport default function PostTrashCheck( { children } ) {\n\tconst { canTrashPost } = useSelect( ( select ) => {\n\t\tconst { isEditedPostNew, getCurrentPostId, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst { canUser } = select( coreStore );\n\t\tconst postType = getCurrentPostType();\n\t\tconst postId = getCurrentPostId();\n\t\tconst isNew = isEditedPostNew();\n\t\tconst canUserDelete = !! postId\n\t\t\t? canUser( 'delete', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t\tid: postId,\n\t\t\t } )\n\t\t\t: false;\n\n\t\treturn {\n\t\t\tcanTrashPost:\n\t\t\t\t( ! isNew || postId ) &&\n\t\t\t\tcanUserDelete &&\n\t\t\t\t! GLOBAL_POST_TYPES.includes( postType ),\n\t\t};\n\t}, [] );\n\tif ( ! canTrashPost ) {\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;AACA,IAAAG,UAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASI,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC,eAAe;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAC9DH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAAEM,eAAU,CAAC;IACvC,MAAMC,QAAQ,GAAGJ,kBAAkB,CAAC,CAAC;IACrC,MAAMK,MAAM,GAAGN,gBAAgB,CAAC,CAAC;IACjC,MAAMO,KAAK,GAAGR,eAAe,CAAC,CAAC;IAC/B,MAAMS,aAAa,GAAG,CAAC,CAAEF,MAAM,GAC5BH,OAAO,CAAE,QAAQ,EAAE;MACnBM,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAEL,QAAQ;MACdM,EAAE,EAAEL;IACJ,CAAE,CAAC,GACH,KAAK;IAER,OAAO;MACNV,YAAY,EACX,CAAE,CAAEW,KAAK,IAAID,MAAM,KACnBE,aAAa,IACb,CAAEI,4BAAiB,CAACC,QAAQ,CAAER,QAAS;IACzC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAK,CAAET,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","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
  });
@@ -9,6 +10,7 @@ var _components = require("@wordpress/components");
9
10
  var _data = require("@wordpress/data");
10
11
  var _element = require("@wordpress/element");
11
12
  var _store = require("../../store");
13
+ var _check = _interopRequireDefault(require("./check"));
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  /**
14
16
  * WordPress dependencies
@@ -21,18 +23,24 @@ var _jsxRuntime = require("react/jsx-runtime");
21
23
  /**
22
24
  * Displays the Post Trash Button and Confirm Dialog in the Editor.
23
25
  *
26
+ * @param {?{onActionPerformed: Object}} An object containing the onActionPerformed function.
24
27
  * @return {JSX.Element|null} The rendered PostTrash component.
25
- */function PostTrash() {
28
+ */function PostTrash({
29
+ onActionPerformed
30
+ }) {
31
+ const registry = (0, _data.useRegistry)();
26
32
  const {
27
33
  isNew,
28
34
  isDeleting,
29
- postId
35
+ postId,
36
+ title
30
37
  } = (0, _data.useSelect)(select => {
31
38
  const store = select(_store.store);
32
39
  return {
33
40
  isNew: store.isEditedPostNew(),
34
41
  isDeleting: store.isDeletingPost(),
35
- postId: store.getCurrentPostId()
42
+ postId: store.getCurrentPostId(),
43
+ title: store.getCurrentPostAttribute('title')
36
44
  };
37
45
  }, []);
38
46
  const {
@@ -42,11 +50,15 @@ var _jsxRuntime = require("react/jsx-runtime");
42
50
  if (isNew || !postId) {
43
51
  return null;
44
52
  }
45
- const handleConfirm = () => {
53
+ const handleConfirm = async () => {
46
54
  setShowConfirmDialog(false);
47
- trashPost();
55
+ await trashPost();
56
+ const item = await registry.resolveSelect(_store.store).getCurrentPost();
57
+ // After the post is trashed, we want to trigger the onActionPerformed callback, so the user is redirect
58
+ // to the post view depending on if the user is on post editor or site editor.
59
+ onActionPerformed?.('move-to-trash', [item]);
48
60
  };
49
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_check.default, {
50
62
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
51
63
  __next40pxDefaultSize: true,
52
64
  className: "editor-post-trash",
@@ -61,8 +73,10 @@ var _jsxRuntime = require("react/jsx-runtime");
61
73
  onConfirm: handleConfirm,
62
74
  onCancel: () => setShowConfirmDialog(false),
63
75
  confirmButtonText: (0, _i18n.__)('Move to trash'),
64
- size: "medium",
65
- children: (0, _i18n.__)('Are you sure you want to move this post to the trash?')
76
+ size: "small",
77
+ children: (0, _i18n.sprintf)(
78
+ // translators: %s: The item's title.
79
+ (0, _i18n.__)('Are you sure you want to move "%s" to the trash?'), title)
66
80
  })]
67
81
  });
68
82
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_element","_store","_jsxRuntime","PostTrash","isNew","isDeleting","postId","useSelect","select","store","editorStore","isEditedPostNew","isDeletingPost","getCurrentPostId","trashPost","useDispatch","showConfirmDialog","setShowConfirmDialog","useState","handleConfirm","jsxs","Fragment","children","jsx","Button","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","__","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","size"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Displays the Post Trash Button and Confirm Dialog in the Editor.\n *\n * @return {JSX.Element|null} The rendered PostTrash component.\n */\nexport default function PostTrash() {\n\tconst { isNew, isDeleting, postId } = useSelect( ( select ) => {\n\t\tconst store = select( editorStore );\n\t\treturn {\n\t\t\tisNew: store.isEditedPostNew(),\n\t\t\tisDeleting: store.isDeletingPost(),\n\t\t\tpostId: store.getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { trashPost } = useDispatch( editorStore );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\ttrashPost();\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-trash\"\n\t\t\t\tisDestructive\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tisBusy={ isDeleting }\n\t\t\t\taria-disabled={ isDeleting }\n\t\t\t\tonClick={\n\t\t\t\t\tisDeleting ? undefined : () => setShowConfirmDialog( true )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ __( 'Move to trash' ) }\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={ __( 'Move to trash' ) }\n\t\t\t\tsize=\"medium\"\n\t\t\t>\n\t\t\t\t{ __(\n\t\t\t\t\t'Are you sure you want to move this post to the trash?'\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,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;AACA;AACA;AACA;AACA,GACe,SAASM,SAASA,CAAA,EAAG;EACnC,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,MAAMC,KAAK,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACnC,OAAO;MACNN,KAAK,EAAEK,KAAK,CAACE,eAAe,CAAC,CAAC;MAC9BN,UAAU,EAAEI,KAAK,CAACG,cAAc,CAAC,CAAC;MAClCN,MAAM,EAAEG,KAAK,CAACI,gBAAgB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAW,EAAEL,YAAY,CAAC;EAChD,MAAM,CAAEM,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,IAAKd,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMa,aAAa,GAAGA,CAAA,KAAM;IAC3BF,oBAAoB,CAAE,KAAM,CAAC;IAC7BH,SAAS,CAAC,CAAC;EACZ,CAAC;EAED,oBACC,IAAAZ,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;IAAAC,QAAA,gBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAA0B,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAGxB,UAAY;MACrB,iBAAgBA,UAAY;MAC5ByB,OAAO,EACNzB,UAAU,GAAG0B,SAAS,GAAG,MAAMd,oBAAoB,CAAE,IAAK,CAC1D;MAAAK,QAAA,EAEC,IAAAU,QAAE,EAAE,eAAgB;IAAC,CAChB,CAAC,eACT,IAAA9B,WAAA,CAAAqB,GAAA,EAACzB,WAAA,CAAAmC,2BAAa;MACbC,MAAM,EAAGlB,iBAAmB;MAC5BmB,SAAS,EAAGhB,aAAe;MAC3BiB,QAAQ,EAAGA,CAAA,KAAMnB,oBAAoB,CAAE,KAAM,CAAG;MAChDoB,iBAAiB,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;MAC3CM,IAAI,EAAC,QAAQ;MAAAhB,QAAA,EAEX,IAAAU,QAAE,EACH,uDACD;IAAC,CACa,CAAC;EAAA,CACf,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_element","_store","_check","_interopRequireDefault","_jsxRuntime","PostTrash","onActionPerformed","registry","useRegistry","isNew","isDeleting","postId","title","useSelect","select","store","editorStore","isEditedPostNew","isDeletingPost","getCurrentPostId","getCurrentPostAttribute","trashPost","useDispatch","showConfirmDialog","setShowConfirmDialog","useState","handleConfirm","item","resolveSelect","getCurrentPost","jsxs","default","children","jsx","Button","__next40pxDefaultSize","className","isDestructive","variant","isBusy","onClick","undefined","__","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","size","sprintf"],"sources":["@wordpress/editor/src/components/post-trash/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTrashCheck from './check';\n\n/**\n * Displays the Post Trash Button and Confirm Dialog in the Editor.\n *\n * @param {?{onActionPerformed: Object}} An object containing the onActionPerformed function.\n * @return {JSX.Element|null} The rendered PostTrash component.\n */\nexport default function PostTrash( { onActionPerformed } ) {\n\tconst registry = useRegistry();\n\tconst { isNew, isDeleting, postId, title } = useSelect( ( select ) => {\n\t\tconst store = select( editorStore );\n\t\treturn {\n\t\t\tisNew: store.isEditedPostNew(),\n\t\t\tisDeleting: store.isDeletingPost(),\n\t\t\tpostId: store.getCurrentPostId(),\n\t\t\ttitle: store.getCurrentPostAttribute( 'title' ),\n\t\t};\n\t}, [] );\n\tconst { trashPost } = useDispatch( editorStore );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\tconst handleConfirm = async () => {\n\t\tsetShowConfirmDialog( false );\n\t\tawait trashPost();\n\t\tconst item = await registry\n\t\t\t.resolveSelect( editorStore )\n\t\t\t.getCurrentPost();\n\t\t// After the post is trashed, we want to trigger the onActionPerformed callback, so the user is redirect\n\t\t// to the post view depending on if the user is on post editor or site editor.\n\t\tonActionPerformed?.( 'move-to-trash', [ item ] );\n\t};\n\treturn (\n\t\t<PostTrashCheck>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"editor-post-trash\"\n\t\t\t\tisDestructive\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tisBusy={ isDeleting }\n\t\t\t\taria-disabled={ isDeleting }\n\t\t\t\tonClick={\n\t\t\t\t\tisDeleting ? undefined : () => setShowConfirmDialog( true )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ __( 'Move to trash' ) }\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={ __( 'Move to trash' ) }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: The item's title.\n\t\t\t\t\t__( 'Are you sure you want to move \"%s\" to the trash?' ),\n\t\t\t\t\ttitle\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</PostTrashCheck>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,sBAAA,CAAAN,OAAA;AAAqC,IAAAO,WAAA,GAAAP,OAAA;AAfrC;AACA;AACA;;AASA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA,GACe,SAASQ,SAASA,CAAE;EAAEC;AAAkB,CAAC,EAAG;EAC1D,MAAMC,QAAQ,GAAG,IAAAC,iBAAW,EAAC,CAAC;EAC9B,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACrE,MAAMC,KAAK,GAAGD,MAAM,CAAEE,YAAY,CAAC;IACnC,OAAO;MACNP,KAAK,EAAEM,KAAK,CAACE,eAAe,CAAC,CAAC;MAC9BP,UAAU,EAAEK,KAAK,CAACG,cAAc,CAAC,CAAC;MAClCP,MAAM,EAAEI,KAAK,CAACI,gBAAgB,CAAC,CAAC;MAChCP,KAAK,EAAEG,KAAK,CAACK,uBAAuB,CAAE,OAAQ;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAW,EAAEN,YAAY,CAAC;EAChD,MAAM,CAAEO,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,IAAKhB,KAAK,IAAI,CAAEE,MAAM,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,MAAMe,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,oBAAoB,CAAE,KAAM,CAAC;IAC7B,MAAMH,SAAS,CAAC,CAAC;IACjB,MAAMM,IAAI,GAAG,MAAMpB,QAAQ,CACzBqB,aAAa,CAAEZ,YAAY,CAAC,CAC5Ba,cAAc,CAAC,CAAC;IAClB;IACA;IACAvB,iBAAiB,GAAI,eAAe,EAAE,CAAEqB,IAAI,CAAG,CAAC;EACjD,CAAC;EACD,oBACC,IAAAvB,WAAA,CAAA0B,IAAA,EAAC5B,MAAA,CAAA6B,OAAc;IAAAC,QAAA,gBACd,IAAA5B,WAAA,CAAA6B,GAAA,EAACnC,WAAA,CAAAoC,MAAM;MACNC,qBAAqB;MACrBC,SAAS,EAAC,mBAAmB;MAC7BC,aAAa;MACbC,OAAO,EAAC,WAAW;MACnBC,MAAM,EAAG7B,UAAY;MACrB,iBAAgBA,UAAY;MAC5B8B,OAAO,EACN9B,UAAU,GAAG+B,SAAS,GAAG,MAAMjB,oBAAoB,CAAE,IAAK,CAC1D;MAAAQ,QAAA,EAEC,IAAAU,QAAE,EAAE,eAAgB;IAAC,CAChB,CAAC,eACT,IAAAtC,WAAA,CAAA6B,GAAA,EAACnC,WAAA,CAAA6C,2BAAa;MACbC,MAAM,EAAGrB,iBAAmB;MAC5BsB,SAAS,EAAGnB,aAAe;MAC3BoB,QAAQ,EAAGA,CAAA,KAAMtB,oBAAoB,CAAE,KAAM,CAAG;MAChDuB,iBAAiB,EAAG,IAAAL,QAAE,EAAE,eAAgB,CAAG;MAC3CM,IAAI,EAAC,OAAO;MAAAhB,QAAA,EAEV,IAAAiB,aAAO;MACR;MACA,IAAAP,QAAE,EAAE,kDAAmD,CAAC,EACxD9B,KACD;IAAC,CACa,CAAC;EAAA,CACD,CAAC;AAEnB","ignoreList":[]}
@@ -94,7 +94,10 @@ var _jsxRuntime = require("react/jsx-runtime");
94
94
  prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalInputControlPrefixWrapper, {
95
95
  children: "/"
96
96
  }),
97
- suffix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
97
+ suffix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
98
+ // TODO: Switch to `true` (40px size) if possible
99
+ , {
100
+ __next40pxDefaultSize: false,
98
101
  icon: _icons.copySmall,
99
102
  ref: copyButtonRef,
100
103
  label: (0, _i18n.__)('Copy')
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_url","_element","_blockEditor","_i18n","_components","_notices","_icons","_coreData","_compose","_store","_jsxRuntime","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","safeDecodeURIComponent","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","useDispatch","createNotice","noticesStore","forceEmptyField","setForceEmptyField","useState","copyButtonRef","useCopyToClipboard","__","isDismissible","type","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__experimentalVStack","spacing","createInterpolateElement","a","ExternalLink","href","__experimentalInputControl","__next40pxDefaultSize","__experimentalInputControlPrefixWrapper","Button","icon","copySmall","ref","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","cleanForSlug","target","help"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {Function} onClose Callback function to be executed when the popover is closed.\n *\n * @return {Component} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Customize the last part of the URL. <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_url","_element","_blockEditor","_i18n","_components","_notices","_icons","_coreData","_compose","_store","_jsxRuntime","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","safeDecodeURIComponent","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","useDispatch","createNotice","noticesStore","forceEmptyField","setForceEmptyField","useState","copyButtonRef","useCopyToClipboard","__","isDismissible","type","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__experimentalVStack","spacing","createInterpolateElement","a","ExternalLink","href","__experimentalInputControl","__next40pxDefaultSize","__experimentalInputControlPrefixWrapper","Button","icon","copySmall","ref","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","cleanForSlug","target","help"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {Function} onClose Callback function to be executed when the popover is closed.\n *\n * @return {Component} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied URL to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Customize the last part of the URL. <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,7 @@ var _check3 = _interopRequireDefault(require("../page-attributes/check"));
22
22
  var _postTypeSupportCheck = _interopRequireDefault(require("../post-type-support-check"));
23
23
  var _store = require("../../store");
24
24
  var _lockUnlock = require("../../lock-unlock");
25
+ var _startPageOptions = require("../start-page-options");
25
26
  var _jsxRuntime = require("react/jsx-runtime");
26
27
  /**
27
28
  * WordPress dependencies
@@ -71,6 +72,7 @@ function EditorPreferencesModal({
71
72
  const {
72
73
  set: setPreference
73
74
  } = (0, _data.useDispatch)(_preferences.store);
75
+ const hasStarterPatterns = !!(0, _startPageOptions.useStartPatterns)().length;
74
76
  const sections = (0, _element.useMemo)(() => [{
75
77
  name: 'general',
76
78
  tabLabel: (0, _i18n.__)('General'),
@@ -92,6 +94,11 @@ function EditorPreferencesModal({
92
94
  featureName: "allowRightClickOverrides",
93
95
  help: (0, _i18n.__)('Allows contextual List View menus via right-click, overriding browser defaults.'),
94
96
  label: (0, _i18n.__)('Allow right-click contextual menus')
97
+ }), hasStarterPatterns && /*#__PURE__*/(0, _jsxRuntime.jsx)(PreferenceToggleControl, {
98
+ scope: "core",
99
+ featureName: "enableChoosePatternModal",
100
+ help: (0, _i18n.__)('Shows starter patterns when creating a new page.'),
101
+ label: (0, _i18n.__)('Show starter patterns')
95
102
  })]
96
103
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(PreferencesModalSection, {
97
104
  title: (0, _i18n.__)('Document settings'),
@@ -201,7 +208,27 @@ function EditorPreferencesModal({
201
208
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockManager.default, {})
202
209
  })]
203
210
  })
204
- }], [showBlockBreadcrumbsOption, extraSections, setIsInserterOpened, setIsListViewOpened, setPreference, isLargeViewport]);
211
+ }, window.__experimentalMediaProcessing && {
212
+ name: 'media',
213
+ tabLabel: (0, _i18n.__)('Media'),
214
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
215
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(PreferencesModalSection, {
216
+ title: (0, _i18n.__)('General'),
217
+ description: (0, _i18n.__)('Customize options related to the media upload flow.'),
218
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PreferenceToggleControl, {
219
+ scope: "core/media",
220
+ featureName: "optimizeOnUpload",
221
+ help: (0, _i18n.__)('Compress media items before uploading to the server.'),
222
+ label: (0, _i18n.__)('Pre-upload compression')
223
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PreferenceToggleControl, {
224
+ scope: "core/media",
225
+ featureName: "requireApproval",
226
+ help: (0, _i18n.__)('Require approval step when optimizing existing media.'),
227
+ label: (0, _i18n.__)('Approval step')
228
+ })]
229
+ })
230
+ })
231
+ }].filter(Boolean), [showBlockBreadcrumbsOption, extraSections, setIsInserterOpened, setIsListViewOpened, setPreference, isLargeViewport, hasStarterPatterns]);
205
232
  if (!isActive) {
206
233
  return null;
207
234
  }