@wordpress/editor 13.33.0 → 13.35.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 (494) hide show
  1. package/CHANGELOG.md +12 -4
  2. package/README.md +132 -20
  3. package/build/bindings/pattern-overrides.js +70 -1
  4. package/build/bindings/pattern-overrides.js.map +1 -1
  5. package/build/components/autosave-monitor/index.js +15 -12
  6. package/build/components/autosave-monitor/index.js.map +1 -1
  7. package/build/components/block-settings-menu/content-only-settings-menu.js +126 -0
  8. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  9. package/build/components/block-settings-menu/content-only-settings-menu.native.js +11 -0
  10. package/build/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  11. package/build/components/character-count/index.js +5 -0
  12. package/build/components/character-count/index.js.map +1 -1
  13. package/build/components/collapsible-block-toolbar/index.js +73 -0
  14. package/build/components/collapsible-block-toolbar/index.js.map +1 -0
  15. package/build/components/document-bar/index.js +2 -2
  16. package/build/components/document-bar/index.js.map +1 -1
  17. package/build/components/document-outline/check.js +8 -0
  18. package/build/components/document-outline/check.js.map +1 -1
  19. package/build/components/document-outline/index.js +11 -0
  20. package/build/components/document-outline/index.js.map +1 -1
  21. package/build/components/document-outline/item.js +2 -2
  22. package/build/components/document-outline/item.js.map +1 -1
  23. package/build/components/document-tools/index.js +15 -25
  24. package/build/components/document-tools/index.js.map +1 -1
  25. package/build/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  26. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  27. package/build/components/editor-canvas/index.js +19 -8
  28. package/build/components/editor-canvas/index.js.map +1 -1
  29. package/build/components/editor-history/redo.js +11 -0
  30. package/build/components/editor-history/redo.js.map +1 -1
  31. package/build/components/editor-history/undo.js +11 -0
  32. package/build/components/editor-history/undo.js.map +1 -1
  33. package/build/components/editor-snackbars/index.js +6 -0
  34. package/build/components/editor-snackbars/index.js.map +1 -1
  35. package/build/components/global-keyboard-shortcuts/index.js +7 -0
  36. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  37. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +35 -1
  38. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  39. package/build/components/global-styles-provider/index.js +130 -0
  40. package/build/components/global-styles-provider/index.js.map +1 -0
  41. package/build/components/header/index.js +147 -0
  42. package/build/components/header/index.js.map +1 -0
  43. package/build/components/inserter-sidebar/index.js +56 -34
  44. package/build/components/inserter-sidebar/index.js.map +1 -1
  45. package/build/components/keyboard-shortcut-help-modal/config.js +4 -0
  46. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  47. package/build/components/keyboard-shortcut-help-modal/index.js +2 -2
  48. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  49. package/build/components/list-view-sidebar/index.js +1 -1
  50. package/build/components/list-view-sidebar/index.js.map +1 -1
  51. package/build/components/more-menu/copy-content-menu-item.js +59 -0
  52. package/build/components/more-menu/copy-content-menu-item.js.map +1 -0
  53. package/build/components/more-menu/index.js +119 -0
  54. package/build/components/more-menu/index.js.map +1 -0
  55. package/build/components/more-menu/tools-more-menu-group.js +23 -0
  56. package/build/components/more-menu/tools-more-menu-group.js.map +1 -0
  57. package/build/components/more-menu/view-more-menu-group.js +24 -0
  58. package/build/components/more-menu/view-more-menu-group.js.map +1 -0
  59. package/build/components/page-attributes/check.js +8 -0
  60. package/build/components/page-attributes/check.js.map +1 -1
  61. package/build/components/page-attributes/order.js +7 -0
  62. package/build/components/page-attributes/order.js.map +1 -1
  63. package/build/components/page-attributes/panel.js +14 -8
  64. package/build/components/page-attributes/panel.js.map +1 -1
  65. package/build/components/page-attributes/parent.js +7 -0
  66. package/build/components/page-attributes/parent.js.map +1 -1
  67. package/build/components/plugin-post-publish-panel/index.js +1 -1
  68. package/build/components/plugin-post-publish-panel/index.js.map +1 -1
  69. package/build/components/plugin-pre-publish-panel/index.js +1 -1
  70. package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
  71. package/build/components/plugin-sidebar/index.js +1 -1
  72. package/build/components/plugin-sidebar/index.js.map +1 -1
  73. package/build/components/post-actions/actions.js +219 -66
  74. package/build/components/post-actions/actions.js.map +1 -1
  75. package/build/components/post-actions/index.js +32 -16
  76. package/build/components/post-actions/index.js.map +1 -1
  77. package/build/components/post-author/check.js +9 -0
  78. package/build/components/post-author/check.js.map +1 -1
  79. package/build/components/post-author/index.js +6 -0
  80. package/build/components/post-author/index.js.map +1 -1
  81. package/build/components/post-author/panel.js +5 -0
  82. package/build/components/post-author/panel.js.map +1 -1
  83. package/build/components/post-card-panel/index.js +7 -66
  84. package/build/components/post-card-panel/index.js.map +1 -1
  85. package/build/components/post-comments/index.js +28 -8
  86. package/build/components/post-comments/index.js.map +1 -1
  87. package/build/components/post-content-information/index.js +72 -0
  88. package/build/components/post-content-information/index.js.map +1 -0
  89. package/build/components/post-discussion/panel.js +104 -20
  90. package/build/components/post-discussion/panel.js.map +1 -1
  91. package/build/components/post-excerpt/check.js +0 -19
  92. package/build/components/post-excerpt/check.js.map +1 -1
  93. package/build/components/post-excerpt/index.js +52 -12
  94. package/build/components/post-excerpt/index.js.map +1 -1
  95. package/build/components/post-excerpt/panel.js +118 -7
  96. package/build/components/post-excerpt/panel.js.map +1 -1
  97. package/build/components/post-excerpt/plugin.js +2 -2
  98. package/build/components/post-excerpt/plugin.js.map +1 -1
  99. package/build/components/post-featured-image/index.js +1 -1
  100. package/build/components/post-featured-image/index.js.map +1 -1
  101. package/build/components/post-format/panel.js +27 -0
  102. package/build/components/post-format/panel.js.map +1 -0
  103. package/build/components/post-last-edited-panel/index.js +33 -0
  104. package/build/components/post-last-edited-panel/index.js.map +1 -0
  105. package/build/components/post-panel-row/index.js +2 -2
  106. package/build/components/post-panel-row/index.js.map +1 -1
  107. package/build/components/post-panel-section/index.js +28 -0
  108. package/build/components/post-panel-section/index.js.map +1 -0
  109. package/build/components/post-pingbacks/index.js +5 -2
  110. package/build/components/post-pingbacks/index.js.map +1 -1
  111. package/build/components/post-publish-button/post-publish-button-or-toggle.js +100 -0
  112. package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  113. package/build/components/post-saved-state/index.js +2 -2
  114. package/build/components/post-saved-state/index.js.map +1 -1
  115. package/build/components/post-schedule/panel.js +1 -1
  116. package/build/components/post-schedule/panel.js.map +1 -1
  117. package/build/components/post-slug/panel.js +27 -0
  118. package/build/components/post-slug/panel.js.map +1 -0
  119. package/build/components/post-status/index.js +13 -13
  120. package/build/components/post-status/index.js.map +1 -1
  121. package/build/components/post-sticky/panel.js +21 -0
  122. package/build/components/post-sticky/panel.js.map +1 -0
  123. package/build/components/post-template/block-theme.js +2 -2
  124. package/build/components/post-template/block-theme.js.map +1 -1
  125. package/build/components/post-template/classic-theme.js +0 -1
  126. package/build/components/post-template/classic-theme.js.map +1 -1
  127. package/build/components/post-template/swap-template-button.js +2 -5
  128. package/build/components/post-template/swap-template-button.js.map +1 -1
  129. package/build/components/post-title/index.js +2 -2
  130. package/build/components/post-title/index.js.map +1 -1
  131. package/build/components/post-title/post-title-raw.js +2 -2
  132. package/build/components/post-title/post-title-raw.js.map +1 -1
  133. package/build/components/post-transform-panel/hooks.js +90 -0
  134. package/build/components/post-transform-panel/hooks.js.map +1 -0
  135. package/build/components/post-transform-panel/index.js +101 -0
  136. package/build/components/post-transform-panel/index.js.map +1 -0
  137. package/build/components/post-trash/panel.js +18 -0
  138. package/build/components/post-trash/panel.js.map +1 -0
  139. package/build/components/post-type-support-check/index.js +1 -1
  140. package/build/components/post-type-support-check/index.js.map +1 -1
  141. package/build/components/post-url/index.js +2 -1
  142. package/build/components/post-url/index.js.map +1 -1
  143. package/build/components/post-url/panel.js +1 -1
  144. package/build/components/post-url/panel.js.map +1 -1
  145. package/build/components/preferences-modal/enable-publish-sidebar.js +34 -0
  146. package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  147. package/build/components/preferences-modal/index.js +11 -5
  148. package/build/components/preferences-modal/index.js.map +1 -1
  149. package/build/components/preview-dropdown/index.js +3 -1
  150. package/build/components/preview-dropdown/index.js.map +1 -1
  151. package/build/components/provider/disable-non-page-content-blocks.js +23 -16
  152. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  153. package/build/components/provider/index.js +3 -1
  154. package/build/components/provider/index.js.map +1 -1
  155. package/build/components/provider/use-block-editor-settings.js +21 -3
  156. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  157. package/build/components/save-publish-panels/index.js +89 -0
  158. package/build/components/save-publish-panels/index.js.map +1 -0
  159. package/build/components/sidebar/constants.js +11 -0
  160. package/build/components/sidebar/constants.js.map +1 -0
  161. package/build/components/sidebar/header.js +53 -0
  162. package/build/components/sidebar/header.js.map +1 -0
  163. package/build/components/sidebar/index.js +157 -0
  164. package/build/components/sidebar/index.js.map +1 -0
  165. package/build/components/sidebar/post-summary.js +84 -0
  166. package/build/components/sidebar/post-summary.js.map +1 -0
  167. package/build/components/start-page-options/index.js +10 -8
  168. package/build/components/start-page-options/index.js.map +1 -1
  169. package/build/components/start-template-options/index.js +192 -0
  170. package/build/components/start-template-options/index.js.map +1 -0
  171. package/build/components/template-content-panel/index.js +38 -0
  172. package/build/components/template-content-panel/index.js.map +1 -0
  173. package/build/hooks/pattern-overrides.js +10 -5
  174. package/build/hooks/pattern-overrides.js.map +1 -1
  175. package/build/private-apis.js +19 -8
  176. package/build/private-apis.js.map +1 -1
  177. package/build/private-apis.native.js +72 -0
  178. package/build/private-apis.native.js.map +1 -0
  179. package/build/store/private-selectors.js +6 -1
  180. package/build/store/private-selectors.js.map +1 -1
  181. package/build/store/reducer.js +15 -0
  182. package/build/store/reducer.js.map +1 -1
  183. package/build/store/selectors.js +3 -1
  184. package/build/store/selectors.js.map +1 -1
  185. package/build-module/bindings/pattern-overrides.js +69 -1
  186. package/build-module/bindings/pattern-overrides.js.map +1 -1
  187. package/build-module/components/autosave-monitor/index.js +15 -13
  188. package/build-module/components/autosave-monitor/index.js.map +1 -1
  189. package/build-module/components/block-settings-menu/content-only-settings-menu.js +119 -0
  190. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  191. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js +5 -0
  192. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  193. package/build-module/components/character-count/index.js +6 -0
  194. package/build-module/components/character-count/index.js.map +1 -1
  195. package/build-module/components/collapsible-block-toolbar/index.js +65 -0
  196. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -0
  197. package/build-module/components/document-bar/index.js +2 -2
  198. package/build-module/components/document-bar/index.js.map +1 -1
  199. package/build-module/components/document-outline/check.js +9 -0
  200. package/build-module/components/document-outline/check.js.map +1 -1
  201. package/build-module/components/document-outline/index.js +11 -0
  202. package/build-module/components/document-outline/index.js.map +1 -1
  203. package/build-module/components/document-outline/item.js +2 -2
  204. package/build-module/components/document-outline/item.js.map +1 -1
  205. package/build-module/components/document-tools/index.js +17 -27
  206. package/build-module/components/document-tools/index.js.map +1 -1
  207. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  208. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  209. package/build-module/components/editor-canvas/index.js +19 -8
  210. package/build-module/components/editor-canvas/index.js.map +1 -1
  211. package/build-module/components/editor-history/redo.js +11 -0
  212. package/build-module/components/editor-history/redo.js.map +1 -1
  213. package/build-module/components/editor-history/undo.js +11 -0
  214. package/build-module/components/editor-history/undo.js.map +1 -1
  215. package/build-module/components/editor-snackbars/index.js +6 -0
  216. package/build-module/components/editor-snackbars/index.js.map +1 -1
  217. package/build-module/components/global-keyboard-shortcuts/index.js +8 -0
  218. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  219. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +36 -1
  220. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  221. package/build-module/components/global-styles-provider/index.js +120 -0
  222. package/build-module/components/global-styles-provider/index.js.map +1 -0
  223. package/build-module/components/header/index.js +139 -0
  224. package/build-module/components/header/index.js.map +1 -0
  225. package/build-module/components/inserter-sidebar/index.js +59 -37
  226. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  227. package/build-module/components/keyboard-shortcut-help-modal/config.js +4 -0
  228. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  229. package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -2
  230. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  231. package/build-module/components/list-view-sidebar/index.js +1 -1
  232. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  233. package/build-module/components/more-menu/copy-content-menu-item.js +52 -0
  234. package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -0
  235. package/build-module/components/more-menu/index.js +111 -0
  236. package/build-module/components/more-menu/index.js.map +1 -0
  237. package/build-module/components/more-menu/tools-more-menu-group.js +16 -0
  238. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -0
  239. package/build-module/components/more-menu/view-more-menu-group.js +17 -0
  240. package/build-module/components/more-menu/view-more-menu-group.js.map +1 -0
  241. package/build-module/components/page-attributes/check.js +9 -0
  242. package/build-module/components/page-attributes/check.js.map +1 -1
  243. package/build-module/components/page-attributes/order.js +7 -0
  244. package/build-module/components/page-attributes/order.js.map +1 -1
  245. package/build-module/components/page-attributes/panel.js +13 -6
  246. package/build-module/components/page-attributes/panel.js.map +1 -1
  247. package/build-module/components/page-attributes/parent.js +7 -0
  248. package/build-module/components/page-attributes/parent.js.map +1 -1
  249. package/build-module/components/plugin-post-publish-panel/index.js +1 -1
  250. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
  251. package/build-module/components/plugin-pre-publish-panel/index.js +1 -1
  252. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
  253. package/build-module/components/plugin-sidebar/index.js +1 -1
  254. package/build-module/components/plugin-sidebar/index.js.map +1 -1
  255. package/build-module/components/post-actions/actions.js +223 -70
  256. package/build-module/components/post-actions/actions.js.map +1 -1
  257. package/build-module/components/post-actions/index.js +33 -17
  258. package/build-module/components/post-actions/index.js.map +1 -1
  259. package/build-module/components/post-author/check.js +10 -0
  260. package/build-module/components/post-author/check.js.map +1 -1
  261. package/build-module/components/post-author/index.js +6 -0
  262. package/build-module/components/post-author/index.js.map +1 -1
  263. package/build-module/components/post-author/panel.js +6 -0
  264. package/build-module/components/post-author/panel.js.map +1 -1
  265. package/build-module/components/post-card-panel/index.js +9 -67
  266. package/build-module/components/post-card-panel/index.js.map +1 -1
  267. package/build-module/components/post-comments/index.js +30 -10
  268. package/build-module/components/post-comments/index.js.map +1 -1
  269. package/build-module/components/post-content-information/index.js +66 -0
  270. package/build-module/components/post-content-information/index.js.map +1 -0
  271. package/build-module/components/post-discussion/panel.js +105 -21
  272. package/build-module/components/post-discussion/panel.js.map +1 -1
  273. package/build-module/components/post-excerpt/check.js +0 -19
  274. package/build-module/components/post-excerpt/check.js.map +1 -1
  275. package/build-module/components/post-excerpt/index.js +52 -11
  276. package/build-module/components/post-excerpt/index.js.map +1 -1
  277. package/build-module/components/post-excerpt/panel.js +118 -8
  278. package/build-module/components/post-excerpt/panel.js.map +1 -1
  279. package/build-module/components/post-excerpt/plugin.js +2 -2
  280. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  281. package/build-module/components/post-featured-image/index.js +1 -1
  282. package/build-module/components/post-featured-image/index.js.map +1 -1
  283. package/build-module/components/post-format/panel.js +18 -0
  284. package/build-module/components/post-format/panel.js.map +1 -0
  285. package/build-module/components/post-last-edited-panel/index.js +26 -0
  286. package/build-module/components/post-last-edited-panel/index.js.map +1 -0
  287. package/build-module/components/post-panel-row/index.js +2 -2
  288. package/build-module/components/post-panel-row/index.js.map +1 -1
  289. package/build-module/components/post-panel-section/index.js +20 -0
  290. package/build-module/components/post-panel-section/index.js.map +1 -0
  291. package/build-module/components/post-pingbacks/index.js +6 -3
  292. package/build-module/components/post-pingbacks/index.js.map +1 -1
  293. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +91 -0
  294. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  295. package/build-module/components/post-saved-state/index.js +2 -2
  296. package/build-module/components/post-saved-state/index.js.map +1 -1
  297. package/build-module/components/post-schedule/panel.js +1 -1
  298. package/build-module/components/post-schedule/panel.js.map +1 -1
  299. package/build-module/components/post-slug/panel.js +18 -0
  300. package/build-module/components/post-slug/panel.js.map +1 -0
  301. package/build-module/components/post-status/index.js +13 -13
  302. package/build-module/components/post-status/index.js.map +1 -1
  303. package/build-module/components/post-sticky/panel.js +12 -0
  304. package/build-module/components/post-sticky/panel.js.map +1 -0
  305. package/build-module/components/post-template/block-theme.js +2 -2
  306. package/build-module/components/post-template/block-theme.js.map +1 -1
  307. package/build-module/components/post-template/classic-theme.js +0 -1
  308. package/build-module/components/post-template/classic-theme.js.map +1 -1
  309. package/build-module/components/post-template/swap-template-button.js +3 -6
  310. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  311. package/build-module/components/post-title/index.js +2 -2
  312. package/build-module/components/post-title/index.js.map +1 -1
  313. package/build-module/components/post-title/post-title-raw.js +2 -2
  314. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  315. package/build-module/components/post-transform-panel/hooks.js +83 -0
  316. package/build-module/components/post-transform-panel/hooks.js.map +1 -0
  317. package/build-module/components/post-transform-panel/index.js +94 -0
  318. package/build-module/components/post-transform-panel/index.js.map +1 -0
  319. package/build-module/components/post-trash/panel.js +10 -0
  320. package/build-module/components/post-trash/panel.js.map +1 -0
  321. package/build-module/components/post-type-support-check/index.js +1 -1
  322. package/build-module/components/post-type-support-check/index.js.map +1 -1
  323. package/build-module/components/post-url/index.js +2 -1
  324. package/build-module/components/post-url/index.js.map +1 -1
  325. package/build-module/components/post-url/panel.js +1 -1
  326. package/build-module/components/post-url/panel.js.map +1 -1
  327. package/build-module/components/preferences-modal/enable-publish-sidebar.js +27 -0
  328. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  329. package/build-module/components/preferences-modal/index.js +11 -5
  330. package/build-module/components/preferences-modal/index.js.map +1 -1
  331. package/build-module/components/preview-dropdown/index.js +3 -1
  332. package/build-module/components/preview-dropdown/index.js.map +1 -1
  333. package/build-module/components/provider/disable-non-page-content-blocks.js +24 -17
  334. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  335. package/build-module/components/provider/index.js +3 -1
  336. package/build-module/components/provider/index.js.map +1 -1
  337. package/build-module/components/provider/use-block-editor-settings.js +21 -3
  338. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  339. package/build-module/components/save-publish-panels/index.js +80 -0
  340. package/build-module/components/save-publish-panels/index.js.map +1 -0
  341. package/build-module/components/sidebar/constants.js +5 -0
  342. package/build-module/components/sidebar/constants.js.map +1 -0
  343. package/build-module/components/sidebar/header.js +46 -0
  344. package/build-module/components/sidebar/header.js.map +1 -0
  345. package/build-module/components/sidebar/index.js +149 -0
  346. package/build-module/components/sidebar/index.js.map +1 -0
  347. package/build-module/components/sidebar/post-summary.js +77 -0
  348. package/build-module/components/sidebar/post-summary.js.map +1 -0
  349. package/build-module/components/start-page-options/index.js +10 -8
  350. package/build-module/components/start-page-options/index.js.map +1 -1
  351. package/build-module/components/start-template-options/index.js +185 -0
  352. package/build-module/components/start-template-options/index.js.map +1 -0
  353. package/build-module/components/template-content-panel/index.js +31 -0
  354. package/build-module/components/template-content-panel/index.js.map +1 -0
  355. package/build-module/hooks/pattern-overrides.js +10 -5
  356. package/build-module/hooks/pattern-overrides.js.map +1 -1
  357. package/build-module/private-apis.js +19 -8
  358. package/build-module/private-apis.js.map +1 -1
  359. package/build-module/private-apis.native.js +62 -0
  360. package/build-module/private-apis.native.js.map +1 -0
  361. package/build-module/store/private-selectors.js +3 -0
  362. package/build-module/store/private-selectors.js.map +1 -1
  363. package/build-module/store/reducer.js +14 -0
  364. package/build-module/store/reducer.js.map +1 -1
  365. package/build-module/store/selectors.js +3 -1
  366. package/build-module/store/selectors.js.map +1 -1
  367. package/build-style/style-rtl.css +535 -48
  368. package/build-style/style.css +535 -48
  369. package/package.json +38 -36
  370. package/src/bindings/pattern-overrides.js +83 -1
  371. package/src/components/autocompleters/style.scss +1 -2
  372. package/src/components/autosave-monitor/index.js +15 -12
  373. package/src/components/block-settings-menu/content-only-settings-menu.js +175 -0
  374. package/src/components/block-settings-menu/content-only-settings-menu.native.js +4 -0
  375. package/src/components/block-settings-menu/style.scss +4 -0
  376. package/src/components/character-count/index.js +5 -0
  377. package/src/components/collapsible-block-toolbar/index.js +77 -0
  378. package/src/components/collapsible-block-toolbar/style.scss +80 -0
  379. package/src/components/document-bar/index.js +2 -2
  380. package/src/components/document-outline/check.js +8 -0
  381. package/src/components/document-outline/index.js +10 -0
  382. package/src/components/document-outline/item.js +2 -2
  383. package/src/components/document-tools/index.js +19 -26
  384. package/src/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  385. package/src/components/editor-canvas/index.js +18 -6
  386. package/src/components/editor-history/redo.js +10 -0
  387. package/src/components/editor-history/undo.js +10 -0
  388. package/src/components/editor-snackbars/index.js +5 -0
  389. package/src/components/entities-saved-states/style.scss +7 -0
  390. package/src/components/global-keyboard-shortcuts/index.js +7 -0
  391. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +42 -1
  392. package/src/components/global-styles-provider/index.js +162 -0
  393. package/src/components/header/index.js +154 -0
  394. package/src/components/header/style.scss +231 -0
  395. package/src/components/inserter-sidebar/index.js +52 -32
  396. package/src/components/inserter-sidebar/style.scss +10 -3
  397. package/src/components/keyboard-shortcut-help-modal/config.js +10 -1
  398. package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
  399. package/src/components/list-view-sidebar/index.js +1 -1
  400. package/src/components/list-view-sidebar/style.scss +3 -2
  401. package/src/components/more-menu/copy-content-menu-item.js +51 -0
  402. package/src/components/more-menu/index.js +158 -0
  403. package/src/components/more-menu/tools-more-menu-group.js +11 -0
  404. package/src/components/more-menu/view-more-menu-group.js +13 -0
  405. package/src/components/page-attributes/check.js +8 -0
  406. package/src/components/page-attributes/order.js +6 -0
  407. package/src/components/page-attributes/panel.js +21 -17
  408. package/src/components/page-attributes/parent.js +6 -0
  409. package/src/components/page-attributes/test/order.js +5 -1
  410. package/src/components/plugin-post-publish-panel/index.js +1 -1
  411. package/src/components/plugin-pre-publish-panel/index.js +1 -1
  412. package/src/components/plugin-sidebar/index.js +1 -1
  413. package/src/components/post-actions/actions.js +373 -152
  414. package/src/components/post-actions/index.js +34 -33
  415. package/src/components/post-author/check.js +9 -0
  416. package/src/components/post-author/index.js +5 -0
  417. package/src/components/post-author/panel.js +5 -0
  418. package/src/components/post-card-panel/index.js +40 -141
  419. package/src/components/post-card-panel/style.scss +2 -6
  420. package/src/components/post-comments/index.js +47 -9
  421. package/src/components/post-content-information/index.js +83 -0
  422. package/src/components/post-content-information/style.scss +6 -0
  423. package/src/components/post-discussion/panel.js +108 -27
  424. package/src/components/post-discussion/style.scss +26 -0
  425. package/src/components/post-excerpt/check.js +0 -18
  426. package/src/components/post-excerpt/index.js +66 -15
  427. package/src/components/post-excerpt/panel.js +196 -19
  428. package/src/components/post-excerpt/plugin.js +2 -2
  429. package/src/components/post-excerpt/style.scss +24 -0
  430. package/src/components/post-featured-image/index.js +1 -1
  431. package/src/components/post-featured-image/style.scss +2 -8
  432. package/src/components/post-format/panel.js +22 -0
  433. package/src/components/post-format/style.scss +6 -0
  434. package/src/components/post-last-edited-panel/index.js +35 -0
  435. package/src/components/post-last-edited-panel/style.scss +6 -0
  436. package/src/components/post-last-revision/test/check.js +5 -1
  437. package/src/components/post-panel-row/index.js +2 -2
  438. package/src/components/post-panel-row/style.scss +3 -3
  439. package/src/components/post-panel-section/index.js +19 -0
  440. package/src/components/post-panel-section/style.scss +3 -0
  441. package/src/components/post-pingbacks/index.js +11 -2
  442. package/src/components/post-publish-button/post-publish-button-or-toggle.js +102 -0
  443. package/src/components/post-publish-button/test/post-publish-button-or-toggle.js +63 -0
  444. package/src/components/post-publish-panel/style.scss +48 -0
  445. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +225 -75
  446. package/src/components/post-saved-state/index.js +2 -2
  447. package/src/components/post-schedule/panel.js +1 -1
  448. package/src/components/post-schedule/style.scss +2 -4
  449. package/src/components/post-slug/panel.js +22 -0
  450. package/src/components/post-slug/style.scss +5 -0
  451. package/src/components/post-slug/test/index.js +5 -1
  452. package/src/components/post-status/index.js +88 -80
  453. package/src/components/post-status/style.scss +0 -1
  454. package/src/components/post-sticky/panel.js +18 -0
  455. package/src/components/post-template/block-theme.js +2 -2
  456. package/src/components/post-template/classic-theme.js +0 -1
  457. package/src/components/post-template/swap-template-button.js +3 -6
  458. package/src/components/post-text-editor/style.scss +1 -1
  459. package/src/components/post-title/index.js +2 -2
  460. package/src/components/post-title/post-title-raw.js +2 -2
  461. package/src/components/post-title/style.scss +1 -1
  462. package/src/components/post-transform-panel/hooks.js +114 -0
  463. package/src/components/post-transform-panel/index.js +99 -0
  464. package/src/components/post-trash/panel.js +13 -0
  465. package/src/components/post-type-support-check/index.js +1 -1
  466. package/src/components/post-type-support-check/test/index.js +2 -2
  467. package/src/components/post-url/index.js +1 -0
  468. package/src/components/post-url/panel.js +1 -1
  469. package/src/components/preferences-modal/enable-publish-sidebar.js +28 -0
  470. package/src/components/preferences-modal/index.js +17 -3
  471. package/src/components/preview-dropdown/index.js +3 -1
  472. package/src/components/provider/disable-non-page-content-blocks.js +23 -21
  473. package/src/components/provider/index.js +4 -0
  474. package/src/components/provider/use-block-editor-settings.js +19 -4
  475. package/src/components/save-publish-panels/index.js +96 -0
  476. package/src/components/save-publish-panels/style.scss +36 -0
  477. package/src/components/sidebar/constants.js +4 -0
  478. package/src/components/sidebar/header.js +49 -0
  479. package/src/components/sidebar/index.js +200 -0
  480. package/src/components/sidebar/post-summary.js +104 -0
  481. package/src/components/sidebar/style.scss +18 -0
  482. package/src/components/start-page-options/index.js +12 -5
  483. package/src/components/start-template-options/index.js +219 -0
  484. package/src/components/start-template-options/style.scss +55 -0
  485. package/src/components/template-areas/style.scss +0 -1
  486. package/src/components/template-content-panel/index.js +36 -0
  487. package/src/hooks/pattern-overrides.js +12 -6
  488. package/src/private-apis.js +22 -8
  489. package/src/private-apis.native.js +61 -0
  490. package/src/store/private-selectors.js +3 -0
  491. package/src/store/reducer.js +12 -0
  492. package/src/store/selectors.js +3 -1
  493. package/src/style.scss +11 -0
  494. package/src/components/post-slug/test/check.js +0 -17
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = PostSummary;
8
+ var _react = require("react");
9
+ var _components = require("@wordpress/components");
10
+ var _data = require("@wordpress/data");
11
+ var _pluginPostStatusInfo = _interopRequireDefault(require("../plugin-post-status-info"));
12
+ var _postActions = _interopRequireDefault(require("../post-actions"));
13
+ var _panel = _interopRequireDefault(require("../post-author/panel"));
14
+ var _postCardPanel = _interopRequireDefault(require("../post-card-panel"));
15
+ var _postContentInformation = _interopRequireDefault(require("../post-content-information"));
16
+ var _panel2 = _interopRequireDefault(require("../post-discussion/panel"));
17
+ var _panel3 = require("../post-excerpt/panel");
18
+ var _panel4 = _interopRequireDefault(require("../post-featured-image/panel"));
19
+ var _panel5 = _interopRequireDefault(require("../post-format/panel"));
20
+ var _postLastEditedPanel = _interopRequireDefault(require("../post-last-edited-panel"));
21
+ var _postPanelSection = _interopRequireDefault(require("../post-panel-section"));
22
+ var _panel6 = _interopRequireDefault(require("../post-schedule/panel"));
23
+ var _postStatus = _interopRequireDefault(require("../post-status"));
24
+ var _postSticky = _interopRequireDefault(require("../post-sticky"));
25
+ var _postSyncStatus = _interopRequireDefault(require("../post-sync-status"));
26
+ var _panel7 = _interopRequireDefault(require("../post-template/panel"));
27
+ var _panel8 = _interopRequireDefault(require("../post-trash/panel"));
28
+ var _panel9 = _interopRequireDefault(require("../post-url/panel"));
29
+ var _store = require("../../store");
30
+ var _constants = require("../../store/constants");
31
+ var _templateAreas = _interopRequireDefault(require("../template-areas"));
32
+ /**
33
+ * WordPress dependencies
34
+ */
35
+
36
+ /**
37
+ * Internal dependencies
38
+ */
39
+
40
+ /**
41
+ * Module Constants
42
+ */
43
+ const PANEL_NAME = 'post-status';
44
+ function PostSummary({
45
+ onActionPerformed
46
+ }) {
47
+ const {
48
+ isRemovedPostStatusPanel,
49
+ postType
50
+ } = (0, _data.useSelect)(select => {
51
+ // We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do
52
+ // not use isEditorPanelEnabled since this panel should not be disabled through the UI.
53
+ const {
54
+ isEditorPanelRemoved,
55
+ getCurrentPostType
56
+ } = select(_store.store);
57
+ return {
58
+ isRemovedPostStatusPanel: isEditorPanelRemoved(PANEL_NAME),
59
+ postType: getCurrentPostType()
60
+ };
61
+ }, []);
62
+ const isPattern = postType === _constants.PATTERN_POST_TYPE;
63
+ const isTemplate = postType === _constants.TEMPLATE_POST_TYPE;
64
+ const isTemplatePart = postType === _constants.TEMPLATE_PART_POST_TYPE;
65
+ const isNavigation = postType === _constants.NAVIGATION_POST_TYPE;
66
+ return (0, _react.createElement)(_postPanelSection.default, {
67
+ className: "editor-post-summary"
68
+ }, (0, _react.createElement)(_pluginPostStatusInfo.default.Slot, null, fills => (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalVStack, {
69
+ spacing: 4
70
+ }, (0, _react.createElement)(_postCardPanel.default, {
71
+ actions: (0, _react.createElement)(_postActions.default, {
72
+ onActionPerformed: onActionPerformed
73
+ })
74
+ }), (0, _react.createElement)(_panel4.default, {
75
+ withPanelBody: false
76
+ }), (0, _react.createElement)(_panel3.PrivatePostExcerptPanel, null), (0, _react.createElement)(_components.__experimentalVStack, {
77
+ spacing: 1
78
+ }, (0, _react.createElement)(_postContentInformation.default, null), (0, _react.createElement)(_postLastEditedPanel.default, null)), !isRemovedPostStatusPanel && (0, _react.createElement)(_components.__experimentalVStack, {
79
+ spacing: 2
80
+ }, (0, _react.createElement)(_components.__experimentalVStack, {
81
+ spacing: 1
82
+ }, (0, _react.createElement)(_postStatus.default, null), (0, _react.createElement)(_panel6.default, null), (0, _react.createElement)(_panel7.default, null), (0, _react.createElement)(_panel9.default, null), (0, _react.createElement)(_panel2.default, null), (0, _react.createElement)(_postSyncStatus.default, null)), (0, _react.createElement)(_postSticky.default, null), (0, _react.createElement)(_panel5.default, null), (0, _react.createElement)(_panel.default, null), isTemplate && (0, _react.createElement)(_templateAreas.default, null), fills, !isPattern && !isTemplate && !isTemplatePart && !isNavigation && (0, _react.createElement)(_panel8.default, null))))));
83
+ }
84
+ //# sourceMappingURL=post-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_data","_pluginPostStatusInfo","_interopRequireDefault","_postActions","_panel","_postCardPanel","_postContentInformation","_panel2","_panel3","_panel4","_panel5","_postLastEditedPanel","_postPanelSection","_panel6","_postStatus","_postSticky","_postSyncStatus","_panel7","_panel8","_panel9","_store","_constants","_templateAreas","PANEL_NAME","PostSummary","onActionPerformed","isRemovedPostStatusPanel","postType","useSelect","select","isEditorPanelRemoved","getCurrentPostType","editorStore","isPattern","PATTERN_POST_TYPE","isTemplate","TEMPLATE_POST_TYPE","isTemplatePart","TEMPLATE_PART_POST_TYPE","isNavigation","NAVIGATION_POST_TYPE","_react","createElement","default","className","Slot","fills","Fragment","__experimentalVStack","spacing","actions","withPanelBody","PrivatePostExcerptPanel"],"sources":["@wordpress/editor/src/components/sidebar/post-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PluginPostStatusInfo from '../plugin-post-status-info';\nimport PostActions from '../post-actions';\nimport PostAuthorPanel from '../post-author/panel';\nimport PostCardPanel from '../post-card-panel';\nimport PostContentInformation from '../post-content-information';\nimport PostDiscussionPanel from '../post-discussion/panel';\nimport { PrivatePostExcerptPanel as PostExcerptPanel } from '../post-excerpt/panel';\nimport PostFeaturedImagePanel from '../post-featured-image/panel';\nimport PostFormatPanel from '../post-format/panel';\nimport PostLastEditedPanel from '../post-last-edited-panel';\nimport PostPanelSection from '../post-panel-section';\nimport PostSchedulePanel from '../post-schedule/panel';\nimport PostStatusPanel from '../post-status';\nimport PostStickyPanel from '../post-sticky';\nimport PostSyncStatus from '../post-sync-status';\nimport PostTemplatePanel from '../post-template/panel';\nimport PostTrashPanel from '../post-trash/panel';\nimport PostURLPanel from '../post-url/panel';\nimport { store as editorStore } from '../../store';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\nimport TemplateAreas from '../template-areas';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nexport default function PostSummary( { onActionPerformed } ) {\n\tconst { isRemovedPostStatusPanel, postType } = useSelect( ( select ) => {\n\t\t// We use isEditorPanelRemoved to hide the panel if it was programatically removed. We do\n\t\t// not use isEditorPanelEnabled since this panel should not be disabled through the UI.\n\t\tconst { isEditorPanelRemoved, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisRemovedPostStatusPanel: isEditorPanelRemoved( PANEL_NAME ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t}, [] );\n\tconst isPattern = postType === PATTERN_POST_TYPE;\n\tconst isTemplate = postType === TEMPLATE_POST_TYPE;\n\tconst isTemplatePart = postType === TEMPLATE_PART_POST_TYPE;\n\tconst isNavigation = postType === NAVIGATION_POST_TYPE;\n\n\treturn (\n\t\t<PostPanelSection className=\"editor-post-summary\">\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t<PostCardPanel\n\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t<PostActions\n\t\t\t\t\t\t\t\t\t\tonActionPerformed={ onActionPerformed }\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<PostFeaturedImagePanel withPanelBody={ false } />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<PostContentInformation />\n\t\t\t\t\t\t\t\t<PostLastEditedPanel />\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t{ ! isRemovedPostStatusPanel && (\n\t\t\t\t\t\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<PostStatusPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSchedulePanel />\n\t\t\t\t\t\t\t\t\t\t<PostTemplatePanel />\n\t\t\t\t\t\t\t\t\t\t<PostURLPanel />\n\t\t\t\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t\t\t\t<PostSyncStatus />\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t<PostStickyPanel />\n\t\t\t\t\t\t\t\t\t<PostFormatPanel />\n\t\t\t\t\t\t\t\t\t<PostAuthorPanel />\n\t\t\t\t\t\t\t\t\t{ isTemplate && <TemplateAreas /> }\n\t\t\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\t\t\t{ ! isPattern &&\n\t\t\t\t\t\t\t\t\t\t! isTemplate &&\n\t\t\t\t\t\t\t\t\t\t! isTemplatePart &&\n\t\t\t\t\t\t\t\t\t\t! isNavigation && <PostTrashPanel /> }\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PostPanelSection>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,9 @@ var _blockEditor = require("@wordpress/block-editor");
12
12
  var _data = require("@wordpress/data");
