@wordpress/editor 13.32.0 → 13.34.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 (733) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +355 -20
  3. package/build/bindings/index.js.map +1 -1
  4. package/build/bindings/pattern-overrides.js.map +1 -1
  5. package/build/bindings/post-meta.js +12 -30
  6. package/build/bindings/post-meta.js.map +1 -1
  7. package/build/components/autocompleters/index.js.map +1 -1
  8. package/build/components/autocompleters/user.js.map +1 -1
  9. package/build/components/autosave-monitor/index.js +24 -11
  10. package/build/components/autosave-monitor/index.js.map +1 -1
  11. package/build/components/block-manager/category.js.map +1 -1
  12. package/build/components/block-manager/checklist.js.map +1 -1
  13. package/build/components/block-manager/index.js.map +1 -1
  14. package/build/components/block-removal-warnings/index.js.map +1 -1
  15. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  16. package/build/components/character-count/index.js +5 -0
  17. package/build/components/character-count/index.js.map +1 -1
  18. package/build/components/collapsible-block-toolbar/index.js +73 -0
  19. package/build/components/collapsible-block-toolbar/index.js.map +1 -0
  20. package/build/components/commands/index.js +19 -0
  21. package/build/components/commands/index.js.map +1 -1
  22. package/build/components/commands/index.native.js.map +1 -1
  23. package/build/components/deprecated.js.map +1 -1
  24. package/build/components/deprecated.native.js.map +1 -1
  25. package/build/components/document-bar/index.js.map +1 -1
  26. package/build/components/document-outline/check.js +8 -0
  27. package/build/components/document-outline/check.js.map +1 -1
  28. package/build/components/document-outline/index.js +11 -0
  29. package/build/components/document-outline/index.js.map +1 -1
  30. package/build/components/document-outline/item.js.map +1 -1
  31. package/build/components/document-tools/index.js +1 -8
  32. package/build/components/document-tools/index.js.map +1 -1
  33. package/build/components/editor-canvas/edit-template-blocks-notification.js +13 -2
  34. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  35. package/build/components/editor-canvas/index.js +2 -2
  36. package/build/components/editor-canvas/index.js.map +1 -1
  37. package/build/components/editor-help/add-blocks.native.js.map +1 -1
  38. package/build/components/editor-help/customize-blocks.native.js.map +1 -1
  39. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  40. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  41. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  42. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  43. package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
  44. package/build/components/editor-help/index.native.js.map +1 -1
  45. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  46. package/build/components/editor-help/move-blocks.native.js.map +1 -1
  47. package/build/components/editor-help/remove-blocks.native.js.map +1 -1
  48. package/build/components/editor-help/view-sections.native.js.map +1 -1
  49. package/build/components/editor-history/redo.js +11 -0
  50. package/build/components/editor-history/redo.js.map +1 -1
  51. package/build/components/editor-history/undo.js +11 -0
  52. package/build/components/editor-history/undo.js.map +1 -1
  53. package/build/components/editor-notices/index.js.map +1 -1
  54. package/build/components/editor-snackbars/index.js +6 -0
  55. package/build/components/editor-snackbars/index.js.map +1 -1
  56. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  57. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  58. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  59. package/build/components/entities-saved-states/index.js.map +1 -1
  60. package/build/components/error-boundary/index.js.map +1 -1
  61. package/build/components/error-boundary/index.native.js.map +1 -1
  62. package/build/components/global-keyboard-shortcuts/index.js +31 -0
  63. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  64. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +52 -0
  65. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  66. package/build/components/index.js +33 -1
  67. package/build/components/index.js.map +1 -1
  68. package/build/components/index.native.js.map +1 -1
  69. package/build/components/inserter-sidebar/index.js +1 -4
  70. package/build/components/inserter-sidebar/index.js.map +1 -1
  71. package/build/components/keyboard-shortcut-help-modal/config.js +82 -0
  72. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  73. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +49 -0
  74. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  75. package/build/components/keyboard-shortcut-help-modal/index.js +126 -0
  76. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  77. package/build/components/keyboard-shortcut-help-modal/shortcut.js +55 -0
  78. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  79. package/build/components/list-view-sidebar/index.js +1 -1
  80. package/build/components/list-view-sidebar/index.js.map +1 -1
  81. package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
  82. package/build/components/local-autosave-monitor/index.js.map +1 -1
  83. package/build/components/media-categories/index.js.map +1 -1
  84. package/build/components/mode-switcher/index.js.map +1 -1
  85. package/build/components/more-menu/copy-content-menu-item.js +59 -0
  86. package/build/components/more-menu/copy-content-menu-item.js.map +1 -0
  87. package/build/components/more-menu/index.js +119 -0
  88. package/build/components/more-menu/index.js.map +1 -0
  89. package/build/components/more-menu/tools-more-menu-group.js +23 -0
  90. package/build/components/more-menu/tools-more-menu-group.js.map +1 -0
  91. package/build/components/more-menu/view-more-menu-group.js +24 -0
  92. package/build/components/more-menu/view-more-menu-group.js.map +1 -0
  93. package/build/components/offline-status/index.native.js.map +1 -1
  94. package/build/components/page-attributes/check.js +8 -0
  95. package/build/components/page-attributes/check.js.map +1 -1
  96. package/build/components/page-attributes/order.js +7 -0
  97. package/build/components/page-attributes/order.js.map +1 -1
  98. package/build/components/page-attributes/panel.js +14 -8
  99. package/build/components/page-attributes/panel.js.map +1 -1
  100. package/build/components/page-attributes/parent.js +7 -0
  101. package/build/components/page-attributes/parent.js.map +1 -1
  102. package/build/components/pattern-overrides-panel/index.js.map +1 -1
  103. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  104. package/build/components/plugin-more-menu-item/index.js +78 -0
  105. package/build/components/plugin-more-menu-item/index.js.map +1 -0
  106. package/build/components/plugin-post-publish-panel/index.js +1 -1
  107. package/build/components/plugin-post-publish-panel/index.js.map +1 -1
  108. package/build/components/plugin-post-status-info/index.js +73 -0
  109. package/build/components/plugin-post-status-info/index.js.map +1 -0
  110. package/build/components/plugin-pre-publish-panel/index.js +1 -1
  111. package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
  112. package/build/components/plugin-sidebar/index.js +108 -0
  113. package/build/components/plugin-sidebar/index.js.map +1 -0
  114. package/build/components/plugin-sidebar-more-menu-item/index.js +71 -0
  115. package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  116. package/build/components/post-actions/actions.js +316 -20
  117. package/build/components/post-actions/actions.js.map +1 -1
  118. package/build/components/post-actions/index.js +160 -0
  119. package/build/components/post-actions/index.js.map +1 -0
  120. package/build/components/post-author/check.js +9 -0
  121. package/build/components/post-author/check.js.map +1 -1
  122. package/build/components/post-author/combobox.js.map +1 -1
  123. package/build/components/post-author/constants.js.map +1 -1
  124. package/build/components/post-author/hook.js.map +1 -1
  125. package/build/components/post-author/index.js +6 -0
  126. package/build/components/post-author/index.js.map +1 -1
  127. package/build/components/post-author/panel.js +5 -0
  128. package/build/components/post-author/panel.js.map +1 -1
  129. package/build/components/post-author/select.js.map +1 -1
  130. package/build/components/post-card-panel/index.js +14 -15
  131. package/build/components/post-card-panel/index.js.map +1 -1
  132. package/build/components/post-comments/index.js.map +1 -1
  133. package/build/components/post-content-information/index.js +72 -0
  134. package/build/components/post-content-information/index.js.map +1 -0
  135. package/build/components/post-discussion/panel.js +9 -7
  136. package/build/components/post-discussion/panel.js.map +1 -1
  137. package/build/components/post-excerpt/check.js +7 -18
  138. package/build/components/post-excerpt/check.js.map +1 -1
  139. package/build/components/post-excerpt/index.js +52 -12
  140. package/build/components/post-excerpt/index.js.map +1 -1
  141. package/build/components/post-excerpt/panel.js +118 -7
  142. package/build/components/post-excerpt/panel.js.map +1 -1
  143. package/build/components/post-excerpt/plugin.js +2 -2
  144. package/build/components/post-excerpt/plugin.js.map +1 -1
  145. package/build/components/post-featured-image/check.js.map +1 -1
  146. package/build/components/post-featured-image/index.js +1 -1
  147. package/build/components/post-featured-image/index.js.map +1 -1
  148. package/build/components/post-featured-image/panel.js.map +1 -1
  149. package/build/components/post-format/check.js.map +1 -1
  150. package/build/components/post-format/index.js.map +1 -1
  151. package/build/components/post-last-edited-panel/index.js +33 -0
  152. package/build/components/post-last-edited-panel/index.js.map +1 -0
  153. package/build/components/post-last-revision/check.js.map +1 -1
  154. package/build/components/post-last-revision/index.js.map +1 -1
  155. package/build/components/post-last-revision/panel.js.map +1 -1
  156. package/build/components/post-locked-modal/index.js.map +1 -1
  157. package/build/components/post-panel-row/index.js.map +1 -1
  158. package/build/components/post-pending-status/check.js.map +1 -1
  159. package/build/components/post-pending-status/index.js.map +1 -1
  160. package/build/components/post-pingbacks/index.js.map +1 -1
  161. package/build/components/post-preview-button/index.js.map +1 -1
  162. package/build/components/post-publish-button/index.js +31 -31
  163. package/build/components/post-publish-button/index.js.map +1 -1
  164. package/build/components/post-publish-button/label.js +51 -43
  165. package/build/components/post-publish-button/label.js.map +1 -1
  166. package/build/components/post-publish-button/post-publish-button-or-toggle.js +100 -0
  167. package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  168. package/build/components/post-publish-panel/index.js.map +1 -1
  169. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  170. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  171. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  172. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  173. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  174. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  175. package/build/components/post-saved-state/index.js +10 -6
  176. package/build/components/post-saved-state/index.js.map +1 -1
  177. package/build/components/post-schedule/check.js.map +1 -1
  178. package/build/components/post-schedule/index.js.map +1 -1
  179. package/build/components/post-schedule/label.js.map +1 -1
  180. package/build/components/post-schedule/panel.js +9 -1
  181. package/build/components/post-schedule/panel.js.map +1 -1
  182. package/build/components/post-slug/check.js.map +1 -1
  183. package/build/components/post-slug/index.js +43 -68
  184. package/build/components/post-slug/index.js.map +1 -1
  185. package/build/components/post-status/index.js +239 -0
  186. package/build/components/post-status/index.js.map +1 -0
  187. package/build/components/post-sticky/check.js.map +1 -1
  188. package/build/components/post-sticky/index.js.map +1 -1
  189. package/build/components/post-switch-to-draft-button/index.js +6 -1
  190. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  191. package/build/components/post-sync-status/index.js.map +1 -1
  192. package/build/components/post-taxonomies/check.js.map +1 -1
  193. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  194. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  195. package/build/components/post-taxonomies/index.js.map +1 -1
  196. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  197. package/build/components/post-taxonomies/panel.js.map +1 -1
  198. package/build/components/post-template/block-theme.js +8 -4
  199. package/build/components/post-template/block-theme.js.map +1 -1
  200. package/build/components/post-template/classic-theme.js +0 -1
  201. package/build/components/post-template/classic-theme.js.map +1 -1
  202. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  203. package/build/components/post-template/create-new-template.js.map +1 -1
  204. package/build/components/post-template/hooks.js.map +1 -1
  205. package/build/components/post-template/panel.js.map +1 -1
  206. package/build/components/post-template/reset-default-template.js.map +1 -1
  207. package/build/components/post-template/swap-template-button.js +2 -5
  208. package/build/components/post-template/swap-template-button.js.map +1 -1
  209. package/build/components/post-text-editor/index.js.map +1 -1
  210. package/build/components/post-title/constants.js.map +1 -1
  211. package/build/components/post-title/index.js.map +1 -1
  212. package/build/components/post-title/index.native.js.map +1 -1
  213. package/build/components/post-title/post-title-raw.js.map +1 -1
  214. package/build/components/post-title/use-post-title-focus.js.map +1 -1
  215. package/build/components/post-title/use-post-title.js.map +1 -1
  216. package/build/components/post-trash/check.js +23 -25
  217. package/build/components/post-trash/check.js.map +1 -1
  218. package/build/components/post-trash/index.js +2 -1
  219. package/build/components/post-trash/index.js.map +1 -1
  220. package/build/components/post-type-support-check/index.js.map +1 -1
  221. package/build/components/post-url/check.js.map +1 -1
  222. package/build/components/post-url/index.js +45 -19
  223. package/build/components/post-url/index.js.map +1 -1
  224. package/build/components/post-url/label.js.map +1 -1
  225. package/build/components/post-url/panel.js +15 -8
  226. package/build/components/post-url/panel.js.map +1 -1
  227. package/build/components/post-view-link/index.js.map +1 -1
  228. package/build/components/post-visibility/check.js.map +1 -1
  229. package/build/components/post-visibility/index.js +2 -1
  230. package/build/components/post-visibility/index.js.map +1 -1
  231. package/build/components/post-visibility/label.js.map +1 -1
  232. package/build/components/post-visibility/utils.js.map +1 -1
  233. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  234. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  235. package/build/components/preferences-modal/enable-publish-sidebar.js +34 -0
  236. package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  237. package/build/components/preferences-modal/index.js +26 -18
  238. package/build/components/preferences-modal/index.js.map +1 -1
  239. package/build/components/preview-dropdown/index.js +3 -1
  240. package/build/components/preview-dropdown/index.js.map +1 -1
  241. package/build/components/provider/disable-non-page-content-blocks.js +23 -16
  242. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  243. package/build/components/provider/index.js +4 -2
  244. package/build/components/provider/index.js.map +1 -1
  245. package/build/components/provider/index.native.js +6 -1
  246. package/build/components/provider/index.native.js.map +1 -1
  247. package/build/components/provider/navigation-block-editing-mode.js.map +1 -1
  248. package/build/components/provider/use-auto-switch-editor-sidebars.js +52 -0
  249. package/build/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  250. package/build/components/provider/use-block-editor-settings.js +64 -43
  251. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  252. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  253. package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  254. package/build/components/provider/with-registry-provider.js +1 -0
  255. package/build/components/provider/with-registry-provider.js.map +1 -1
  256. package/build/components/save-publish-panels/index.js +89 -0
  257. package/build/components/save-publish-panels/index.js.map +1 -0
  258. package/build/components/start-page-options/index.js +143 -0
  259. package/build/components/start-page-options/index.js.map +1 -0
  260. package/build/components/table-of-contents/index.js.map +1 -1
  261. package/build/components/table-of-contents/panel.js.map +1 -1
  262. package/build/components/template-areas/index.js.map +1 -1
  263. package/build/components/template-validation-notice/index.js +23 -29
  264. package/build/components/template-validation-notice/index.js.map +1 -1
  265. package/build/components/theme-support-check/index.js +10 -16
  266. package/build/components/theme-support-check/index.js.map +1 -1
  267. package/build/components/time-to-read/index.js.map +1 -1
  268. package/build/components/unsaved-changes-warning/index.js.map +1 -1
  269. package/build/components/word-count/index.js.map +1 -1
  270. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  271. package/build/hooks/default-autocompleters.js.map +1 -1
  272. package/build/hooks/index.js.map +1 -1
  273. package/build/hooks/index.native.js.map +1 -1
  274. package/build/hooks/pattern-overrides.js +22 -10
  275. package/build/hooks/pattern-overrides.js.map +1 -1
  276. package/build/hooks/use-select-nearest-editable-block.js.map +1 -1
  277. package/build/index.js.map +1 -1
  278. package/build/index.native.js.map +1 -1
  279. package/build/lock-unlock.js.map +1 -1
  280. package/build/private-apis.js +38 -3
  281. package/build/private-apis.js.map +1 -1
  282. package/build/store/actions.js.map +1 -1
  283. package/build/store/actions.native.js.map +1 -1
  284. package/build/store/constants.js +8 -1
  285. package/build/store/constants.js.map +1 -1
  286. package/build/store/defaults.js.map +1 -1
  287. package/build/store/index.js +1 -1
  288. package/build/store/index.js.map +1 -1
  289. package/build/store/local-autosave.js.map +1 -1
  290. package/build/store/private-actions.js +177 -4
  291. package/build/store/private-actions.js.map +1 -1
  292. package/build/store/private-selectors.js +1 -7
  293. package/build/store/private-selectors.js.map +1 -1
  294. package/build/store/reducer.js.map +1 -1
  295. package/build/store/reducer.native.js.map +1 -1
  296. package/build/store/selectors.js +8 -11
  297. package/build/store/selectors.js.map +1 -1
  298. package/build/store/selectors.native.js.map +1 -1
  299. package/build/store/utils/get-filtered-template-parts.js.map +1 -1
  300. package/build/store/utils/is-template-revertable.js +28 -0
  301. package/build/store/utils/is-template-revertable.js.map +1 -0
  302. package/build/store/utils/notice-builder.js.map +1 -1
  303. package/build/utils/get-template-part-icon.js.map +1 -1
  304. package/build/utils/index.js.map +1 -1
  305. package/build/utils/index.native.js.map +1 -1
  306. package/build/utils/media-upload/index.js.map +1 -1
  307. package/build/utils/media-upload/index.native.js.map +1 -1
  308. package/build/utils/terms.js.map +1 -1
  309. package/build/utils/url.js.map +1 -1
  310. package/build-module/bindings/index.js.map +1 -1
  311. package/build-module/bindings/pattern-overrides.js.map +1 -1
  312. package/build-module/bindings/post-meta.js +14 -31
  313. package/build-module/bindings/post-meta.js.map +1 -1
  314. package/build-module/components/autocompleters/index.js.map +1 -1
  315. package/build-module/components/autocompleters/user.js.map +1 -1
  316. package/build-module/components/autosave-monitor/index.js +24 -12
  317. package/build-module/components/autosave-monitor/index.js.map +1 -1
  318. package/build-module/components/block-manager/category.js.map +1 -1
  319. package/build-module/components/block-manager/checklist.js.map +1 -1
  320. package/build-module/components/block-manager/index.js.map +1 -1
  321. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  322. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  323. package/build-module/components/character-count/index.js +6 -0
  324. package/build-module/components/character-count/index.js.map +1 -1
  325. package/build-module/components/collapsible-block-toolbar/index.js +65 -0
  326. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -0
  327. package/build-module/components/commands/index.js +20 -1
  328. package/build-module/components/commands/index.js.map +1 -1
  329. package/build-module/components/commands/index.native.js.map +1 -1
  330. package/build-module/components/deprecated.js.map +1 -1
  331. package/build-module/components/deprecated.native.js.map +1 -1
  332. package/build-module/components/document-bar/index.js.map +1 -1
  333. package/build-module/components/document-outline/check.js +9 -0
  334. package/build-module/components/document-outline/check.js.map +1 -1
  335. package/build-module/components/document-outline/index.js +11 -0
  336. package/build-module/components/document-outline/index.js.map +1 -1
  337. package/build-module/components/document-outline/item.js.map +1 -1
  338. package/build-module/components/document-tools/index.js +2 -9
  339. package/build-module/components/document-tools/index.js.map +1 -1
  340. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +13 -2
  341. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  342. package/build-module/components/editor-canvas/index.js +2 -2
  343. package/build-module/components/editor-canvas/index.js.map +1 -1
  344. package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
  345. package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
  346. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  347. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  348. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  349. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  350. package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
  351. package/build-module/components/editor-help/index.native.js.map +1 -1
  352. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  353. package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
  354. package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
  355. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  356. package/build-module/components/editor-history/redo.js +11 -0
  357. package/build-module/components/editor-history/redo.js.map +1 -1
  358. package/build-module/components/editor-history/undo.js +11 -0
  359. package/build-module/components/editor-history/undo.js.map +1 -1
  360. package/build-module/components/editor-notices/index.js.map +1 -1
  361. package/build-module/components/editor-snackbars/index.js +6 -0
  362. package/build-module/components/editor-snackbars/index.js.map +1 -1
  363. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  364. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  365. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  366. package/build-module/components/entities-saved-states/index.js.map +1 -1
  367. package/build-module/components/error-boundary/index.js.map +1 -1
  368. package/build-module/components/error-boundary/index.native.js.map +1 -1
  369. package/build-module/components/global-keyboard-shortcuts/index.js +32 -0
  370. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  371. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +53 -0
  372. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  373. package/build-module/components/index.js +4 -0
  374. package/build-module/components/index.js.map +1 -1
  375. package/build-module/components/index.native.js.map +1 -1
  376. package/build-module/components/inserter-sidebar/index.js +2 -5
  377. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  378. package/build-module/components/keyboard-shortcut-help-modal/config.js +75 -0
  379. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  380. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +41 -0
  381. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  382. package/build-module/components/keyboard-shortcut-help-modal/index.js +118 -0
  383. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  384. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +48 -0
  385. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  386. package/build-module/components/list-view-sidebar/index.js +1 -1
  387. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  388. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
  389. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  390. package/build-module/components/media-categories/index.js.map +1 -1
  391. package/build-module/components/mode-switcher/index.js.map +1 -1
  392. package/build-module/components/more-menu/copy-content-menu-item.js +52 -0
  393. package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -0
  394. package/build-module/components/more-menu/index.js +111 -0
  395. package/build-module/components/more-menu/index.js.map +1 -0
  396. package/build-module/components/more-menu/tools-more-menu-group.js +16 -0
  397. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -0
  398. package/build-module/components/more-menu/view-more-menu-group.js +17 -0
  399. package/build-module/components/more-menu/view-more-menu-group.js.map +1 -0
  400. package/build-module/components/offline-status/index.native.js.map +1 -1
  401. package/build-module/components/page-attributes/check.js +9 -0
  402. package/build-module/components/page-attributes/check.js.map +1 -1
  403. package/build-module/components/page-attributes/order.js +7 -0
  404. package/build-module/components/page-attributes/order.js.map +1 -1
  405. package/build-module/components/page-attributes/panel.js +13 -6
  406. package/build-module/components/page-attributes/panel.js.map +1 -1
  407. package/build-module/components/page-attributes/parent.js +7 -0
  408. package/build-module/components/page-attributes/parent.js.map +1 -1
  409. package/build-module/components/pattern-overrides-panel/index.js.map +1 -1
  410. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  411. package/build-module/components/plugin-more-menu-item/index.js +73 -0
  412. package/build-module/components/plugin-more-menu-item/index.js.map +1 -0
  413. package/build-module/components/plugin-post-publish-panel/index.js +1 -1
  414. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
  415. package/build-module/components/plugin-post-status-info/index.js +66 -0
  416. package/build-module/components/plugin-post-status-info/index.js.map +1 -0
  417. package/build-module/components/plugin-pre-publish-panel/index.js +1 -1
  418. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
  419. package/build-module/components/plugin-sidebar/index.js +102 -0
  420. package/build-module/components/plugin-sidebar/index.js.map +1 -0
  421. package/build-module/components/plugin-sidebar-more-menu-item/index.js +65 -0
  422. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  423. package/build-module/components/post-actions/actions.js +317 -19
  424. package/build-module/components/post-actions/actions.js.map +1 -1
  425. package/build-module/components/post-actions/index.js +153 -0
  426. package/build-module/components/post-actions/index.js.map +1 -0
  427. package/build-module/components/post-author/check.js +10 -0
  428. package/build-module/components/post-author/check.js.map +1 -1
  429. package/build-module/components/post-author/combobox.js.map +1 -1
  430. package/build-module/components/post-author/constants.js.map +1 -1
  431. package/build-module/components/post-author/hook.js.map +1 -1
  432. package/build-module/components/post-author/index.js +6 -0
  433. package/build-module/components/post-author/index.js.map +1 -1
  434. package/build-module/components/post-author/panel.js +6 -0
  435. package/build-module/components/post-author/panel.js.map +1 -1
  436. package/build-module/components/post-author/select.js.map +1 -1
  437. package/build-module/components/post-card-panel/index.js +16 -17
  438. package/build-module/components/post-card-panel/index.js.map +1 -1
  439. package/build-module/components/post-comments/index.js.map +1 -1
  440. package/build-module/components/post-content-information/index.js +66 -0
  441. package/build-module/components/post-content-information/index.js.map +1 -0
  442. package/build-module/components/post-discussion/panel.js +8 -6
  443. package/build-module/components/post-discussion/panel.js.map +1 -1
  444. package/build-module/components/post-excerpt/check.js +8 -18
  445. package/build-module/components/post-excerpt/check.js.map +1 -1
  446. package/build-module/components/post-excerpt/index.js +52 -11
  447. package/build-module/components/post-excerpt/index.js.map +1 -1
  448. package/build-module/components/post-excerpt/panel.js +118 -8
  449. package/build-module/components/post-excerpt/panel.js.map +1 -1
  450. package/build-module/components/post-excerpt/plugin.js +2 -2
  451. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  452. package/build-module/components/post-featured-image/check.js.map +1 -1
  453. package/build-module/components/post-featured-image/index.js +1 -1
  454. package/build-module/components/post-featured-image/index.js.map +1 -1
  455. package/build-module/components/post-featured-image/panel.js.map +1 -1
  456. package/build-module/components/post-format/check.js.map +1 -1
  457. package/build-module/components/post-format/index.js.map +1 -1
  458. package/build-module/components/post-last-edited-panel/index.js +26 -0
  459. package/build-module/components/post-last-edited-panel/index.js.map +1 -0
  460. package/build-module/components/post-last-revision/check.js.map +1 -1
  461. package/build-module/components/post-last-revision/index.js.map +1 -1
  462. package/build-module/components/post-last-revision/panel.js.map +1 -1
  463. package/build-module/components/post-locked-modal/index.js.map +1 -1
  464. package/build-module/components/post-panel-row/index.js.map +1 -1
  465. package/build-module/components/post-pending-status/check.js.map +1 -1
  466. package/build-module/components/post-pending-status/index.js.map +1 -1
  467. package/build-module/components/post-pingbacks/index.js.map +1 -1
  468. package/build-module/components/post-preview-button/index.js.map +1 -1
  469. package/build-module/components/post-publish-button/index.js +31 -31
  470. package/build-module/components/post-publish-button/index.js.map +1 -1
  471. package/build-module/components/post-publish-button/label.js +51 -42
  472. package/build-module/components/post-publish-button/label.js.map +1 -1
  473. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +91 -0
  474. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  475. package/build-module/components/post-publish-panel/index.js.map +1 -1
  476. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  477. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  478. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  479. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  480. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  481. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  482. package/build-module/components/post-saved-state/index.js +10 -6
  483. package/build-module/components/post-saved-state/index.js.map +1 -1
  484. package/build-module/components/post-schedule/check.js.map +1 -1
  485. package/build-module/components/post-schedule/index.js.map +1 -1
  486. package/build-module/components/post-schedule/label.js.map +1 -1
  487. package/build-module/components/post-schedule/panel.js +9 -1
  488. package/build-module/components/post-schedule/panel.js.map +1 -1
  489. package/build-module/components/post-slug/check.js.map +1 -1
  490. package/build-module/components/post-slug/index.js +44 -68
  491. package/build-module/components/post-slug/index.js.map +1 -1
  492. package/build-module/components/post-status/index.js +231 -0
  493. package/build-module/components/post-status/index.js.map +1 -0
  494. package/build-module/components/post-sticky/check.js.map +1 -1
  495. package/build-module/components/post-sticky/index.js.map +1 -1
  496. package/build-module/components/post-switch-to-draft-button/index.js +7 -1
  497. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  498. package/build-module/components/post-sync-status/index.js.map +1 -1
  499. package/build-module/components/post-taxonomies/check.js.map +1 -1
  500. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  501. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  502. package/build-module/components/post-taxonomies/index.js.map +1 -1
  503. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  504. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  505. package/build-module/components/post-template/block-theme.js +9 -5
  506. package/build-module/components/post-template/block-theme.js.map +1 -1
  507. package/build-module/components/post-template/classic-theme.js +0 -1
  508. package/build-module/components/post-template/classic-theme.js.map +1 -1
  509. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  510. package/build-module/components/post-template/create-new-template.js.map +1 -1
  511. package/build-module/components/post-template/hooks.js.map +1 -1
  512. package/build-module/components/post-template/panel.js.map +1 -1
  513. package/build-module/components/post-template/reset-default-template.js.map +1 -1
  514. package/build-module/components/post-template/swap-template-button.js +3 -6
  515. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  516. package/build-module/components/post-text-editor/index.js.map +1 -1
  517. package/build-module/components/post-title/constants.js.map +1 -1
  518. package/build-module/components/post-title/index.js.map +1 -1
  519. package/build-module/components/post-title/index.native.js.map +1 -1
  520. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  521. package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
  522. package/build-module/components/post-title/use-post-title.js.map +1 -1
  523. package/build-module/components/post-trash/check.js +24 -26
  524. package/build-module/components/post-trash/check.js.map +1 -1
  525. package/build-module/components/post-trash/index.js +2 -1
  526. package/build-module/components/post-trash/index.js.map +1 -1
  527. package/build-module/components/post-type-support-check/index.js.map +1 -1
  528. package/build-module/components/post-url/check.js.map +1 -1
  529. package/build-module/components/post-url/index.js +47 -21
  530. package/build-module/components/post-url/index.js.map +1 -1
  531. package/build-module/components/post-url/label.js.map +1 -1
  532. package/build-module/components/post-url/panel.js +15 -8
  533. package/build-module/components/post-url/panel.js.map +1 -1
  534. package/build-module/components/post-view-link/index.js.map +1 -1
  535. package/build-module/components/post-visibility/check.js.map +1 -1
  536. package/build-module/components/post-visibility/index.js +2 -1
  537. package/build-module/components/post-visibility/index.js.map +1 -1
  538. package/build-module/components/post-visibility/label.js.map +1 -1
  539. package/build-module/components/post-visibility/utils.js.map +1 -1
  540. package/build-module/components/preferences-modal/enable-panel.js.map +1 -1
  541. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  542. package/build-module/components/preferences-modal/enable-publish-sidebar.js +27 -0
  543. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  544. package/build-module/components/preferences-modal/index.js +26 -18
  545. package/build-module/components/preferences-modal/index.js.map +1 -1
  546. package/build-module/components/preview-dropdown/index.js +3 -1
  547. package/build-module/components/preview-dropdown/index.js.map +1 -1
  548. package/build-module/components/provider/disable-non-page-content-blocks.js +24 -17
  549. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  550. package/build-module/components/provider/index.js +5 -3
  551. package/build-module/components/provider/index.js.map +1 -1
  552. package/build-module/components/provider/index.native.js.map +1 -1
  553. package/build-module/components/provider/navigation-block-editing-mode.js.map +1 -1
  554. package/build-module/components/provider/use-auto-switch-editor-sidebars.js +46 -0
  555. package/build-module/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  556. package/build-module/components/provider/use-block-editor-settings.js +66 -45
  557. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  558. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  559. package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  560. package/build-module/components/provider/with-registry-provider.js +1 -0
  561. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  562. package/build-module/components/save-publish-panels/index.js +80 -0
  563. package/build-module/components/save-publish-panels/index.js.map +1 -0
  564. package/build-module/components/start-page-options/index.js +136 -0
  565. package/build-module/components/start-page-options/index.js.map +1 -0
  566. package/build-module/components/table-of-contents/index.js.map +1 -1
  567. package/build-module/components/table-of-contents/panel.js.map +1 -1
  568. package/build-module/components/template-areas/index.js.map +1 -1
  569. package/build-module/components/template-validation-notice/index.js +25 -31
  570. package/build-module/components/template-validation-notice/index.js.map +1 -1
  571. package/build-module/components/theme-support-check/index.js +11 -16
  572. package/build-module/components/theme-support-check/index.js.map +1 -1
  573. package/build-module/components/time-to-read/index.js.map +1 -1
  574. package/build-module/components/unsaved-changes-warning/index.js.map +1 -1
  575. package/build-module/components/word-count/index.js.map +1 -1
  576. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  577. package/build-module/hooks/default-autocompleters.js.map +1 -1
  578. package/build-module/hooks/index.js.map +1 -1
  579. package/build-module/hooks/index.native.js.map +1 -1
  580. package/build-module/hooks/pattern-overrides.js +22 -10
  581. package/build-module/hooks/pattern-overrides.js.map +1 -1
  582. package/build-module/hooks/use-select-nearest-editable-block.js.map +1 -1
  583. package/build-module/index.js.map +1 -1
  584. package/build-module/index.native.js.map +1 -1
  585. package/build-module/lock-unlock.js.map +1 -1
  586. package/build-module/private-apis.js +36 -3
  587. package/build-module/private-apis.js.map +1 -1
  588. package/build-module/store/actions.js.map +1 -1
  589. package/build-module/store/actions.native.js.map +1 -1
  590. package/build-module/store/constants.js +7 -0
  591. package/build-module/store/constants.js.map +1 -1
  592. package/build-module/store/defaults.js.map +1 -1
  593. package/build-module/store/index.js.map +1 -1
  594. package/build-module/store/local-autosave.js.map +1 -1
  595. package/build-module/store/private-actions.js +174 -4
  596. package/build-module/store/private-actions.js.map +1 -1
  597. package/build-module/store/private-selectors.js +1 -6
  598. package/build-module/store/private-selectors.js.map +1 -1
  599. package/build-module/store/reducer.js.map +1 -1
  600. package/build-module/store/reducer.native.js.map +1 -1
  601. package/build-module/store/selectors.js +4 -7
  602. package/build-module/store/selectors.js.map +1 -1
  603. package/build-module/store/selectors.native.js.map +1 -1
  604. package/build-module/store/utils/get-filtered-template-parts.js.map +1 -1
  605. package/build-module/store/utils/is-template-revertable.js +22 -0
  606. package/build-module/store/utils/is-template-revertable.js.map +1 -0
  607. package/build-module/store/utils/notice-builder.js.map +1 -1
  608. package/build-module/utils/get-template-part-icon.js.map +1 -1
  609. package/build-module/utils/index.js.map +1 -1
  610. package/build-module/utils/index.native.js.map +1 -1
  611. package/build-module/utils/media-upload/index.js.map +1 -1
  612. package/build-module/utils/media-upload/index.native.js.map +1 -1
  613. package/build-module/utils/terms.js.map +1 -1
  614. package/build-module/utils/url.js.map +1 -1
  615. package/build-style/style-rtl.css +703 -53
  616. package/build-style/style.css +703 -53
  617. package/package.json +35 -35
  618. package/src/bindings/post-meta.js +11 -27
  619. package/src/components/autosave-monitor/index.js +23 -11
  620. package/src/components/character-count/index.js +5 -0
  621. package/src/components/collapsible-block-toolbar/index.js +77 -0
  622. package/src/components/collapsible-block-toolbar/style.scss +80 -0
  623. package/src/components/commands/index.js +20 -1
  624. package/src/components/document-outline/check.js +8 -0
  625. package/src/components/document-outline/index.js +10 -0
  626. package/src/components/document-tools/index.js +16 -19
  627. package/src/components/editor-canvas/edit-template-blocks-notification.js +16 -2
  628. package/src/components/editor-canvas/index.js +4 -4
  629. package/src/components/editor-history/redo.js +10 -0
  630. package/src/components/editor-history/undo.js +10 -0
  631. package/src/components/editor-snackbars/index.js +5 -0
  632. package/src/components/entities-saved-states/style.scss +7 -0
  633. package/src/components/error-boundary/style.native.scss +1 -1
  634. package/src/components/global-keyboard-shortcuts/index.js +32 -0
  635. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +61 -0
  636. package/src/components/index.js +4 -0
  637. package/src/components/inserter-sidebar/index.js +2 -5
  638. package/src/components/keyboard-shortcut-help-modal/config.js +62 -0
  639. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +43 -0
  640. package/src/components/keyboard-shortcut-help-modal/index.js +160 -0
  641. package/src/components/keyboard-shortcut-help-modal/shortcut.js +67 -0
  642. package/src/components/keyboard-shortcut-help-modal/style.scss +61 -0
  643. package/src/components/list-view-sidebar/index.js +1 -1
  644. package/src/components/list-view-sidebar/style.scss +2 -2
  645. package/src/components/more-menu/copy-content-menu-item.js +51 -0
  646. package/src/components/more-menu/index.js +158 -0
  647. package/src/components/more-menu/tools-more-menu-group.js +11 -0
  648. package/src/components/more-menu/view-more-menu-group.js +13 -0
  649. package/src/components/page-attributes/check.js +8 -0
  650. package/src/components/page-attributes/order.js +6 -0
  651. package/src/components/page-attributes/panel.js +21 -17
  652. package/src/components/page-attributes/parent.js +6 -0
  653. package/src/components/plugin-more-menu-item/index.js +73 -0
  654. package/src/components/plugin-post-publish-panel/index.js +1 -1
  655. package/src/components/plugin-post-status-info/index.js +63 -0
  656. package/src/components/plugin-pre-publish-panel/index.js +1 -1
  657. package/src/components/plugin-sidebar/index.js +98 -0
  658. package/src/components/plugin-sidebar-more-menu-item/index.js +64 -0
  659. package/src/components/post-actions/actions.js +413 -18
  660. package/src/components/post-actions/index.js +190 -0
  661. package/src/components/post-actions/style.scss +3 -0
  662. package/src/components/post-author/check.js +9 -0
  663. package/src/components/post-author/index.js +5 -0
  664. package/src/components/post-author/panel.js +5 -0
  665. package/src/components/post-card-panel/index.js +28 -23
  666. package/src/components/post-card-panel/style.scss +2 -6
  667. package/src/components/post-content-information/index.js +83 -0
  668. package/src/components/post-content-information/style.scss +6 -0
  669. package/src/components/post-discussion/panel.js +24 -20
  670. package/src/components/post-excerpt/check.js +8 -18
  671. package/src/components/post-excerpt/index.js +66 -15
  672. package/src/components/post-excerpt/panel.js +196 -19
  673. package/src/components/post-excerpt/plugin.js +2 -2
  674. package/src/components/post-excerpt/style.scss +24 -0
  675. package/src/components/post-featured-image/index.js +1 -1
  676. package/src/components/post-featured-image/style.scss +2 -8
  677. package/src/components/post-last-edited-panel/index.js +35 -0
  678. package/src/components/post-last-edited-panel/style.scss +6 -0
  679. package/src/components/post-panel-row/style.scss +3 -3
  680. package/src/components/post-publish-button/index.js +23 -36
  681. package/src/components/post-publish-button/label.js +54 -39
  682. package/src/components/post-publish-button/post-publish-button-or-toggle.js +102 -0
  683. package/src/components/post-publish-button/test/index.js +15 -26
  684. package/src/components/post-publish-button/test/label.js +44 -21
  685. package/src/components/post-publish-button/test/post-publish-button-or-toggle.js +63 -0
  686. package/src/components/post-publish-panel/style.scss +43 -0
  687. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +225 -75
  688. package/src/components/post-saved-state/index.js +13 -6
  689. package/src/components/post-saved-state/test/index.js +4 -0
  690. package/src/components/post-schedule/panel.js +23 -1
  691. package/src/components/post-schedule/style.scss +2 -4
  692. package/src/components/post-slug/index.js +50 -68
  693. package/src/components/post-slug/test/index.js +29 -6
  694. package/src/components/post-status/index.js +318 -0
  695. package/src/components/post-status/style.scss +74 -0
  696. package/src/components/post-switch-to-draft-button/index.js +5 -0
  697. package/src/components/post-template/block-theme.js +33 -24
  698. package/src/components/post-template/classic-theme.js +0 -1
  699. package/src/components/post-template/swap-template-button.js +3 -6
  700. package/src/components/post-text-editor/style.scss +1 -1
  701. package/src/components/post-title/style.scss +1 -1
  702. package/src/components/post-trash/check.js +19 -19
  703. package/src/components/post-trash/index.js +1 -0
  704. package/src/components/post-url/index.js +132 -101
  705. package/src/components/post-url/panel.js +21 -8
  706. package/src/components/post-url/style.scss +8 -6
  707. package/src/components/post-visibility/index.js +1 -0
  708. package/src/components/preferences-modal/enable-publish-sidebar.js +28 -0
  709. package/src/components/preferences-modal/index.js +40 -22
  710. package/src/components/preview-dropdown/index.js +3 -1
  711. package/src/components/provider/disable-non-page-content-blocks.js +23 -21
  712. package/src/components/provider/index.js +17 -8
  713. package/src/components/provider/use-auto-switch-editor-sidebars.js +49 -0
  714. package/src/components/provider/use-block-editor-settings.js +59 -33
  715. package/src/components/provider/with-registry-provider.js +1 -0
  716. package/src/components/save-publish-panels/index.js +96 -0
  717. package/src/components/save-publish-panels/style.scss +36 -0
  718. package/src/components/start-page-options/index.js +140 -0
  719. package/src/components/start-page-options/style.scss +26 -0
  720. package/src/components/template-validation-notice/index.js +48 -50
  721. package/src/components/theme-support-check/index.js +9 -16
  722. package/src/components/theme-support-check/test/index.js +44 -43
  723. package/src/hooks/pattern-overrides.js +25 -14
  724. package/src/private-apis.js +33 -2
  725. package/src/store/constants.js +7 -0
  726. package/src/store/private-actions.js +269 -4
  727. package/src/store/private-selectors.js +1 -6
  728. package/src/store/selectors.js +4 -7
  729. package/src/store/utils/is-template-revertable.js +23 -0
  730. package/src/style.scss +10 -2
  731. package/src/components/post-publish-button/style.scss +0 -8
  732. package/src/components/provider/test/disable-non-page-content-blocks.js +0 -111
  733. package/src/components/template-validation-notice/style.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"names":["Fragment","useSelect","store","coreStore","HierarchicalTermSelector","FlatTermSelector","editorStore","identity","x","PostTaxonomies","taxonomyWrapper","postType","taxonomies","select","getCurrentPostType","getTaxonomies","per_page","visibleTaxonomies","filter","taxonomy","types","includes","visibility","show_ui","map","TaxonomyComponent","hierarchical","createElement","key","slug"],"sources":["@wordpress/editor/src/components/post-taxonomies/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from './hierarchical-term-selector';\nimport FlatTermSelector from './flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nexport function PostTaxonomies( { taxonomyWrapper = identity } ) {\n\tconst { postType, taxonomies } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t};\n\t}, [] );\n\tconst visibleTaxonomies = ( taxonomies ?? [] ).filter(\n\t\t( taxonomy ) =>\n\t\t\t// In some circumstances .visibility can end up as undefined so optional chaining operator required.\n\t\t\t// https://github.com/WordPress/gutenberg/issues/40326\n\t\t\ttaxonomy.types.includes( postType ) && taxonomy.visibility?.show_ui\n\t);\n\n\treturn visibleTaxonomies.map( ( taxonomy ) => {\n\t\tconst TaxonomyComponent = taxonomy.hierarchical\n\t\t\t? HierarchicalTermSelector\n\t\t\t: FlatTermSelector;\n\t\treturn (\n\t\t\t<Fragment key={ `taxonomy-${ taxonomy.slug }` }>\n\t\t\t\t{ taxonomyWrapper(\n\t\t\t\t\t<TaxonomyComponent slug={ taxonomy.slug } />,\n\t\t\t\t\ttaxonomy\n\t\t\t\t) }\n\t\t\t</Fragment>\n\t\t);\n\t} );\n}\n\nexport default PostTaxonomies;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASH,KAAK,IAAII,WAAW,QAAQ,aAAa;AAElD,MAAMC,QAAQ,GAAKC,CAAC,IAAMA,CAAC;AAE3B,OAAO,SAASC,cAAcA,CAAE;EAAEC,eAAe,GAAGH;AAAS,CAAC,EAAG;EAChE,MAAM;IAAEI,QAAQ;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAAIY,MAAM,IAAM;IACzD,OAAO;MACNF,QAAQ,EAAEE,MAAM,CAAEP,WAAY,CAAC,CAACQ,kBAAkB,CAAC,CAAC;MACpDF,UAAU,EAAEC,MAAM,CAAEV,SAAU,CAAC,CAACY,aAAa,CAAE;QAAEC,QAAQ,EAAE,CAAC;MAAE,CAAE;IACjE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,iBAAiB,GAAG,CAAEL,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EAAGM,MAAM,CAClDC,QAAQ;EACT;EACA;EACAA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEV,QAAS,CAAC,IAAIQ,QAAQ,CAACG,UAAU,EAAEC,OAC9D,CAAC;EAED,OAAON,iBAAiB,CAACO,GAAG,CAAIL,QAAQ,IAAM;IAC7C,MAAMM,iBAAiB,GAAGN,QAAQ,CAACO,YAAY,GAC5CtB,wBAAwB,GACxBC,gBAAgB;IACnB,OACCsB,aAAA,CAAC3B,QAAQ;MAAC4B,GAAG,EAAI,YAAYT,QAAQ,CAACU,IAAM;IAAG,GAC5CnB,eAAe,CAChBiB,aAAA,CAACF,iBAAiB;MAACI,IAAI,EAAGV,QAAQ,CAACU;IAAM,CAAE,CAAC,EAC5CV,QACD,CACS,CAAC;EAEb,CAAE,CAAC;AACJ;AAEA,eAAeV,cAAc"}