13
13
  var _compose = require("@wordpress/compose");
14
14
  var _coreData = require("@wordpress/core-data");
15
+ var _blocks = require("@wordpress/blocks");
15
16
  var _store = require("../../store");
17
+ var _constants = require("../../store/constants");
16
18
  /**
17
19
  * WordPress dependencies
18
20
  */
@@ -77,7 +79,10 @@ function PatternSelection({
77
79
  shownPatterns: shownBlockPatterns,
78
80
  onClickPattern: (_pattern, blocks) => {
79
81
  editEntityRecord('postType', postType, postId, {
80
- blocks
82
+ blocks,
83
+ content: ({
84
+ blocks: blocksForSerialization = []
85
+ }) => (0, _blocks.__unstableSerializeAndClean)(blocksForSerialization)
81
86
  });
82
87
  onChoosePattern();
83
88
  }
@@ -113,15 +118,12 @@ function StartPageOptions() {
113
118
  isEditedPostDirty,
114
119
  isEditedPostEmpty,
115
120
  getCurrentPostType,
116
- getCurrentPostId,
117
- getEditorSettings
121
+ getCurrentPostId
118
122
  } = select(_store.store);
119
- const {
120
- __unstableIsPreviewMode: isPreviewMode
121
- } = getEditorSettings();
123
+ const _postType = getCurrentPostType();
122
124
  return {
123
- shouldEnableModal: !isPreviewMode && !isEditedPostDirty() && isEditedPostEmpty(),
124
- postType: getCurrentPostType(),
125
+ shouldEnableModal: !isEditedPostDirty() && isEditedPostEmpty() && _constants.TEMPLATE_POST_TYPE !== _postType,
126
+ postType: _postType,
125
127
  postId: getCurrentPostId()
126
128
  };
127
129
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_blockEditor","_data","_compose","_coreData","_store","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","getBlocksByName","blockEditorStore","getCurrentPostType","getRenderingMode","editorStore","rootClientId","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","useAsyncList","editEntityRecord","useDispatch","coreStore","postId","getCurrentPostId","_react","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","onClose","startPatterns","hasStartPattern","length","Modal","title","__","isFullScreen","onRequestClose","className","StartPageOptions","isClosed","setIsClosed","useState","shouldEnableModal","isEditedPostDirty","isEditedPostEmpty","getEditorSettings","__unstableIsPreviewMode","isPreviewMode","useEffect"],"sources":["@wordpress/editor/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes, getBlocksByName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getCurrentPostType, getRenderingMode } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst rootClientId =\n\t\t\t\tgetRenderingMode() === 'post-only'\n\t\t\t\t\t? ''\n\t\t\t\t\t: getBlocksByName( 'core/post-content' )?.[ 0 ];\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType: getPatternsByBlockTypes(\n\t\t\t\t\t'core/post-content',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\n\t\treturn {\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\teditEntityRecord( 'postType', postType, postId, { blocks } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal( { onClose } ) {\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\n\tif ( ! hasStartPattern ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<div className=\"editor-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ onClose }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { shouldEnableModal, postType, postId } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostEmpty,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { __unstableIsPreviewMode: isPreviewMode } = getEditorSettings();\n\n\t\treturn {\n\t\t\tshouldEnableModal:\n\t\t\t\t! isPreviewMode && ! isEditedPostDirty() && isEditedPostEmpty(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Should reset the modal state when navigating to a new page/post.\n\t\tsetIsClosed( false );\n\t}, [ postType, postId ] );\n\n\tif ( ! shouldEnableModal || isClosed ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal onClose={ () => setIsClosed( true ) } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_blockEditor","_data","_compose","_coreData","_blocks","_store","_constants","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","getBlocksByName","blockEditorStore","getCurrentPostType","getRenderingMode","editorStore","rootClientId","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","useAsyncList","editEntityRecord","useDispatch","coreStore","postId","getCurrentPostId","_react","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","content","blocksForSerialization","__unstableSerializeAndClean","StartPageOptionsModal","onClose","startPatterns","hasStartPattern","length","Modal","title","__","isFullScreen","onRequestClose","className","StartPageOptions","isClosed","setIsClosed","useState","shouldEnableModal","isEditedPostDirty","isEditedPostEmpty","_postType","TEMPLATE_POST_TYPE","useEffect"],"sources":["@wordpress/editor/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { TEMPLATE_POST_TYPE } from '../../store/constants';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes, getBlocksByName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getCurrentPostType, getRenderingMode } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst rootClientId =\n\t\t\t\tgetRenderingMode() === 'post-only'\n\t\t\t\t\t? ''\n\t\t\t\t\t: getBlocksByName( 'core/post-content' )?.[ 0 ];\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType: getPatternsByBlockTypes(\n\t\t\t\t\t'core/post-content',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\n\t\treturn {\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\t\t\tblocks,\n\t\t\t\t\tcontent: ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t\t\t\t__unstableSerializeAndClean( blocksForSerialization ),\n\t\t\t\t} );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal( { onClose } ) {\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\n\tif ( ! hasStartPattern ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<div className=\"editor-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ onClose }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { shouldEnableModal, postType, postId } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostEmpty,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t} = select( editorStore );\n\t\tconst _postType = getCurrentPostType();\n\n\t\treturn {\n\t\t\tshouldEnableModal:\n\t\t\t\t! isEditedPostDirty() &&\n\t\t\t\tisEditedPostEmpty() &&\n\t\t\t\tTEMPLATE_POST_TYPE !== _postType,\n\t\t\tpostType: _postType,\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Should reset the modal state when navigating to a new page/post.\n\t\tsetIsClosed( false );\n\t}, [ postType, postId ] );\n\n\tif ( ! shouldEnableModal || isClosed ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal onClose={ () => setIsClosed( true ) } />;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = StartTemplateOptions;
7
+ var _react = require("react");
8
+ var _components = require("@wordpress/components");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _element = require("@wordpress/element");
11
+ var _blockEditor = require("@wordpress/block-editor");
12
+ var _data = require("@wordpress/data");
13
+ var _compose = require("@wordpress/compose");
14
+ var _blocks = require("@wordpress/blocks");
15
+ var _coreData = require("@wordpress/core-data");
16
+ var _store = require("../../store");
17
+ var _constants = require("../../store/constants");
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
26
+ function useFallbackTemplateContent(slug, isCustom = false) {
27
+ return (0, _data.useSelect)(select => {
28
+ const {
29
+ getEntityRecord,
30
+ getDefaultTemplateId
31
+ } = select(_coreData.store);
32
+ const templateId = getDefaultTemplateId({
33
+ slug,
34
+ is_custom: isCustom,
35
+ ignore_empty: true
36
+ });
37
+ return templateId ? getEntityRecord('postType', _constants.TEMPLATE_POST_TYPE, templateId)?.content?.raw : undefined;
38
+ }, [slug, isCustom]);
39
+ }
40
+ function useStartPatterns(fallbackContent) {
41
+ const {
42
+ slug,
43
+ patterns
44
+ } = (0, _data.useSelect)(select => {
45
+ const {
46
+ getCurrentPostType,
47
+ getCurrentPostId
48
+ } = select(_store.store);
49
+ const {
50
+ getEntityRecord,
51
+ getBlockPatterns
52
+ } = select(_coreData.store);
53
+ const postId = getCurrentPostId();
54
+ const postType = getCurrentPostType();
55
+ const record = getEntityRecord('postType', postType, postId);
56
+ return {
57
+ slug: record.slug,
58
+ patterns: getBlockPatterns()
59
+ };
60
+ }, []);
61
+ const currentThemeStylesheet = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme().stylesheet);
62
+
63
+ // Duplicated from packages/block-library/src/pattern/edit.js.
64
+ function injectThemeAttributeInBlockTemplateContent(block) {
65
+ if (block.innerBlocks.find(innerBlock => innerBlock.name === 'core/template-part')) {
66
+ block.innerBlocks = block.innerBlocks.map(innerBlock => {
67
+ if (innerBlock.name === 'core/template-part' && innerBlock.attributes.theme === undefined) {
68
+ innerBlock.attributes.theme = currentThemeStylesheet;
69
+ }
70
+ return innerBlock;
71
+ });
72
+ }
73
+ if (block.name === 'core/template-part' && block.attributes.theme === undefined) {
74
+ block.attributes.theme = currentThemeStylesheet;
75
+ }
76
+ return block;
77
+ }
78
+ return (0, _element.useMemo)(() => {
79
+ // filter patterns that are supposed to be used in the current template being edited.
80
+ return [{
81
+ name: 'fallback',
82
+ blocks: (0, _blocks.parse)(fallbackContent),
83
+ title: (0, _i18n.__)('Fallback content')
84
+ }, ...patterns.filter(pattern => {
85
+ return Array.isArray(pattern.templateTypes) && pattern.templateTypes.some(templateType => slug.startsWith(templateType));
86
+ }).map(pattern => {
87
+ return {
88
+ ...pattern,
89
+ blocks: (0, _blocks.parse)(pattern.content).map(block => injectThemeAttributeInBlockTemplateContent(block))
90
+ };
91
+ })];
92
+ }, [fallbackContent, slug, patterns]);
93
+ }
94
+ function PatternSelection({
95
+ fallbackContent,
96
+ onChoosePattern,
97
+ postType
98
+ }) {
99
+ const [,, onChange] = (0, _coreData.useEntityBlockEditor)('postType', postType);
100
+ const blockPatterns = useStartPatterns(fallbackContent);
101
+ const shownBlockPatterns = (0, _compose.useAsyncList)(blockPatterns);
102
+ return (0, _react.createElement)(_blockEditor.__experimentalBlockPatternsList, {
103
+ blockPatterns: blockPatterns,
104
+ shownPatterns: shownBlockPatterns,
105
+ onClickPattern: (pattern, blocks) => {
106
+ onChange(blocks, {
107
+ selection: undefined
108
+ });
109
+ onChoosePattern();
110
+ }
111
+ });
112
+ }
113
+ function StartModal({
114
+ slug,
115
+ isCustom,
116
+ onClose,
117
+ postType
118
+ }) {
119
+ const fallbackContent = useFallbackTemplateContent(slug, isCustom);
120
+ if (!fallbackContent) {
121
+ return null;
122
+ }
123
+ return (0, _react.createElement)(_components.Modal, {
124
+ className: "editor-start-template-options__modal",
125
+ title: (0, _i18n.__)('Choose a pattern'),
126
+ closeLabel: (0, _i18n.__)('Cancel'),
127
+ focusOnMount: "firstElement",
128
+ onRequestClose: onClose,
129
+ isFullScreen: true
130
+ }, (0, _react.createElement)("div", {
131
+ className: "editor-start-template-options__modal-content"
132
+ }, (0, _react.createElement)(PatternSelection, {
133
+ fallbackContent: fallbackContent,
134
+ slug: slug,
135
+ isCustom: isCustom,
136
+ postType: postType,
137
+ onChoosePattern: () => {
138
+ onClose();
139
+ }
140
+ })), (0, _react.createElement)(_components.Flex, {
141
+ className: "editor-start-template-options__modal__actions",
142
+ justify: "flex-end",
143
+ expanded: false
144
+ }, (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)(_components.Button, {
145
+ variant: "tertiary",
146
+ onClick: onClose
147
+ }, (0, _i18n.__)('Skip')))));
148
+ }
149
+ function StartTemplateOptions() {
150
+ const [isClosed, setIsClosed] = (0, _element.useState)(false);
151
+ const {
152
+ shouldOpenModal,
153
+ slug,
154
+ isCustom,
155
+ postType,
156
+ postId
157
+ } = (0, _data.useSelect)(select => {
158
+ const {
159
+ getCurrentPostType,
160
+ getCurrentPostId
161
+ } = select(_store.store);
162
+ const _postType = getCurrentPostType();
163
+ const _postId = getCurrentPostId();
164
+ const {
165
+ getEditedEntityRecord,
166
+ hasEditsForEntityRecord
167
+ } = select(_coreData.store);
168
+ const templateRecord = getEditedEntityRecord('postType', _postType, _postId);
169
+ const hasEdits = hasEditsForEntityRecord('postType', _postType, _postId);
170
+ return {
171
+ shouldOpenModal: !hasEdits && '' === templateRecord.content && _constants.TEMPLATE_POST_TYPE === _postType,
172
+ slug: templateRecord.slug,
173
+ isCustom: templateRecord.is_custom,
174
+ postType: _postType,
175
+ postId: _postId
176
+ };
177
+ }, []);
178
+ (0, _element.useEffect)(() => {
179
+ // Should reset the modal state when navigating to a new page/post.
180
+ setIsClosed(false);
181
+ }, [postType, postId]);
182
+ if (!shouldOpenModal || isClosed) {
183
+ return null;
184
+ }
185
+ return (0, _react.createElement)(StartModal, {
186
+ slug: slug,
187
+ isCustom: isCustom,
188
+ postType: postType,
189
+ onClose: () => setIsClosed(true)
190
+ });
191
+ }
192
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_element","_blockEditor","_data","_compose","_blocks","_coreData","_store","_constants","useFallbackTemplateContent","slug","isCustom","useSelect","select","getEntityRecord","getDefaultTemplateId","coreStore","templateId","is_custom","ignore_empty","TEMPLATE_POST_TYPE","content","raw","undefined","useStartPatterns","fallbackContent","patterns","getCurrentPostType","getCurrentPostId","editorStore","getBlockPatterns","postId","postType","record","currentThemeStylesheet","getCurrentTheme","stylesheet","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","attributes","theme","useMemo","blocks","parse","title","__","filter","pattern","Array","isArray","templateTypes","some","templateType","startsWith","PatternSelection","onChoosePattern","onChange","useEntityBlockEditor","blockPatterns","shownBlockPatterns","useAsyncList","_react","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","selection","StartModal","onClose","Modal","className","closeLabel","focusOnMount","onRequestClose","isFullScreen","Flex","justify","expanded","FlexItem","Button","variant","onClick","StartTemplateOptions","isClosed","setIsClosed","useState","shouldOpenModal","_postType","_postId","getEditedEntityRecord","hasEditsForEntityRecord","templateRecord","hasEdits","useEffect"],"sources":["@wordpress/editor/src/components/start-template-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal, Flex, FlexItem, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { TEMPLATE_POST_TYPE } from '../../store/constants';\n\nfunction useFallbackTemplateContent( slug, isCustom = false ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getDefaultTemplateId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateId = getDefaultTemplateId( {\n\t\t\t\tslug,\n\t\t\t\tis_custom: isCustom,\n\t\t\t\tignore_empty: true,\n\t\t\t} );\n\t\t\treturn templateId\n\t\t\t\t? getEntityRecord( 'postType', TEMPLATE_POST_TYPE, templateId )\n\t\t\t\t\t\t?.content?.raw\n\t\t\t\t: undefined;\n\t\t},\n\t\t[ slug, isCustom ]\n\t);\n}\n\nfunction useStartPatterns( fallbackContent ) {\n\tconst { slug, patterns } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostType, getCurrentPostId } = select( editorStore );\n\t\tconst { getEntityRecord, getBlockPatterns } = select( coreStore );\n\t\tconst postId = getCurrentPostId();\n\t\tconst postType = getCurrentPostType();\n\t\tconst record = getEntityRecord( 'postType', postType, postId );\n\t\treturn {\n\t\t\tslug: record.slug,\n\t\t\tpatterns: getBlockPatterns(),\n\t\t};\n\t}, [] );\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme().stylesheet\n\t);\n\n\t// Duplicated from packages/block-library/src/pattern/edit.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\treturn useMemo( () => {\n\t\t// filter patterns that are supposed to be used in the current template being edited.\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: 'fallback',\n\t\t\t\tblocks: parse( fallbackContent ),\n\t\t\t\ttitle: __( 'Fallback content' ),\n\t\t\t},\n\t\t\t...patterns\n\t\t\t\t.filter( ( pattern ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tArray.isArray( pattern.templateTypes ) &&\n\t\t\t\t\t\tpattern.templateTypes.some( ( templateType ) =>\n\t\t\t\t\t\t\tslug.startsWith( templateType )\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t\t.map( ( pattern ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pattern,\n\t\t\t\t\t\tblocks: parse( pattern.content ).map( ( block ) =>\n\t\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t];\n\t}, [ fallbackContent, slug, patterns ] );\n}\n\nfunction PatternSelection( { fallbackContent, onChoosePattern, postType } ) {\n\tconst [ , , onChange ] = useEntityBlockEditor( 'postType', postType );\n\tconst blockPatterns = useStartPatterns( fallbackContent );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\tonChange( blocks, { selection: undefined } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartModal( { slug, isCustom, onClose, postType } ) {\n\tconst fallbackContent = useFallbackTemplateContent( slug, isCustom );\n\tif ( ! fallbackContent ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"editor-start-template-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\tonRequestClose={ onClose }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<div className=\"editor-start-template-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tfallbackContent={ fallbackContent }\n\t\t\t\t\tslug={ slug }\n\t\t\t\t\tisCustom={ isCustom }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Flex\n\t\t\t\tclassName=\"editor-start-template-options__modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Skip' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartTemplateOptions() {\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { shouldOpenModal, slug, isCustom, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPostType, getCurrentPostId } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postType = getCurrentPostType();\n\t\t\tconst _postId = getCurrentPostId();\n\t\t\tconst { getEditedEntityRecord, hasEditsForEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\t_postId\n\t\t\t);\n\t\t\tconst hasEdits = hasEditsForEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\t_postId\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshouldOpenModal:\n\t\t\t\t\t! hasEdits &&\n\t\t\t\t\t'' === templateRecord.content &&\n\t\t\t\t\tTEMPLATE_POST_TYPE === _postType,\n\t\t\t\tslug: templateRecord.slug,\n\t\t\t\tisCustom: templateRecord.is_custom,\n\t\t\t\tpostType: _postType,\n\t\t\t\tpostId: _postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\t// Should reset the modal state when navigating to a new page/post.\n\t\tsetIsClosed( false );\n\t}, [ postType, postId ] );\n\n\tif ( ! shouldOpenModal || isClosed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StartModal\n\t\t\tslug={ slug }\n\t\t\tisCustom={ isCustom }\n\t\t\tpostType={ postType }\n\t\t\tonClose={ () => setIsClosed( true ) }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = TemplateContentPanel;
7
+ var _react = require("react");
8
+ var _data = require("@wordpress/data");
9
+ var _blockEditor = require("@wordpress/block-editor");
10
+ var _components = require("@wordpress/components");
11
+ var _i18n = require("@wordpress/i18n");
12
+ var _lockUnlock = require("../../lock-unlock");
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ const {
22
+ BlockQuickNavigation
23
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
24
+ const PAGE_CONTENT_BLOCKS = ['core/post-content', 'core/post-featured-image', 'core/post-title'];
25
+ function TemplateContentPanel() {
26
+ const clientIds = (0, _data.useSelect)(select => {
27
+ const {
28
+ getBlocksByName
29
+ } = select(_blockEditor.store);
30
+ return getBlocksByName(PAGE_CONTENT_BLOCKS);
31
+ }, []);
32
+ return (0, _react.createElement)(_components.PanelBody, {
33
+ title: (0, _i18n.__)('Content')
34
+ }, (0, _react.createElement)(BlockQuickNavigation, {
35
+ clientIds: clientIds
36
+ }));
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_blockEditor","_components","_i18n","_lockUnlock","BlockQuickNavigation","unlock","blockEditorPrivateApis","PAGE_CONTENT_BLOCKS","TemplateContentPanel","clientIds","useSelect","select","getBlocksByName","blockEditorStore","_react","createElement","PanelBody","title","__"],"sources":["@wordpress/editor/src/components/template-content-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { BlockQuickNavigation } = unlock( blockEditorPrivateApis );\n\nconst PAGE_CONTENT_BLOCKS = [\n\t'core/post-content',\n\t'core/post-featured-image',\n\t'core/post-title',\n];\n\nexport default function TemplateContentPanel() {\n\tconst clientIds = useSelect( ( select ) => {\n\t\tconst { getBlocksByName } = select( blockEditorStore );\n\t\treturn getBlocksByName( PAGE_CONTENT_BLOCKS );\n\t}, [] );\n\n\treturn (\n\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t<BlockQuickNavigation clientIds={ clientIds } />\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAM;EAAEK;AAAqB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAEjE,MAAMC,mBAAmB,GAAG,CAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,CACjB;AAEc,SAASC,oBAAoBA,CAAA,EAAG;EAC9C,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IACtD,OAAOD,eAAe,CAAEL,mBAAoB,CAAC;EAC9C,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAO,MAAA,CAAAC,aAAA,EAACd,WAAA,CAAAe,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU;EAAG,GACnC,IAAAJ,MAAA,CAAAC,aAAA,EAACX,oBAAoB;IAACK,SAAS,EAAGA;EAAW,CAAE,CACrC,CAAC;AAEd","ignoreList":[]}
@@ -21,7 +21,8 @@ const {
21
21
  PatternOverridesControls,
22
22
  ResetOverridesControl,
23
23
  PATTERN_TYPES,
24
- PARTIAL_SYNCING_SUPPORTED_BLOCKS
24
+ PARTIAL_SYNCING_SUPPORTED_BLOCKS,
25
+ PATTERN_SYNC_TYPES
25
26
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
26
27
 
27
28
  /**
@@ -48,21 +49,25 @@ function ControlsWithStoreSubscription(props) {
48
49
  const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
49
50
  const {
50
51
  hasPatternOverridesSource,
51
- isEditingPattern
52
+ isEditingSyncedPattern
52
53
  } = (0, _data.useSelect)(select => {
53
54
  const {
54
55
  getBlockBindingsSource
55
56
  } = (0, _lockUnlock.unlock)(select(_blocks.store));
57
+ const {
58
+ getCurrentPostType,
59
+ getEditedPostAttribute
60
+ } = select(_store.store);
56
61
  return {
57
62
  // For editing link to the site editor if the theme and user permissions support it.
58
63
  hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides'),
59
- isEditingPattern: select(_store.store).getCurrentPostType() === PATTERN_TYPES.user
64
+ isEditingSyncedPattern: getCurrentPostType() === PATTERN_TYPES.user && getEditedPostAttribute('meta')?.wp_pattern_sync_status !== PATTERN_SYNC_TYPES.unsynced && getEditedPostAttribute('wp_pattern_sync_status') !== PATTERN_SYNC_TYPES.unsynced
60
65
  };
61
66
  }, []);
62
67
  const bindings = props.attributes.metadata?.bindings;
63
68
  const hasPatternBindings = !!bindings && Object.values(bindings).some(binding => binding.source === 'core/pattern-overrides');
64
- const shouldShowPatternOverridesControls = isEditingPattern && blockEditingMode === 'default';
65
- const shouldShowResetOverridesControl = !isEditingPattern && !!props.attributes.metadata?.name && blockEditingMode !== 'disabled' && hasPatternBindings;
69
+ const shouldShowPatternOverridesControls = isEditingSyncedPattern && blockEditingMode === 'default';
70
+ const shouldShowResetOverridesControl = !isEditingSyncedPattern && !!props.attributes.metadata?.name && blockEditingMode !== 'disabled' && hasPatternBindings;
66
71
  if (!hasPatternOverridesSource) {
67
72
  return null;
68
73
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_hooks","require","_patterns","_compose","_blockEditor","_data","_blocks","_store","_lockUnlock","PatternOverridesControls","ResetOverridesControl","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","unlock","patternsPrivateApis","withPatternOverrideControls","createHigherOrderComponent","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","_react","createElement","Fragment","isSelected","ControlsWithStoreSubscription","blockEditingMode","useBlockEditingMode","hasPatternOverridesSource","isEditingPattern","useSelect","select","getBlockBindingsSource","blocksStore","editorStore","getCurrentPostType","user","bindings","attributes","metadata","hasPatternBindings","values","some","binding","source","shouldShowPatternOverridesControls","shouldShowResetOverridesControl","addFilter"],"sources":["@wordpress/editor/src/hooks/pattern-overrides.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPatternOverrideControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { hasPatternOverridesSource, isEditingPattern } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\n\t\t\treturn {\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t\tisEditingPattern:\n\t\t\t\t\tselect( editorStore ).getCurrentPostType() ===\n\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst bindings = props.attributes.metadata?.bindings;\n\tconst hasPatternBindings =\n\t\t!! bindings &&\n\t\tObject.values( bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst shouldShowPatternOverridesControls =\n\t\tisEditingPattern && blockEditingMode === 'default';\n\tconst shouldShowResetOverridesControl =\n\t\t! isEditingPattern &&\n\t\t!! props.attributes.metadata?.name &&\n\t\tblockEditingMode !== 'disabled' &&\n\t\thasPatternBindings;\n\n\tif ( ! hasPatternOverridesSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldShowPatternOverridesControls && (\n\t\t\t\t<PatternOverridesControls { ...props } />\n\t\t\t) }\n\t\t\t{ shouldShowResetOverridesControl && (\n\t\t\t\t<ResetOverridesControl { ...props } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-pattern-override-controls',\n\twithPatternOverrideControls\n);\n"],"mappings":";;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EACLQ,wBAAwB;EACxBC,qBAAqB;EACrBC,aAAa;EACbC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,2BAA2B,GAAG,IAAAC,mCAA0B,EAC3DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CACnCT,gCACD,CAAC,CAACU,QAAQ,CAAEJ,KAAK,CAACK,IAAK,CAAC;EAExB,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACR,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBA,KAAK,CAACS,UAAU,IAAIR,gBAAgB,IACrC,IAAAK,MAAA,CAAAC,aAAA,EAACG,6BAA6B;IAAA,GAAMV;EAAK,CAAI,CAE7C,CAAC;AAEL,CACD,CAAC;;AAED;AACA;AACA,SAASU,6BAA6BA,CAAEV,KAAK,EAAG;EAC/C,MAAMW,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAC9C,MAAM;IAAEC,yBAAyB;IAAEC;EAAiB,CAAC,GAAG,IAAAC,eAAS,EAC9DC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAuB,CAAC,GAAG,IAAAtB,kBAAM,EAAEqB,MAAM,CAAEE,aAAY,CAAE,CAAC;IAElE,OAAO;MACN;MACAL,yBAAyB,EAAE,CAAC,CAAEI,sBAAsB,CACnD,wBACD,CAAC;MACDH,gBAAgB,EACfE,MAAM,CAAEG,YAAY,CAAC,CAACC,kBAAkB,CAAC,CAAC,KAC1C3B,aAAa,CAAC4B;IAChB,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAMC,QAAQ,GAAGtB,KAAK,CAACuB,UAAU,CAACC,QAAQ,EAAEF,QAAQ;EACpD,MAAMG,kBAAkB,GACvB,CAAC,CAAEH,QAAQ,IACXpB,MAAM,CAACwB,MAAM,CAAEJ,QAAS,CAAC,CAACK,IAAI,CAC3BC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;EAEF,MAAMC,kCAAkC,GACvChB,gBAAgB,IAAIH,gBAAgB,KAAK,SAAS;EACnD,MAAMoB,+BAA+B,GACpC,CAAEjB,gBAAgB,IAClB,CAAC,CAAEd,KAAK,CAACuB,UAAU,CAACC,QAAQ,EAAEnB,IAAI,IAClCM,gBAAgB,KAAK,UAAU,IAC/Bc,kBAAkB;EAEnB,IAAK,CAAEZ,yBAAyB,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAP,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGsB,kCAAkC,IACnC,IAAAxB,MAAA,CAAAC,aAAA,EAAChB,wBAAwB;IAAA,GAAMS;EAAK,CAAI,CACxC,EACC+B,+BAA+B,IAChC,IAAAzB,MAAA,CAAAC,aAAA,EAACf,qBAAqB;IAAA,GAAMQ;EAAK,CAAI,CAErC,CAAC;AAEL;AAEA,IAAAgC,gBAAS,EACR,kBAAkB,EAClB,4CAA4C,EAC5CnC,2BACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_hooks","require","_patterns","_compose","_blockEditor","_data","_blocks","_store","_lockUnlock","PatternOverridesControls","ResetOverridesControl","PATTERN_TYPES","PARTIAL_SYNCING_SUPPORTED_BLOCKS","PATTERN_SYNC_TYPES","unlock","patternsPrivateApis","withPatternOverrideControls","createHigherOrderComponent","BlockEdit","props","isSupportedBlock","Object","keys","includes","name","_react","createElement","Fragment","isSelected","ControlsWithStoreSubscription","blockEditingMode","useBlockEditingMode","hasPatternOverridesSource","isEditingSyncedPattern","useSelect","select","getBlockBindingsSource","blocksStore","getCurrentPostType","getEditedPostAttribute","editorStore","user","wp_pattern_sync_status","unsynced","bindings","attributes","metadata","hasPatternBindings","values","some","binding","source","shouldShowPatternOverridesControls","shouldShowResetOverridesControl","addFilter"],"sources":["@wordpress/editor/src/hooks/pattern-overrides.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nconst {\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tPATTERN_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternsPrivateApis );\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning a partial syncing controls to supported blocks in the pattern editor.\n * Currently, only the `core/paragraph` block is supported.\n *\n * @param {Component} BlockEdit Original component.\n *\n * @return {Component} Wrapped component.\n */\nconst withPatternOverrideControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isSupportedBlock = Object.keys(\n\t\t\tPARTIAL_SYNCING_SUPPORTED_BLOCKS\n\t\t).includes( props.name );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t{ props.isSelected && isSupportedBlock && (\n\t\t\t\t\t<ControlsWithStoreSubscription { ...props } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\n// Split into a separate component to avoid a store subscription\n// on every block.\nfunction ControlsWithStoreSubscription( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { hasPatternOverridesSource, isEditingSyncedPattern } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst { getCurrentPostType, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\n\t\t\treturn {\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t\tisEditingSyncedPattern:\n\t\t\t\t\tgetCurrentPostType() === PATTERN_TYPES.user &&\n\t\t\t\t\tgetEditedPostAttribute( 'meta' )?.wp_pattern_sync_status !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced &&\n\t\t\t\t\tgetEditedPostAttribute( 'wp_pattern_sync_status' ) !==\n\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst bindings = props.attributes.metadata?.bindings;\n\tconst hasPatternBindings =\n\t\t!! bindings &&\n\t\tObject.values( bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t);\n\n\tconst shouldShowPatternOverridesControls =\n\t\tisEditingSyncedPattern && blockEditingMode === 'default';\n\tconst shouldShowResetOverridesControl =\n\t\t! isEditingSyncedPattern &&\n\t\t!! props.attributes.metadata?.name &&\n\t\tblockEditingMode !== 'disabled' &&\n\t\thasPatternBindings;\n\n\tif ( ! hasPatternOverridesSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ shouldShowPatternOverridesControls && (\n\t\t\t\t<PatternOverridesControls { ...props } />\n\t\t\t) }\n\t\t\t{ shouldShowResetOverridesControl && (\n\t\t\t\t<ResetOverridesControl { ...props } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/with-pattern-override-controls',\n\twithPatternOverrideControls\n);\n"],"mappings":";;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EACLQ,wBAAwB;EACxBC,qBAAqB;EACrBC,aAAa;EACbC,gCAAgC;EAChCC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,2BAA2B,GAAG,IAAAC,mCAA0B,EAC3DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CACnCV,gCACD,CAAC,CAACW,QAAQ,CAAEJ,KAAK,CAACK,IAAK,CAAC;EAExB,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACR,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC,EACxBA,KAAK,CAACS,UAAU,IAAIR,gBAAgB,IACrC,IAAAK,MAAA,CAAAC,aAAA,EAACG,6BAA6B;IAAA,GAAMV;EAAK,CAAI,CAE7C,CAAC;AAEL,CACD,CAAC;;AAED;AACA;AACA,SAASU,6BAA6BA,CAAEV,KAAK,EAAG;EAC/C,MAAMW,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAC9C,MAAM;IAAEC,yBAAyB;IAAEC;EAAuB,CAAC,GAAG,IAAAC,eAAS,EACpEC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAuB,CAAC,GAAG,IAAAtB,kBAAM,EAAEqB,MAAM,CAAEE,aAAY,CAAE,CAAC;IAClE,MAAM;MAAEC,kBAAkB;MAAEC;IAAuB,CAAC,GACnDJ,MAAM,CAAEK,YAAY,CAAC;IAEtB,OAAO;MACN;MACAR,yBAAyB,EAAE,CAAC,CAAEI,sBAAsB,CACnD,wBACD,CAAC;MACDH,sBAAsB,EACrBK,kBAAkB,CAAC,CAAC,KAAK3B,aAAa,CAAC8B,IAAI,IAC3CF,sBAAsB,CAAE,MAAO,CAAC,EAAEG,sBAAsB,KACvD7B,kBAAkB,CAAC8B,QAAQ,IAC5BJ,sBAAsB,CAAE,wBAAyB,CAAC,KACjD1B,kBAAkB,CAAC8B;IACtB,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAMC,QAAQ,GAAGzB,KAAK,CAAC0B,UAAU,CAACC,QAAQ,EAAEF,QAAQ;EACpD,MAAMG,kBAAkB,GACvB,CAAC,CAAEH,QAAQ,IACXvB,MAAM,CAAC2B,MAAM,CAAEJ,QAAS,CAAC,CAACK,IAAI,CAC3BC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;EAEF,MAAMC,kCAAkC,GACvCnB,sBAAsB,IAAIH,gBAAgB,KAAK,SAAS;EACzD,MAAMuB,+BAA+B,GACpC,CAAEpB,sBAAsB,IACxB,CAAC,CAAEd,KAAK,CAAC0B,UAAU,CAACC,QAAQ,EAAEtB,IAAI,IAClCM,gBAAgB,KAAK,UAAU,IAC/BiB,kBAAkB;EAEnB,IAAK,CAAEf,yBAAyB,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAP,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGyB,kCAAkC,IACnC,IAAA3B,MAAA,CAAAC,aAAA,EAACjB,wBAAwB;IAAA,GAAMU;EAAK,CAAI,CACxC,EACCkC,+BAA+B,IAChC,IAAA5B,MAAA,CAAAC,aAAA,EAAChB,qBAAqB;IAAA,GAAMS;EAAK,CAAI,CAErC,CAAC;AAEL;AAEA,IAAAmC,gBAAS,EACR,kBAAkB,EAClB,4CAA4C,EAC5CtC,2BACD,CAAC","ignoreList":[]}
@@ -12,20 +12,25 @@ var _lockUnlock = require("./lock-unlock");
12
12
  var _entitiesSavedStates = require("./components/entities-saved-states");
13
13
  var _useAutoSwitchEditorSidebars = _interopRequireDefault(require("./components/provider/use-auto-switch-editor-sidebars"));
14
14
  var _useBlockEditorSettings = _interopRequireDefault(require("./components/provider/use-block-editor-settings"));
15
- var _documentTools = _interopRequireDefault(require("./components/document-tools"));
15
+ var _header = _interopRequireDefault(require("./components/header"));
16
16
  var _inserterSidebar = _interopRequireDefault(require("./components/inserter-sidebar"));
17
17
  var _listViewSidebar = _interopRequireDefault(require("./components/list-view-sidebar"));
18
- var _modeSwitcher = _interopRequireDefault(require("./components/mode-switcher"));
19
18
  var _patternOverridesPanel = _interopRequireDefault(require("./components/pattern-overrides-panel"));
20
19
  var _plugin = _interopRequireDefault(require("./components/post-excerpt/plugin"));
21
20
  var _postPanelRow = _interopRequireDefault(require("./components/post-panel-row"));
22
- var _postViewLink = _interopRequireDefault(require("./components/post-view-link"));
23
- var _previewDropdown = _interopRequireDefault(require("./components/preview-dropdown"));
24
21
  var _preferencesModal = _interopRequireDefault(require("./components/preferences-modal"));
25
22
  var _postActions = _interopRequireDefault(require("./components/post-actions"));
26
23
  var _actions = require("./components/post-actions/actions");
27
24
  var _postCardPanel = _interopRequireDefault(require("./components/post-card-panel"));
28
25
  var _postStatus = _interopRequireDefault(require("./components/post-status"));
26
+ var _toolsMoreMenuGroup = _interopRequireDefault(require("./components/more-menu/tools-more-menu-group"));
27
+ var _viewMoreMenuGroup = _interopRequireDefault(require("./components/more-menu/view-more-menu-group"));
28
+ var _panel = require("./components/post-excerpt/panel");
29
+ var _savePublishPanels = _interopRequireDefault(require("./components/save-publish-panels"));
30
+ var _postContentInformation = _interopRequireDefault(require("./components/post-content-information"));
31
+ var _postLastEditedPanel = _interopRequireDefault(require("./components/post-last-edited-panel"));
32
+ var _sidebar = _interopRequireDefault(require("./components/sidebar"));
33
+ var _globalStylesProvider = require("./components/global-styles-provider");
29
34
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
30
35
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
36
  /**
@@ -42,23 +47,29 @@ const {
42
47
  } = interfaceApis;
43
48
  const privateApis = exports.privateApis = {};
44
49
  (0, _lockUnlock.lock)(privateApis, {
45
- DocumentTools: _documentTools.default,
46
50
  EditorCanvas: _editorCanvas.default,
47
51
  ExperimentalEditorProvider: _provider.ExperimentalEditorProvider,
48
52
  EntitiesSavedStatesExtensible: _entitiesSavedStates.EntitiesSavedStatesExtensible,
53
+ GlobalStylesProvider: _globalStylesProvider.GlobalStylesProvider,
54
+ Header: _header.default,
49
55
  InserterSidebar: _inserterSidebar.default,
50
56
  ListViewSidebar: _listViewSidebar.default,
51
- ModeSwitcher: _modeSwitcher.default,
57
+ mergeBaseAndUserConfigs: _globalStylesProvider.mergeBaseAndUserConfigs,
52
58
  PatternOverridesPanel: _patternOverridesPanel.default,
53
59
  PluginPostExcerpt: _plugin.default,
54
60
  PostActions: _postActions.default,
55
61
  PostPanelRow: _postPanelRow.default,
56
- PostViewLink: _postViewLink.default,
57
- PreviewDropdown: _previewDropdown.default,
58
62
  PreferencesModal: _preferencesModal.default,
59
63
  usePostActions: _actions.usePostActions,
60
64
  PostCardPanel: _postCardPanel.default,
61
65
  PostStatus: _postStatus.default,
66
+ ToolsMoreMenuGroup: _toolsMoreMenuGroup.default,
67
+ ViewMoreMenuGroup: _viewMoreMenuGroup.default,
68
+ PrivatePostExcerptPanel: _panel.PrivatePostExcerptPanel,
69
+ SavePublishPanels: _savePublishPanels.default,
70
+ PostContentInformation: _postContentInformation.default,
71
+ PostLastEditedPanel: _postLastEditedPanel.default,
72
+ Sidebar: _sidebar.default,
62
73
  // This is a temporary private API while we're updating the site editor to use EditorProvider.
63
74
  useAutoSwitchEditorSidebars: _useAutoSwitchEditorSidebars.default,
64
75
  useBlockEditorSettings: _useBlockEditorSettings.default,