1
+ {"version":3,"names":["Fragment","useSelect","store","coreStore","HierarchicalTermSelector","FlatTermSelector","editorStore","identity","x","PostTaxonomies","taxonomyWrapper","postType","taxonomies","select","getCurrentPostType","getTaxonomies","per_page","visibleTaxonomies","filter","taxonomy","types","includes","visibility","show_ui","map","TaxonomyComponent","hierarchical","createElement","key","slug"],"sources":["@wordpress/editor/src/components/post-taxonomies/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from './hierarchical-term-selector';\nimport FlatTermSelector from './flat-term-selector';\nimport { store as editorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nexport function PostTaxonomies( { taxonomyWrapper = identity } ) {\n\tconst { postType, taxonomies } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( editorStore ).getCurrentPostType(),\n\t\t\ttaxonomies: select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t};\n\t}, [] );\n\tconst visibleTaxonomies = ( taxonomies ?? [] ).filter(\n\t\t( taxonomy ) =>\n\t\t\t// In some circumstances .visibility can end up as undefined so optional chaining operator required.\n\t\t\t// https://github.com/WordPress/gutenberg/issues/40326\n\t\t\ttaxonomy.types.includes( postType ) && taxonomy.visibility?.show_ui\n\t);\n\n\treturn visibleTaxonomies.map( ( taxonomy ) => {\n\t\tconst TaxonomyComponent = taxonomy.hierarchical\n\t\t\t? HierarchicalTermSelector\n\t\t\t: FlatTermSelector;\n\t\treturn (\n\t\t\t<Fragment key={ `taxonomy-${ taxonomy.slug }` }>\n\t\t\t\t{ taxonomyWrapper(\n\t\t\t\t\t<TaxonomyComponent slug={ taxonomy.slug } />,\n\t\t\t\t\ttaxonomy\n\t\t\t\t) }\n\t\t\t</Fragment>\n\t\t);\n\t} );\n}\n\nexport default PostTaxonomies;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASH,KAAK,IAAII,WAAW,QAAQ,aAAa;AAElD,MAAMC,QAAQ,GAAKC,CAAC,IAAMA,CAAC;AAE3B,OAAO,SAASC,cAAcA,CAAE;EAAEC,eAAe,GAAGH;AAAS,CAAC,EAAG;EAChE,MAAM;IAAEI,QAAQ;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAAIY,MAAM,IAAM;IACzD,OAAO;MACNF,QAAQ,EAAEE,MAAM,CAAEP,WAAY,CAAC,CAACQ,kBAAkB,CAAC,CAAC;MACpDF,UAAU,EAAEC,MAAM,CAAEV,SAAU,CAAC,CAACY,aAAa,CAAE;QAAEC,QAAQ,EAAE,CAAC;MAAE,CAAE;IACjE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,iBAAiB,GAAG,CAAEL,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,EAAGM,MAAM,CAClDC,QAAQ;EACT;EACA;EACAA,QAAQ,CAACC,KAAK,CAACC,QAAQ,CAAEV,QAAS,CAAC,IAAIQ,QAAQ,CAACG,UAAU,EAAEC,OAC9D,CAAC;EAED,OAAON,iBAAiB,CAACO,GAAG,CAAIL,QAAQ,IAAM;IAC7C,MAAMM,iBAAiB,GAAGN,QAAQ,CAACO,YAAY,GAC5CtB,wBAAwB,GACxBC,gBAAgB;IACnB,OACCsB,aAAA,CAAC3B,QAAQ;MAAC4B,GAAG,EAAI,YAAYT,QAAQ,CAACU,IAAM;IAAG,GAC5CnB,eAAe,CAChBiB,aAAA,CAACF,iBAAiB;MAACI,IAAI,EAAGV,QAAQ,CAACU;IAAM,CAAE,CAAC,EAC5CV,QACD,CACS,CAAC;EAEb,CAAE,CAAC;AACJ;AAEA,eAAeV,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseControl","Button","useSelect","store","coreStore","unescapeTerms","MIN_MOST_USED_TERMS","DEFAULT_QUERY","per_page","orderby","order","hide_empty","_fields","context","MostUsedTerms","onSelect","taxonomy","_terms","showTerms","select","mostUsedTerms","getEntityRecords","slug","length","terms","createElement","className","VisualLabel","as","labels","most_used","role","map","term","key","id","variant","onClick","name"],"sources":["@wordpress/editor/src/components/post-taxonomies/most-used-terms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unescapeTerms } from '../../utils/terms';\n\nconst MIN_MOST_USED_TERMS = 3;\nconst DEFAULT_QUERY = {\n\tper_page: 10,\n\torderby: 'count',\n\torder: 'desc',\n\thide_empty: true,\n\t_fields: 'id,name,count',\n\tcontext: 'view',\n};\n\nexport default function MostUsedTerms( { onSelect, taxonomy } ) {\n\tconst { _terms, showTerms } = useSelect(\n\t\t( select ) => {\n\t\t\tconst mostUsedTerms = select( coreStore ).getEntityRecords(\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\tDEFAULT_QUERY\n\t\t\t);\n\t\t\treturn {\n\t\t\t\t_terms: mostUsedTerms,\n\t\t\t\tshowTerms: mostUsedTerms?.length >= MIN_MOST_USED_TERMS,\n\t\t\t};\n\t\t},\n\t\t[ taxonomy.slug ]\n\t);\n\n\tif ( ! showTerms ) {\n\t\treturn null;\n\t}\n\n\tconst terms = unescapeTerms( _terms );\n\n\treturn (\n\t\t<div className=\"editor-post-taxonomies__flat-term-most-used\">\n\t\t\t<BaseControl.VisualLabel\n\t\t\t\tas=\"h3\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-label\"\n\t\t\t>\n\t\t\t\t{ taxonomy.labels.most_used }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t{ /*\n\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t */\n\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t<ul\n\t\t\t\trole=\"list\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-list\"\n\t\t\t>\n\t\t\t\t{ terms.map( ( term ) => (\n\t\t\t\t\t<li key={ term.id }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () => onSelect( term ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ term.name }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,aAAa,QAAQ,mBAAmB;AAEjD,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,aAAa,GAAG;EACrBC,QAAQ,EAAE,EAAE;EACZC,OAAO,EAAE,OAAO;EAChBC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAE,IAAI;EAChBC,OAAO,EAAE,eAAe;EACxBC,OAAO,EAAE;AACV,CAAC;AAED,eAAe,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAC/D,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGhB,SAAS,CACpCiB,MAAM,IAAM;IACb,MAAMC,aAAa,GAAGD,MAAM,CAAEf,SAAU,CAAC,CAACiB,gBAAgB,CACzD,UAAU,EACVL,QAAQ,CAACM,IAAI,EACbf,aACD,CAAC;IACD,OAAO;MACNU,MAAM,EAAEG,aAAa;MACrBF,SAAS,EAAEE,aAAa,EAAEG,MAAM,IAAIjB;IACrC,CAAC;EACF,CAAC,EACD,CAAEU,QAAQ,CAACM,IAAI,CAChB,CAAC;EAED,IAAK,CAAEJ,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMM,KAAK,GAAGnB,aAAa,CAAEY,MAAO,CAAC;EAErC,OACCQ,aAAA;IAAKC,SAAS,EAAC;EAA6C,GAC3DD,aAAA,CAACzB,WAAW,CAAC2B,WAAW;IACvBC,EAAE,EAAC,IAAI;IACPF,SAAS,EAAC;EAAmD,GAE3DV,QAAQ,CAACa,MAAM,CAACC,SACM,CAAC,EAM1BL,aAAA;IACCM,IAAI,EAAC,MAAM;IACXL,SAAS,EAAC;EAAkD,GAE1DF,KAAK,CAACQ,GAAG,CAAIC,IAAI,IAClBR,aAAA;IAAIS,GAAG,EAAGD,IAAI,CAACE;EAAI,GAClBV,aAAA,CAACxB,MAAM;IACNmC,OAAO,EAAC,MAAM;IACdC,OAAO,EAAGA,CAAA,KAAMtB,QAAQ,CAAEkB,IAAK;EAAG,GAEhCA,IAAI,CAACK,IACA,CACL,CACH,CACC,CAEA,CAAC;AAER"}
1
+ {"version":3,"names":["BaseControl","Button","useSelect","store","coreStore","unescapeTerms","MIN_MOST_USED_TERMS","DEFAULT_QUERY","per_page","orderby","order","hide_empty","_fields","context","MostUsedTerms","onSelect","taxonomy","_terms","showTerms","select","mostUsedTerms","getEntityRecords","slug","length","terms","createElement","className","VisualLabel","as","labels","most_used","role","map","term","key","id","variant","onClick","name"],"sources":["@wordpress/editor/src/components/post-taxonomies/most-used-terms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BaseControl, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unescapeTerms } from '../../utils/terms';\n\nconst MIN_MOST_USED_TERMS = 3;\nconst DEFAULT_QUERY = {\n\tper_page: 10,\n\torderby: 'count',\n\torder: 'desc',\n\thide_empty: true,\n\t_fields: 'id,name,count',\n\tcontext: 'view',\n};\n\nexport default function MostUsedTerms( { onSelect, taxonomy } ) {\n\tconst { _terms, showTerms } = useSelect(\n\t\t( select ) => {\n\t\t\tconst mostUsedTerms = select( coreStore ).getEntityRecords(\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\tDEFAULT_QUERY\n\t\t\t);\n\t\t\treturn {\n\t\t\t\t_terms: mostUsedTerms,\n\t\t\t\tshowTerms: mostUsedTerms?.length >= MIN_MOST_USED_TERMS,\n\t\t\t};\n\t\t},\n\t\t[ taxonomy.slug ]\n\t);\n\n\tif ( ! showTerms ) {\n\t\treturn null;\n\t}\n\n\tconst terms = unescapeTerms( _terms );\n\n\treturn (\n\t\t<div className=\"editor-post-taxonomies__flat-term-most-used\">\n\t\t\t<BaseControl.VisualLabel\n\t\t\t\tas=\"h3\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-label\"\n\t\t\t>\n\t\t\t\t{ taxonomy.labels.most_used }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t{ /*\n\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t */\n\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t<ul\n\t\t\t\trole=\"list\"\n\t\t\t\tclassName=\"editor-post-taxonomies__flat-term-most-used-list\"\n\t\t\t>\n\t\t\t\t{ terms.map( ( term ) => (\n\t\t\t\t\t<li key={ term.id }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () => onSelect( term ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ term.name }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,aAAa,QAAQ,mBAAmB;AAEjD,MAAMC,mBAAmB,GAAG,CAAC;AAC7B,MAAMC,aAAa,GAAG;EACrBC,QAAQ,EAAE,EAAE;EACZC,OAAO,EAAE,OAAO;EAChBC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAE,IAAI;EAChBC,OAAO,EAAE,eAAe;EACxBC,OAAO,EAAE;AACV,CAAC;AAED,eAAe,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAC/D,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGhB,SAAS,CACpCiB,MAAM,IAAM;IACb,MAAMC,aAAa,GAAGD,MAAM,CAAEf,SAAU,CAAC,CAACiB,gBAAgB,CACzD,UAAU,EACVL,QAAQ,CAACM,IAAI,EACbf,aACD,CAAC;IACD,OAAO;MACNU,MAAM,EAAEG,aAAa;MACrBF,SAAS,EAAEE,aAAa,EAAEG,MAAM,IAAIjB;IACrC,CAAC;EACF,CAAC,EACD,CAAEU,QAAQ,CAACM,IAAI,CAChB,CAAC;EAED,IAAK,CAAEJ,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMM,KAAK,GAAGnB,aAAa,CAAEY,MAAO,CAAC;EAErC,OACCQ,aAAA;IAAKC,SAAS,EAAC;EAA6C,GAC3DD,aAAA,CAACzB,WAAW,CAAC2B,WAAW;IACvBC,EAAE,EAAC,IAAI;IACPF,SAAS,EAAC;EAAmD,GAE3DV,QAAQ,CAACa,MAAM,CAACC,SACM,CAAC,EAM1BL,aAAA;IACCM,IAAI,EAAC,MAAM;IACXL,SAAS,EAAC;EAAkD,GAE1DF,KAAK,CAACQ,GAAG,CAAIC,IAAI,IAClBR,aAAA;IAAIS,GAAG,EAAGD,IAAI,CAACE;EAAI,GAClBV,aAAA,CAACxB,MAAM;IACNmC,OAAO,EAAC,MAAM;IACdC,OAAO,EAAGA,CAAA,KAAMtB,QAAQ,CAAEkB,IAAK;EAAG,GAEhCA,IAAI,CAACK,IACA,CACL,CACH,CACC,CAEA,CAAC;AAER","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","useSelect","useDispatch","store","editorStore","PostTaxonomiesForm","PostTaxonomiesCheck","TaxonomyPanel","taxonomy","children","slug","panelName","isEnabled","isOpened","select","isEditorPanelEnabled","isEditorPanelOpened","toggleEditorPanelOpened","taxonomyMenuName","labels","menu_name","createElement","title","opened","onToggle","PostTaxonomies","taxonomyWrapper","content"],"sources":["@wordpress/editor/src/components/post-taxonomies/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTaxonomiesForm from './index';\nimport PostTaxonomiesCheck from './check';\n\nfunction TaxonomyPanel( { taxonomy, children } ) {\n\tconst slug = taxonomy?.slug;\n\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\tconst { isEnabled, isOpened } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisEnabled: slug ? isEditorPanelEnabled( panelName ) : false,\n\t\t\t\tisOpened: slug ? isEditorPanelOpened( panelName ) : false,\n\t\t\t};\n\t\t},\n\t\t[ panelName, slug ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = taxonomy?.labels?.menu_name;\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\nfunction PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n\nexport default PostTaxonomies;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,kBAAkB,MAAM,SAAS;AACxC,OAAOC,mBAAmB,MAAM,SAAS;AAEzC,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAChD,MAAMC,IAAI,GAAGF,QAAQ,EAAEE,IAAI;EAC3B,MAAMC,SAAS,GAAGD,IAAI,GAAI,kBAAkBA,IAAM,EAAC,GAAG,EAAE;EACxD,MAAM;IAAEE,SAAS;IAAEC;EAAS,CAAC,GAAGZ,SAAS,CACtCa,MAAM,IAAM;IACb,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAEV,WAAY,CAAC;IACtB,OAAO;MACNQ,SAAS,EAAEF,IAAI,GAAGK,oBAAoB,CAAEJ,SAAU,CAAC,GAAG,KAAK;MAC3DE,QAAQ,EAAEH,IAAI,GAAGM,mBAAmB,CAAEL,SAAU,CAAC,GAAG;IACrD,CAAC;EACF,CAAC,EACD,CAAEA,SAAS,EAAED,IAAI,CAClB,CAAC;EACD,MAAM;IAAEO;EAAwB,CAAC,GAAGf,WAAW,CAAEE,WAAY,CAAC;EAE9D,IAAK,CAAEQ,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMM,gBAAgB,GAAGV,QAAQ,EAAEW,MAAM,EAAEC,SAAS;EACpD,IAAK,CAAEF,gBAAgB,EAAG;IACzB,OAAO,IAAI;EACZ;EAEA,OACCG,aAAA,CAACrB,SAAS;IACTsB,KAAK,EAAGJ,gBAAkB;IAC1BK,MAAM,EAAGV,QAAU;IACnBW,QAAQ,EAAGA,CAAA,KAAMP,uBAAuB,CAAEN,SAAU;EAAG,GAErDF,QACQ,CAAC;AAEd;AAEA,SAASgB,cAAcA,CAAA,EAAG;EACzB,OACCJ,aAAA,CAACf,mBAAmB,QACnBe,aAAA,CAAChB,kBAAkB;IAClBqB,eAAe,EAAGA,CAAEC,OAAO,EAAEnB,QAAQ,KAAM;MAC1C,OACCa,aAAA,CAACd,aAAa;QAACC,QAAQ,EAAGA;MAAU,GACjCmB,OACY,CAAC;IAElB;EAAG,CACH,CACmB,CAAC;AAExB;AAEA,eAAeF,cAAc"}
1
+ {"version":3,"names":["PanelBody","useSelect","useDispatch","store","editorStore","PostTaxonomiesForm","PostTaxonomiesCheck","TaxonomyPanel","taxonomy","children","slug","panelName","isEnabled","isOpened","select","isEditorPanelEnabled","isEditorPanelOpened","toggleEditorPanelOpened","taxonomyMenuName","labels","menu_name","createElement","title","opened","onToggle","PostTaxonomies","taxonomyWrapper","content"],"sources":["@wordpress/editor/src/components/post-taxonomies/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTaxonomiesForm from './index';\nimport PostTaxonomiesCheck from './check';\n\nfunction TaxonomyPanel( { taxonomy, children } ) {\n\tconst slug = taxonomy?.slug;\n\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\tconst { isEnabled, isOpened } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisEnabled: slug ? isEditorPanelEnabled( panelName ) : false,\n\t\t\t\tisOpened: slug ? isEditorPanelOpened( panelName ) : false,\n\t\t\t};\n\t\t},\n\t\t[ panelName, slug ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = taxonomy?.labels?.menu_name;\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\nfunction PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n\nexport default PostTaxonomies;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,OAAOC,kBAAkB,MAAM,SAAS;AACxC,OAAOC,mBAAmB,MAAM,SAAS;AAEzC,SAASC,aAAaA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAChD,MAAMC,IAAI,GAAGF,QAAQ,EAAEE,IAAI;EAC3B,MAAMC,SAAS,GAAGD,IAAI,GAAI,kBAAkBA,IAAM,EAAC,GAAG,EAAE;EACxD,MAAM;IAAEE,SAAS;IAAEC;EAAS,CAAC,GAAGZ,SAAS,CACtCa,MAAM,IAAM;IACb,MAAM;MAAEC,oBAAoB;MAAEC;IAAoB,CAAC,GAClDF,MAAM,CAAEV,WAAY,CAAC;IACtB,OAAO;MACNQ,SAAS,EAAEF,IAAI,GAAGK,oBAAoB,CAAEJ,SAAU,CAAC,GAAG,KAAK;MAC3DE,QAAQ,EAAEH,IAAI,GAAGM,mBAAmB,CAAEL,SAAU,CAAC,GAAG;IACrD,CAAC;EACF,CAAC,EACD,CAAEA,SAAS,EAAED,IAAI,CAClB,CAAC;EACD,MAAM;IAAEO;EAAwB,CAAC,GAAGf,WAAW,CAAEE,WAAY,CAAC;EAE9D,IAAK,CAAEQ,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMM,gBAAgB,GAAGV,QAAQ,EAAEW,MAAM,EAAEC,SAAS;EACpD,IAAK,CAAEF,gBAAgB,EAAG;IACzB,OAAO,IAAI;EACZ;EAEA,OACCG,aAAA,CAACrB,SAAS;IACTsB,KAAK,EAAGJ,gBAAkB;IAC1BK,MAAM,EAAGV,QAAU;IACnBW,QAAQ,EAAGA,CAAA,KAAMP,uBAAuB,CAAEN,SAAU;EAAG,GAErDF,QACQ,CAAC;AAEd;AAEA,SAASgB,cAAcA,CAAA,EAAG;EACzB,OACCJ,aAAA,CAACf,mBAAmB,QACnBe,aAAA,CAAChB,kBAAkB;IAClBqB,eAAe,EAAGA,CAAEC,OAAO,EAAEnB,QAAQ,KAAM;MAC1C,OACCa,aAAA,CAACd,aAAa;QAACC,QAAQ,EAAGA;MAAU,GACjCmB,OACY,CAAC;IAElB;EAAG,CACH,CACmB,CAAC;AAExB;AAEA,eAAeF,cAAc","ignoreList":[]}
@@ -6,7 +6,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
6
6
  import { decodeEntities } from '@wordpress/html-entities';
7
7
  import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
8
8
  import { __ } from '@wordpress/i18n';
9
- import { useEntityRecord } from '@wordpress/core-data';
9
+ import { useEntityRecord, store as coreStore } from '@wordpress/core-data';
10
10
  import { check } from '@wordpress/icons';
11
11
  import { store as noticesStore } from '@wordpress/notices';
12
12
 
@@ -53,6 +53,10 @@ export default function BlockThemeControl({
53
53
  const {
54
54
  setRenderingMode
55
55
  } = useDispatch(editorStore);
56
+ const canCreateTemplate = useSelect(select => {
57
+ var _select$canUser;
58
+ return (_select$canUser = select(coreStore).canUser('create', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false;
59
+ });
56
60
  if (!hasResolved) {
57
61
  return null;
58
62
  }
@@ -67,7 +71,7 @@ export default function BlockThemeControl({
67
71
  popoverProps: POPOVER_PROPS,
68
72
  focusOnMount: true,
69
73
  toggleProps: {
70
- __next40pxDefaultSize: true,
74
+ size: 'compact',
71
75
  variant: 'tertiary'
72
76
  },
73
77
  label: __('Template options'),
@@ -75,7 +79,7 @@ export default function BlockThemeControl({
75
79
  icon: null
76
80
  }, ({
77
81
  onClose
78
- }) => createElement(Fragment, null, createElement(MenuGroup, null, createElement(MenuItem, {
82
+ }) => createElement(Fragment, null, createElement(MenuGroup, null, canCreateTemplate && createElement(MenuItem, {
79
83
  onClick: () => {
80
84
  onNavigateToEntityRecord({
81
85
  postId: template.id,
@@ -91,7 +95,7 @@ export default function BlockThemeControl({
91
95
  onClick: onClose
92
96
  }), createElement(ResetDefaultTemplate, {
93
97
  onClick: onClose
94
- }), createElement(CreateNewTemplate, {
98
+ }), canCreateTemplate && createElement(CreateNewTemplate, {
95
99
  onClick: onClose
96
100
  })), createElement(MenuGroup, null, createElement(MenuItem, {
97
101
  icon: !isTemplateHidden ? check : undefined,
@@ -100,6 +104,6 @@ export default function BlockThemeControl({
100
104
  onClick: () => {
101
105
  setRenderingMode(isTemplateHidden ? 'template-locked' : 'post-only');
102
106
  }
103
- }, __('Template preview')))));
107
+ }, __('Show template')))));
104
108
  }
105
109
  //# sourceMappingURL=block-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","__","useEntityRecord","check","store","noticesStore","editorStore","SwapTemplateButton","ResetDefaultTemplate","unlock","CreateNewTemplate","POPOVER_PROPS","className","placement","BlockThemeControl","id","isTemplateHidden","onNavigateToEntityRecord","getEditorSettings","hasGoBack","select","getRenderingMode","_getEditorSettings","editorSettings","hasOwnProperty","editedRecord","template","hasResolved","createSuccessNotice","setRenderingMode","notificationAction","label","onClick","onNavigateToPreviousEntityRecord","undefined","createElement","popoverProps","focusOnMount","toggleProps","__next40pxDefaultSize","variant","text","title","icon","onClose","Fragment","postId","postType","type","actions","isSelected","role"],"sources":["@wordpress/editor/src/components/post-template/block-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\nimport { unlock } from '../../lock-unlock';\nimport CreateNewTemplate from './create-new-template';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function BlockThemeControl( { id } ) {\n\tconst {\n\t\tisTemplateHidden,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t\thasGoBack,\n\t} = useSelect( ( select ) => {\n\t\tconst { getRenderingMode, getEditorSettings: _getEditorSettings } =\n\t\t\tunlock( select( editorStore ) );\n\t\tconst editorSettings = _getEditorSettings();\n\t\treturn {\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\tonNavigateToEntityRecord: editorSettings.onNavigateToEntityRecord,\n\t\t\tgetEditorSettings: _getEditorSettings,\n\t\t\thasGoBack: editorSettings.hasOwnProperty(\n\t\t\t\t'onNavigateToPreviousEntityRecord'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editedRecord: template, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_template',\n\t\tid\n\t);\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\t// The site editor does not have a `onNavigateToPreviousEntityRecord` setting as it uses its own routing\n\t// and assigns its own backlink to focusMode pages.\n\tconst notificationAction = hasGoBack\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t},\n\t\t ]\n\t\t: undefined;\n\treturn (\n\t\t<DropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\ttoggleProps={ {\n\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\tvariant: 'tertiary',\n\t\t\t} }\n\t\t\tlabel={ __( 'Template options' ) }\n\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\ticon={ null }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__(\n\t\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\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t\tactions: notificationAction,\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\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t</MenuItem>\n\n\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t\t<CreateNewTemplate onClick={ onClose } />\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t: 'post-only'\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\t\t{ __( 'Template preview' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AACzE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,iBAAiB,MAAM,uBAAuB;AAErD,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE,gCAAgC;EAC3CC,SAAS,EAAE;AACZ,CAAC;AAED,eAAe,SAASC,iBAAiBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACnD,MAAM;IACLC,gBAAgB;IAChBC,wBAAwB;IACxBC,iBAAiB;IACjBC;EACD,CAAC,GAAGxB,SAAS,CAAIyB,MAAM,IAAM;IAC5B,MAAM;MAAEC,gBAAgB;MAAEH,iBAAiB,EAAEI;IAAmB,CAAC,GAChEb,MAAM,CAAEW,MAAM,CAAEd,WAAY,CAAE,CAAC;IAChC,MAAMiB,cAAc,GAAGD,kBAAkB,CAAC,CAAC;IAC3C,OAAO;MACNN,gBAAgB,EAAEK,gBAAgB,CAAC,CAAC,KAAK,WAAW;MACpDJ,wBAAwB,EAAEM,cAAc,CAACN,wBAAwB;MACjEC,iBAAiB,EAAEI,kBAAkB;MACrCH,SAAS,EAAEI,cAAc,CAACC,cAAc,CACvC,kCACD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC,YAAY,EAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGzB,eAAe,CAC9D,UAAU,EACV,aAAa,EACba,EACD,CAAC;EACD,MAAM;IAAEa;EAAoB,CAAC,GAAGhC,WAAW,CAAES,YAAa,CAAC;EAC3D,MAAM;IAAEwB;EAAiB,CAAC,GAAGjC,WAAW,CAAEU,WAAY,CAAC;EAEvD,IAAK,CAAEqB,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,MAAMG,kBAAkB,GAAGX,SAAS,GACjC,CACA;IACCY,KAAK,EAAE9B,EAAE,CAAE,SAAU,CAAC;IACtB+B,OAAO,EAAEA,CAAA,KACRd,iBAAiB,CAAC,CAAC,CAACe,gCAAgC,CAAC;EACvD,CAAC,CACA,GACDC,SAAS;EACZ,OACCC,aAAA,CAACrC,YAAY;IACZsC,YAAY,EAAGzB,aAAe;IAC9B0B,YAAY;IACZC,WAAW,EAAG;MACbC,qBAAqB,EAAE,IAAI;MAC3BC,OAAO,EAAE;IACV,CAAG;IACHT,KAAK,EAAG9B,EAAE,CAAE,kBAAmB,CAAG;IAClCwC,IAAI,EAAG5C,cAAc,CAAE6B,QAAQ,CAACgB,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACdT,aAAA,CAAAU,QAAA,QACCV,aAAA,CAACpC,SAAS,QACToC,aAAA,CAACnC,QAAQ;IACRgC,OAAO,EAAGA,CAAA,KAAM;MACff,wBAAwB,CAAE;QACzB6B,MAAM,EAAEpB,QAAQ,CAACX,EAAE;QACnBgC,QAAQ,EAAE;MACX,CAAE,CAAC;MACHH,OAAO,CAAC,CAAC;MACThB,mBAAmB,CAClB3B,EAAE,CACD,uFACD,CAAC,EACD;QACC+C,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAEnB;MACV,CACD,CAAC;IACF;EAAG,GAED7B,EAAE,CAAE,eAAgB,CACb,CAAC,EAEXkC,aAAA,CAAC5B,kBAAkB;IAACyB,OAAO,EAAGY;EAAS,CAAE,CAAC,EAC1CT,aAAA,CAAC3B,oBAAoB;IAACwB,OAAO,EAAGY;EAAS,CAAE,CAAC,EAC5CT,aAAA,CAACzB,iBAAiB;IAACsB,OAAO,EAAGY;EAAS,CAAE,CAC9B,CAAC,EACZT,aAAA,CAACpC,SAAS,QACToC,aAAA,CAACnC,QAAQ;IACR2C,IAAI,EAAG,CAAE3B,gBAAgB,GAAGb,KAAK,GAAG+B,SAAW;IAC/CgB,UAAU,EAAG,CAAElC,gBAAkB;IACjCmC,IAAI,EAAC,kBAAkB;IACvBnB,OAAO,EAAGA,CAAA,KAAM;MACfH,gBAAgB,CACfb,gBAAgB,GACb,iBAAiB,GACjB,WACJ,CAAC;IACF;EAAG,GAEDf,EAAE,CAAE,kBAAmB,CAChB,CACA,CACV,CAEU,CAAC;AAEjB"}
1
+ {"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","__","useEntityRecord","store","coreStore","check","noticesStore","editorStore","SwapTemplateButton","ResetDefaultTemplate","unlock","CreateNewTemplate","POPOVER_PROPS","className","placement","BlockThemeControl","id","isTemplateHidden","onNavigateToEntityRecord","getEditorSettings","hasGoBack","select","getRenderingMode","_getEditorSettings","editorSettings","hasOwnProperty","editedRecord","template","hasResolved","createSuccessNotice","setRenderingMode","canCreateTemplate","_select$canUser","canUser","notificationAction","label","onClick","onNavigateToPreviousEntityRecord","undefined","createElement","popoverProps","focusOnMount","toggleProps","size","variant","text","title","icon","onClose","Fragment","postId","postType","type","actions","isSelected","role"],"sources":["@wordpress/editor/src/components/post-template/block-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\nimport { unlock } from '../../lock-unlock';\nimport CreateNewTemplate from './create-new-template';\n\nconst POPOVER_PROPS = {\n\tclassName: 'editor-post-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function BlockThemeControl( { id } ) {\n\tconst {\n\t\tisTemplateHidden,\n\t\tonNavigateToEntityRecord,\n\t\tgetEditorSettings,\n\t\thasGoBack,\n\t} = useSelect( ( select ) => {\n\t\tconst { getRenderingMode, getEditorSettings: _getEditorSettings } =\n\t\t\tunlock( select( editorStore ) );\n\t\tconst editorSettings = _getEditorSettings();\n\t\treturn {\n\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\tonNavigateToEntityRecord: editorSettings.onNavigateToEntityRecord,\n\t\t\tgetEditorSettings: _getEditorSettings,\n\t\t\thasGoBack: editorSettings.hasOwnProperty(\n\t\t\t\t'onNavigateToPreviousEntityRecord'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editedRecord: template, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_template',\n\t\tid\n\t);\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tconst canCreateTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false\n\t);\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\t// The site editor does not have a `onNavigateToPreviousEntityRecord` setting as it uses its own routing\n\t// and assigns its own backlink to focusMode pages.\n\tconst notificationAction = hasGoBack\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Go back' ),\n\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord(),\n\t\t\t\t},\n\t\t ]\n\t\t: undefined;\n\treturn (\n\t\t<DropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tfocusOnMount\n\t\t\ttoggleProps={ {\n\t\t\t\tsize: 'compact',\n\t\t\t\tvariant: 'tertiary',\n\t\t\t} }\n\t\t\tlabel={ __( 'Template options' ) }\n\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\ticon={ null }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ canCreateTemplate && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\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\t\t),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t\t\tactions: notificationAction,\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\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t\t{ canCreateTemplate && (\n\t\t\t\t\t\t\t<CreateNewTemplate onClick={ onClose } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\tisSelected={ ! isTemplateHidden }\n\t\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t: 'post-only'\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\t\t{ __( 'Show template' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AACzE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AAC1E,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASF,KAAK,IAAIG,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASH,KAAK,IAAII,WAAW,QAAQ,aAAa;AAClD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,iBAAiB,MAAM,uBAAuB;AAErD,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE,gCAAgC;EAC3CC,SAAS,EAAE;AACZ,CAAC;AAED,eAAe,SAASC,iBAAiBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACnD,MAAM;IACLC,gBAAgB;IAChBC,wBAAwB;IACxBC,iBAAiB;IACjBC;EACD,CAAC,GAAGzB,SAAS,CAAI0B,MAAM,IAAM;IAC5B,MAAM;MAAEC,gBAAgB;MAAEH,iBAAiB,EAAEI;IAAmB,CAAC,GAChEb,MAAM,CAAEW,MAAM,CAAEd,WAAY,CAAE,CAAC;IAChC,MAAMiB,cAAc,GAAGD,kBAAkB,CAAC,CAAC;IAC3C,OAAO;MACNN,gBAAgB,EAAEK,gBAAgB,CAAC,CAAC,KAAK,WAAW;MACpDJ,wBAAwB,EAAEM,cAAc,CAACN,wBAAwB;MACjEC,iBAAiB,EAAEI,kBAAkB;MACrCH,SAAS,EAAEI,cAAc,CAACC,cAAc,CACvC,kCACD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC,YAAY,EAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAG1B,eAAe,CAC9D,UAAU,EACV,aAAa,EACbc,EACD,CAAC;EACD,MAAM;IAAEa;EAAoB,CAAC,GAAGjC,WAAW,CAAEU,YAAa,CAAC;EAC3D,MAAM;IAAEwB;EAAiB,CAAC,GAAGlC,WAAW,CAAEW,WAAY,CAAC;EAEvD,MAAMwB,iBAAiB,GAAGpC,SAAS,CAChC0B,MAAM;IAAA,IAAAW,eAAA;IAAA,QAAAA,eAAA,GACPX,MAAM,CAAEjB,SAAU,CAAC,CAAC6B,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,cAAAD,eAAA,cAAAA,eAAA,GAAI,KAAK;EAAA,CAC/D,CAAC;EAED,IAAK,CAAEJ,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,MAAMM,kBAAkB,GAAGd,SAAS,GACjC,CACA;IACCe,KAAK,EAAElC,EAAE,CAAE,SAAU,CAAC;IACtBmC,OAAO,EAAEA,CAAA,KACRjB,iBAAiB,CAAC,CAAC,CAACkB,gCAAgC,CAAC;EACvD,CAAC,CACA,GACDC,SAAS;EACZ,OACCC,aAAA,CAACzC,YAAY;IACZ0C,YAAY,EAAG5B,aAAe;IAC9B6B,YAAY;IACZC,WAAW,EAAG;MACbC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACV,CAAG;IACHT,KAAK,EAAGlC,EAAE,CAAE,kBAAmB,CAAG;IAClC4C,IAAI,EAAGhD,cAAc,CAAE8B,QAAQ,CAACmB,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACdT,aAAA,CAAAU,QAAA,QACCV,aAAA,CAACxC,SAAS,QACPgC,iBAAiB,IAClBQ,aAAA,CAACvC,QAAQ;IACRoC,OAAO,EAAGA,CAAA,KAAM;MACflB,wBAAwB,CAAE;QACzBgC,MAAM,EAAEvB,QAAQ,CAACX,EAAE;QACnBmC,QAAQ,EAAE;MACX,CAAE,CAAC;MACHH,OAAO,CAAC,CAAC;MACTnB,mBAAmB,CAClB5B,EAAE,CACD,uFACD,CAAC,EACD;QACCmD,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAEnB;MACV,CACD,CAAC;IACF;EAAG,GAEDjC,EAAE,CAAE,eAAgB,CACb,CACV,EAEDsC,aAAA,CAAC/B,kBAAkB;IAAC4B,OAAO,EAAGY;EAAS,CAAE,CAAC,EAC1CT,aAAA,CAAC9B,oBAAoB;IAAC2B,OAAO,EAAGY;EAAS,CAAE,CAAC,EAC1CjB,iBAAiB,IAClBQ,aAAA,CAAC5B,iBAAiB;IAACyB,OAAO,EAAGY;EAAS,CAAE,CAE/B,CAAC,EACZT,aAAA,CAACxC,SAAS,QACTwC,aAAA,CAACvC,QAAQ;IACR+C,IAAI,EAAG,CAAE9B,gBAAgB,GAAGZ,KAAK,GAAGiC,SAAW;IAC/CgB,UAAU,EAAG,CAAErC,gBAAkB;IACjCsC,IAAI,EAAC,kBAAkB;IACvBnB,OAAO,EAAGA,CAAA,KAAM;MACfN,gBAAgB,CACfb,gBAAgB,GACb,iBAAiB,GACjB,WACJ,CAAC;IACF;EAAG,GAEDhB,EAAE,CAAE,eAAgB,CACb,CACA,CACV,CAEU,CAAC;AAEjB","ignoreList":[]}
@@ -39,7 +39,6 @@ function PostTemplateToggle({
39
39
  }, []);
40
40
  return createElement(Button, {
41
41
  __next40pxDefaultSize: true,
42
- className: "edit-post-post-template__toggle",
43
42
  variant: "tertiary",
44
43
  "aria-expanded": isOpen,
45
44
  "aria-label": __('Template options'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","SelectControl","Dropdown","Button","Notice","useSelect","useDispatch","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useState","useMemo","addTemplate","noticesStore","editorStore","CreateNewTemplateModal","useAllowSwitchingTemplates","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","select","templateSlug","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","canUser","getCurrentTemplateId","title","slug","createElement","__next40pxDefaultSize","variant","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","onNavigateToEntityRecord","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","options","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","createSuccessNotice","isCreateModalOpen","setIsCreateModalOpen","help","actions","icon","status","isDismissible","__nextHasNoMarginBottom","hideLabelFromVision","onChange","postId","postType","type","onNavigateToPreviousEntityRecord","ClassicThemeControl","popoverProps","focusOnMount","renderToggle","onToggle","renderContent"],"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', 'templates' ) &&\n\t\t\tselect( 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\tclassName=\"edit-post-post-template__toggle\"\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\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', 'templates' );\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\nexport default ClassicThemeControl;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","SelectControl","Dropdown","Button","Notice","useSelect","useDispatch","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useState","useMemo","addTemplate","noticesStore","editorStore","CreateNewTemplateModal","useAllowSwitchingTemplates","POPOVER_PROPS","className","placement","PostTemplateToggle","isOpen","onClick","templateTitle","select","templateSlug","getEditedPostAttribute","supportsTemplateMode","availableTemplates","getEditorSettings","template","canUser","getCurrentTemplateId","title","slug","createElement","__next40pxDefaultSize","variant","PostTemplateDropdownContent","onClose","_options$find","_selectedOption$value","allowSwitchingTemplate","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","currentTemplateId","onNavigateToEntityRecord","getEntityRecords","editorSettings","canCreateTemplates","_currentTemplateId","post_type","getCurrentPostType","per_page","undefined","options","Object","entries","fromEntries","map","rendered","value","label","selectedOption","find","option","editPost","createSuccessNotice","isCreateModalOpen","setIsCreateModalOpen","help","actions","icon","status","isDismissible","__nextHasNoMarginBottom","hideLabelFromVision","onChange","postId","postType","type","onNavigateToPreviousEntityRecord","ClassicThemeControl","popoverProps","focusOnMount","renderToggle","onToggle","renderContent"],"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', 'templates' ) &&\n\t\t\tselect( 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\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', 'templates' );\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\nexport default ClassicThemeControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useState","serialize","createBlock","Modal","TextControl","Button","__experimentalHStack","HStack","__experimentalVStack","VStack","__","cleanForSlug","unlock","store","editorStore","DEFAULT_TITLE","CreateNewTemplateModal","onClose","defaultBlockTemplate","onNavigateToEntityRecord","select","getEditorSettings","getCurrentTemplateId","getTemplateId","createTemplate","title","setTitle","isBusy","setIsBusy","cancel","submit","event","preventDefault","newTemplateContent","tagName","layout","inherit","newTemplate","slug","content","postId","id","postType","createElement","onRequestClose","className","onSubmit","spacing","__nextHasNoMarginBottom","label","value","onChange","placeholder","disabled","help","justify","variant","onClick","type"],"sources":["@wordpress/editor/src/components/post-template/create-new-template-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tModal,\n\tTextControl,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cleanForSlug } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst DEFAULT_TITLE = __( 'Custom Template' );\n\nexport default function CreateNewTemplateModal( { onClose } ) {\n\tconst { defaultBlockTemplate, onNavigateToEntityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings, getCurrentTemplateId } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tdefaultBlockTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetEditorSettings().onNavigateToEntityRecord,\n\t\t\t\tgetTemplateId: getCurrentTemplateId,\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { createTemplate } = unlock( useDispatch( editorStore ) );\n\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst cancel = () => {\n\t\tsetTitle( '' );\n\t\tonClose();\n\t};\n\n\tconst submit = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultBlockTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tconst newTemplate = await createTemplate( {\n\t\t\tslug: cleanForSlug( title || DEFAULT_TITLE ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || DEFAULT_TITLE,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: newTemplate.id,\n\t\t\tpostType: 'wp_template',\n\t\t} );\n\t\tcancel();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\tonRequestClose={ cancel }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"editor-post-template__create-form\"\n\t\t\t\tonSubmit={ submit }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ DEFAULT_TITLE }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ cancel }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","useState","serialize","createBlock","Modal","TextControl","Button","__experimentalHStack","HStack","__experimentalVStack","VStack","__","cleanForSlug","unlock","store","editorStore","DEFAULT_TITLE","CreateNewTemplateModal","onClose","defaultBlockTemplate","onNavigateToEntityRecord","select","getEditorSettings","getCurrentTemplateId","getTemplateId","createTemplate","title","setTitle","isBusy","setIsBusy","cancel","submit","event","preventDefault","newTemplateContent","tagName","layout","inherit","newTemplate","slug","content","postId","id","postType","createElement","onRequestClose","className","onSubmit","spacing","__nextHasNoMarginBottom","label","value","onChange","placeholder","disabled","help","justify","variant","onClick","type"],"sources":["@wordpress/editor/src/components/post-template/create-new-template-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tModal,\n\tTextControl,\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cleanForSlug } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst DEFAULT_TITLE = __( 'Custom Template' );\n\nexport default function CreateNewTemplateModal( { onClose } ) {\n\tconst { defaultBlockTemplate, onNavigateToEntityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings, getCurrentTemplateId } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tdefaultBlockTemplate: getEditorSettings().defaultBlockTemplate,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetEditorSettings().onNavigateToEntityRecord,\n\t\t\t\tgetTemplateId: getCurrentTemplateId,\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { createTemplate } = unlock( useDispatch( editorStore ) );\n\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst cancel = () => {\n\t\tsetTitle( '' );\n\t\tonClose();\n\t};\n\n\tconst submit = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultBlockTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tconst newTemplate = await createTemplate( {\n\t\t\tslug: cleanForSlug( title || DEFAULT_TITLE ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || DEFAULT_TITLE,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: newTemplate.id,\n\t\t\tpostType: 'wp_template',\n\t\t} );\n\t\tcancel();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\tonRequestClose={ cancel }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"editor-post-template__create-form\"\n\t\t\t\tonSubmit={ submit }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ DEFAULT_TITLE }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ cancel }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["MenuItem","__","useSelect","store","coreStore","useState","CreateNewTemplateModal","useAllowSwitchingTemplates","CreateNewTemplate","onClick","canCreateTemplates","select","canUser","isCreateModalOpen","setIsCreateModalOpen","allowSwitchingTemplate","createElement","Fragment","onClose"],"sources":["@wordpress/editor/src/components/post-template/create-new-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nexport default function CreateNewTemplate( { onClick } ) {\n\tconst { canCreateTemplates } = useSelect( ( select ) => {\n\t\tconst { canUser } = select( coreStore );\n\t\treturn {\n\t\t\tcanCreateTemplates: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! canCreateTemplates || ! allowSwitchingTemplate ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsCreateModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Create new template' ) }\n\t\t\t</MenuItem>\n\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsCreateModalOpen( false );\n\t\t\t\t\t\tonClick();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,SAASC,0BAA0B,QAAQ,SAAS;AAEpD,eAAe,SAASC,iBAAiBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACxD,MAAM;IAAEC;EAAmB,CAAC,GAAGR,SAAS,CAAIS,MAAM,IAAM;IACvD,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEP,SAAU,CAAC;IACvC,OAAO;MACNM,kBAAkB,EAAEE,OAAO,CAAE,QAAQ,EAAE,WAAY;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGT,QAAQ,CAAE,KAAM,CAAC;EACrE,MAAMU,sBAAsB,GAAGR,0BAA0B,CAAC,CAAC;;EAE3D;EACA,IAAK,CAAEG,kBAAkB,IAAI,CAAEK,sBAAsB,EAAG;IACvD,OAAO,IAAI;EACZ;EACA,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAChB,QAAQ;IACRS,OAAO,EAAGA,CAAA,KAAM;MACfK,oBAAoB,CAAE,IAAK,CAAC;IAC7B;EAAG,GAEDb,EAAE,CAAE,qBAAsB,CACnB,CAAC,EAETY,iBAAiB,IAClBG,aAAA,CAACV,sBAAsB;IACtBY,OAAO,EAAGA,CAAA,KAAM;MACfJ,oBAAoB,CAAE,KAAM,CAAC;MAC7BL,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CAED,CAAC;AAEL"}
1
+ {"version":3,"names":["MenuItem","__","useSelect","store","coreStore","useState","CreateNewTemplateModal","useAllowSwitchingTemplates","CreateNewTemplate","onClick","canCreateTemplates","select","canUser","isCreateModalOpen","setIsCreateModalOpen","allowSwitchingTemplate","createElement","Fragment","onClose"],"sources":["@wordpress/editor/src/components/post-template/create-new-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport CreateNewTemplateModal from './create-new-template-modal';\nimport { useAllowSwitchingTemplates } from './hooks';\n\nexport default function CreateNewTemplate( { onClick } ) {\n\tconst { canCreateTemplates } = useSelect( ( select ) => {\n\t\tconst { canUser } = select( coreStore );\n\t\treturn {\n\t\t\tcanCreateTemplates: canUser( 'create', 'templates' ),\n\t\t};\n\t}, [] );\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! canCreateTemplates || ! allowSwitchingTemplate ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsCreateModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Create new template' ) }\n\t\t\t</MenuItem>\n\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<CreateNewTemplateModal\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsCreateModalOpen( false );\n\t\t\t\t\t\tonClick();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,SAASC,0BAA0B,QAAQ,SAAS;AAEpD,eAAe,SAASC,iBAAiBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACxD,MAAM;IAAEC;EAAmB,CAAC,GAAGR,SAAS,CAAIS,MAAM,IAAM;IACvD,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEP,SAAU,CAAC;IACvC,OAAO;MACNM,kBAAkB,EAAEE,OAAO,CAAE,QAAQ,EAAE,WAAY;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGT,QAAQ,CAAE,KAAM,CAAC;EACrE,MAAMU,sBAAsB,GAAGR,0BAA0B,CAAC,CAAC;;EAE3D;EACA,IAAK,CAAEG,kBAAkB,IAAI,CAAEK,sBAAsB,EAAG;IACvD,OAAO,IAAI;EACZ;EACA,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAChB,QAAQ;IACRS,OAAO,EAAGA,CAAA,KAAM;MACfK,oBAAoB,CAAE,IAAK,CAAC;IAC7B;EAAG,GAEDb,EAAE,CAAE,qBAAsB,CACnB,CAAC,EAETY,iBAAiB,IAClBG,aAAA,CAACV,sBAAsB;IACtBY,OAAO,EAAGA,CAAA,KAAM;MACfJ,oBAAoB,CAAE,KAAM,CAAC;MAC7BL,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CAED,CAAC;AAEL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useMemo","store","coreStore","editorStore","useEditedPostContext","select","getCurrentPostId","getCurrentPostType","postId","postType","useAllowSwitchingTemplates","getEntityRecord","getEntityRecords","siteSettings","templates","per_page","isPostsPage","page_for_posts","isFrontPage","page_on_front","some","slug","useTemplates","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","allowSwitchingTemplate","filter","template","is_custom","content","raw","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/editor/src/components/post-template/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport function useEditedPostContext() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n}\nexport function useAllowSwitchingTemplates() {\n\tconst { postType, postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getEntityRecords } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst templates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\tconst isPostsPage = +postId === siteSettings?.page_for_posts;\n\t\t\t// If current page is set front page or posts page, we also need\n\t\t\t// to check if the current theme has a template for it. If not\n\t\t\tconst isFrontPage =\n\t\t\t\tpostType === 'page' &&\n\t\t\t\t+postId === siteSettings?.page_on_front &&\n\t\t\t\ttemplates?.some( ( { slug } ) => slug === 'front-page' );\n\t\t\treturn ! isPostsPage && ! isFrontPage;\n\t\t},\n\t\t[ postId, postType ]\n\t);\n}\n\nfunction useTemplates( postType ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t\tpost_type: postType,\n\t\t\t} ),\n\t\t[ postType ]\n\t);\n}\n\nexport function useAvailableTemplates( postType ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst templates = useTemplates( postType );\n\treturn useMemo(\n\t\t() =>\n\t\t\tallowSwitchingTemplate &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, allowSwitchingTemplate ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates( postType );\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","editorStore","useEditedPostContext","select","getCurrentPostId","getCurrentPostType","postId","postType","useAllowSwitchingTemplates","getEntityRecord","getEntityRecords","siteSettings","templates","per_page","isPostsPage","page_for_posts","isFrontPage","page_on_front","some","slug","useTemplates","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","allowSwitchingTemplate","filter","template","is_custom","content","raw","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/editor/src/components/post-template/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport function useEditedPostContext() {\n\treturn useSelect( ( select ) => {\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n}\nexport function useAllowSwitchingTemplates() {\n\tconst { postType, postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getEntityRecords } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst templates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\tconst isPostsPage = +postId === siteSettings?.page_for_posts;\n\t\t\t// If current page is set front page or posts page, we also need\n\t\t\t// to check if the current theme has a template for it. If not\n\t\t\tconst isFrontPage =\n\t\t\t\tpostType === 'page' &&\n\t\t\t\t+postId === siteSettings?.page_on_front &&\n\t\t\t\ttemplates?.some( ( { slug } ) => slug === 'front-page' );\n\t\t\treturn ! isPostsPage && ! isFrontPage;\n\t\t},\n\t\t[ postId, postType ]\n\t);\n}\n\nfunction useTemplates( postType ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t\tpost_type: postType,\n\t\t\t} ),\n\t\t[ postType ]\n\t);\n}\n\nexport function useAvailableTemplates( postType ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst templates = useTemplates( postType );\n\treturn useMemo(\n\t\t() =>\n\t\t\tallowSwitchingTemplate &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, allowSwitchingTemplate ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates( postType );\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","__","store","coreStore","editorStore","ClassicThemeControl","BlockThemeControl","PostPanelRow","PostTemplatePanel","templateId","isBlockTheme","select","getCurrentTemplateId","getEditorSettings","__unstableIsBlockBasedTheme","isVisible","_select$canUser","postTypeSlug","getCurrentPostType","postType","getPostType","viewable","settings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","canViewTemplates","_select$canUser2","createElement","label","id"],"sources":["@wordpress/editor/src/components/post-template/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport ClassicThemeControl from './classic-theme';\nimport BlockThemeControl from './block-theme';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostTemplatePanel() {\n\tconst { templateId, isBlockTheme } = useSelect( ( select ) => {\n\t\tconst { getCurrentTemplateId, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\tisBlockTheme: getEditorSettings().__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tconst hasTemplates =\n\t\t\t!! settings.availableTemplates &&\n\t\t\tObject.keys( settings.availableTemplates ).length > 0;\n\t\tif ( hasTemplates ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( ! settings.supportsTemplateMode ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst canCreateTemplates =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\t\treturn canCreateTemplates;\n\t}, [] );\n\n\tconst canViewTemplates = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'read', 'templates' ) ?? false;\n\t}, [] );\n\n\tif ( ( ! isBlockTheme || ! canViewTemplates ) && isVisible ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<ClassicThemeControl />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\n\tif ( isBlockTheme && !! templateId ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<BlockThemeControl id={ templateId } />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\treturn null;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,OAAOC,mBAAmB,MAAM,iBAAiB;AACjD,OAAOC,iBAAiB,MAAM,eAAe;AAC7C,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAGV,SAAS,CAAIW,MAAM,IAAM;IAC7D,MAAM;MAAEC,oBAAoB;MAAEC;IAAkB,CAAC,GAChDF,MAAM,CAAEP,WAAY,CAAC;IACtB,OAAO;MACNK,UAAU,EAAEG,oBAAoB,CAAC,CAAC;MAClCF,YAAY,EAAEG,iBAAiB,CAAC,CAAC,CAACC;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,SAAS,GAAGf,SAAS,CAAIW,MAAM,IAAM;IAAA,IAAAK,eAAA;IAC1C,MAAMC,YAAY,GAAGN,MAAM,CAAEP,WAAY,CAAC,CAACc,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGR,MAAM,CAAER,SAAU,CAAC,CAACiB,WAAW,CAAEH,YAAa,CAAC;IAChE,IAAK,CAAEE,QAAQ,EAAEE,QAAQ,EAAG;MAC3B,OAAO,KAAK;IACb;IAEA,MAAMC,QAAQ,GAAGX,MAAM,CAAEP,WAAY,CAAC,CAACS,iBAAiB,CAAC,CAAC;IAC1D,MAAMU,YAAY,GACjB,CAAC,CAAED,QAAQ,CAACE,kBAAkB,IAC9BC,MAAM,CAACC,IAAI,CAAEJ,QAAQ,CAACE,kBAAmB,CAAC,CAACG,MAAM,GAAG,CAAC;IACtD,IAAKJ,YAAY,EAAG;MACnB,OAAO,IAAI;IACZ;IAEA,IAAK,CAAED,QAAQ,CAACM,oBAAoB,EAAG;MACtC,OAAO,KAAK;IACb;IAEA,MAAMC,kBAAkB,IAAAb,eAAA,GACvBL,MAAM,CAAER,SAAU,CAAC,CAAC2B,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,cAAAd,eAAA,cAAAA,eAAA,GAAI,KAAK;IAC9D,OAAOa,kBAAkB;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,gBAAgB,GAAG/B,SAAS,CAAIW,MAAM,IAAM;IAAA,IAAAqB,gBAAA;IACjD,QAAAA,gBAAA,GAAOrB,MAAM,CAAER,SAAU,CAAC,CAAC2B,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,cAAAE,gBAAA,cAAAA,gBAAA,GAAI,KAAK;EACnE,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAE,CAAEtB,YAAY,IAAI,CAAEqB,gBAAgB,KAAMhB,SAAS,EAAG;IAC5D,OACCkB,aAAA,CAAC1B,YAAY;MAAC2B,KAAK,EAAGjC,EAAE,CAAE,UAAW;IAAG,GACvCgC,aAAA,CAAC5B,mBAAmB,MAAE,CACT,CAAC;EAEjB;EAEA,IAAKK,YAAY,IAAI,CAAC,CAAED,UAAU,EAAG;IACpC,OACCwB,aAAA,CAAC1B,YAAY;MAAC2B,KAAK,EAAGjC,EAAE,CAAE,UAAW;IAAG,GACvCgC,aAAA,CAAC3B,iBAAiB;MAAC6B,EAAE,EAAG1B;IAAY,CAAE,CACzB,CAAC;EAEjB;EACA,OAAO,IAAI;AACZ"}
1
+ {"version":3,"names":["useSelect","__","store","coreStore","editorStore","ClassicThemeControl","BlockThemeControl","PostPanelRow","PostTemplatePanel","templateId","isBlockTheme","select","getCurrentTemplateId","getEditorSettings","__unstableIsBlockBasedTheme","isVisible","_select$canUser","postTypeSlug","getCurrentPostType","postType","getPostType","viewable","settings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","canViewTemplates","_select$canUser2","createElement","label","id"],"sources":["@wordpress/editor/src/components/post-template/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport ClassicThemeControl from './classic-theme';\nimport BlockThemeControl from './block-theme';\nimport PostPanelRow from '../post-panel-row';\n\nexport default function PostTemplatePanel() {\n\tconst { templateId, isBlockTheme } = useSelect( ( select ) => {\n\t\tconst { getCurrentTemplateId, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\tisBlockTheme: getEditorSettings().__unstableIsBlockBasedTheme,\n\t\t};\n\t}, [] );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tconst hasTemplates =\n\t\t\t!! settings.availableTemplates &&\n\t\t\tObject.keys( settings.availableTemplates ).length > 0;\n\t\tif ( hasTemplates ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( ! settings.supportsTemplateMode ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst canCreateTemplates =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\t\treturn canCreateTemplates;\n\t}, [] );\n\n\tconst canViewTemplates = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'read', 'templates' ) ?? false;\n\t}, [] );\n\n\tif ( ( ! isBlockTheme || ! canViewTemplates ) && isVisible ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<ClassicThemeControl />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\n\tif ( isBlockTheme && !! templateId ) {\n\t\treturn (\n\t\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t\t<BlockThemeControl id={ templateId } />\n\t\t\t</PostPanelRow>\n\t\t);\n\t}\n\treturn null;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,OAAOC,mBAAmB,MAAM,iBAAiB;AACjD,OAAOC,iBAAiB,MAAM,eAAe;AAC7C,OAAOC,YAAY,MAAM,mBAAmB;AAE5C,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEC,UAAU;IAAEC;EAAa,CAAC,GAAGV,SAAS,CAAIW,MAAM,IAAM;IAC7D,MAAM;MAAEC,oBAAoB;MAAEC;IAAkB,CAAC,GAChDF,MAAM,CAAEP,WAAY,CAAC;IACtB,OAAO;MACNK,UAAU,EAAEG,oBAAoB,CAAC,CAAC;MAClCF,YAAY,EAAEG,iBAAiB,CAAC,CAAC,CAACC;IACnC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,SAAS,GAAGf,SAAS,CAAIW,MAAM,IAAM;IAAA,IAAAK,eAAA;IAC1C,MAAMC,YAAY,GAAGN,MAAM,CAAEP,WAAY,CAAC,CAACc,kBAAkB,CAAC,CAAC;IAC/D,MAAMC,QAAQ,GAAGR,MAAM,CAAER,SAAU,CAAC,CAACiB,WAAW,CAAEH,YAAa,CAAC;IAChE,IAAK,CAAEE,QAAQ,EAAEE,QAAQ,EAAG;MAC3B,OAAO,KAAK;IACb;IAEA,MAAMC,QAAQ,GAAGX,MAAM,CAAEP,WAAY,CAAC,CAACS,iBAAiB,CAAC,CAAC;IAC1D,MAAMU,YAAY,GACjB,CAAC,CAAED,QAAQ,CAACE,kBAAkB,IAC9BC,MAAM,CAACC,IAAI,CAAEJ,QAAQ,CAACE,kBAAmB,CAAC,CAACG,MAAM,GAAG,CAAC;IACtD,IAAKJ,YAAY,EAAG;MACnB,OAAO,IAAI;IACZ;IAEA,IAAK,CAAED,QAAQ,CAACM,oBAAoB,EAAG;MACtC,OAAO,KAAK;IACb;IAEA,MAAMC,kBAAkB,IAAAb,eAAA,GACvBL,MAAM,CAAER,SAAU,CAAC,CAAC2B,OAAO,CAAE,QAAQ,EAAE,WAAY,CAAC,cAAAd,eAAA,cAAAA,eAAA,GAAI,KAAK;IAC9D,OAAOa,kBAAkB;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,gBAAgB,GAAG/B,SAAS,CAAIW,MAAM,IAAM;IAAA,IAAAqB,gBAAA;IACjD,QAAAA,gBAAA,GAAOrB,MAAM,CAAER,SAAU,CAAC,CAAC2B,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,cAAAE,gBAAA,cAAAA,gBAAA,GAAI,KAAK;EACnE,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAE,CAAEtB,YAAY,IAAI,CAAEqB,gBAAgB,KAAMhB,SAAS,EAAG;IAC5D,OACCkB,aAAA,CAAC1B,YAAY;MAAC2B,KAAK,EAAGjC,EAAE,CAAE,UAAW;IAAG,GACvCgC,aAAA,CAAC5B,mBAAmB,MAAE,CACT,CAAC;EAEjB;EAEA,IAAKK,YAAY,IAAI,CAAC,CAAED,UAAU,EAAG;IACpC,OACCwB,aAAA,CAAC1B,YAAY;MAAC2B,KAAK,EAAGjC,EAAE,CAAE,UAAW;IAAG,GACvCgC,aAAA,CAAC3B,iBAAiB;MAAC6B,EAAE,EAAG1B;IAAY,CAAE,CACzB,CAAC;EAEjB;EACA,OAAO,IAAI;AACZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["MenuItem","__","useDispatch","store","coreStore","useAllowSwitchingTemplates","useCurrentTemplateSlug","useEditedPostContext","ResetDefaultTemplate","onClick","currentTemplateSlug","allowSwitchingTemplate","postType","postId","editEntityRecord","createElement","template","undoIgnore"],"sources":["@wordpress/editor/src/components/post-template/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAllowSwitchingTemplates,\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n} from './hooks';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || ! allowSwitchingTemplate ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ template: '' },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Use default template' ) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SACCC,0BAA0B,EAC1BC,sBAAsB,EACtBC,oBAAoB,QACd,SAAS;AAEhB,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAGJ,sBAAsB,CAAC,CAAC;EACpD,MAAMK,sBAAsB,GAAGN,0BAA0B,CAAC,CAAC;EAC3D,MAAM;IAAEO,QAAQ;IAAEC;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACnD,MAAM;IAAEO;EAAiB,CAAC,GAAGZ,WAAW,CAAEE,SAAU,CAAC;EACrD;EACA,IAAK,CAAEM,mBAAmB,IAAI,CAAEC,sBAAsB,EAAG;IACxD,OAAO,IAAI;EACZ;EACA,OACCI,aAAA,CAACf,QAAQ;IACRS,OAAO,EAAGA,CAAA,KAAM;MACfK,gBAAgB,CACf,UAAU,EACVF,QAAQ,EACRC,MAAM,EACN;QAAEG,QAAQ,EAAE;MAAG,CAAC,EAChB;QAAEC,UAAU,EAAE;MAAK,CACpB,CAAC;MACDR,OAAO,CAAC,CAAC;IACV;EAAG,GAEDR,EAAE,CAAE,sBAAuB,CACpB,CAAC;AAEb"}
1
+ {"version":3,"names":["MenuItem","__","useDispatch","store","coreStore","useAllowSwitchingTemplates","useCurrentTemplateSlug","useEditedPostContext","ResetDefaultTemplate","onClick","currentTemplateSlug","allowSwitchingTemplate","postType","postId","editEntityRecord","createElement","template","undoIgnore"],"sources":["@wordpress/editor/src/components/post-template/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAllowSwitchingTemplates,\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n} from './hooks';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || ! allowSwitchingTemplate ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\teditEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId,\n\t\t\t\t\t{ template: '' },\n\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t);\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Use default template' ) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SACCC,0BAA0B,EAC1BC,sBAAsB,EACtBC,oBAAoB,QACd,SAAS;AAEhB,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAGJ,sBAAsB,CAAC,CAAC;EACpD,MAAMK,sBAAsB,GAAGN,0BAA0B,CAAC,CAAC;EAC3D,MAAM;IAAEO,QAAQ;IAAEC;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACnD,MAAM;IAAEO;EAAiB,CAAC,GAAGZ,WAAW,CAAEE,SAAU,CAAC;EACrD;EACA,IAAK,CAAEM,mBAAmB,IAAI,CAAEC,sBAAsB,EAAG;IACxD,OAAO,IAAI;EACZ;EACA,OACCI,aAAA,CAACf,QAAQ;IACRS,OAAO,EAAGA,CAAA,KAAM;MACfK,gBAAgB,CACf,UAAU,EACVF,QAAQ,EACRC,MAAM,EACN;QAAEG,QAAQ,EAAE;MAAG,CAAC,EAChB;QAAEC,UAAU,EAAE;MAAK,CACpB,CAAC;MACDR,OAAO,CAAC,CAAC;IACV;EAAG,GAEDR,EAAE,CAAE,sBAAuB,CACpB,CAAC;AAEb","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useMemo, useState, useCallback } from '@wordpress/element';
5
+ import { useMemo, useState } from '@wordpress/element';
6
6
  import { decodeEntities } from '@wordpress/html-entities';
7
7
  import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
8
8
  import { MenuItem, Modal } from '@wordpress/components';
@@ -20,9 +20,6 @@ export default function SwapTemplateButton({
20
20
  onClick
21
21
  }) {
22
22
  const [showModal, setShowModal] = useState(false);
23
- const onClose = useCallback(() => {
24
- setShowModal(false);
25
- }, []);
26
23
  const {
27
24
  postType,
28
25
  postId
@@ -40,14 +37,14 @@ export default function SwapTemplateButton({
40
37
  }, {
41
38
  undoIgnore: true
42
39
  });
43
- onClose(); // Close the template suggestions modal first.
40
+ setShowModal(false); // Close the template suggestions modal first.
44
41
  onClick();
45
42
  };
46
43
  return createElement(Fragment, null, createElement(MenuItem, {
47
44
  onClick: () => setShowModal(true)
48
45
  }, __('Swap template')), showModal && createElement(Modal, {
49
46
  title: __('Choose a template'),
50
- onRequestClose: onClose,
47
+ onRequestClose: () => setShowModal(false),
51
48
  overlayClassName: "editor-post-template__swap-template-modal",
52
49
  isFullScreen: true
53
50
  }, createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useState","useCallback","decodeEntities","__experimentalBlockPatternsList","BlockPatternsList","MenuItem","Modal","__","useDispatch","store","coreStore","parse","useAsyncList","useAvailableTemplates","useEditedPostContext","SwapTemplateButton","onClick","showModal","setShowModal","onClose","postType","postId","availableTemplates","editEntityRecord","length","onTemplateSelect","template","name","undoIgnore","createElement","Fragment","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","templatesAsPatterns","map","slug","blocks","content","raw","rendered","id","shownTemplates","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/editor/src/components/post-template/swap-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState, useCallback } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useAvailableTemplates, useEditedPostContext } from './hooks';\n\nexport default function SwapTemplateButton( { onClick } ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst onClose = useCallback( () => {\n\t\tsetShowModal( false );\n\t}, [] );\n\tconst { postType, postId } = useEditedPostContext();\n\tconst availableTemplates = useAvailableTemplates( postType );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tif ( ! availableTemplates?.length ) {\n\t\treturn null;\n\t}\n\tconst onTemplateSelect = async ( template ) => {\n\t\teditEntityRecord(\n\t\t\t'postType',\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t\t{ template: template.name },\n\t\t\t{ undoIgnore: true }\n\t\t);\n\t\tonClose(); // Close the template suggestions modal first.\n\t\tonClick();\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setShowModal( true ) }>\n\t\t\t\t{ __( 'Swap template' ) }\n\t\t\t</MenuItem>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\toverlayClassName=\"editor-post-template__swap-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-post-template__swap-template-modal-content\">\n\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { postType, onSelect } ) {\n\tconst availableTemplates = useAvailableTemplates( postType );\n\tconst templatesAsPatterns = useMemo(\n\t\t() =>\n\t\t\tavailableTemplates.map( ( template ) => ( {\n\t\t\t\tname: template.slug,\n\t\t\t\tblocks: parse( template.content.raw ),\n\t\t\t\ttitle: decodeEntities( template.title.rendered ),\n\t\t\t\tid: template.id,\n\t\t\t} ) ),\n\t\t[ availableTemplates ]\n\t);\n\tconst shownTemplates = useAsyncList( templatesAsPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ templatesAsPatterns }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,oBAAoB;AACnE,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,+BAA+B,IAAIC,iBAAiB,QAAQ,yBAAyB;AAC9F,SAASC,QAAQ,EAAEC,KAAK,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,KAAK,QAAQ,mBAAmB;AACzC,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA,SAASC,qBAAqB,EAAEC,oBAAoB,QAAQ,SAAS;AAErE,eAAe,SAASC,kBAAkBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACzD,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAGlB,QAAQ,CAAE,KAAM,CAAC;EACrD,MAAMmB,OAAO,GAAGlB,WAAW,CAAE,MAAM;IAClCiB,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE,QAAQ;IAAEC;EAAO,CAAC,GAAGP,oBAAoB,CAAC,CAAC;EACnD,MAAMQ,kBAAkB,GAAGT,qBAAqB,CAAEO,QAAS,CAAC;EAC5D,MAAM;IAAEG;EAAiB,CAAC,GAAGf,WAAW,CAAEE,SAAU,CAAC;EACrD,IAAK,CAAEY,kBAAkB,EAAEE,MAAM,EAAG;IACnC,OAAO,IAAI;EACZ;EACA,MAAMC,gBAAgB,GAAG,MAAQC,QAAQ,IAAM;IAC9CH,gBAAgB,CACf,UAAU,EACVH,QAAQ,EACRC,MAAM,EACN;MAAEK,QAAQ,EAAEA,QAAQ,CAACC;IAAK,CAAC,EAC3B;MAAEC,UAAU,EAAE;IAAK,CACpB,CAAC;IACDT,OAAO,CAAC,CAAC,CAAC,CAAC;IACXH,OAAO,CAAC,CAAC;EACV,CAAC;EACD,OACCa,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACxB,QAAQ;IAACW,OAAO,EAAGA,CAAA,KAAME,YAAY,CAAE,IAAK;EAAG,GAC7CX,EAAE,CAAE,eAAgB,CACb,CAAC,EACTU,SAAS,IACVY,aAAA,CAACvB,KAAK;IACLyB,KAAK,EAAGxB,EAAE,CAAE,mBAAoB,CAAG;IACnCyB,cAAc,EAAGb,OAAS;IAC1Bc,gBAAgB,EAAC,2CAA2C;IAC5DC,YAAY;EAAA,GAEZL,aAAA;IAAKM,SAAS,EAAC;EAAmD,GACjEN,aAAA,CAACO,aAAa;IACbhB,QAAQ,EAAGA,QAAU;IACrBiB,QAAQ,EAAGZ;EAAkB,CAC7B,CACG,CACC,CAEP,CAAC;AAEL;AAEA,SAASW,aAAaA,CAAE;EAAEhB,QAAQ;EAAEiB;AAAS,CAAC,EAAG;EAChD,MAAMf,kBAAkB,GAAGT,qBAAqB,CAAEO,QAAS,CAAC;EAC5D,MAAMkB,mBAAmB,GAAGvC,OAAO,CAClC,MACCuB,kBAAkB,CAACiB,GAAG,CAAIb,QAAQ,KAAQ;IACzCC,IAAI,EAAED,QAAQ,CAACc,IAAI;IACnBC,MAAM,EAAE9B,KAAK,CAAEe,QAAQ,CAACgB,OAAO,CAACC,GAAI,CAAC;IACrCZ,KAAK,EAAE7B,cAAc,CAAEwB,QAAQ,CAACK,KAAK,CAACa,QAAS,CAAC;IAChDC,EAAE,EAAEnB,QAAQ,CAACmB;EACd,CAAC,CAAG,CAAC,EACN,CAAEvB,kBAAkB,CACrB,CAAC;EACD,MAAMwB,cAAc,GAAGlC,YAAY,CAAE0B,mBAAoB,CAAC;EAC1D,OACCT,aAAA,CAACzB,iBAAiB;IACjB2C,KAAK,EAAGxC,EAAE,CAAE,WAAY,CAAG;IAC3ByC,aAAa,EAAGV,mBAAqB;IACrCW,aAAa,EAAGH,cAAgB;IAChCI,cAAc,EAAGb;EAAU,CAC3B,CAAC;AAEJ"}
1
+ {"version":3,"names":["useMemo","useState","decodeEntities","__experimentalBlockPatternsList","BlockPatternsList","MenuItem","Modal","__","useDispatch","store","coreStore","parse","useAsyncList","useAvailableTemplates","useEditedPostContext","SwapTemplateButton","onClick","showModal","setShowModal","postType","postId","availableTemplates","editEntityRecord","length","onTemplateSelect","template","name","undoIgnore","createElement","Fragment","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","templatesAsPatterns","map","slug","blocks","content","raw","rendered","id","shownTemplates","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/editor/src/components/post-template/swap-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useAvailableTemplates, useEditedPostContext } from './hooks';\n\nexport default function SwapTemplateButton( { onClick } ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst { postType, postId } = useEditedPostContext();\n\tconst availableTemplates = useAvailableTemplates( postType );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tif ( ! availableTemplates?.length ) {\n\t\treturn null;\n\t}\n\tconst onTemplateSelect = async ( template ) => {\n\t\teditEntityRecord(\n\t\t\t'postType',\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t\t{ template: template.name },\n\t\t\t{ undoIgnore: true }\n\t\t);\n\t\tsetShowModal( false ); // Close the template suggestions modal first.\n\t\tonClick();\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setShowModal( true ) }>\n\t\t\t\t{ __( 'Swap template' ) }\n\t\t\t</MenuItem>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ () => setShowModal( false ) }\n\t\t\t\t\toverlayClassName=\"editor-post-template__swap-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"editor-post-template__swap-template-modal-content\">\n\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { postType, onSelect } ) {\n\tconst availableTemplates = useAvailableTemplates( postType );\n\tconst templatesAsPatterns = useMemo(\n\t\t() =>\n\t\t\tavailableTemplates.map( ( template ) => ( {\n\t\t\t\tname: template.slug,\n\t\t\t\tblocks: parse( template.content.raw ),\n\t\t\t\ttitle: decodeEntities( template.title.rendered ),\n\t\t\t\tid: template.id,\n\t\t\t} ) ),\n\t\t[ availableTemplates ]\n\t);\n\tconst shownTemplates = useAsyncList( templatesAsPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ templatesAsPatterns }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Textarea","__","store","coreStore","useMemo","__unstableSerializeAndClean","useDispatch","useSelect","useInstanceId","VisuallyHidden","editorStore","PostTextEditor","instanceId","content","blocks","type","id","select","getEditedEntityRecord","getCurrentPostType","getCurrentPostId","_type","_id","editedRecord","editEntityRecord","value","Function","createElement","Fragment","as","htmlFor","autoComplete","dir","onChange","event","target","undefined","selection","className","placeholder"],"sources":["@wordpress/editor/src/components/post-text-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostTextEditor() {\n\tconst instanceId = useInstanceId( PostTextEditor );\n\tconst { content, blocks, type, id } = useSelect( ( select ) => {\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst _type = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst editedRecord = getEditedEntityRecord( 'postType', _type, _id );\n\n\t\treturn {\n\t\t\tcontent: editedRecord?.content,\n\t\t\tblocks: editedRecord?.blocks,\n\t\t\ttype: _type,\n\t\t\tid: _id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// Replicates the logic found in getEditedPostContent().\n\tconst value = useMemo( () => {\n\t\tif ( content instanceof Function ) {\n\t\t\treturn content( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\treturn __unstableSerializeAndClean( blocks );\n\t\t}\n\t\treturn content;\n\t}, [ content, blocks ] );\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `post-content-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\teditEntityRecord( 'postType', type, id, {\n\t\t\t\t\t\tcontent: event.target.value,\n\t\t\t\t\t\tblocks: undefined,\n\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tclassName=\"editor-post-text-editor\"\n\t\t\t\tid={ `post-content-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,yBAAyB;;AAE9C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,SAASP,KAAK,IAAIQ,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,cAAcA,CAAA,EAAG;EACxC,MAAMC,UAAU,GAAGJ,aAAa,CAAEG,cAAe,CAAC;EAClD,MAAM;IAAEE,OAAO;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAC9D,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEd,SAAU,CAAC;IACrD,MAAM;MAAEgB,kBAAkB;MAAEC;IAAiB,CAAC,GAAGH,MAAM,CAAEP,WAAY,CAAC;IACtE,MAAMW,KAAK,GAAGF,kBAAkB,CAAC,CAAC;IAClC,MAAMG,GAAG,GAAGF,gBAAgB,CAAC,CAAC;IAC9B,MAAMG,YAAY,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,KAAK,EAAEC,GAAI,CAAC;IAEpE,OAAO;MACNT,OAAO,EAAEU,YAAY,EAAEV,OAAO;MAC9BC,MAAM,EAAES,YAAY,EAAET,MAAM;MAC5BC,IAAI,EAAEM,KAAK;MACXL,EAAE,EAAEM;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAiB,CAAC,GAAGlB,WAAW,CAAEH,SAAU,CAAC;EACrD;EACA,MAAMsB,KAAK,GAAGrB,OAAO,CAAE,MAAM;IAC5B,IAAKS,OAAO,YAAYa,QAAQ,EAAG;MAClC,OAAOb,OAAO,CAAE;QAAEC;MAAO,CAAE,CAAC;IAC7B,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACA,OAAOT,2BAA2B,CAAES,MAAO,CAAC;IAC7C;IACA,OAAOD,OAAO;EACf,CAAC,EAAE,CAAEA,OAAO,EAAEC,MAAM,CAAG,CAAC;EAExB,OACCa,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAClB,cAAc;IACdoB,EAAE,EAAC,OAAO;IACVC,OAAO,EAAI,gBAAgBlB,UAAY;EAAG,GAExCX,EAAE,CAAE,mBAAoB,CACX,CAAC,EACjB0B,aAAA,CAAC3B,QAAQ;IACR+B,YAAY,EAAC,KAAK;IAClBC,GAAG,EAAC,MAAM;IACVP,KAAK,EAAGA,KAAO;IACfQ,QAAQ,EAAKC,KAAK,IAAM;MACvBV,gBAAgB,CAAE,UAAU,EAAET,IAAI,EAAEC,EAAE,EAAE;QACvCH,OAAO,EAAEqB,KAAK,CAACC,MAAM,CAACV,KAAK;QAC3BX,MAAM,EAAEsB,SAAS;QACjBC,SAAS,EAAED;MACZ,CAAE,CAAC;IACJ,CAAG;IACHE,SAAS,EAAC,yBAAyB;IACnCtB,EAAE,EAAI,gBAAgBJ,UAAY,EAAG;IACrC2B,WAAW,EAAGtC,EAAE,CAAE,iCAAkC;EAAG,CACvD,CACA,CAAC;AAEL"}
1
+ {"version":3,"names":["Textarea","__","store","coreStore","useMemo","__unstableSerializeAndClean","useDispatch","useSelect","useInstanceId","VisuallyHidden","editorStore","PostTextEditor","instanceId","content","blocks","type","id","select","getEditedEntityRecord","getCurrentPostType","getCurrentPostId","_type","_id","editedRecord","editEntityRecord","value","Function","createElement","Fragment","as","htmlFor","autoComplete","dir","onChange","event","target","undefined","selection","className","placeholder"],"sources":["@wordpress/editor/src/components/post-text-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostTextEditor() {\n\tconst instanceId = useInstanceId( PostTextEditor );\n\tconst { content, blocks, type, id } = useSelect( ( select ) => {\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst _type = getCurrentPostType();\n\t\tconst _id = getCurrentPostId();\n\t\tconst editedRecord = getEditedEntityRecord( 'postType', _type, _id );\n\n\t\treturn {\n\t\t\tcontent: editedRecord?.content,\n\t\t\tblocks: editedRecord?.blocks,\n\t\t\ttype: _type,\n\t\t\tid: _id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// Replicates the logic found in getEditedPostContent().\n\tconst value = useMemo( () => {\n\t\tif ( content instanceof Function ) {\n\t\t\treturn content( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\treturn __unstableSerializeAndClean( blocks );\n\t\t}\n\t\treturn content;\n\t}, [ content, blocks ] );\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `post-content-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\teditEntityRecord( 'postType', type, id, {\n\t\t\t\t\t\tcontent: event.target.value,\n\t\t\t\t\t\tblocks: undefined,\n\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tclassName=\"editor-post-text-editor\"\n\t\t\t\tid={ `post-content-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,yBAAyB;;AAE9C;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,SAASP,KAAK,IAAIQ,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,cAAcA,CAAA,EAAG;EACxC,MAAMC,UAAU,GAAGJ,aAAa,CAAEG,cAAe,CAAC;EAClD,MAAM;IAAEE,OAAO;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAC9D,MAAM;MAAEC;IAAsB,CAAC,GAAGD,MAAM,CAAEd,SAAU,CAAC;IACrD,MAAM;MAAEgB,kBAAkB;MAAEC;IAAiB,CAAC,GAAGH,MAAM,CAAEP,WAAY,CAAC;IACtE,MAAMW,KAAK,GAAGF,kBAAkB,CAAC,CAAC;IAClC,MAAMG,GAAG,GAAGF,gBAAgB,CAAC,CAAC;IAC9B,MAAMG,YAAY,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,KAAK,EAAEC,GAAI,CAAC;IAEpE,OAAO;MACNT,OAAO,EAAEU,YAAY,EAAEV,OAAO;MAC9BC,MAAM,EAAES,YAAY,EAAET,MAAM;MAC5BC,IAAI,EAAEM,KAAK;MACXL,EAAE,EAAEM;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE;EAAiB,CAAC,GAAGlB,WAAW,CAAEH,SAAU,CAAC;EACrD;EACA,MAAMsB,KAAK,GAAGrB,OAAO,CAAE,MAAM;IAC5B,IAAKS,OAAO,YAAYa,QAAQ,EAAG;MAClC,OAAOb,OAAO,CAAE;QAAEC;MAAO,CAAE,CAAC;IAC7B,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACA,OAAOT,2BAA2B,CAAES,MAAO,CAAC;IAC7C;IACA,OAAOD,OAAO;EACf,CAAC,EAAE,CAAEA,OAAO,EAAEC,MAAM,CAAG,CAAC;EAExB,OACCa,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAClB,cAAc;IACdoB,EAAE,EAAC,OAAO;IACVC,OAAO,EAAI,gBAAgBlB,UAAY;EAAG,GAExCX,EAAE,CAAE,mBAAoB,CACX,CAAC,EACjB0B,aAAA,CAAC3B,QAAQ;IACR+B,YAAY,EAAC,KAAK;IAClBC,GAAG,EAAC,MAAM;IACVP,KAAK,EAAGA,KAAO;IACfQ,QAAQ,EAAKC,KAAK,IAAM;MACvBV,gBAAgB,CAAE,UAAU,EAAET,IAAI,EAAEC,EAAE,EAAE;QACvCH,OAAO,EAAEqB,KAAK,CAACC,MAAM,CAACV,KAAK;QAC3BX,MAAM,EAAEsB,SAAS;QACjBC,SAAS,EAAED;MACZ,CAAE,CAAC;IACJ,CAAG;IACHE,SAAS,EAAC,yBAAyB;IACnCtB,EAAE,EAAI,gBAAgBJ,UAAY,EAAG;IACrC2B,WAAW,EAAGtC,EAAE,CAAE,iCAAkC;EAAG,CACvD,CACA,CAAC;AAEL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASSNAMES","REGEXP_NEWLINES"],"sources":["@wordpress/editor/src/components/post-title/constants.js"],"sourcesContent":["export const DEFAULT_CLASSNAMES =\n\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';\n\nexport const REGEXP_NEWLINES = /[\\r\\n]+/g;\n"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,GAC9B,kHAAkH;AAEnH,OAAO,MAAMC,eAAe,GAAG,UAAU"}
1
+ {"version":3,"names":["DEFAULT_CLASSNAMES","REGEXP_NEWLINES"],"sources":["@wordpress/editor/src/components/post-title/constants.js"],"sourcesContent":["export const DEFAULT_CLASSNAMES =\n\t'wp-block wp-block-post-title block-editor-block-list__block editor-post-title editor-post-title__input rich-text';\n\nexport const REGEXP_NEWLINES = /[\\r\\n]+/g;\n"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,GAC9B,kHAAkH;AAEnH,OAAO,MAAMC,eAAe,GAAG,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","forwardRef","useState","decodeEntities","useSelect","useDispatch","store","blockEditorStore","ENTER","pasteHandler","__unstableUseRichText","useRichText","create","toHTMLString","insert","useMergeRefs","__unstableStripHTML","stripHTML","DEFAULT_CLASSNAMES","REGEXP_NEWLINES","usePostTitleFocus","usePostTitle","PostTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","select","getSettings","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","ref","focusRef","title","setTitle","onUpdate","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","onChange","value","replace","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","contentNoHTML","attributes","slice","newValue","start","end","decodedPlaceholder","richTextRef","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","createElement","supportKeys","contentEditable","role","onFocus","onBlur","onKeyPress"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\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, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\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\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\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 = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\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\nexport default forwardRef( PostTitle );\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","forwardRef","useState","decodeEntities","useSelect","useDispatch","store","blockEditorStore","ENTER","pasteHandler","__unstableUseRichText","useRichText","create","toHTMLString","insert","useMergeRefs","__unstableStripHTML","stripHTML","DEFAULT_CLASSNAMES","REGEXP_NEWLINES","usePostTitleFocus","usePostTitle","PostTypeSupportCheck","PostTitle","_","forwardedRef","placeholder","hasFixedToolbar","select","getSettings","titlePlaceholder","_hasFixedToolbar","isSelected","setIsSelected","ref","focusRef","title","setTitle","onUpdate","selection","setSelection","clearSelectedBlock","insertBlocks","insertDefaultBlock","onChange","value","replace","onInsertBlockAfter","blocks","onSelect","onUnselect","onEnterPress","undefined","onKeyDown","event","keyCode","preventDefault","onPaste","clipboardData","plainText","html","getData","error1","error2","window","console","log","content","HTML","length","firstBlock","name","contentNoHTML","attributes","slice","newValue","start","end","decodedPlaceholder","richTextRef","selectionStart","selectionEnd","onSelectionChange","newStart","newEnd","sel","__unstableDisableFormats","className","createElement","supportKeys","contentEditable","role","onFocus","onBlur","onKeyPress"],"sources":["@wordpress/editor/src/components/post-title/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\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, hasFixedToolbar } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { titlePlaceholder, hasFixedToolbar: _hasFixedToolbar } =\n\t\t\tgetSettings();\n\n\t\treturn {\n\t\t\tplaceholder: titlePlaceholder,\n\t\t\thasFixedToolbar: _hasFixedToolbar,\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\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\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 = classnames( DEFAULT_CLASSNAMES, {\n\t\t'is-selected': isSelected,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\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\nexport default forwardRef( PostTitle );\n"],"mappings":"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","ignoreList":[]}